Transformers documentation

Nemotron 3.5 Transcribe

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

تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-10-28.

Nemotron 3.5 Transcribe

FlashAttention SDPA

نظرة عامة

Nemotron 3.5 Transcribe هو نموذج لغة صوتي للنسخ متعدد اللغات، والنسخ المنسوب إلى المتحدثين، وترجمة الكلام، والإجابة على الأسئلة الصوتية. يقرأ مُشفِّر التعرف على الكلام ونموذج Nemotron 3 Diarization نفس الطيف الصوتي؛ وتُستخرج مخرجاتهما إلى نموذج لغة Nemotron-H. تُخرج رأس طوابع الوقت للكلمات على المُشفِّر أوقاتاً على مستوى الكلمة.

الاستخدام

النسخ

from transformers import AutoModelForMultimodalLM, AutoProcessor


model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")

inputs = processor.apply_transcription_request(samples + "en-Alice_woman.wav").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=256)
print(processor.decode(outputs[:, inputs.input_ids.shape[1] :], skip_special_tokens=True))

النسخ الدُفعي

from transformers import AutoModelForMultimodalLM, AutoProcessor


model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")

audio = [samples + "en-Alice_woman.wav", samples + "diarization_example.mp3"]
speaker_attributed_prompt = (
    "Transcribe this audio with punctuation and capitalization. Include all spoken words and verbal fillers. Write "
    "numbers in their standard written form. Put speaker tags <spk:0> <spk:1> <spk:2> <spk:3> on the transcription."
)
prompt = [None, speaker_attributed_prompt]

inputs = processor.apply_transcription_request(audio, prompt=prompt).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024)
texts = processor.decode(outputs[:, inputs.input_ids.shape[1] :], skip_special_tokens=False)
print([text.replace(processor.tokenizer.pad_token, "") for text in texts])

نسخة مكتوبة مع تحديد المتحدث

from transformers import AutoModelForMultimodalLM, AutoProcessor


model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")

prompt = (
    "Transcribe this audio with punctuation and capitalization. Include all spoken words and verbal fillers. Write "
    "numbers in their standard written form. Put speaker tags <spk:0> <spk:1> <spk:2> <spk:3> on the transcription."
)
conversation = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": prompt},
            {"type": "audio", "path": samples + "diarization_example.mp3"},
        ],
    }
]

inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    enable_thinking=False,
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024)
text = processor.decode(outputs[0, inputs.input_ids.shape[1] :], skip_special_tokens=False)
print(text)

يقوم extract_speaker_dict() بتقسيم المخرجات إلى قاموس واحد لكل دور من أدوار المتكلمين:

for turn in processor.extract_speaker_dict(text):
    print(turn)
{'Speaker': 0, 'Content': "To celebrate the release of Nematron three Dierization, we invited ... from NVIDIA."}
{'Speaker': 1, 'Content': "Hi everybody, thanks for having me. I'm Jane, a pocket voice from QTie."}
{'Speaker': 2, 'Content': "Nice to meet you Chris and Jane. I'm Serena, the Queen three Voice."}
...

طوابع زمنية للكلمات

يتطلب torchaudio وscipy.

from transformers import AutoModelForMultimodalLM, AutoProcessor


model_id = "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
samples = "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, device_map="auto")

prompt = (
    "Transcribe this audio with punctuation and capitalization. Include all spoken words and verbal fillers. Write "
    "numbers in their standard written form. Put speaker tags <spk:0> <spk:1> <spk:2> <spk:3> on the transcription."
)

inputs = processor.apply_transcription_request(samples + "diarization_example.mp3", prompt=prompt).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024, return_word_timestamp_logits=True)
texts = processor.decode(outputs.sequences[:, inputs.input_ids.shape[1] :], skip_special_tokens=False)
timestamps = processor.align_word_timestamps(
    texts,
    outputs.word_timestamp_logits,
    inputs.input_features_mask,
    outputs.speaker_logits,
)
print(timestamps[0]["chunks"][:3])

لمواءمة نصّ لم يتم توليده:

input_features_mask = inputs.input_features_mask
audio_outputs = model.get_audio_features(inputs.input_features, input_features_mask)
word_timestamp_logits = model.get_word_timestamp_logits(audio_outputs.asr_last_hidden_state, input_features_mask)
timestamps = processor.align_word_timestamps(
    ["<spk:0> To celebrate the ..."],
    word_timestamp_logits,
    input_features_mask,
    audio_outputs.speaker_logits,
)

Nemotron3_5TranscribeConfig

فئة transformers.Nemotron3_5TranscribeConfig

< >

( 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 = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_token_id: int = 131072word_timestamp_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )

