Transformers documentation

Phi4 متعدد الوسائط

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

نُشر هذا النموذج في أوراق HF في 2025-03-03 وسُهم به في Hugging Face Transformers في 2025-03-25.

PyTorch

Phi4 متعدد الوسائط

Phi4 Multimodal هو نموذج متعدد الوسائط قادر على معالجة مدخلات النص والصور والكلام والصوت أو أي تركيبة من هذه المدخلات. ويتميز باستخدام مزيج من محولات LoRA للتعامل مع المدخلات المختلفة، حيث يُوجَّه كل مدخل إلى المُشفِّر المناسب له.

يمكنك العثور على جميع نقاط التفتيش الأصلية لنموذج Phi4 Multimodal ضمن مجموعة Phi4.

تمت مساهمة هذا النموذج من قِبل cyrilvallez.

انقر على Phi-4 Multimodal في الشريط الجانبي الأيمن لمزيد من الأمثلة حول كيفية تطبيق Phi-4 Multimodal على مهام مختلفة.

يُظهر المثال أدناه كيفية توليد النص بناءً على صورة باستخدام Pipeline أو فئة AutoModel.

خط أنابيب
AutoModel
from transformers import pipeline


generator = pipeline("text-generation", model="microsoft/Phi-4-multimodal-instruct", device=0)

prompt = "Explain the concept of multimodal AI in simple terms."

result = generator(prompt, max_length=50)
print(result[0]['generated_text'])

ملاحظات

يُبيّن المثال أدناه الاستدلال باستخدام مدخلات صوتية ونصية.

import torch

from transformers import AutoModelForCausalLM, AutoProcessor


model_path = "microsoft/Phi-4-multimodal-instruct"

processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto")

model.load_adapter(model_path, adapter_name="speech", device_map="auto", adapter_kwargs={"subfolder": 'speech-lora'})
model.set_adapter("speech")
audio_url = "https://upload.wikimedia.org/wikipedia/commons/b/b0/Barbara_Sahakian_BBC_Radio4_The_Life_Scientific_29_May_2012_b01j5j24.flac"
messages = [
    {
        "role": "user",
        "content": [
            {"type": "audio", "url": audio_url},
            {"type": "text", "text": "Transcribe the audio to text, and then translate the audio to French. Use <sep> as a separator between the origina transcript and the translation."},
        ],
    },
]

inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

