Transformers documentation

Nemotron 3.5 Transcribe

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

and get access to the augmented documentation experience

to get started

Model ini disumbangkan ke Hugging Face Transformers pada 2026-10-28.

Nemotron 3.5 Transcribe

FlashAttention SDPA

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

< >

( 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.config

Nemotron3_5TranscribeAsrAudioConfig

kelas transformers.Nemotron3_5TranscribeAsrAudioConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 1280intermediate_size: int = 5120num_hidden_layers: int = 32num_attention_heads: int = 10num_key_value_heads: int | None = Nonehidden_act: str = 'gelu'max_position_embeddings: int = 5000initializer_range: float = 0.02rope_parameters: dict | None = Noneattention_dropout: float | int = 0.0num_mel_bins: int = 128subsampling_factor: int = 8 )

Parameter

  • hidden_size (int, opsional, default 1280) — Dimensi dari representasi tersembunyi.
  • intermediate_size (int, opsional, default 5120) — Dimensi representasi MLP.
  • num_hidden_layers (int, opsional, default 32) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 10) — 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. Jika num_key_value_heads=num_attention_heads, model akan menggunakan Multi Head Attention (MHA), jika num_key_value_heads=1 model 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 ke num_attention_heads.
  • hidden_act (str, opsional, defaultnya gelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • max_position_embeddings (int, opsional, default 5000) — Panjang maksimum urutan yang mungkin digunakan dengan model ini.
  • initializer_range (float, opsional, defaultnya 0.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 untuk rope_theta dan secara opsional parameter yang digunakan untuk penskalaan jika Anda ingin menggunakan RoPE dengan max_position_embeddings yang lebih panjang.
  • attention_dropout (Union[float, int], opsional, default 0.0) — Rasio dropout untuk probabilitas perhatian.
  • num_mel_bins (int, opsional, default 128) — Jumlah fitur mel yang digunakan per frame input. Seharusnya sesuai dengan nilai yang digunakan di kelas AutoFeatureExtractor.
  • 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.config

Nemotron3_5TranscribeAudioConfig

kelas transformers.Nemotron3_5TranscribeAudioConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneasr_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonediarization_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonespeaker_activity_threshold: float = 0.5 )

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.config

Nemotron3_5TranscribeWordTimestampConfig

kelas transformers.Nemotron3_5TranscribeWordTimestampConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 1280intermediate_size: int = 640num_hidden_layers: int = 2num_attention_heads: int = 16num_key_value_heads: int | None = Nonehidden_act: str = 'gelu'max_position_embeddings: int = 5000initializer_range: float = 0.02rope_parameters: dict | None = Noneattention_dropout: float | int = 0.0vocab_size: int = 23863blank_token_id: int = 23862residual_scale: float = 0.1upsampling_factor: int = 2 )

