Transformers documentation

Mamba 2

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 في 31 مايو 2024، وأُضيف إلى Hugging Face Transformers في 6 أغسطس 2024.

Mamba 2

يعتمد Mamba 2 على إطار ازدواجية فضاء الحالة (SSD) الذي يربط بين نماذج فضاء الحالة المهيكلة (SSMs) ومتغيرات الانتباه. وهو يستخدم خوارزمية SSD أكثر كفاءة، أسرع من Mamba بمقدار 2 إلى 8 أضعاف، كما يعدّل البنية المعمارية لتمكين التوازي على مستوى المصفوفات (tensor parallelism) وهيكل رؤوس انتباه القيم المجمعة (GVA).

يمكنك العثور على جميع نقاط التفتيش الأصلية لنموذج Mamba 2 تحت منظمة State Space Models، لكن الأمثلة المعروضة أدناه تستخدم mistralai/Mamba-Codestral-7B-v0.1 لأن تطبيق Hugging Face غير مدعوم بعد لنقاط التفتيش الأصلية.

تشمل البنى الأخرى القائمة على Mamba 2 ما يلي: Bamba، وFalconH1، وZamba2.

تمت مساهمة هذا النموذج من قِبل ArthurZ. انقر على نماذج Mamba في الشريط الجانبي الأيمن لمزيد من الأمثلة حول كيفية تطبيق Mamba على مهام لغوية مختلفة.

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

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


pipeline = pipeline(
    task="text-generation",
    model="mistralai/Mamba-Codestral-7B-v0.1",
    device=0
)
pipeline("Plants create energy through a process known as")

تقلل عملية التكميم العبء على الذاكرة في النماذج الكبيرة من خلال تمثيل الأوزان بدقة أقل. راجع نظرة عامة على التكميم للاطلاع على المزيد من واجهات التكميم المتاحة.

يستخدم المثال أدناه torchao لاختزال الأوزان إلى أعداد صحيحة ذات 4 بت فقط.

from transformers import AutoModelForCausalLM, AutoTokenizer, TorchAoConfig


quantization_config = TorchAoConfig("int4_weight_only", group_size=128)
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mamba-Codestral-7B-v0.1")
model = AutoModelForCausalLM.from_pretrained("mistralai/Mamba-Codestral-7B-v0.1", quantization_config=quantization_config, device_map="auto")
input_ids = tokenizer("Plants create energy through a process known as", return_tensors="pt").to(model.device)

output = model.generate(**input_ids)
print(tokenizer.decode(output[0], skip_special_tokens=True))

ملاحظات

  • يتميز Codestral Mamba بـgroups=8 وهي تشبه عدد رؤوس kv في نموذج يعتمد على الانتباه.

  • يحتوي Codestral Mamba على مساري تقدّم مختلفين، torch_forward أو cuda_kernels_forward، ومن المتوقع أن تكون نتائجهما مختلفة قليلاً.

    • torch_forward دون التجميع أسرع بـ 3 إلى 4 أضعاف من cuda_kernels_forward.
    • cuda_kernels_forward يستخدم نواة CUDA الأصلية إذا كانت متاحة في بيئتك. يكون أبطأ أثناء مرحلة التعبئة المسبقة (prefill) لأنه يتطلب "تشغيلة إحماء" بسبب العبء الأعلى على وحدة المعالجة المركزية (انظر هذه التعليقات لمزيد من التفاصيل).
  • لا توجد تمثيلات موضعية في هذا النموذج، لكن يوجد attention_mask ومنطق محدد لإخفاء الحالات المخفية في موضعين عند التوليد الدُفعي (انظر هذا تعليق لمزيد من التفاصيل). يؤدي هذا (بالإضافة إلى إعادة تنفيذ نواة Mamba 2) إلى اختلاف طفيف بين التوليد الدُفعي والتوليد المخزّن مؤقتًا.

  • يعتمد خوارزمية SSM اعتماداً كبيراً على عمليات انكماش الموترات (tensor contractions)، والتي لها مكافئات في عمليات ضرب المصفوفات (matmul)، لكن ترتيب العمليات يختلف قليلاً. وهذا يجعل الفارق أكبر عند استخدام دقات أقل.

  • يتم اختبار الحشو (Padding) مع الحشو الأيسر فقط. يؤدي الحشو الأيمن إلى تحديث ذاكرة التخزين المؤقت بمواقع الحشو، مما يعطي نتائج غير موثوقة. اضبط tokenizer.padding_side="left" عند التوليد الدُفعي. راجع جانب الحشو.

  • يُبيّن المثال أدناه كيفية ضبط موديل Mamba 2 باستخدام PEFT.

from datasets import load_dataset
from peft import LoraConfig
from trl import SFTConfig, SFTTrainer


model_id = "mistralai/Mamba-Codestral-7B-v0.1"
dataset = load_dataset("Abirate/english_quotes", split="train")
training_args = SFTConfig(dataset_text_field="quote", gradient_checkpointing=True, per_device_train_batch_size=4)
lora_config =  LoraConfig(target_modules=["x_proj", "embeddings", "in_proj", "out_proj"])
trainer = SFTTrainer(
    model=model_id,
    args=training_args,
    train_dataset=dataset,
    peft_config=lora_config,
)
trainer.train()