generate_ids = model.generate(
    **inputs,
    max_new_tokens=1000,
    do_sample=False,
)
generate_ids = generate_ids[:, inputs['input_ids'].shape[1]:]
response = processor.batch_decode(
    generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(f'Response\n{response}')

Phi4MultimodalFeatureExtractor

فئة transformers.Phi4MultimodalFeatureExtractor

< >

( feature_size: int = 80sampling_rate: int = 16000hop_length: int = 160n_fft: int = 512win_length: int = 400preemphasis: float = 0.97padding_value: float = 0.0audio_compression_rate: int = 8audio_downsample_rate: int = 1audio_feat_stride: int = 1mel_min_frequency: float = 0mel_max_frequency: float = 7690**kwargs )

Phi4MultimodalImageProcessor

فئة transformers.Phi4MultimodalImageProcessor

< >

( **kwargs: *<class 'transformers.models.phi4_multimodal.image_processing_phi4_multimodal.Phi4MultimodalImageProcessorKwargs'> )

المعاملات

  • do_convert_rgb (bool، kwargs، اختياري، القيمة الافتراضية True) — ما إذا كان يجب تحويل الصورة إلى RGB.
  • do_resize (bool، kwargs، اختياري) — ما إذا كان يجب تغيير حجم الصورة.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]، kwargs، القيمة الافتراضية {'height' -- 448, 'width': 448}): يصف الأبعاد القصوى للمدخلات إلى النموذج.
  • default_to_square (bool، kwargs، اختياري، القيمة الافتراضية True) — ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كانت قيمة size من نوع int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — حجم الصورة الناتجة بعد تطبيق center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None]، kwargs، القيمة الافتراضية 3) — مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum PILImageResampling. لا يؤثر إلا إذا كانت قيمة do_resize هي True.
  • do_rescale (bool، kwargs، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إعادة تحجيم الصورة.
  • rescale_factor (float، kwargs، اختياري، القيمة الافتراضية 0.00392156862745098) — عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان do_rescale مضبوطًا على True.
  • do_normalize (bool، kwargs، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تطبيع الصورة.
  • image_mean (Union[float, list[float], tuple[float, ...]]، kwargs، اختياري، القيمة الافتراضية [0.5, 0.5, 0.5]) — متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين do_normalize إلى True.
  • image_std (Union[float, list[float], tuple[float, ...]]، kwargs، اختياري، القيمة الافتراضية [0.5, 0.5, 0.5]) — الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين do_normalize إلى True.
  • do_pad (bool، kwargs، اختياري) — ما إذا كان سيتم توسيط الصورة. يتم التوسيط إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية التوسيط الدقيقة على النموذج.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — الحجم على شكل {"height": int, "width" int} الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم pad_size، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون do_pad=True.
  • do_center_crop (bool، kwargs، اختياري) — ما إذا كان يجب قص الصورة من المنتصف.
  • data_format (Union[str, ~image_utils.ChannelDimension]، kwargs، اختياري) — يُؤمَّن دعم ChannelDimension.FIRST فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, اختياري) — تنسيق بُعد القناة للصورة المدخلة. إذا لم يُضبط، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي:
    • "channels_first" أو ChannelDimension.FIRST: صورة بتنسيق (num_channels, height, width).
    • "channels_last" أو ChannelDimension.LAST: صورة بصيغة (الارتفاع، العرض، عدد القنوات).
    • "none" أو ChannelDimension.NONE: صورة بصيغة (الارتفاع، العرض).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم تعيينه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — تُرجع تينسورات مكدّسة إذا تم ضبطها على 'pt'، وإلا تُرجع قائمة من التينسورات.
  • disable_grouping (bool، kwargs، اختياري) — ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int، kwargs، اختياري) — عدد رموز الصورة التي سيتم استخدامها لكل صورة في المدخلات. تمت إضافته من أجل التوافق مع الإصدارات السابقة، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية.
  • patch_size (int، kwargs، اختياري) — حجم الباتش.
  • dynamic_hd (int، kwargs، اختياري) — الحد الأقصى لعدد المحاصيل لكل صورة.

ينشئ معالج صور Phi4MultimodalImageProcessor.

preprocess

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.phi4_multimodal.image_processing_phi4_multimodal.Phi4MultimodalImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

المعاملات

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — الصورة التي سيتم معالجتها مسبقاً. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صوراً بقيم بكسل بين 0 و1، فاضبط do_rescale=False.
  • do_convert_rgb (bool، kwargs، اختياري) — ما إذا كان يجب تحويل الصورة إلى RGB.
  • do_resize (bool، kwargs، اختياري) — ما إذا كان يجب تغيير حجم الصورة.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — يصف الأبعاد القصوى للمدخلات إلى النموذج.
  • default_to_square (bool، kwargs، اختياري) — ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كانت القيمة عددًا صحيحًا.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — حجم الصورة الناتجة بعد تطبيق center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — مرشّح إعادة العينة (Resampling filter) المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد PILImageResampling. لا يكون له أي تأثير إلا إذا تم تعيين do_resize إلى True.
  • do_rescale (bool، kwargs، اختياري) — ما إذا كان يجب إعادة تحجيم الصورة.
  • rescale_factor (float، kwargs، اختياري) — معامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان do_rescale مضبوطاً على True.
  • do_normalize (bool، kwargs، اختياري) — ما إذا كان سيتم تطبيع الصورة.
  • image_mean (Union[float, list[float], tuple[float, ...]]، kwargs، اختياري) — متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين do_normalize إلى True.
  • image_std (Union[float, list[float], tuple[float, ...]]، kwargs، اختياري) — انحراف المعيار للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين do_normalize إلى True.
  • do_pad (bool، kwargs، اختياري) — ما إذا كان سيتم توسيط الصورة. يتم التوسيط إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية التوسيط الدقيقة على النموذج.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — الحجم على شكل {"height": int, "width" int} الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم pad_size، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون do_pad=True.
  • do_center_crop (bool، kwargs، اختياري) — ما إذا كان يجب قص الصورة من المنتصف.
  • data_format (Union[str, ~image_utils.ChannelDimension]، kwargs، اختياري) — يُؤمَّن دعم ChannelDimension.FIRST فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, اختياري) — تنسيق بُعد القناة للصورة المدخلة. إذا لم يُضبط، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي:
    • "channels_first" أو ChannelDimension.FIRST: صورة بتنسيق (num_channels, height, width).
    • "channels_last" أو ChannelDimension.LAST: صورة بصيغة (الارتفاع، العرض، عدد القنوات).
    • "none" أو ChannelDimension.NONE: صورة بصيغة (الارتفاع، العرض).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم تعيينه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — تُرجع تينسورات مكدّسة إذا تم ضبطها على 'pt'، وإلا تُرجع قائمة من التينسورات.
  • disable_grouping (bool، kwargs، اختياري) — ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int، kwargs، اختياري) — عدد رموز الصورة التي سيتم استخدامها لكل صورة في المدخلات. تمت إضافته من أجل التوافق مع الإصدارات السابقة، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية.
  • patch_size (int، kwargs، اختياري) — حجم الباتش.
  • dynamic_hd (int، kwargs، اختياري) — الحد الأقصى لعدد المحاصيل لكل صورة.