Parameter

  • hidden_size (int, opsional, default 1280) — Dimensi dari representasi tersembunyi.
  • intermediate_size (int, opsional, default 640) — Dimensi representasi MLP.
  • num_hidden_layers (int, opsional, default 2) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 16) — 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. Jika num_key_value_heads=num_attention_heads, model akan menggunakan Multi Head Attention (MHA), jika num_key_value_heads=1 model 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 ke num_attention_heads.
  • hidden_act (str, opsional, defaultnya gelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • max_position_embeddings (int, opsional, default 5000) — Panjang maksimum urutan yang mungkin digunakan dengan model ini.
  • initializer_range (float, opsional, defaultnya 0.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 untuk rope_theta dan secara opsional parameter yang digunakan untuk penskalaan jika Anda ingin menggunakan RoPE dengan max_position_embeddings yang lebih panjang.
  • attention_dropout (Union[float, int], opsional, default 0.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

< >

( 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 subfolder alignment_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 mencerminkan Nemotron3_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__

< >

( 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, atur is_split_into_words=True untuk 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 (str atau TensorType, opsional) — Jika diset, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:
    • 'pt': Mengembalikan objek PyTorch torch.Tensor.
    • 'np': Mengembalikan objek NumPy np.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

BatchFeature

Kamus dengan teks yang ditokenisasi (input_ids, attention_mask) dan fitur audio (input_features, input_features_mask).

apply_transcription_request

< >

( audio: typing.Union[str, list[str], numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]prompt: str | list[str] | None = None**kwargs: *<class 'transformers.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 (str atau list[str], opsional) — Prompt kustom untuk disertakan dalam giliran pengguna. Daftar harus memiliki panjang yang sama dengan batch. Ketika None, setiap sampel menggunakan default_transcription_prompt.
  • **kwargs — Argumen kata kunci tambahan yang diteruskan ke apply_chat_template() (misalnya text_kwargs, audio_kwargs, …). Thinking dinonaktifkan kecuali enable_thinking=True diteruskan (template chat mengaktifkannya secara default).

Mengembalikan

BatchFeature

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

< >

( 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, defaultnya False) — Apakah token kontrol yang ditemukan dalam percakapan, tools, dokumen, dan variabel template yang diteruskan sebagai **kwargs akan dikodekan sebagai teks biasa, sehingga input pengguna tidak dapat menuliskannya, maupun placeholder mm. Lihat apply_chat_template pada tokenizer. Memerlukan tokenize=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

< >

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

Parameter

  • text (str atau list[str]) — Teks tunggal atau batch teks, didekodekan dengan skip_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.

Contoh:

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

align_word_timestamps

< >

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

Parameter

  • transcriptions (str atau list[str]) — Teks hasil transkripsi dari setiap rekaman, didekodekan dengan skip_special_tokens=False untuk mempertahankan tag <spk:N>.
  • word_timestamp_logits (torch.Tensor dengan bentuk (batch_size, num_frames * upsampling_factor, vocab_size)) — Logits dari kepala timestamp kata (word_timestamp_logits dari generate(..., return_word_timestamp_logits=True) atau model.get_word_timestamp_logits(...)), dengan kelas terakhir berupa CTC blank. Jumlah frame per frame encoder, yaitu upsampling_factor dari kepala tersebut, dibaca dari bentuknya.
  • input_features_mask (torch.Tensor dengan 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.Tensor dengan bentuk (batch_size, num_frames * subsampling_factor, num_speakers), opsional) — Logits dari model diarization (speaker_logits dari generate(..., return_word_timestamp_logits=True) atau dari get_audio_features). Tanpa logits ini, setiap transkrip akan diselaraskan sebagai satu pembicara dan tidak ada diarization yang dikembalikan.
  • language (str atau list[str | None], opsional) — Bahasa dari transkrip, satu untuk semua atau satu per transkrip, dideteksi dari naskah ketika None: "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

< >

( 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

< >

( 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.Tensor dengan bentuk (batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakan feature_extractor_class. Lihat feature_extractor_class.__call__ untuk detailnya (processor_class menggunakan feature_extractor_class untuk memproses audio).
  • attention_mask (torch.Tensor dengan 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.

    Apa itu attention mask?

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • position_ids (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

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 Module setelahnya 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.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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

< >

( 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

< >

( 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.Tensor dengan bentuk (batch_size, feature_sequence_length, num_mel_bins)) — Spektrogram mel log, di-pad hingga kelipatan config.subsampling_factor frame. Seperti pada versi aslinya, audio yang lebih panjang dari config.diarization_config.chunk_length frame encoder akan di-encode dalam chunk dengan konteks.
  • input_features_mask (torch.Tensor dengan 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 Module setelahnya 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.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • pooler_output (torch.Tensor dengan 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 oleh get_audio_features.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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.Tensor dengan 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.Tensor dengan 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

< >

( config: Nemotron3_5TranscribeWordTimestampConfig )

Parameter

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

< >

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

Parameter

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, num_frames, hidden_size)) — Status encoder pengenalan ucapan, sebelum asr_norm model audio dan embedding pembicara.
  • attention_mask (torch.Tensor dengan bentuk (batch_size, num_frames), opsional) — Mask dari frame encoder yang valid.

Metode forward dari Nemotron3_5TranscribeWordTimestampModel menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya 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

< >

( 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

< >

( 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.LongTensor dengan 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.

    Apa itu input ID?

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakan feature_extractor_class. Lihat feature_extractor_class.__call__ untuk detailnya (processor_class menggunakan feature_extractor_class untuk memproses audio).
  • input_features_mask (torch.Tensor dengan bentuk (batch_size, feature_sequence_length)) — Mask untuk menghindari pelaksanaan perhatian pada indeks fitur padding.
  • attention_mask (torch.Tensor dengan 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.

    Apa itu attention mask?

  • position_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

  • 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 dari past_key_values yang dikembalikan oleh model pada tahap decoding sebelumnya, ketika use_cache=True atau config.use_cache=True.

    Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada past_key_values yang diteruskan, DynamicCache akan diinisialisasi secara default.

    Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.

    Jika past_key_values digunakan, pengguna diharapkan hanya memasukkan input_ids yang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk (batch_size, unprocessed_length) alih-alih semua input_ids dengan bentuk (batch_size, sequence_length).

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • use_cache (bool, opsional) — Jika diset ke True, state kunci-nilai past_key_values akan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihat past_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 Module setelahnya 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.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

    Jika past_key_values digunakan, hanya hidden-state terakhir dari sekuens dengan bentuk (batch_size, 1, hidden_size) yang dioutput.

  • past_key_values (Cache, opsional, dikembalikan saat use_cache=True dilewatkan atau saat config.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=True di blok cross-attention) yang dapat digunakan (lihat input past_key_values) untuk mempercepat decoding berurutan.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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

< >

( 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.Tensor dengan 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.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • pooler_output (torch.Tensor dengan 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 saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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).

get_word_timestamp_hidden_states

< >

( asr_last_hidden_state: Tensorinput_features_mask: Tensor )

Parameter

  • asr_last_hidden_state (torch.Tensor dengan 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() untuk input_features_mask.
  • input_features_mask (torch.Tensor dengan 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

< >

( 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

< >

( 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.LongTensor dengan 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.

    Apa itu input ID?

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakan feature_extractor_class. Lihat feature_extractor_class.__call__ untuk detailnya (processor_class menggunakan feature_extractor_class untuk memproses audio).
  • input_features_mask (torch.Tensor dengan bentuk (batch_size, feature_sequence_length)) — Mask untuk menghindari pelaksanaan perhatian pada indeks fitur padding.
  • attention_mask (torch.Tensor dengan 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.

    Apa itu attention mask?

  • position_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

  • 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 dari past_key_values yang dikembalikan oleh model pada tahap decoding sebelumnya, ketika use_cache=True atau config.use_cache=True.

    Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada past_key_values yang diteruskan, DynamicCache akan diinisialisasi secara default.

    Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.

    Jika past_key_values digunakan, pengguna diharapkan hanya memasukkan input_ids yang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk (batch_size, unprocessed_length) alih-alih semua input_ids dengan bentuk (batch_size, sequence_length).

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • labels (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Label untuk menghitung kerugian pemodelan bahasa yang disamarkan (masked language modeling loss).
  • use_cache (bool, opsional) — Jika diset ke True, state kunci-nilai past_key_values akan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihat past_key_values).
  • logits_to_keep (Union[int, torch.Tensor], opsional, default 0) — Jika berupa int, hitung logits untuk logits_to_keep token terakhir. Jika 0, hitung logits untuk semua input_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 berupa torch.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 Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Loss pemodelan bahasa (untuk prediksi token berikutnya).

  • logits (torch.Tensor dengan bentuk (batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa.

  • past_key_values (Cache, opsional, dikembalikan ketika use_cache=True dilewatkan atau ketika config.use_cache=True) — Ini adalah instance Cache.

  • hidden_states (tuple[torch.Tensor], opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.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 saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.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

< >

( 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 using feature_extractor_class. See feature_extractor_class.call for details (processor_classusesfeature_extractor_class` for processing audios).
  • input_features_mask (torch.Tensor dengan bentuk (batch_size, feature_sequence_length)) — Mask dari frame spektrogram yang valid. Padding harus berada di sisi kanan.

Contoh:

get_word_timestamp_logits

< >

( asr_last_hidden_state: Tensorinput_features_mask: Tensor )

Parameter

  • asr_last_hidden_state (torch.Tensor dengan 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() untuk input_features_mask.
  • input_features_mask (torch.Tensor dengan 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.

Contoh:

Update on GitHub