Transformers documentation
Nemotron 3.5 Transcribe
تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-10-28.
Nemotron 3.5 Transcribe
نظرة عامة
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
< source >( 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.configNemotron3_5TranscribeAsrAudioConfig
فئة transformers.Nemotron3_5TranscribeAsrAudioConfig
< source >( 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.configNemotron3_5TranscribeAudioConfig
فئة transformers.Nemotron3_5TranscribeAudioConfig
< source >( 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.configNemotron3_5TranscribeWordTimestampConfig
فئة transformers.Nemotron3_5TranscribeWordTimestampConfig
< source >( 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
< source >( 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__
< source >( 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 للحصول على القائمة الكاملة للحجج المدعومة.
يعيد
قاموس يحتوي على النص المُرمَّز (input_ids، attention_mask) وميزات الصوت (input_features، input_features_mask).
apply_transcription_request
< source >( 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(حيث يُفعَّل بواسطة قالب المحادثة افتراضيًا).
يعيد
مخرجات المعالج جاهزة للتقديم إلى
Nemotron3_5TranscribeForConditionalGeneration.generate().
جهّز المدخلات للتعرف التلقائي على الكلام دون كتابة موجه النسخ الافتراضي يدويًا.
apply_chat_template
< source >( 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 )
بالمثل مع طريقة 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
< source >( 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() دون الطوابع الزمنية، حيث لا يتنبأ هذا النموذج بها.
align_word_timestamps
< source >( 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
< source >( config: Nemotron3_5TranscribeAsrAudioConfig )
المعاملات
- config (Nemotron3_5TranscribeAsrAudioConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
ترميز التعرف على الكلام في Nemotron 3.5 Transcribe: هو ترميز الصوت الخاص بـ Nemotron 3 Diarization مع تطبيع الاستعلامات والمفاتيح لكل رأس انتباه، وتضمين مواقع دوّارة على جزء من كل رأس.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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
< source >( config: Nemotron3_5TranscribeAudioConfig )
المعاملات
- config (Nemotron3_5TranscribeAudioConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج Nemotron 3.5 Transcribe لتحويل الصوت إلى نص: يعمل مُشفِّر التعرف على الكلام ونموذج فصل المتكلمين بالتوازي على نفس الطيف الزمني-الترددي، وتُضاف أنشطة المتكلمين إلى مخرجات مُشفِّر التعرف على الكلام.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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
< source >( 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
< source >( inputs_embeds: Tensorattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
تتجاوز طريقة Nemotron3_5TranscribeWordTimestampModel الأمامية الطريقة الخاصة __call__.
على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن
Moduleبدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.
يعيد num_frames * upsampling_factor إطارًا.
Nemotron3_5TranscribeModel
فئة transformers.Nemotron3_5TranscribeModel
< source >( config: Nemotron3_5TranscribeConfig )
المعاملات
- config (Nemotron3_5TranscribeConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج Nemotron 3.5 Transcribe (شيفرة التعرف على الكلام ونموذج تمييز المتكلمين بالتوازي، ومشروع خطي ونموذج اللغة Nemotron-H)، دون رأس لنمذجة اللغة.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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
< source >( 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.
( 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
< source >( config: Nemotron3_5TranscribeConfig )
المعاملات
- config (Nemotron3_5TranscribeConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج Nemotron 3.5 Transcribe (شيفرة التعرف على الكلام ونموذج تمييز المتكلمين بالتوازي، ومشروع خطي ونموذج اللغة Nemotron-H) مع رأس لنمذجة اللغة.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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.Tensorof 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، اختياري) — حالات المخفية لمشفّر الصوت بعد الإسقاط.
get_audio_features
< source >( 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 usingfeature_extractor_class. Seefeature_extractor_class.callfor details (processor_classusesfeature_extractor_class` for processing audios). - input_features_mask (
torch.Tensorمن الشكل(batch_size, feature_sequence_length)) — قناع للإطارات الطيفية الصالحة. يجب أن يكون الحشو على اليمين.
get_word_timestamp_logits
< source >( 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() إلى أوقات الكلمات.