يعيد

~image_processing_base.BatchFeature

  • data (dict) — قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب call (مثل ‘pixel_values’).
  • tensor_type (Union[None, str, TensorType]، اختياري) — يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

Phi4MultimodalProcessor

فئة transformers.Phi4MultimodalProcessor

< >

( image_processoraudio_processortokenizer**kwargs )

المعاملات

  • image_processor (Phi4MultimodalImageProcessor) — معالج الصور هو مدخل إلزامي.
  • audio_processor ({audio_processor_class}) — معالج الصوت هو مدخل إلزامي.
  • tokenizer (tokenizer_class) — مُجزِّئ النص (tokenizer) هو مدخل إلزامي.

ينشئ Phi4MultimodalProcessor الذي يجمع معالج الصور ومعالج الصوت ومجزئ الرموز في معالج واحد.

يوفر Phi4MultimodalProcessor جميع وظائف Phi4MultimodalImageProcessor و{audio_processor_class} وtokenizer_class. راجع ~Phi4MultimodalImageProcessor و~{audio_processor_class} و~tokenizer_class لمزيد من المعلومات.

__call__

< >

( text: str | list[str]images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.models.phi4_multimodal.processing_phi4_multimodal.Phi4MultimodalProcessorKwargs'> ) → BatchFeature

المعاملات

  • text (Union[str, list[str]]) — التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُقسَّم مسبقًا إلى رموز). إذا مررت مدخلًا مُقسَّمًا مسبقًا إلى رموز، فاضبط is_split_into_words=True لتجنب الغموض مع المدخلات الدفعية.
  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], اختياري) — الصورة التي سيتم معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط do_rescale=False.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], اختياري) — الصوت أو مجموعة الأصوات التي سيتم تجهيزها. يمكن أن يكون كل صوت مصفوفة NumPy أو متجه PyTorch. في حالة استخدام مصفوفة NumPy أو متجه PyTorch، يجب أن يكون شكل كل صوت (C, T)، حيث C هو عدد القنوات، وT هو طول العينة للصوت.
  • return_tensors (str أو TensorType, اختياري) — إذا تم تعيينه، فسيُعاد تينسورات من إطار عمل محدد. القيم المقبولة هي:
    • 'pt': إرجاع كائنات torch.Tensor من PyTorch.
    • 'np': إرجاع كائنات np.ndarray من NumPy.
  • **kwargs (ProcessingKwargs، اختياري) — خيارات معالجة إضافية لكل نمط (نص، صور، مقاطع فيديو، صوت). تُدرج المعلمات الخاصة بالنموذج أعلاه؛ راجع فئة TypedDict للحصول على القائمة الكاملة للحجج المدعومة.