Mamba2Config

فئة transformers.Mamba2Config

< >

( 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 = Nonenum_heads: int = 128head_dim: int = 64vocab_size: int = 32768hidden_size: int = 4096state_size: int = 128num_hidden_layers: int = 64layer_norm_epsilon: float = 1e-05pad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2expand: int = 2conv_kernel: int = 4n_groups: int = 8use_bias: bool = Falseuse_conv_bias: bool = Truehidden_act: str = 'silu'initializer_range: float = 0.1residual_in_fp32: bool = Truetime_step_rank: str | int = 'auto'time_step_min: float = 0.001time_step_max: float = 0.1time_step_floor: float = 0.0001time_step_limit: list[float] | tuple[float, ...] = (0.0, inf)rescale_prenorm_residual: bool = Falseuse_cache: bool = Truechunk_size: int = 256tie_word_embeddings: bool = False )

المعاملات

  • num_heads (int، اختياري، القيمة الافتراضية 128) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • head_dim (int، اختياري، القيمة الافتراضية 64) — بعد رأس الانتباه. إذا كانت القيمة None، فستكون القيمة الافتراضية هي hidden_size // num_attention_heads
  • vocab_size (int، اختياري، القيمة الافتراضية 32768) — حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة input_ids.
  • hidden_size (int، اختياري، القيمة الافتراضية 4096) — أبعاد التمثيلات المخفية.
  • state_size (int، اختياري، القيمة الافتراضية 128) — حجم حالة SSM (بعد الحالة الكامنة) في طبقات Mamba.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 64) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • layer_norm_epsilon (float، اختياري، القيمة الافتراضية 1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.
  • pad_token_id (int، اختياري، القيمة الافتراضية 1) — معرّف الرمز المستخدم للتعبئة في المفردات.
  • bos_token_id (int, اختياري، القيمة الافتراضية 0) — معرّف الرمز المستخدم لبدء البث في المفردات.
  • eos_token_id (Union[int, list[int]]، اختياري، القيمة الافتراضية 2) — معرّف الرمز المستخدم لنهاية التدفق في المفردات.
  • expand (int, اختياري، القيمة الافتراضية 2) — معامل التوسيع المستخدم لتحديد الحجم الوسيط.
  • conv_kernel (int، اختياري، القيمة الافتراضية 4) — حجم نواة الالتفاف.
  • n_groups (int، اختياري، القيمة الافتراضية 8) — عدد المجموعات لمصفوفات التطور في mamba 2.
  • use_bias (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام الانحياز في [“in_proj”, “out_proj”] داخل كتلة المخلّط
  • use_conv_bias (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم استخدام الانحياز في طبقة الالتفاف داخل كتلة المخلّط.
  • hidden_act (str، اختياري، القيمة الافتراضية silu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.1) — انحراف معياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • residual_in_fp32 (bool، اختياري، القيمة الافتراضية True) — ما إذا كان ينبغي أن تكون البواقي (residuals) من نوع float32. إذا تم ضبطه على False، فستحتفظ البواقي بنفس dtype مثل باقي النموذج.
  • time_step_rank (Union[str, int]، اختياري، القيمة الافتراضية auto) — رتبة الإسقاط (خطوة الزمن). يمكن أن تكون "auto" لضبطها تلقائيًا.
  • time_step_min (float، اختياري، القيمة الافتراضية 0.001) — الحد الأدنى لـtime_step المستخدم لتحديد حد dt_proj.bias.
  • time_step_max (float، اختياري، القيمة الافتراضية 0.1) — القيمة القصوى لـtime_step المستخدمة لتحديد حد dt_proj.bias.
  • time_step_floor (float، اختياري، القيمة الافتراضية 0.0001) — القيمة الدنيا المسموح بها لخطوة الزمن المنفصلة الدلتا بعد تفعيل softplus.
  • time_step_limit (Union[list[float], tuple[float, ...]]، اختياري، القيمة الافتراضية (0.0, inf)) — النطاق المقبول لقيم خطوة الزمن للتحكم بها.
  • rescale_prenorm_residual (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم إعادة تحجيم أوزان out_proj عند التهيئة أم لا.
  • use_cache (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان config.is_decoder=True أو إذا كان النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.
  • chunk_size (int، اختياري، القيمة الافتراضية 256) — حجم المقاطع التي ستشكل التسلسل.
  • tie_word_embeddings (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم ربط ترميزات الأوزان وفقاً لخريطة tied_weights_keys الخاصة بالنموذج.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Mamba2Model. تُستخدم لتوليد نموذج Mamba2 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ state-spaces/mamba2-2.8b

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

مثال:

>>> from transformers import Mamba2Config, Mamba2Model

>>> # Initializing a Mamba2 configuration
>>> configuration = Mamba2Config()

>>> # Initializing a model (with random weights) from the configuration
>>> model = Mamba2Model(configuration)

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

Mamba2Model

فئة transformers.Mamba2Model

< >

( config: Mamba2Config )

المعاملات

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

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

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.LongTensor] = Nonecache_params: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs ) → Mamba2Output or tuple(torch.Tensor)

المعاملات

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

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

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

  • inputs_embeds (torch.LongTensor of shape (batch_size, sequence_length, hidden_size), اختياري) — اختياريًا، بدلاً من تمرير input_ids، يمكنك اختيار تمرير تمثيل مضمّن مباشرة. وهذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس input_ids إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.
  • cache_params (Cache، اختياري) — إذا تم تمريره، يستخدم النموذج الحالة السابقة في جميع الكتل (مما سيُنتج المخرجات الخاصة بـ input_ids المُقدَّمة وكأن النموذج أضاف state_input_ids + input_ids كسياق).
  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، يُعاد cache_params ويمكن استخدامه لتوليد logits التالية بسرعة.
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.
  • attention_mask (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

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

يعيد

Mamba2Output أو tuple(torch.Tensor)

Mamba2Output أو مجموعة (tuple) من torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (Mamba2Config) والمدخلات.

تتجاوز طريقة Mamba2Model الأمامية الطريقة الخاصة __call__.

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

  • last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — تسلسل حالات مخفية عند مخرجات الطبقة الأخيرة من النموذج.

  • cache_params (~cache_utils.Cache، اختياري) — حالة النموذج عند آخر خطوة زمنية. يمكن استخدامه في طريقة الأمامية مع input_ids التالية لتجنب تقديم input_ids القديمة.

    يتضمن مصفوفات حالة نموذج فضاء الحالة بعد المسح الانتقائي، وحالات التمرير

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

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

Mamba2LMHeadModel

فئة transformers.Mamba2ForCausalLM

< >

( config: Mamba2Config )

المعاملات

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

نموذج MAMBA2 المُحوِّل (Transformer) مع رأس لنمذجة اللغة في الأعلى (طبقة خطية بأوزان غير مرتبطة بتضمينات الإدخال).

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonecache_params: transformers.cache_utils.Cache | None = Nonelabels: typing.Optional[torch.LongTensor] = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Noneuse_cache: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0**kwargs ) → Mamba2CausalLMOutput or tuple(torch.Tensor)

المعاملات

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

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

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

  • inputs_embeds (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — اختياريًا، بدلاً من تمرير input_ids، يمكنك اختيار تمرير تمثيل مضمّن مباشرة. وهذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس input_ids إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.
  • cache_params (Cache، اختياري) — إذا تم تمريره، يستخدم النموذج الحالة السابقة في جميع الكتل (مما سيُنتج المخرجات الخاصة بـ input_ids المُقدَّمة وكأن النموذج أضاف state_input_ids + input_ids كسياق).
  • labels (torch.LongTensor من الشكل (batch_size, sequence_length)، اختياري) — التسميات لنمذجة اللغة. لاحظ أن التسميات تُزاح داخل النموذج، أي يمكنك تعيين labels = input_ids يتم اختيار الفهارس من [-100, 0, ..., config.vocab_size] تُتجاهل (تُقنَّع) جميع التسميات المعينة إلى -100 ويتم حساب الخسارة فقط للتسميات الموجودة في [0, ..., config.vocab_size]
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.
  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، يُعاد cache_params ويمكن استخدامه لتوليد logits التالية بسرعة.
  • attention_mask (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

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

  • logits_to_keep (Union[int, torch.Tensor]، اختياري، القيمة الافتراضية 0) — إذا كان int، يتم حساب logits لآخر logits_to_keep رموز. إذا كانت القيمة 0، يتم حساب logits لجميع input_ids (حالة خاصة). لا يُحتاج إلى logits إلا للرمز الأخير في عملية التوليد، ويمكن أن يوفر حسابها لذلك الرمز وحده ذاكرة كبيرة، وهو أمر مهم بشكل ملحوظ للتسلسلات الطويلة أو حجم المفردات الكبير. إذا كان torch.Tensor، يجب أن يكون بعدًا واحدًا (1D) ويتوافق مع الفهارس التي يجب الاحتفاظ بها في بُعد طول التسلسل. يكون هذا مفيدًا عند استخدام تنسيق المصفوفات المعبأة (packed tensor format) (بعد واحد لكل من الدفعة وطول التسلسل).

يعيد

Mamba2CausalLMOutput أو tuple(torch.Tensor)

Mamba2CausalLMOutput أو مجموعة مرتبة من torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (Mamba2Config) والمدخلات.

تتجاوز طريقة Mamba2ForCausalLM الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

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

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

  • cache_params (~cache_utils.Cache، اختياري) — حالة النموذج عند آخر خطوة زمنية. يمكن استخدامه في طريقة الأمامية مع input_ids التالية لتجنب تقديم input_ids القديمة.

    يتضمن مصفوفات حالة نموذج فضاء الحالة بعد المسح الانتقائي، وحالات التمرير

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

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

مثال:

Update on GitHub