المعاملات

  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], اختياري) — كائن الإعداد أو قاموس العمود الفقري الصوتي.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig]، اختياري) — كائن الإعدادات أو قاموس العمود الفقري النصي.
  • audio_token_id (int، اختياري، القيمة الافتراضية 131072) — مؤشر رمز الصوت المستخدم كحقل احتياطي لتضمينات الصوت. يضيف الملف المرجعي الأصلي هذا الرمز بعد مفردات نموذج اللغة، دون صف تضمين: يتم تضمينه كرمز 0، ثم يُستبدل بالصوت.
  • word_timestamp_config (Union[dict, Nemotron3_5TranscribeWordTimestampConfig], اختياري) — إعدادات مُشفِّر الطوابع الزمنية للكلمات ورأسها، والتي تتنبأ بقطع مُرمِّز المحاذاة من حالات مُشفِّر التعرف على الكلام.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Nemotron3 5 TranscribeModel. تُستخدم لاستحداث نموذج Nemotron3 5 Transcribe وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

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

مثال:

>>> from transformers import Nemotron3_5TranscribeForConditionalGeneration, Nemotron3_5TranscribeConfig

>>> # Initializing a Nemotron3_5Transcribe configuration
>>> configuration = Nemotron3_5TranscribeConfig()

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

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

Nemotron3_5TranscribeAsrAudioConfig

فئة transformers.Nemotron3_5TranscribeAsrAudioConfig

< >

( 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 = 1280intermediate_size: int = 5120num_hidden_layers: int = 32num_attention_heads: int = 10num_key_value_heads: int | None = Nonehidden_act: str = 'gelu'max_position_embeddings: int = 5000initializer_range: float = 0.02rope_parameters: dict | None = Noneattention_dropout: float | int = 0.0num_mel_bins: int = 128subsampling_factor: int = 8 )