يعيد

BatchFeature

BatchFeature يحتوي على الحقول التالية:

  • input_ids — قائمة معرّفات الرموز التي تُغذّى بها النموذج.
  • attention_mask — قائمة بالفهارس تحدد الرموز التي يجب على النموذج الانتباه إليها.
  • input_image_embeds — قيم البكسلات التي تُغذّى بها النموذج.
  • image_sizes — قائمة من الأزواج (توبلز) تحدد حجم كل صورة في input_image_embeds.
  • image_attention_mask — قائمة بأقنعة الانتباه لكل صورة في input_image_embeds.
  • input_audio_embeds — تمثيلات صوتية تُغذّى إلى النموذج.
  • audio_embed_sizes — قائمة من الأعداد الصحيحة تحدد حجم كل صوت في input_audio_embeds.

Phi4MultimodalAudioConfig

فئة transformers.Phi4MultimodalAudioConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 1024intermediate_size: int = 1536num_blocks: int = 24num_attention_heads: int = 16activation: str = 'swish'chunk_size: int = -1left_chunk: int = 18dropout_rate: float | int = 0.0ext_pw_out_channel: int = 1024depthwise_separable_out_channel: int = 1024depthwise_multiplier: int = 1kernel_size: int = 3conv_activation: str = 'swish'input_size: int = 80conv_glu_type: str = 'swish'time_reduction: int = 8bias_max_distance: int = 1000bias_symmetric: bool = Falsenemo_activation: str = 'relu'nemo_conv_channels: int = 1024downsample_rate: int = 1initializer_range: float = 0.02audio_token_id: int = 200011feature_layer: int = -2 )

المعاملات

  • hidden_size (int، اختياري، القيمة الافتراضية 1024) — أبعاد التمثيلات المخفية.
  • intermediate_size (int، اختياري، القيمة الافتراضية 1536) — أبعاد تمثيلات MLP.
  • num_blocks (int، اختياري، القيمة الافتراضية 24) — عدد الطبقات المخفية في مُشفِّر Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 16) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • activation (str، اختياري، القيمة الافتراضية "swish") — دالة التنشيط غير الخطية في الشبكات العصبية متعددة الطبقات (MLPs).
  • chunk_size (int، اختياري، القيمة الافتراضية -1) — حجم المقطع لإنشاء الأقنعة.
  • left_chunk (int، اختياري، القيمة الافتراضية 18) — الجزء الأيسر لإنشاء الأقنعة.
  • dropout_rate (float, اختياري، القيمة الافتراضية 0.0) — نسبة dropout.
  • ext_pw_out_channel (int، اختياري، القيمة الافتراضية 1024) — عدد قنوات الإخراج في وحدات التحوّل التحويلي النقطي.
  • depthwise_separable_out_channel (int، اختياري، القيمة الافتراضية 1024) — عدد قنوات الإخراج في وحدات التمرير القابلة للفصل العميق.
  • depthwise_multiplier (int، اختياري، القيمة الافتراضية 1) — معامل حجم المدخلات لوحدات الالتفاف القابلة للفصل العميق.
  • kernel_size (int، اختياري، القيمة الافتراضية 3) — حجم النواة (Kernel) لوحدات التمرير القابلة للفصل العميق (depth-wise separable conv).
  • conv_activation (str، اختياري، القيمة الافتراضية "swish") — دالة التنشيط غير الخطية في وحدات التمرير.
  • input_size (int، اختياري، القيمة الافتراضية 80) — حجم الإدخال لنموذج الصوت.
  • conv_glu_type (str، اختياري، القيمة الافتراضية "swish") — دالة التنشيط غير الخطية في وحدات التمرير النقطي.
  • time_reduction (int، اختياري، القيمة الافتراضية 8) — تقليل الزمن (معامل أخذ العينات الفرعية).
  • bias_max_distance (int، اختياري، القيمة الافتراضية 1000) — أقصى مسافة لوحدة انحياز الانتباه النسبي.
  • bias_symmetric (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب أن يكون انحياز الانتباه النسبي متماثلًا أم لا.
  • nemo_activation (str، اختياري، القيمة الافتراضية "relu") — دالة التنشيط غير الخطية في وحدات nemo conv.
  • nemo_conv_channels (int، اختياري، القيمة الافتراضية 1024) — عدد القنوات في وحدات nemo conv.
  • downsample_rate (int، اختياري، القيمة الافتراضية 1) — معدل تخفيض العينة لاستخراج ميزات الصوت.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • audio_token_id (int، اختياري، القيمة الافتراضية 200011) — مؤشر رمز الصوت المستخدم كعلامة مؤقتة للصوت المُدخل.
  • feature_layer (int، اختياري، القيمة الافتراضية -2) — مؤشر طبقة المُشفِّر التي تُستخرج منها ميزات الصوت.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Phi4MultimodalModel. تُستخدم لتوليد نموذج Phi4 Multimodal وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ microsoft/Phi-4-multimodal-instruct

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import Phi4MultimodalAudioConfig

>>> # Initializing a Phi4MultimodalAudioConfig with microsoft/Phi-4-multimodal-instruct style configuration
>>> configuration = Phi4MultimodalAudioConfig()

Phi4MultimodalVisionConfig

فئة transformers.Phi4MultimodalVisionConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 1152intermediate_size: int = 4304num_hidden_layers: int = 27num_attention_heads: int = 16num_channels: int = 3image_size: int | list[int] | tuple[int, int] = 448patch_size: int | list[int] | tuple[int, int] = 14hidden_act: str = 'gelu_pytorch_tanh'layer_norm_eps: float = 1e-06attention_dropout: float | int = 0.0crop_size: int = 448image_token_id: int = 200010feature_layer: int = -2 )

