Transformers documentation
Nemotron 3.5 Transcribe
Model ini disumbangkan ke Hugging Face Transformers pada 2026-10-28.
Nemotron 3.5 Transcribe
Ikhtisar
Nemotron 3.5 Transcribe adalah model bahasa audio untuk transkripsi multibahasa, transkripsi dengan atribusi pembicara, penerjemahan ucapan, dan penjawaban pertanyaan audio. Encoder pengenalan ucapan dan model Nemotron 3 Diarization membaca spektrogram yang sama; output mereka diproyeksikan ke dalam model bahasa Nemotron-H. Kepala timestamp kata pada output encoder menghasilkan waktu pada tingkat kata.
Penggunaan
Transkripsi
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))Transkripsi berbatch
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])Transkripsi dengan atribusi pembicara
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() membagi output menjadi satu kamus per giliran pembicara:
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."}
...Stempel waktu kata
Memerlukan torchaudio dan 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])Untuk menyelaraskan transkrip yang tidak dihasilkan:
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
kelas 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 )
Parameter
- audio_config (
Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Objek config atau dictionary dari audio backbone. - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Objek config atau dictionary dari text backbone. - audio_token_id (
int, opsional, default 131072) — Indeks token audio yang digunakan sebagai placeholder untuk embedding audio. Checkpoint asli menambahkan token ini setelah kosakata model bahasa, tanpa baris embedding: token ini di-embed sebagai token 0, kemudian diganti oleh audio. - word_timestamp_config (
Union[dict, Nemotron3_5TranscribeWordTimestampConfig], opsional) — Konfigurasi untuk encoder dan head timestamp kata, yang memprediksi potongan tokenizer alignment dari state encoder pengenalan ucapan.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari model Nemotron3 5 TranscribeModel. Kelas ini digunakan untuk menginstansiasi model Nemotron3 5 Transcribe sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> 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
kelas 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 )
Parameter
- hidden_size (
int, opsional, default1280) — Dimensi dari representasi tersembunyi. - intermediate_size (
int, opsional, default5120) — Dimensi representasi MLP. - num_hidden_layers (
int, opsional, default32) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default10) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - num_key_value_heads (
int, opsional) — Ini adalah jumlah key_value heads yang harus digunakan untuk mengimplementasikan Grouped Query Attention. Jikanum_key_value_heads=num_attention_heads, model akan menggunakan Multi Head Attention (MHA), jikanum_key_value_heads=1model akan menggunakan Multi Query Attention (MQA), selain itu GQA yang digunakan. Saat mengkonversi checkpoint multi-head menjadi checkpoint GQA, setiap group key dan value head harus dibangun dengan meanpooling semua head asli di dalam grup tersebut. Untuk detail lebih lanjut, lihat paper ini. Jika tidak ditentukan, akan default kenum_attention_heads. - hidden_act (
str, opsional, defaultnyagelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - max_position_embeddings (
int, opsional, default5000) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - rope_parameters (
dict, opsional) — Kamus yang berisi parameter konfigurasi untuk embedding RoPE. Kamus tersebut harus berisi nilai untukrope_thetadan secara opsional parameter yang digunakan untuk penskalaan jika Anda ingin menggunakan RoPE denganmax_position_embeddingsyang lebih panjang. - attention_dropout (
Union[float, int], opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - num_mel_bins (
int, opsional, default128) — Jumlah fitur mel yang digunakan per frame input. Seharusnya sesuai dengan nilai yang digunakan di kelasAutoFeatureExtractor. - subsampling_factor (
int, opsional, default 8) — Jumlah frame spektrogram berurutan yang ditumpuk menjadi satu frame encoder.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari model Nemotron3 5 TranscribeModel. Kelas ini digunakan untuk menginstansiasi model Nemotron3 5 Transcribe sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> 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
kelas 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 )
Parameter
- asr_config (
Union[dict, Nemotron3_5TranscribeAsrAudioConfig], opsional) — Konfigurasi dari encoder pengenalan ucapan. - diarization_config (
Union[dict, Nemotron3DiarizationConfig], opsional) — Konfigurasi model speaker diarization, di mana aktivitas pembicaranya ditambahkan ke output encoder pengenalan ucapan. - speaker_activity_threshold (
float, opsional, default 0.5) — Seorang pembicara dianggap aktif dalam frame encoder ketika probabilitasnya berada di atas ambang batas ini.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari model Nemotron3 5 TranscribeModel. Kelas ini digunakan untuk menginstansiasi model Nemotron3 5 Transcribe sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> 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
kelas 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 )
Parameter
- hidden_size (
int, opsional, default1280) — Dimensi dari representasi tersembunyi. - intermediate_size (
int, opsional, default640) — Dimensi representasi MLP. - num_hidden_layers (
int, opsional, default2) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default16) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer. - num_key_value_heads (
int, opsional) — Ini adalah jumlah key_value heads yang harus digunakan untuk mengimplementasikan Grouped Query Attention. Jikanum_key_value_heads=num_attention_heads, model akan menggunakan Multi Head Attention (MHA), jikanum_key_value_heads=1model akan menggunakan Multi Query Attention (MQA), selain itu GQA yang digunakan. Saat mengkonversi checkpoint multi-head menjadi checkpoint GQA, setiap group key dan value head harus dibangun dengan meanpooling semua head asli di dalam grup tersebut. Untuk detail lebih lanjut, lihat paper ini. Jika tidak ditentukan, akan default kenum_attention_heads. - hidden_act (
str, opsional, defaultnyagelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - max_position_embeddings (
int, opsional, default5000) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - rope_parameters (
dict, opsional) — Kamus yang berisi parameter konfigurasi untuk embedding RoPE. Kamus tersebut harus berisi nilai untukrope_thetadan secara opsional parameter yang digunakan untuk penskalaan jika Anda ingin menggunakan RoPE denganmax_position_embeddingsyang lebih panjang. - attention_dropout (
Union[float, int], opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - vocab_size (
int, opsional, default 23863) — Jumlah kelas dari head timestamp kata: potongan dari tokenizer keselarannya, kemudian blank. - blank_token_id (
int, opsional, default 23862) — Indeks kelas kosong, setelah potongan dari tokenizer alignment. - residual_scale (
float, opsional, default 0.1) — Skala dari output transformer yang ditambahkan ke keadaan encoder pengenalan ucapan sebelum klasifikator. - upsampling_factor (
int, opsional, default 2) — Jumlah frame head per frame encoder, yang dibuat oleh transposed convolution sebelum transformer: 2 menghasilkan frame 40 ms dari frame encoder 80 ms.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari model Nemotron3 5 TranscribeModel. Kelas ini digunakan untuk menginstansiasi model Nemotron3 5 Transcribe sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> 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
kelas 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 )
Parameter
- feature_extractor (
feature_extractor_class) — Feature extractor adalah input yang wajib. - tokenizer (
tokenizer_class) — Tokenizer adalah input yang wajib. - alignment_tokenizer (
PreTrainedTokenizerFast) — Kosakata dari head timestamp kata: 23.862 potongan BPE SentencePiece, dengan kelas 23.862 dari head tersebut sebagai CTC blank. Hanya digunakan oleh align_word_timestamps(), disimpan di subfolderalignment_tokenizer/. Tambahkan spasi di depan untuk mereproduksi id SentencePiece asli dari teks apa pun, termasuk teks yang diawali dengan tag:alignment_tokenizer.encode(" " + text, add_special_tokens=False). - chat_template (
str) — Template Jinja untuk mengubah daftar pesan dalam chat menjadi string yang dapat ditokenisasi. - audio_token (
str, opsional, default"<|audio|>") — Token khusus yang digunakan untuk merepresentasikan input audio dalam template chat. - default_transcription_prompt (
str, opsional) — Prompt default yang digunakan oleh apply_transcription_request(). - subsampling_factor (
int, opsional, default 8) — Jumlah frame spektrogram per token audio, yang mencerminkanNemotron3_5TranscribeAsrAudioConfig.subsampling_factor. Spektrogram akan di-*pad* hingga menjadi kelipatannya.
Membangun Nemotron3_5TranscribeProcessor yang membungkus feature extractor, tokenizer, dan alignment tokenizer menjadi satu processor.
Nemotron3_5TranscribeProcessor menyediakan semua fungsionalitas dari feature_extractor_class, tokenizer_class, dan {alignment_tokenizer_class}. Lihat ~feature_extractor_class, ~tokenizer_class, dan ~{alignment_tokenizer_class} untuk informasi lebih lanjut.
__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.processing_utils.ProcessingKwargs'> ) → BatchFeature
Parameter
- text (
Union[str, list[str]]) — Urutan atau batch dari urutan yang akan dienkod. Setiap urutan dapat berupa string atau daftar string (string yang sudah dipretokenisasi). Jika Anda memasukkan input yang sudah dipretokenisasi, aturis_split_into_words=Trueuntuk menghindari ambiguitas dengan input yang di-batch. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], opsional) — Audio atau batch audio yang akan disiapkan. Setiap audio dapat berupa array NumPy atau tensor PyTorch. Jika berupa array NumPy/tensor PyTorch, setiap audio harus memiliki bentuk (C, T), di mana C adalah jumlah channel, dan T adalah panjang sampel dari audio tersebut. - output_labels (
bool, opsional, default=False) — Apakah akan mengembalikan label untuk pelatihan. - return_mm_token_type_ids (
bool, kwargs) — Apakah akan mengembalikan multimodal token type ids yang menunjukkan posisi token placeholder multimodal. - return_text_replacement_offsets (
bool, kwargs) — Apakah akan mengembalikan offset karakter untuk setiap placeholder multimodal dan pengantinya. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek NumPynp.ndarray.
- **kwargs (ProcessingKwargs, opsional) — Opsi pemrosesan tambahan untuk setiap modalitas (teks, gambar, video, audio). Parameter spesifik model tercantum di atas; lihat kelas TypedDict untuk daftar lengkap argumen yang didukung.
Mengembalikan
Kamus dengan teks yang ditokenisasi (input_ids, attention_mask) dan
fitur audio (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.processing_utils.ProcessingKwargs'> ) → BatchFeature
Parameter
- audio (
str,list[str],np.ndarray,torch.Tensor,list[np.ndarray],list[torch.Tensor]) — Audio yang akan ditranskripsi. String diinterpretasikan sebagai path lokal atau URL dan akan dimuat secara otomatis oleh chat template loader; array NumPy dan tensor PyTorch diteruskan secara langsung. - prompt (
strataulist[str], opsional) — Prompt kustom untuk disertakan dalam giliran pengguna. Daftar harus memiliki panjang yang sama dengan batch. KetikaNone, setiap sampel menggunakandefault_transcription_prompt. - **kwargs —
Argumen kata kunci tambahan yang diteruskan ke
apply_chat_template() (misalnya
text_kwargs,audio_kwargs, …). Thinking dinonaktifkan kecualienable_thinking=Truediteruskan (template chat mengaktifkannya secara default).
Mengembalikan
Output dari Processor siap untuk diteruskan ke
Nemotron3_5TranscribeForConditionalGeneration.generate().
Siapkan input untuk pengenalan ucapan otomatis tanpa menulis prompt transkripsi secara manual.
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 = Nonesanitize_control_tokens: bool = False**kwargs )
Parameter
- conversation (
Union[list[Dict, [str, str]], list[list[dict[str, str]]]]) — Percakapan yang akan diformat. - chat_template (
Optional[str], opsional) — Template Jinja yang digunakan untuk memformat percakapan. Jika tidak disediakan, template chat dari tokenizer akan digunakan. - sanitize_control_tokens (
bool, defaultnyaFalse) — Apakah token kontrol yang ditemukan dalam percakapan, tools, dokumen, dan variabel template yang diteruskan sebagai**kwargsakan dikodekan sebagai teks biasa, sehingga input pengguna tidak dapat menuliskannya, maupun placeholder mm. Lihatapply_chat_templatepada tokenizer. Memerlukantokenize=True.
Mirip dengan metode apply_chat_template pada tokenizer, metode ini menerapkan template Jinja ke percakapan input untuk mengubahnya menjadi satu string yang dapat ditokenisasi.
Input yang diharapkan berada dalam format berikut, di mana setiap konten pesan adalah daftar yang terdiri dari teks dan secara opsional input gambar atau video. Anda juga dapat menyediakan gambar, video, URL, atau jalur lokal yang akan digunakan untuk membentuk pixel_values ketika return_dict=True. Jika tidak disediakan, Anda hanya akan mendapatkan teks yang diformat, dan secara opsional teks yang ditokenisasi.
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
Parameter
- text (
strataulist[str]) — Teks tunggal atau batch teks, didekodekan denganskip_special_tokens=False: tag pembicara<spk:N>adalah token khusus. Semua hal dari token akhir-teks ke bawah dibuang.
Mengembalikan
list[dict] untuk satu teks, list[list[dict]] untuk batch
satu dict per giliran pembicara, dengan indeks
"Speaker" N dari tag <spk:N> dan "Content" miliknya. Teks tanpa tag adalah satu giliran dengan
"Speaker": None, begitu pula teks sebelum tag pertama, jika ada.
Memecah transkrip yang telah diatribusikan ke pembicara menjadi giliran pembicara, dalam format VibeVoiceAsrProcessor.extract_speaker_dict() tanpa timestamp, yang tidak diprediksi oleh model ini.
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]
Parameter
- transcriptions (
strataulist[str]) — Teks hasil transkripsi dari setiap rekaman, didekodekan denganskip_special_tokens=Falseuntuk mempertahankan tag<spk:N>. - word_timestamp_logits (
torch.Tensordengan bentuk(batch_size, num_frames * upsampling_factor, vocab_size)) — Logits dari kepala timestamp kata (word_timestamp_logitsdarigenerate(..., return_word_timestamp_logits=True)ataumodel.get_word_timestamp_logits(...)), dengan kelas terakhir berupa CTC blank. Jumlah frame per frame encoder, yaituupsampling_factordari kepala tersebut, dibaca dari bentuknya. - input_features_mask (
torch.Tensordengan bentuk(batch_size, feature_sequence_length)) — Mask dari frame spektrogram valid untuk setiap rekaman, sebagaimana dikembalikan oleh processor: jumlah frame tersebut menentukan durasi rekaman, sehingga menentukan langkah waktu dari frame head. - speaker_logits (
torch.Tensordengan bentuk(batch_size, num_frames * subsampling_factor, num_speakers), opsional) — Logits dari model diarization (speaker_logitsdarigenerate(..., return_word_timestamp_logits=True)atau dariget_audio_features). Tanpa logits ini, setiap transkrip akan diselaraskan sebagai satu pembicara dan tidak ada diarization yang dikembalikan. - language (
strataulist[str | None], opsional) — Bahasa dari transkrip, satu untuk semua atau satu per transkrip, dideteksi dari naskah ketikaNone:"zh"dan"ja"diselaraskan per karakter,"th"tidak didukung. - speaker_activity_threshold (
float, opsional, default 0.5) — Probabilitas di mana pembicara dalam diarization dianggap aktif. - max_word_duration (
float, opsional, default 1.0) — Durasi maksimum dari kata yang diselaraskan, dalam detik. - max_word_frames (
int, opsional, default 12) — Pergeseran dan durasi maksimum dari kata yang diselaraskan ke segmen diarization, dalam frame encoder dengan durasi maksimal 80 ms.
Mengembalikan
dict atau list[dict]
untuk rekaman (atau untuk setiap rekaman dari daftar transkrip), sebagai timestamp kata dari pipeline pengenalan ucapan, "chunks"
({"text", "timestamp", "speaker"} per kata, timestamp = (start, end) dalam detik, diurutkan berdasarkan waktu;
speaker adalah N dari tag kata, None sebelum tag pertama dan 0 dalam transkrip tanpa tag),
"diarization" ({"speaker", "timestamp"} segmen aktivitas dari setiap speaker diarization),
"speaker_tag_to_diarization_speaker" (None untuk tag yang tidak cocok) dan "failed_speakers" (tag
yang kata-katanya tidak dapat diselaraskan, tidak ada di "chunks").
Mengalikan setiap kata dari transkrip yang dihasilkan dan mengaitkannya dengan pembicara: kata-kata dari setiap tag <spk:N> dipaksa selaras (torchaudio.functional.forced_align) pada frame dari kepala timestamp kata di mana pembicara diarization yang cocok dengan tag tersebut aktif, kemudian diselaraskan ke segmen diarization pembicara tersebut. Port dari MultiSpeakerSOTWordTimestampAligner NeMo, dengan pencarian eksak di mana ia mengaproksimasi rekaman panjang.
Contoh:
>>> 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
kelas transformers.Nemotron3_5TranscribeAsrAudioModel
< source >( config: Nemotron3_5TranscribeAsrAudioConfig )
Parameter
- config (Nemotron3_5TranscribeAsrAudioConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Encoder pengenalan ucapan Nemotron 3.5 Transcribe: encoder audio Nemotron 3 Diarization dengan query dan key dari setiap kepala perhatian dinormalisasi, serta embedding posisi rotasi pada sebagian dari setiap kepala.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
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)
Parameter
- input_features (
torch.Tensordengan bentuk(batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakanfeature_extractor_class. Lihatfeature_extractor_class.__call__untuk detailnya (processor_classmenggunakanfeature_extractor_classuntuk memproses audio). - attention_mask (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - position_ids (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1].
Mengembalikan
BaseModelOutput atau tuple(torch.Tensor)
A BaseModelOutput atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (Nemotron3_5TranscribeConfig) dan input.
Metode forward dari Nemotron3_5TranscribeAsrAudioModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
Nemotron3_5TranscribeAudioModel
kelas transformers.Nemotron3_5TranscribeAudioModel
< source >( config: Nemotron3_5TranscribeAudioConfig )
Parameter
- config (Nemotron3_5TranscribeAudioConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model audio transkripsi Nemotron 3.5: encoder pengenalan ucapan dan model diarisasi pembicara dijalankan secara paralel pada spektrogram yang sama, dan aktivitas pembicara ditambahkan ke output encoder pengenalan ucapan.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( input_features: Tensorinput_features_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3_5TranscribeAudioModelOutput or tuple(torch.Tensor)
Parameter
- input_features (
torch.Tensordengan bentuk(batch_size, feature_sequence_length, num_mel_bins)) — Spektrogram mel log, di-pad hingga kelipatanconfig.subsampling_factorframe. Seperti pada versi aslinya, audio yang lebih panjang dariconfig.diarization_config.chunk_lengthframe encoder akan di-encode dalam chunk dengan konteks. - input_features_mask (
torch.Tensordengan bentuk(batch_size, feature_sequence_length), opsional) — Mask dari frame spektrogram yang valid. Padding harus berada di sisi kanan.
Mengembalikan
Nemotron3_5TranscribeAudioModelOutput atau tuple(torch.Tensor)
Nemotron3_5TranscribeAudioModelOutput atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (Nemotron3_5TranscribeConfig) dan input.
Metode forward dari Nemotron3_5TranscribeAudioModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.pooler_output (
torch.Tensordengan bentuk(num_audio_tokens, text_config.hidden_size), opsional) — Embedding audio yang diproyeksikan dari frame encoder valid setiap rekaman, dalam urutan batch: embedding yang menggantikan token audio pada prompt. Dihasilkan olehget_audio_features.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
asr_last_hidden_state (
torch.Tensordengan bentuk(batch_size, num_frames, audio_config.hidden_size)) — Output dari encoder pengenalan ucapan, sebelum normalisasi dan embedding pembicara: input dari get_word_timestamp_logits().speaker_logits (
torch.Tensordengan bentuk(batch_size, feature_sequence_length, audio_config.num_speakers)) — Logits dari model diarization, satu frame per frame spektrogram.
Nemotron3_5TranscribeWordTimestampModel
kelas transformers.Nemotron3_5TranscribeWordTimestampModel
< source >( config: Nemotron3_5TranscribeWordTimestampConfig )
Parameter
- config (Nemotron3_5TranscribeWordTimestampConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Transformer dari kepala timestamp kata Nemotron 3.5 Transcribe. Kelas Nemotron3_5TranscribeForConditionalGeneration.word_timestamp_head mengklasifikasikan outputnya.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( inputs_embeds: Tensorattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
Metode forward dari Nemotron3_5TranscribeWordTimestampModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
Mengembalikan num_frames * upsampling_factor frame.
Nemotron3_5TranscribeModel
kelas transformers.Nemotron3_5TranscribeModel
< source >( config: Nemotron3_5TranscribeConfig )
Parameter
- config (Nemotron3_5TranscribeConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model Nemotron 3.5 Transcribe (encoder pengenalan ucapan dan model diarasi pembicara secara paralel, proyektor linear, dan model bahasa Nemotron-H), tanpa kepala pemodelan bahasa.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
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)
Parameter
- input_ids (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default.Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.
- input_features (
torch.Tensordengan bentuk(batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakanfeature_extractor_class. Lihatfeature_extractor_class.__call__untuk detailnya (processor_classmenggunakanfeature_extractor_classuntuk memproses audio). - input_features_mask (
torch.Tensordengan bentuk(batch_size, feature_sequence_length)) — Mask untuk menghindari pelaksanaan perhatian pada indeks fitur padding. - attention_mask (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- position_ids (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1]. - past_key_values (
~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values).
Mengembalikan
Nemotron3_5TranscribeModelOutputWithPast atau tuple(torch.Tensor)
Nemotron3_5TranscribeModelOutputWithPast atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (Nemotron3_5TranscribeConfig) dan input.
Metode forward dari Nemotron3_5TranscribeModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.Jika
past_key_valuesdigunakan, hanya hidden-state terakhir dari sekuens dengan bentuk(batch_size, 1, hidden_size)yang dioutput.past_key_values (
Cache, opsional, dikembalikan saatuse_cache=Truedilewatkan atau saatconfig.use_cache=True) — Ini adalah instance Cache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Berisi hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention, dan secara opsional jika
config.is_encoder_decoder=Truedi blok cross-attention) yang dapat digunakan (lihat inputpast_key_values) untuk mempercepat decoding berurutan.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
audio_hidden_states (
torch.Tensor, opsional) — Hidden states audio yang diproyeksikan.
get_audio_features
< source >( input_features: Tensorinput_features_mask: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parameter
- input_features (
torch.Tensor) — Nilai float dari fitur mel yang diekstrak dari gelombang suara mentah. - input_features_mask (
torch.Tensordengan bentuk(batch_size, feature_sequence_length)) — Mask untuk menghindari pelaksanaan perhatian pada indeks fitur yang di-*pad*.
Mengembalikan
BaseModelOutputWithPooling atau tuple(torch.Tensor)
A BaseModelOutputWithPooling atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (Nemotron3_5TranscribeConfig) dan input.
Metode ini digunakan untuk mendapatkan embedding audio dari fitur input (spektrogram log mel), yang berarti melakukan inferensi pada encoder audio dan proyektor multi-modal.
last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.pooler_output (
torch.Tensordengan bentuk(batch_size, hidden_size)) — Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
( asr_last_hidden_state: Tensorinput_features_mask: Tensor )
Parameter
- asr_last_hidden_state (
torch.Tensordengan bentuk(batch_size, num_frames, audio_config.hidden_size)) — Output dari encoder pengenalan ucapan sebelum normalisasi dan embedding pembicara, sebagaimana dikembalikan oleh get_audio_features() untukinput_features_mask. - input_features_mask (
torch.Tensordengan bentuk(batch_size, feature_sequence_length)) — Mask dari frame spektrogram yang valid. Padding harus berada di sisi kanan.
Menjalankan encoder timestamp kata pada state encoder pengenalan ucapan, dalam chunk dari encoder: state yang diklasifikasikan oleh head timestamp kata.
Nemotron3_5TranscribeForConditionalGeneration
kelas transformers.Nemotron3_5TranscribeForConditionalGeneration
< source >( config: Nemotron3_5TranscribeConfig )
Parameter
- config (Nemotron3_5TranscribeConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model Nemotron 3.5 Transcribe (encoder pengenalan ucapan dan model diarasi pembicara secara paralel, proyektor linear, dan model bahasa Nemotron-H) dengan kepala pemodelan bahasa.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
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)
Parameter
- input_ids (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default.Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.
- input_features (
torch.Tensordengan bentuk(batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakanfeature_extractor_class. Lihatfeature_extractor_class.__call__untuk detailnya (processor_classmenggunakanfeature_extractor_classuntuk memproses audio). - input_features_mask (
torch.Tensordengan bentuk(batch_size, feature_sequence_length)) — Mask untuk menghindari pelaksanaan perhatian pada indeks fitur padding. - attention_mask (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- position_ids (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1]. - past_key_values (
~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - labels (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Label untuk menghitung kerugian pemodelan bahasa yang disamarkan (masked language modeling loss). - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - logits_to_keep (
Union[int, torch.Tensor], opsional, default0) — Jika berupaint, hitung logits untuklogits_to_keeptoken terakhir. Jika0, hitung logits untuk semuainput_ids(kasus khusus). Hanya logits token terakhir yang diperlukan untuk generasi, dan menghitungnya hanya untuk token tersebut dapat menghemat memori, yang menjadi cukup signifikan untuk urutan panjang atau ukuran kosakata besar. Jika berupatorch.Tensor, harus 1D yang sesuai dengan indeks yang akan dipertahankan pada dimensi panjang urutan. Ini berguna saat menggunakan format tensor terpadu (satu dimensi untuk batch dan panjang urutan).
Mengembalikan
Nemotron3_5TranscribeCausalLMOutputWithPast atau tuple(torch.Tensor)
Nemotron3_5TranscribeCausalLMOutputWithPast atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (Nemotron3_5TranscribeConfig) dan input.
Metode forward dari Nemotron3_5TranscribeForConditionalGeneration menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss pemodelan bahasa (untuk prediksi token berikutnya).logits (
torch.Tensordengan bentuk(batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa.past_key_values (
Cache, opsional, dikembalikan ketikause_cache=Truedilewatkan atau ketikaconfig.use_cache=True) — Ini adalah instance Cache.hidden_states (
tuple[torch.Tensor], opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple[torch.Tensor], opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
audio_hidden_states (
torch.Tensor, opsional) — Hidden states dari encoder audio setelah proyeksi.
Contoh:
>>> 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
< source >( input_featuresinput_features_mask**kwargs )
Parameter
- 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.Tensordengan bentuk(batch_size, feature_sequence_length)) — Mask dari frame spektrogram yang valid. Padding harus berada di sisi kanan.
get_word_timestamp_logits
< source >( asr_last_hidden_state: Tensorinput_features_mask: Tensor )
Parameter
- asr_last_hidden_state (
torch.Tensordengan bentuk(batch_size, num_frames, audio_config.hidden_size)) — Output dari encoder pengenalan ucapan sebelum normalisasi dan embedding pembicara, sebagaimana dikembalikan oleh get_audio_features() untukinput_features_mask. - input_features_mask (
torch.Tensordengan bentuk(batch_size, feature_sequence_length)) — Mask dari frame spektrogram yang valid. Padding harus berada di sisi kanan.
Logits dari kepala kata timestamp pada keadaan encoder pengenalan ucapan, yang align_word_timestamps() ubah menjadi waktu kata.