المعاملات

  • hidden_size (int، اختياري، القيمة الافتراضية 1280) — أبعاد التمثيلات المخفية.
  • intermediate_size (int، اختياري، القيمة الافتراضية 5120) — بعد تمثيلات MLP.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 32) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 10) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • num_key_value_heads (int, اختياري) — هذا هو عدد رؤوس 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 عن طريق meanpooling جميع الرؤوس الأصلية داخل تلك المجموعة. لمزيد من التفاصيل، راجع هذا الورقة. إذا لم يتم تحديد القيمة، فسيتم افتراض num_attention_heads.
  • hidden_act (str، اختياري، القيمة الافتراضية gelu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وما إلى ذلك.
  • max_position_embeddings (int، اختياري، القيمة الافتراضية 5000) — أقصى طول تسلسل قد يُستخدم معه هذا النموذج على الإطلاق.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • rope_parameters (dict, اختياري) — قاموس يحتوي على معاملات التهيئة الخاصة بتضمينات RoPE. يجب أن يحتوي القاموس على قيمة لـ rope_theta، ومعاملات اختيارية تُستخدم للتصحيح (scaling) في حال رغبتَ في استخدام RoPE مع max_position_embeddings أطول.
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — نسبة إسقاط (dropout) لاحتمالات الانتباه.
  • num_mel_bins (int، اختياري، القيمة الافتراضية 128) — عدد ميزات mel المستخدمة لكل إطار إدخال. يجب أن يتوافق مع القيمة المستخدمة في فئة AutoFeatureExtractor.
  • subsampling_factor (int، اختياري، القيمة الافتراضية 8) — عدد إطارات الطيف الصوتي المتتالية المكدسة في إطار مشفّر واحد.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Nemotron3 5 TranscribeModel. تُستخدم لاستحداث نموذج Nemotron3 5 Transcribe وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

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

مثال:

>>> from transformers import Nemotron3_5TranscribeAsrAudioModel, Nemotron3_5TranscribeAsrAudioConfig

>>> # Initializing a Nemotron3_5TranscribeAsrAudioModel configuration
>>> configuration = Nemotron3_5TranscribeAsrAudioConfig()

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

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

Nemotron3_5TranscribeAudioConfig

فئة transformers.Nemotron3_5TranscribeAudioConfig

< >

( 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 = Noneasr_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonediarization_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonespeaker_activity_threshold: float = 0.5 )

المعاملات

  • asr_config (Union[dict, Nemotron3_5TranscribeAsrAudioConfig]، اختياري) — إعدادات مُشفِّر التعرف على الكلام.
  • diarization_config (Union[dict, Nemotron3DiarizationConfig], اختياري) — إعدادات نموذج تحديد المتحدثين، حيث تُضاف أنشطة المتحدثين إلى مخرجات مُشفِّر التعرف على الكلام.
  • speaker_activity_threshold (float، اختياري، القيمة الافتراضية 0.5) — يُعتبر المتحد نشطًا في إطار المُشفِّر عندما تتجاوز احتماليته هذا العتبة.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Nemotron3 5 TranscribeModel. تُستخدم لاستحداث نموذج Nemotron3 5 Transcribe وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

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

مثال:

>>> from transformers import Nemotron3_5TranscribeAudioModel, Nemotron3_5TranscribeAudioConfig

>>> # Initializing a Nemotron3_5TranscribeAudioModel configuration
>>> configuration = Nemotron3_5TranscribeAudioConfig()

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

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

Nemotron3_5TranscribeWordTimestampConfig

فئة transformers.Nemotron3_5TranscribeWordTimestampConfig

< >

( 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 = 1280intermediate_size: int = 640num_hidden_layers: int = 2num_attention_heads: int = 16num_key_value_heads: int | None = Nonehidden_act: str = 'gelu'max_position_embeddings: int = 5000initializer_range: float = 0.02rope_parameters: dict | None = Noneattention_dropout: float | int = 0.0vocab_size: int = 23863blank_token_id: int = 23862residual_scale: float = 0.1upsampling_factor: int = 2 )

المعاملات

  • hidden_size (int، اختياري، القيمة الافتراضية 1280) — أبعاد التمثيلات المخفية.
  • intermediate_size (int، اختياري، القيمة الافتراضية 640) — بعد تمثيلات MLP.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 2) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 16) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • num_key_value_heads (int, اختياري) — هذا هو عدد رؤوس 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 عن طريق meanpooling جميع الرؤوس الأصلية داخل تلك المجموعة. لمزيد من التفاصيل، راجع هذا الورقة. إذا لم يتم تحديد القيمة، فسيتم افتراض num_attention_heads.
  • hidden_act (str، اختياري، القيمة الافتراضية gelu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وما إلى ذلك.
  • max_position_embeddings (int، اختياري، القيمة الافتراضية 5000) — أقصى طول تسلسل قد يُستخدم معه هذا النموذج على الإطلاق.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • rope_parameters (dict, اختياري) — قاموس يحتوي على معاملات التهيئة الخاصة بتضمينات RoPE. يجب أن يحتوي القاموس على قيمة لـ rope_theta، ومعاملات اختيارية تُستخدم للتصحيح (scaling) في حال رغبتَ في استخدام RoPE مع max_position_embeddings أطول.
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — نسبة إسقاط (dropout) لاحتمالات الانتباه.
  • vocab_size (int، اختياري، القيمة الافتراضية 23863) — عدد فئات رأس طوابع الوقت للكلمات: قطع مُحاذاة مُجزّئها، ثم الفراغ.
  • blank_token_id (int، اختياري، القيمة الافتراضية 23862) — مؤشر فئة الفراغ، بعد قطع مُقسّم المحاذاة.
  • residual_scale (float، اختياري، القيمة الافتراضية 0.1) — مقياس مخرج المحوّل الذي يُضاف إلى حالات مُشفِّر التعرف على الكلام قبل المُصنِّف.
  • upsampling_factor (int، اختياري، القيمة الافتراضية 2) — عدد إطارات الرأس لكل إطار مشفّر، يتم إنشاؤه بواسطة التفاف معكوس قبل التحويلي: القيمة 2 تعطي إطارات مدتها 40 مللي ثانية من إطارات المشفّر التي مدتها 80 مللي ثانية.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Nemotron3 5 TranscribeModel. تُستخدم لاستحداث نموذج Nemotron3 5 Transcribe وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

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

مثال:

>>> from transformers import Nemotron3_5TranscribeConfig, Nemotron3_5TranscribeWordTimestampConfig

>>> # Initializing a Nemotron3_5TranscribeWordTimestamp configuration
>>> configuration = Nemotron3_5TranscribeWordTimestampConfig()

>>> # Using it as the word timestamp head of the model
>>> model_configuration = Nemotron3_5TranscribeConfig(word_timestamp_config=configuration)

Nemotron3_5TranscribeProcessor

فئة transformers.Nemotron3_5TranscribeProcessor

< >

( feature_extractortokenizeralignment_tokenizerchat_template = Noneaudio_token = '<|audio|>'default_transcription_prompt = 'Audio transcription. Language: as spoken. Wording: verbatim, including fillers and repetitions. Formatting: punctuation and capitalization. Output: transcript only.'subsampling_factor = 8 )

المعاملات

  • feature_extractor (feature_extractor_class) — مستخرج الميزات هو مدخل مطلوب.
  • tokenizer (tokenizer_class) — مُجزِّئ النص (tokenizer) هو مدخل إلزامي.
  • alignment_tokenizer (PreTrainedTokenizerFast) — مفردات رأس طوابع الوقت للكلمات: 23,862 قطعة BPE من SentencePiece، حيث تكون فئة الرأس 23,862 هي فراغ CTC. يُستخدم فقط بواسطة align_word_timestamps()، ويُحفظ في مجلد الفرع alignment_tokenizer/. أضف مسافة في البداية لإعادة إنتاج معرفات SentencePiece الأصلية لأي نص، بما في ذلك نص يبدأ بوسم: alignment_tokenizer.encode(" " + text, add_special_tokens=False).
  • chat_template (str) — قالب Jinja لتحويل قوائم الرسائل في المحادثة إلى نص قابل للتجزئة.
  • audio_token (str، اختياري، القيمة الافتراضية "<|audio|>") — رمز خاص يُستخدم لتمثيل مدخلات الصوت في قالب المحادثة.
  • default_transcription_prompt (str، اختياري) — الموجّه الافتراضي المستخدم بواسطة apply_transcription_request().
  • subsampling_factor (int، اختياري، القيمة الافتراضية 8) — عدد إطارات الطيف الصوتي لكل رمز صوتي، على غرار Nemotron3_5TranscribeAsrAudioConfig.subsampling_factor. يتم ملء الطيف الصوتي ليصبح مضاعفاً لهذا العدد.

ينشئ Nemotron3_5TranscribeProcessor الذي يغلّف مستخرج ميزات، ومجزئًا، ومجزئ محاذاة في معالج واحد.

يوفر Nemotron3_5TranscribeProcessor جميع وظائف feature_extractor_class وtokenizer_class و{alignment_tokenizer_class}. راجع ~feature_extractor_class و~tokenizer_class و~{alignment_tokenizer_class} لمزيد من المعلومات.

__call__

< >

( text: str | list[str]audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = Noneoutput_labels: bool | None = False**kwargs: *<class 'transformers.models.nemotron3_5_transcribe.processing_nemotron3_5_transcribe.Nemotron3_5TranscribeProcessorKwargs'> ) → BatchFeature

المعاملات

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

يعيد

BatchFeature

قاموس يحتوي على النص المُرمَّز (input_ids، attention_mask) وميزات الصوت (input_features، input_features_mask).

apply_transcription_request

< >

( audio: typing.Union[str, list[str], numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]prompt: str | list[str] | None = None**kwargs: *<class 'transformers.models.nemotron3_5_transcribe.processing_nemotron3_5_transcribe.Nemotron3_5TranscribeProcessorKwargs'> ) → BatchFeature

المعاملات

  • audio (str، list[str]، np.ndarray، torch.Tensor، list[np.ndarray]، list[torch.Tensor]) — الصوت المراد تحويله إلى نص. تُفسَّر السلاسل النصية كمسارات محلية أو عناوين URL وسيتم تحميلها تلقائيًا بواسطة مُحمِّل قالب المحادثة؛ بينما تُمرَّر مصفوفات NumPy ومُتجهات PyTorch مباشرةً.
  • prompt (str أو list[str]، اختياري) — موجّه مخصص أو موجّهات مخصصة لإدراجها في دور المستخدم. يجب أن تكون القائمة بنفس طول الدفعة. عند تعيين None، يستخدم كل عينة default_transcription_prompt.
  • **kwargs — حجج إضافية بالكلمات المفتاحية تُمرَّر إلى apply_chat_template() (مثلًا text_kwargs، audio_kwargs، …). يكون التفكير معطَّلًا ما لم يتم تمرير enable_thinking=True (حيث يُفعَّل بواسطة قالب المحادثة افتراضيًا).

يعيد

BatchFeature

مخرجات المعالج جاهزة للتقديم إلى Nemotron3_5TranscribeForConditionalGeneration.generate().

جهّز المدخلات للتعرف التلقائي على الكلام دون كتابة موجه النسخ الافتراضي يدويًا.

apply_chat_template

< >

( conversation: list[dict[str, str]] | list[list[dict[str, str]]]chat_template: str | None = Nonetools: list[dict] | None = Nonedocuments: list[dict[str, str]] | None = Noneadd_generation_prompt: bool = Falsecontinue_final_message: bool | str = Falsereturn_assistant_tokens_mask: bool = Falsetokenize: bool = Falsereturn_tensors: str | transformers.utils.generic.TensorType | None = 'auto'return_dict: bool = Falseload_audio_from_video: bool = Falseprocessor_kwargs: dict | None = None**kwargs )

المعاملات

  • conversation (Union[list[Dict, [str, str]], list[list[dict[str, str]]]]) — المحادثة التي سيتم تنسيقها.
  • chat_template (Optional[str], اختياري) — قالب Jinja المستخدم لتنسيق المحادثة. إذا لم يُقدَّم، يُستخدم قالب المحادثة الخاص بمجزّئ الرموز.

بالمثل مع طريقة apply_chat_template الموجودة في مُرمّزيات الرموز، تطبّق هذه الطريقة قالب Jinja على محادثات الإدخال لتحويلها إلى نص واحد قابل للتقسيم إلى رموز.

يُتوقَّع أن يكون المدخل في الصيغة التالية، حيث يكون محتوى كل رسالة قائمة تتكوّن من نصّ ومدخلات صورة أو فيديو اختيارية. كما يمكن تقديم صورة أو فيديو أو عنوان URL أو مسار محلي، وسيُستخدم لتكوين pixel_values عندما يكون return_dict=True. إذا لم يُقدَّم، فسيتم الحصول على النصّ المنسَّق فقط، أو النصّ المُرمَّز اختيارياً.

conversation = [ { “role”: “user”, “content”: [ {“type”: “image”, “url”: “https://www.ilankelman.org/stopsigns/australia.jpg”}, {“type”: “text”, “text”: “Please describe this image in detail.”}, ], }, ]

extract_speaker_dict

< >

( text: str | list[str] ) → list[dict] for a single text, list[list[dict]] for a batch

المعاملات

  • text (str أو list[str]) — نص واحد أو دفعة من النصوص، يتم فك ترميزها باستخدام skip_special_tokens=False: حيث أن وسوم المتحدث <spk:N> هي رموز خاصة. يتم حذف كل شيء بدءًا من رمز نهاية النص.

يعيد

list[dict] لنص واحد، وlist[list[dict]] لدفع

قائمة واحدة لكل دور متحدث، تحتوي على فهرس "Speaker" الخاص بـ N من وسم <spk:N> ومحتواه "Content". النص الذي لا يحتوي على وسوم يُعتبر دورًا واحدًا بـ "Speaker": None، وكذلك النص الذي يسبق الوسم الأول إن وُجد.

يقسم النص المنسوب إلى المتكلمين إلى أدوار للمتحدثين، بصيغة VibeVoiceAsrProcessor.extract_speaker_dict() دون الطوابع الزمنية، حيث لا يتنبأ هذا النموذج بها.

مثال:

>>> processor.extract_speaker_dict("<spk:0> Hi, how are you? <spk:1> Fine, thanks.<|im_end|>")
[{'Speaker': 0, 'Content': 'Hi, how are you?'}, {'Speaker': 1, 'Content': 'Fine, thanks.'}]

align_word_timestamps

< >

( transcriptions: str | list[str]word_timestamp_logits: torch.Tensorinput_features_mask: torch.Tensorspeaker_logits: torch.Tensor | None = Nonelanguage: str | list[str | None] | None = Nonespeaker_activity_threshold: float = 0.5max_word_duration: float = 1.0max_word_frames: int = 12 ) → dict or list[dict]

المعاملات

  • transcriptions (str أو list[str]) — النص المولّد لكل تسجيل، مُفكّك الترميز باستخدام skip_special_tokens=False للحفاظ على وسوم <spk:N>.
  • word_timestamp_logits (torch.Tensor من الشكل (batch_size, num_frames * upsampling_factor, vocab_size)) — قيم اللوجيتات لرأس طوابع التوقيت للكلمات (word_timestamp_logits من generate(..., return_word_timestamp_logits=True) أو model.get_word_timestamp_logits(...))، حيث تكون الفئة الأخيرة هي CTC blank. يتم قراءة عدد الإطارات لكل إطار مشفّر، وهو upsampling_factor للرأس، من شكلها.
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)) — قناع الإطارات الطيفية الصالحة لكل تسجيل، كما تُرجعه المعالجة: عددها يحدد مدة التسجيل، وبالتالي خطوة الزمن لإطارات الرأس.
  • speaker_logits (torch.Tensor من الشكل (batch_size, num_frames * subsampling_factor, num_speakers)، اختياري) — قيم اللوجيت (Logits) لنموذج تحديد المتحدثين (speaker_logits من generate(..., return_word_timestamp_logits=True) أو من get_audio_features). في حال عدم توفرها، يتم محاذاة كل نص كمحاضر واحد ولا يُعاد أي تحديد للمتحدثين.
  • language (str أو list[str | None]، اختياري) — لغة النصوص، لغة واحدة للجميع أو لغة لكل نص على حدة، تُكتشف من النص المكتوب عندما تكون None: "zh" و"ja" تتم محاذاتهما حرفًا بحرف، بينما "th" غير مدعومة.
  • speaker_activity_threshold (float, اختياري، القيمة الافتراضية 0.5) — الاحتمال الذي يتجاوزُه المتحدّث في عملية التمييز بين المتحدّثين ليُعتبر نشِطًا.
  • max_word_duration (float، اختياري، القيمة الافتراضية 1.0) — أقصى مدة لكلمة مُحاذاة، بالثواني.
  • max_word_frames (int، اختياري، القيمة الافتراضية 12) — أقصى إزاحة ومدة لكلمة مُثبَّتة على مقطع من مقاطع تحديد المتكلمين، بوحدات إطارات المُشفِّر التي لا تتجاوز 80 مللي ثانية.

يعيد

dict أو list[dict]

للتسجيل (أو لكل تسجيل من قائمة النصوص)، كطوابع زمنية للكلمات في خط أنابيب التعرف على الكلام، "chunks" ({"text", "timestamp", "speaker"} لكل كلمة، timestamp = (start, end) بالثواني، مرتبة زمنياً؛ speaker هو N لوسم الكلمة، None قبل أول وسم و 0 في نص بدون وسوم)، "diarization" ({"speaker", "timestamp"} مقاطع نشاط كل متحدث في فصل المتحدثين)، "speaker_tag_to_diarization_speaker" (None لوسم غير مطابق) و "failed_speakers" (الوسوم التي تعذّر محاذاة كلماتها، غير موجودة في "chunks").

يُحدد زمن كل كلمة في النصوص المولّدة وينسبها إلى متحدث: تُخضع كلمات كل وسم <spk:N> للمحاذاة الإجبارية (torchaudio.functional.forced_align) على إطارات رأس طوابع زمنية الكلمات حيث يكون المتحدث المُصنَّف الذي يطابق الوسم نشطاً، ثم تُثبَّت على مقاطع التصنيف الزمني لذلك المتحدث. وهو نسخة من MultiSpeakerSOTWordTimestampAligner الخاص بـ NeMo، مع بحث دقيق حيث يستخدم التقريب للتسجيلات الطويلة.

مثال:

>>> inputs = processor.apply_transcription_request(audio, prompt=speaker_attributed_prompt).to(model.device)
>>> outputs = model.generate(**inputs, return_word_timestamp_logits=True, max_new_tokens=500)
>>> transcriptions = processor.decode(
...     outputs.sequences[:, inputs.input_ids.shape[1] :], skip_special_tokens=False
... )
>>> timestamps = processor.align_word_timestamps(
...     transcriptions, outputs.word_timestamp_logits, inputs.input_features_mask, outputs.speaker_logits
... )
>>> timestamps[0]["chunks"][0]  # {'text': ..., 'timestamp': (..., ...), 'speaker': 0}

Nemotron3_5TranscribeAsrAudioModel

فئة transformers.Nemotron3_5TranscribeAsrAudioModel

< >

( config: Nemotron3_5TranscribeAsrAudioConfig )

المعاملات

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

ترميز التعرف على الكلام في Nemotron 3.5 Transcribe: هو ترميز الصوت الخاص بـ Nemotron 3 Diarization مع تطبيع الاستعلامات والمفاتيح لكل رأس انتباه، وتضمين مواقع دوّارة على جزء من كل رأس.

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

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

forward

< >

( input_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)

المعاملات

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

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

  • inputs_embeds (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — اختياريًا، بدلاً من تمرير input_ids، يمكنك اختيار تمرير تمثيل مضمّن مباشرة. وهذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس input_ids إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.
  • position_ids (torch.Tensor بشكل (batch_size, sequence_length), اختياري) — مؤشرات مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها ضمن النطاق [0, config.n_positions - 1].

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

يعيد

BaseModelOutput أو tuple(torch.Tensor)

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

تتجاوز طريقة Nemotron3_5TranscribeAsrAudioModel الأمامية (forward) الطريقة الخاصة __call__.

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

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

  • 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

Nemotron3_5TranscribeAudioModel

فئة transformers.Nemotron3_5TranscribeAudioModel

< >

( config: Nemotron3_5TranscribeAudioConfig )

المعاملات

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

نموذج Nemotron 3.5 Transcribe لتحويل الصوت إلى نص: يعمل مُشفِّر التعرف على الكلام ونموذج فصل المتكلمين بالتوازي على نفس الطيف الزمني-الترددي، وتُضاف أنشطة المتكلمين إلى مخرجات مُشفِّر التعرف على الكلام.

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

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

forward

< >

( input_features: Tensorinput_features_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3_5TranscribeAudioModelOutput or tuple(torch.Tensor)

المعاملات

  • input_features (torch.Tensor من الشكل (batch_size, feature_sequence_length, num_mel_bins)) — مطياف لوجاريتمي لمل، مُملأ إلى مضاعف من إطارات config.subsampling_factor. كما في الأصل، يتم ترميز الصوت الأطول من config.diarization_config.chunk_length إطار مُرمِّز في مقاطع مع سياق.
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)، اختياري) — قناع للإطارات الطيفية الصالحة. يجب أن يكون الحشو على اليمين.

يعيد

Nemotron3_5TranscribeAudioModelOutput أو tuple(torch.Tensor)

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

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

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

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

  • pooler_output (torch.Tensor من الشكل (num_audio_tokens, text_config.hidden_size)، اختياري) — تمثيلات صوتية مُسقطَة للإطارات الصالحة من المُشفِّر لكل تسجيل، بترتيب الدفعة: التمثيلات التي تحل محل رموز الصوت في الاستدعاء. تُعاد بواسطة get_audio_features.

  • 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • asr_last_hidden_state (torch.Tensor من الشكل (batch_size, num_frames, audio_config.hidden_size)) — مخرج مُشفِّر التعرف على الكلام، قبل تطبيعها وتضمينات المتحدث: مدخل get_word_timestamp_logits().

  • speaker_logits (torch.Tensor من الشكل (batch_size, feature_sequence_length, audio_config.num_speakers)) — قيم اللوجيتات لنموذج تمييز المتكلمين، إطار واحد لكل إطار من إطارات الطيف الصوتي.

Nemotron3_5TranscribeWordTimestampModel

فئة transformers.Nemotron3_5TranscribeWordTimestampModel

< >

( config: Nemotron3_5TranscribeWordTimestampConfig )

المعاملات

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

المحوّل لرأس طوابع الوقت للكلمات في Nemotron 3.5 Transcribe. تصنّف فئة Nemotron3_5TranscribeForConditionalGeneration.word_timestamp_head مخرجاتها.

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

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

forward

< >

( inputs_embeds: Tensorattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

المعاملات

  • inputs_embeds (torch.Tensor من الشكل (batch_size, num_frames, hidden_size)) — حالات مُشفِّر التعرف على الكلام، قبل asr_norm الخاص بنموذج الصوت وتضمينات المتحدث.
  • attention_mask (torch.Tensor من الشكل (batch_size, num_frames)، اختياري) — قناع للإطارات الصالحة للمُشفِّر.

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

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

يعيد num_frames * upsampling_factor إطارًا.

Nemotron3_5TranscribeModel

فئة transformers.Nemotron3_5TranscribeModel

< >

( config: Nemotron3_5TranscribeConfig )

المعاملات

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

نموذج Nemotron 3.5 Transcribe (شيفرة التعرف على الكلام ونموذج تمييز المتكلمين بالتوازي، ومشروع خطي ونموذج اللغة Nemotron-H)، دون رأس لنمذجة اللغة.

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = 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] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3_5TranscribeModelOutputWithPast or tuple(torch.Tensor)

المعاملات

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

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

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

  • input_features (torch.Tensor من الشكل (batch_size, sequence_length, feature_dim)، اختياري) — المصفوفات المقابلة لميزات الصوت المدخلة. يمكن الحصول على ميزات الصوت باستخدام feature_extractor_class. راجع feature_extractor_class.__call__ للتفاصيل (processor_class يستخدم feature_extractor_class لمعالجة الأصوات).
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)) — قناع لتجنب تنفيذ الانتباه على فهارس الحشو.
  • 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 إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.
  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، تُعاد حالات المفاتيح والقيم past_key_values ويمكن استخدامها لتسريع فك الترميز (انظر past_key_values).

يعيد

Nemotron3_5TranscribeModelOutputWithPast أو tuple(torch.Tensor)

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

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

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

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

    إذا تم استخدام past_key_values، فإن الحالة المخفية الأخيرة فقط من التسلسلات ذات الشكل (batch_size, 1, hidden_size) هي التي تُخرج.

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

    تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي، وفي كتل الانتباه المتقاطع اختياريًا إذا كان config.is_encoder_decoder=True) يمكن استخدامها (انظر مدخل 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • audio_hidden_states (torch.Tensor، اختياري) — حالات مخفية صوتية مُسقطَة.

get_audio_features

< >

( input_features: Tensorinput_features_mask: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

المعاملات

  • input_features (torch.Tensor) — قيمات عشرية لميزات ميل المستخرجة من موجة الصوت الخام.
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)) — قناع لتجنب تنفيذ الانتباه على فهارس الميزات المُكمّلة.