المعاملات

  • hidden_size (int، اختياري، القيمة الافتراضية 1152) — أبعاد التمثيلات المخفية.
  • intermediate_size (int، اختياري، القيمة الافتراضية 4304) — أبعاد تمثيلات MLP.
  • num_hidden_layers (int, اختياري، القيمة الافتراضية 27) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 16) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • num_channels (int، اختياري، القيمة الافتراضية 3) — عدد قنوات الإدخال.
  • image_size (Union[int, list[int], tuple[int, int]]، اختياري، القيمة الافتراضية 448) — حجم (دقة) كل صورة.
  • patch_size (Union[int, list[int], tuple[int, int]]، اختياري، القيمة الافتراضية 14) — حجم (دقة) كل رقعة.
  • hidden_act (str، اختياري، القيمة الافتراضية gelu_pytorch_tanh) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • layer_norm_eps (float, اختياري، القيمة الافتراضية 1e-06) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — نسبة إسقاط (dropout) لاحتمالات الانتباه.
  • crop_size (int، اختياري، القيمة الافتراضية 448) — حجم القص للصور المدخلة.
  • image_token_id (int، اختياري، القيمة الافتراضية 200010) — مؤشر رمز الصورة المستخدم كعنصر نائب للصور المدخلة.
  • feature_layer (int، اختياري، القيمة الافتراضية -2) — مؤشر طبقة المُشفِّر التي سيتم استخراج ميزات الصورة منها.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Phi4MultimodalModel. تُستخدم لتوليد نموذج Phi4 Multimodal وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ microsoft/Phi-4-multimodal-instruct

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import Phi4MultimodalVisionConfig

>>> # Initializing a Phi4MultimodalVisionConfig with microsoft/Phi-4-multimodal-instruct style configuration
>>> configuration = Phi4MultimodalVisionConfig()

Phi4MultimodalConfig

فئة transformers.Phi4MultimodalConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 200064hidden_size: int = 3072intermediate_size: int = 8192num_hidden_layers: int = 32num_attention_heads: int = 32num_key_value_heads: int | None = 8resid_pdrop: float | int = 0.0embd_pdrop: float | int = 0.0attention_dropout: float | int = 0.0hidden_act: str = 'silu'max_position_embeddings: int = 131072original_max_position_embeddings: int | None = 4096initializer_range: float = 0.02rms_norm_eps: float = 1e-05use_cache: bool = Truetie_word_embeddings: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonebos_token_id: int | None = 199999eos_token_id: int | list[int] | None = Nonepad_token_id: int | None = 199999sliding_window: int | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )

المعاملات

  • vocab_size (int، اختياري، القيمة الافتراضية 200064) — حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة input_ids.
  • hidden_size (int، اختياري، القيمة الافتراضية 3072) — أبعاد التمثيلات المخفية.
  • intermediate_size (int، اختياري، القيمة الافتراضية 8192) — أبعاد تمثيلات MLP.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 32) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 32) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • num_key_value_heads (int، اختياري، القيمة الافتراضية 8) — هذا هو عدد رؤوس key_value التي يجب استخدامها لتنفيذ Grouped Query Attention. إذا كان num_key_value_heads=num_attention_heads، فسيستخدم النموذج Multi Head Attention (MHA)، وإذا كان num_key_value_heads=1 فسيستخدم النموذج Multi Query Attention (MQA)، وإلا فسيتم استخدام GQA. عند تحويل نقطة تفتيش متعددة الرؤوس إلى نقطة تفتيش GQA، يجب بناء كل مجموعة من رؤوس key و value عن طريق تجميع المتوسط لجميع الرؤوس الأصلية داخل تلك المجموعة. لمزيد من التفاصيل، راجع هذا الورقة. إذا لم يتم تحديد القيمة، فستكون القيمة الافتراضية هي num_attention_heads.
  • resid_pdrop (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات والمشفّر والمجمّع.
  • embd_pdrop (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — نسبة الإسقاط (dropout) الخاصة بالتضمينات.
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — نسبة إسقاط (dropout) لاحتمالات الانتباه.
  • hidden_act (str، اختياري، القيمة الافتراضية silu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • max_position_embeddings (int، اختياري، القيمة الافتراضية 131072) — أقصى طول تسلسل قد يُستخدم معه هذا النموذج على الإطلاق.
  • original_max_position_embeddings (int، اختياري، القيمة الافتراضية 4096) — أقصى طول تسلسل تم تدريب هذا النموذج عليه. يُستخدم هذا لتحديد حجم تضمينات RoPE الأصلية عند استخدام التوسيع الطويل.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • rms_norm_eps (float، اختياري، القيمة الافتراضية 1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع rms.
  • use_cache (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان config.is_decoder=True أو إذا كان النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.
  • tie_word_embeddings (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم ربط ترميزات الأوزان وفقاً لخريطة tied_weights_keys الخاصة بالنموذج.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], اختياري) — قائمة تحتوي على معاملات التهيئة الخاصة بتضمينات RoPE. يجب أن تحتوي القائمة على قيمة لـ rope_theta، ومعاملات اختيارية تُستخدم للتوسيع في حال رغبتَ في استخدام RoPE مع max_position_embeddings أطول.
  • bos_token_id (int، اختياري، القيمة الافتراضية 199999) — معرّف الرمز المستخدم لبدء البث في المفردات.
  • eos_token_id (Union[int, list[int]], اختياري) — معرّف الرمز المستخدم لنهاية التدفق في المفردات.
  • pad_token_id (int، اختياري، القيمة الافتراضية 199999) — معرّف الرمز المستخدم للتعبئة في المفردات.
  • sliding_window (int، اختياري) — حجم نافذة الانتباه المنزلقة. إذا كانت None، فلا تُطبَّق نافذة منزلقة.
  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], اختياري) — كائن الإعدادات أو قاموس العمود الفقري البصري.
  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], اختياري) — كائن الإعداد أو قاموس العمود الفقري الصوتي.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Phi4MultimodalModel. تُستخدم لاستحداث نموذج Phi4 Multimodal وفقًا للحجج المحددة، مع تحديد بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيُنتج إعدادات مشابهة لتلك الخاصة بـ microsoft/Phi-4-multimodal-instruct

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import Phi4MultimodalModel, Phi4MultimodalConfig

>>> # Initializing a Phi4Multimodal style configuration
>>> configuration = Phi4MultimodalConfig.from_pretrained("microsoft/Phi-4-multimodal-instruct")