يعيد

BaseModelOutputWithPooling أو tuple(torch.Tensor)

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

تُستخدم هذه الطريقة للحصول على تمثيلات الصوت من الميزات المدخلة (مطياف لوج-ميل)، أي استنتاج مُشفِّر الصوت والمُرشِّح متعدد الوسائط.

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

  • pooler_output (torch.Tensor من الشكل (batch_size, hidden_size)) — حالة الطبقة المخفية الأخيرة للرمز الأول من التسلسل (رمز التصنيف) بعد المعالجة الإضافية عبر الطبقات المستخدمة في مهمة ما قبل التدريب المساعدة. على سبيل المثال، بالنسبة لعائلة نماذج BERT، تُرجع هذه الخاصية رمز التصنيف بعد معالجته عبر طبقة خطية ودالة تفعيل tanh. تُدرَّب أوزان الطبقة الخطية من هدف التنبؤ بالجملة التالية (التصنيف) أثناء ما قبل التدريب.

  • 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

get_word_timestamp_hidden_states

< >

( asr_last_hidden_state: Tensorinput_features_mask: Tensor )

المعاملات

  • asr_last_hidden_state (torch.Tensor من الشكل (batch_size, num_frames, audio_config.hidden_size)) — مخرج مُشفِّر التعرف على الكلام قبل تطبيعها وتضمينات المتحدث، كما تُعاد بواسطة get_audio_features() لـ input_features_mask.
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)) — قناع للإطارات الطيفية الصالحة. يجب أن يكون الحشو على اليمين.

تشغّل مُشفِّر طوابع الوقت للكلمات على حالات مُشفِّر التعرف على الكلام، في مقاطع المُشفِّر: الحالات التي تُصنّفها طبقة رأس طوابع الوقت للكلمات.

Nemotron3_5TranscribeForConditionalGeneration

فئة transformers.Nemotron3_5TranscribeForConditionalGeneration

< >

( config: Nemotron3_5TranscribeConfig )

المعاملات

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

نموذج Nemotron 3.5 Transcribe (شيفرة التعرف على الكلام ونموذج تمييز المتكلمين بالتوازي، ومشروع خطي ونموذج اللغة Nemotron-H) مع رأس لنمذجة اللغة.

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = 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] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3_5TranscribeCausalLMOutputWithPast or tuple(torch.Tensor)

المعاملات

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

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

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

  • input_features (torch.Tensor من الشكل (batch_size, sequence_length, feature_dim)، اختياري) — المصفوفات المقابلة لميزات الصوت المدخلة. يمكن الحصول على ميزات الصوت باستخدام feature_extractor_class. راجع feature_extractor_class.__call__ للتفاصيل (processor_class يستخدم feature_extractor_class لمعالجة الأصوات).
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)) — قناع لتجنب تنفيذ الانتباه على فهارس الحشو.
  • 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 إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.
  • labels (torch.LongTensor من الشكل (batch_size, sequence_length)، اختياري) — التسميات المستخدمة لحساب خسارة نمذجة اللغة المقنّعة.
  • 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) (بعد واحد لكل من الدفعة وطول التسلسل).