>>> # Initializing a model from the configuration
>>> model = Phi4MultimodalModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

validate_rope

< >

( )

تحقق من تكوين rope_parameters.

Phi4MultimodalAudioModel

فئة transformers.Phi4MultimodalAudioModel

< >

( config: Phi4MultimodalAudioConfig )

forward_embeddings

< >

( hidden_statesmasks )

تمرير المدخلات عبر طبقات التضمين العلوية

Phi4MultimodalVisionModel

فئة transformers.Phi4MultimodalVisionModel

< >

( config: Phi4MultimodalVisionConfig )

Phi4MultimodalModel

فئة transformers.Phi4MultimodalModel

< >

( config: Phi4MultimodalConfig )

المعاملات

  • config (Phi4MultimodalConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Phi4 Multimodal الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneimage_pixel_values: typing.Optional[torch.Tensor] = Noneimage_sizes: typing.Optional[torch.LongTensor] = Noneimage_attention_mask = Noneaudio_input_features: typing.Optional[torch.Tensor] = Noneaudio_embed_sizes = Noneaudio_attention_mask = Noneuse_cache: bool | None = None**kwargs )

image_pixel_values (torch.Tensor, اختياري): إذا كانت المدخلات تحتوي على صور، فإن هذه القيم تمثل قيم البكسلات بعد التحويلات (كما تُعاد من المعالج Processor) image_sizes (torch.LongTensor, اختياري): إذا كانت المدخلات تحتوي على صور، فإن هذه القيم تمثل حجم كل صورة. image_attention_mask (torch.LongTensor, اختياري): قناع الانتباه للصور. audio_input_features (torch.Tensor, اختياري): إذا كانت المدخلات تحتوي على عينات صوتية، فإن هذه القيم تمثل القيم بعد التحويل (كما تُعاد من المعالج Processor). audio_embed_sizes (torch.Tensor, اختياري): حجم المدخلات الصوتية. audio_attention_mask (`torch.Tensor, اختياري): قناع الانتباه للمدخلات الصوتية.

Phi4MultimodalForCausalLM

فئة transformers.Phi4MultimodalForCausalLM

< >

( config: Phi4MultimodalConfig )

المعاملات

  • config (Phi4MultimodalConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Phi4 متعدد الوسائط لنمذجة اللغة السببية.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneimage_pixel_values: typing.Optional[torch.Tensor] = Noneimage_sizes: typing.Optional[torch.LongTensor] = Noneimage_attention_mask = Noneaudio_input_features: typing.Optional[torch.Tensor] = Noneaudio_embed_sizes = Noneaudio_attention_mask = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)

المعاملات

  • input_ids (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — مؤشرات رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا.

    يمكن الحصول على الفهارس باستخدام AutoTokenizer. راجع PreTrainedTokenizer.encode() و PreTrainedTokenizer.call() للتفاصيل.

    ما هي معرّفات الإدخال؟

  • attention_mask (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

    ما هي أقنعة الانتباه؟

  • position_ids (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — مؤشرات مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها ضمن النطاق [0, config.n_positions - 1].

    ما هي معرّفات المواقع؟

  • past_key_values (~cache_utils.Cache, اختياري) — حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكون هذا عادةً من past_key_values الذي يعيده النموذج في مرحلة سابقة من فك الترميز، عندما use_cache=True أو config.use_cache=True.

    يُسمح فقط بمرجع Cache كمدخل، راجع دليل ذاكرة kv لدينا. إذا لم يتم تمرير past_key_values، فسيتم تهيئة DynamicCache افتراضياً.

    سيُخرج النموذج نفس صيغة الكاش التي تُمرَّر كمدخل.

    عند استخدام past_key_values، يُتوقَّع من المستخدم إدخال input_ids غير المعالجة فقط (تلك التي لم تُقدَّم حالات مفاتيحها وقيمها السابقة إلى هذا النموذج) بأبعاد (batch_size, unprocessed_length) بدلاً من جميع input_ids بأبعاد (batch_size, sequence_length).

  • inputs_embeds (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — اختياريًا، بدلاً من تمرير input_ids، يمكنك اختيار تمرير تمثيل مضمّن مباشرة. وهذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس input_ids إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.
  • image_pixel_values (torch.Tensor، اختياري) — إذا كانت المدخلات تحتوي على صور، فإن هذه القيم تمثل قيم البكسلات بعد التحويلات (كما تُرجعها وحدة المعالجة Processor)
  • image_sizes (torch.LongTensor، اختياري) — إذا كانت المدخلات تحتوي على صور، فإن هذه القيم تتوافق مع حجم كل صورة.
  • image_attention_mask (torch.LongTensor, اختياري) — قناع الانتباه للصور.
  • audio_input_features (torch.Tensor، اختياري) — إذا كانت المدخلات تحتوي على عينات صوتية، فإن هذه القيم تتوافق مع القيم بعد التحويل (كما تُعاد من المعالج).
  • audio_embed_sizes (torch.Tensor، اختياري) — حجم مدخلات الصوت.
  • audio_attention_mask (`torch.Tensor, اختياري) — قناع الانتباه للمدخلات الصوتية.
  • labels (torch.LongTensor من الشكل (batch_size, sequence_length)، اختياري) — التسميات لحساب خسارة نمذجة اللغة المقنّعة. يجب أن تكون الفهارس ضمن [0, ..., config.vocab_size] أو -100 (انظر input_ids docstring). يتم تجاهل الرموز التي فهارسها مضبوطة على -100 (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن [0, ..., config.vocab_size].
  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، تُعاد حالات المفاتيح والقيم past_key_values ويمكن استخدامها لتسريع فك الترميز (انظر past_key_values).
  • logits_to_keep (Union[int, torch.Tensor]، اختياري، القيمة الافتراضية 0) — إذا كان int، يتم حساب logits لآخر logits_to_keep رموز. إذا كانت القيمة 0، يتم حساب logits لجميع input_ids (حالة خاصة). لا يُحتاج إلى logits إلا للرمز الأخير في عملية التوليد، ويمكن أن يوفر حسابها لذلك الرمز وحده ذاكرة كبيرة، وهو أمر مهم بشكل ملحوظ للتسلسلات الطويلة أو حجم المفردات الكبير. إذا كان torch.Tensor، يجب أن يكون بعدًا واحدًا (1D) ويتوافق مع الفهارس التي يجب الاحتفاظ بها في بُعد طول التسلسل. يكون هذا مفيدًا عند استخدام تنسيق المصفوفات المعبأة (packed tensor format) (بعد واحد لكل من الدفعة وطول التسلسل).

يعيد

CausalLMOutputWithPast أو tuple(torch.Tensor)

أُكْجَـة CausalLMOutputWithPast أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) تتكوّن من عناصر مختلفة اعتماداً على الإعداد (Phi4MultimodalConfig) والمدخلات.

تتجاوز طريقة Phi4MultimodalForCausalLM الخاصة بـ forward الطريقة الخاصة __call__.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن Module بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند توفير labels) — خسارة نمذجة اللغة (لتوقع الرمز التالي).

  • logits (torch.Tensor من الشكل (batch_size, sequence_length, config.vocab_size)) — درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).

  • past_key_values (Cache، اختياري، يُعاد عند تمرير use_cache=True أو عند تعيين config.use_cache=True) — إنه كائن من نوع Cache. لمزيد من التفاصيل، راجع دليل ذاكرة kv.

    تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي) يمكن استخدامها (انظر مدخل past_key_values) لتسريع فك الترميز التسلسلي.

  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.

  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import AutoTokenizer, Phi4MultimodalForCausalLM
>>> model = Phi4MultimodalForCausalLM.from_pretrained("TBA")
>>> tokenizer = AutoTokenizer.from_pretrained("TBA")
>>> prompt = "This is an example script ."
>>> inputs = tokenizer(prompt, return_tensors="pt")
>>> # Generate
>>> generate_ids = model.generate(inputs.input_ids, max_length=30)
>>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
'This is an example script .\n Certainly! Below is a sample script that demonstrates a simple task, such as calculating the sum'
Update on GitHub