يعيد

Nemotron3_5TranscribeCausalLMOutputWithPast أو tuple(torch.Tensor)

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

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

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

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

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

  • past_key_values (Cache، اختياري، يُعاد عند تمرير use_cache=True أو عند تعيين config.use_cache=True) — إنه كائن من نوع Cache.

  • 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • audio_hidden_states (torch.Tensor، اختياري) — حالات المخفية لمشفّر الصوت بعد الإسقاط.

مثال:

>>> from transformers import Nemotron3_5TranscribeForConditionalGeneration, AutoProcessor

>>> model_id = "nvidia/audio-flamingo-3-hf"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = Nemotron3_5TranscribeForConditionalGeneration.from_pretrained(model_id, device_map="auto")

get_audio_features

< >

( input_featuresinput_features_mask**kwargs )

المعاملات

  • input_features (`of shape(batch_size, sequence_length, feature_dim)) -- The tensors corresponding to the input audio features. Audio features can be obtained using feature_extractor_class. See feature_extractor_class.call for details (processor_classusesfeature_extractor_class` for processing audios).
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)) — قناع للإطارات الطيفية الصالحة. يجب أن يكون الحشو على اليمين.

مثال:

get_word_timestamp_logits

< >

( asr_last_hidden_state: Tensorinput_features_mask: Tensor )

المعاملات

  • asr_last_hidden_state (torch.Tensor من الشكل (batch_size, num_frames, audio_config.hidden_size)) — مخرج مُشفِّر التعرف على الكلام قبل تطبيعها وتضمينات المتحدث، كما تُعاد بواسطة get_audio_features() لـ input_features_mask.
  • input_features_mask (torch.Tensor من الشكل (batch_size, feature_sequence_length)) — قناع للإطارات الطيفية الصالحة. يجب أن يكون الحشو على اليمين.

قيم اللوجيتات لرأس كلمة الطابع الزمني على حالات مشفّر التعرف على الكلام، والتي تحوّلها align_word_timestamps() إلى أوقات الكلمات.

مثال:

Update on GitHub