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

Este modelo fue aportado a Hugging Face Transformers el 28-10-2026.

Nemotron 3.5 Transcribe

FlashAttention SDPA

Resumen

Nemotron 3.5 Transcribe es un modelo de lenguaje de audio para transcripción multilingüe, transcripción con atribución de hablantes, traducción de voz y respuesta a preguntas sobre audio. Un codificador de reconocimiento de voz y el modelo Nemotron 3 Diarization leen el mismo espectrograma; sus salidas se proyectan en un modelo de lenguaje Nemotron-H. Una cabeza de marcas de tiempo de palabras en las salidas del codificador proporciona tiempos a nivel de palabra.

Uso

Transcripción

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))

Transcripción por lotes

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])

Transcripción atribuida al orador

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() divide la salida en un diccionario por turno de cada hablante:

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."}
...

Marcas de tiempo de palabras

Requiere torchaudio y 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])

Para alinear un transcripción que no fue generado:

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

clase 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 )

Parámetros

  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — El objeto de configuración o el diccionario del backbone de audio.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — El objeto de configuración o el diccionario del backbone de texto.
  • audio_token_id (int, opcional, valor predeterminado 131072) — El índice del token de audio utilizado como marcador de posición para las incrustaciones de audio. El punto de control original lo añade después del vocabulario del modelo de lenguaje, sin fila de incrustación: se incrusta como token 0 y luego se reemplaza por el audio.
  • word_timestamp_config (Union[dict, Nemotron3_5TranscribeWordTimestampConfig], opcional) — Configuración del codificador y la cabeza de marcas de tiempo de palabras, que predice las piezas del tokenizador de alineación a partir de los estados del codificador de reconocimiento de voz.

Esta es la clase de configuración para almacenar la configuración de un Nemotron3 5 TranscribeModel. Se utiliza para instanciar un modelo Nemotron3 5 Transcribe según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

clase 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 )

Parámetros

  • hidden_size (int, opcional, valor predeterminado 1280) — Dimensión de las representaciones ocultas.
  • intermediate_size (int, opcional, valor predeterminado 5120) — Dimensión de las representaciones del MLP.
  • num_hidden_layers (int, opcional, valor predeterminado 32) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 10) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • num_key_value_heads (int, opcional) — Este es el número de cabezas de key_value que se deben utilizar para implementar Grouped Query Attention. Si num_key_value_heads=num_attention_heads, el modelo utilizará Multi Head Attention (MHA); si num_key_value_heads=1, el modelo utilizará Multi Query Attention (MQA); en caso contrario, se utilizará GQA. Al convertir un checkpoint multi-head en un checkpoint GQA, cada cabeza de key y value del grupo debe construirse mediante el promedio (meanpooling) de todas las cabezas originales dentro de ese grupo. Para más detalles, consulta este artículo. Si no se especifica, el valor predeterminado será num_attention_heads.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • max_position_embeddings (int, opcional, valor predeterminado 5000) — La longitud máxima de secuencia con la que se podría utilizar este modelo.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • rope_parameters (dict, opcional) — Diccionario que contiene los parámetros de configuración para las incrustaciones RoPE. El diccionario debe contener un valor para rope_theta y, opcionalmente, los parámetros utilizados para el escalado en caso de que desee usar RoPE con max_position_embeddings más largos.
  • attention_dropout (Union[float, int], opcional, valor predeterminado 0.0) — La proporción de dropout para las probabilidades de atención.
  • num_mel_bins (int, opcional, valor predeterminado 128) — Número de características mel utilizadas por cada cuadro de entrada. Debe corresponder al valor utilizado en la clase AutoFeatureExtractor.
  • subsampling_factor (int, opcional, valor predeterminado 8) — Número de fotogramas consecutivos del espectrograma apilados en un fotograma del codificador.

Esta es la clase de configuración para almacenar la configuración de un Nemotron3 5 TranscribeModel. Se utiliza para instanciar un modelo Nemotron3 5 Transcribe según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

clase 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 )

Parámetros

  • asr_config (Union[dict, Nemotron3_5TranscribeAsrAudioConfig], opcional) — Configuración del codificador de reconocimiento de voz.
  • diarization_config (Union[dict, Nemotron3DiarizationConfig], opcional) — Configuración del modelo de diarización de hablantes, cuyas actividades de hablantes se añaden a las salidas del codificador de reconocimiento de voz.
  • speaker_activity_threshold (float, opcional, valor predeterminado 0.5) — Un hablante está activo en un marco del codificador cuando su probabilidad supera este umbral.

Esta es la clase de configuración para almacenar la configuración de un Nemotron3 5 TranscribeModel. Se utiliza para instanciar un modelo Nemotron3 5 Transcribe según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

clase 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 )

Parámetros

  • hidden_size (int, opcional, valor predeterminado 1280) — Dimensión de las representaciones ocultas.
  • intermediate_size (int, opcional, valor predeterminado 640) — Dimensión de las representaciones del MLP.
  • num_hidden_layers (int, opcional, valor predeterminado 2) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 16) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • num_key_value_heads (int, opcional) — Este es el número de cabezas de key_value que se deben utilizar para implementar Grouped Query Attention. Si num_key_value_heads=num_attention_heads, el modelo utilizará Multi Head Attention (MHA); si num_key_value_heads=1, el modelo utilizará Multi Query Attention (MQA); en caso contrario, se utilizará GQA. Al convertir un checkpoint multi-head en un checkpoint GQA, cada cabeza de key y value del grupo debe construirse mediante el promedio (meanpooling) de todas las cabezas originales dentro de ese grupo. Para más detalles, consulta este artículo. Si no se especifica, el valor predeterminado será num_attention_heads.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • max_position_embeddings (int, opcional, valor predeterminado 5000) — La longitud máxima de secuencia con la que se podría utilizar este modelo.
  • initializer_range (float, opcional, valor predeterminado 0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • rope_parameters (dict, opcional) — Diccionario que contiene los parámetros de configuración para las incrustaciones RoPE. El diccionario debe contener un valor para rope_theta y, opcionalmente, los parámetros utilizados para el escalado en caso de que desee usar RoPE con max_position_embeddings más largos.
  • attention_dropout (Union[float, int], opcional, valor predeterminado 0.0) — La proporción de dropout para las probabilidades de atención.
  • vocab_size (int, opcional, valor predeterminado 23863) — Número de clases de la cabeza de marcas de tiempo de palabras: las piezas de su tokenizador de alineación y, a continuación, el espacio en blanco.
  • blank_token_id (int, opcional, valor predeterminado 23862) — Índice de la clase en blanco, después de las piezas del tokenizador de alineación.
  • residual_scale (float, opcional, valor predeterminado 0.1) — Escala de la salida del transformador que se suma a los estados del codificador de reconocimiento de voz antes del clasificador.
  • upsampling_factor (int, opcional, valor predeterminado 2) — Número de fotogramas de cabecera por fotograma del codificador, realizado mediante una convolución transpuesta antes del transformer: 2 da fotogramas de 40 ms a partir de los fotogramas de 80 ms del codificador.

Esta es la clase de configuración para almacenar la configuración de un Nemotron3 5 TranscribeModel. Se utiliza para instanciar un modelo Nemotron3 5 Transcribe según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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

clase 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 )

Parámetros

  • feature_extractor (feature_extractor_class) — El extractor de características es una entrada obligatoria.
  • tokenizer (tokenizer_class) — El tokenizador es una entrada obligatoria.
  • alignment_tokenizer (PreTrainedTokenizerFast) — El vocabulario de la cabeza de marcas de tiempo de palabras: 23.862 piezas BPE de SentencePiece, siendo la clase 23.862 de la cabeza el CTC blank. Solo se utiliza en align_word_timestamps() y se guarda en la subcarpeta alignment_tokenizer/. Añade un espacio al principio para reproducir los ids de SentencePiece originales de cualquier texto, incluido un texto que comience con una etiqueta: alignment_tokenizer.encode(" " + text, add_special_tokens=False).
  • chat_template (str) — Plantilla de Jinja para convertir listas de mensajes de un chat en una cadena tokenizable.
  • audio_token (str, opcional, valor predeterminado "<|audio|>") — Token especial utilizado para representar las entradas de audio en la plantilla de chat.
  • default_transcription_prompt (str, opcional) — Prompt predeterminado utilizado por apply_transcription_request().
  • subsampling_factor (int, opcional, valor predeterminado 8) — Número de fotogramas del espectrograma por token de audio, que refleja Nemotron3_5TranscribeAsrAudioConfig.subsampling_factor. El espectrograma se rellena hasta un múltiplo de este valor.

Construye un Nemotron3_5TranscribeProcessor que envuelve un extractor de características, un tokenizador y un tokenizador de alineación en un único procesador.

Nemotron3_5TranscribeProcessor ofrece todas las funcionalidades de feature_extractor_class, tokenizer_class y {alignment_tokenizer_class}. Consulte ~feature_extractor_class, ~tokenizer_class y ~{alignment_tokenizer_class} para obtener más información.

__call__

< >

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

Parámetros

  • text (Union[str, list[str]]) — La secuencia o lote de secuencias que se van a codificar. Cada secuencia puede ser una cadena de caracteres o una lista de cadenas de caracteres (cadenas pretokenizadas). Si se pasa una entrada pretokenizada, establezca is_split_into_words=True para evitar ambigüedad con las entradas por lotes.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], opcional) — El audio o lote de audios que se va a preparar. Cada audio puede ser un array de NumPy o un tensor de PyTorch. En el caso de un array de NumPy/tensor de PyTorch, cada audio debe tener la forma (C, T), donde C es el número de canales y T es la longitud de la muestra del audio.
  • output_labels (bool, opcional, default=False) — Si se deben devolver etiquetas para el entrenamiento.
  • return_tensors (str o TensorType, opcional) — Si se establece, devolverá tensores de un marco de trabajo específico. Los valores aceptables son:
    • 'pt': Devuelve objetos torch.Tensor de PyTorch.
    • 'np': Devuelve objetos np.ndarray de NumPy.
  • **kwargs (ProcessingKwargs, opcional) — Opciones de procesamiento adicionales para cada modalidad (texto, imágenes, videos, audio). Los parámetros específicos del modelo se enumeran arriba; consulte la clase TypedDict para obtener la lista completa de argumentos admitidos.

Devuelve

BatchFeature

Un diccionario con texto tokenizado (input_ids, attention_mask) y características de 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.models.nemotron3_5_transcribe.processing_nemotron3_5_transcribe.Nemotron3_5TranscribeProcessorKwargs'> ) → BatchFeature

Parámetros

  • audio (str, list[str], np.ndarray, torch.Tensor, list[np.ndarray], list[torch.Tensor]) — Audio a transcribir. Las cadenas de caracteres se interpretan como rutas locales o URLs y se cargarán automáticamente mediante el chat template loader; los arrays de NumPy y los tensores de PyTorch se reenvían directamente.
  • prompt (str o list[str], opcional) — Prompts personalizados para incluir en el turno del usuario. Una lista debe tener la misma longitud que el lote. Cuando es None, cada muestra utiliza default_transcription_prompt.
  • **kwargs — Argumentos de palabra clave adicionales que se reenvían a apply_chat_template() (por ejemplo, text_kwargs, audio_kwargs, …). El razonamiento está desactivado a menos que se pase enable_thinking=True (la plantilla de chat lo habilita de forma predeterminada).

Devuelve

BatchFeature

Salidas del procesador listas para pasarse a Nemotron3_5TranscribeForConditionalGeneration.generate().

Prepara las entradas para el reconocimiento automático de voz sin escribir manualmente el prompt de transcripción predeterminado.

apply_chat_template

< >

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

Parámetros

  • conversation (Union[list[Dict, [str, str]], list[list[dict[str, str]]]]) — La conversación a formatear.
  • chat_template (Optional[str], opcional) — La plantilla Jinja que se utilizará para formatear la conversación. Si no se proporciona, se utiliza la plantilla de chat del tokenizador.

De manera similar al método apply_chat_template en los tokenizadores, este método aplica una plantilla Jinja a las conversaciones de entrada para convertirlas en una única cadena tokenizable.

Se espera que la entrada esté en el siguiente formato, donde el contenido de cada mensaje es una lista que consiste en texto y, opcionalmente, entradas de imagen o video. También se puede proporcionar una imagen, un video, una URL o una ruta local, que se utilizará para formar pixel_values cuando return_dict=True. Si no se proporciona, se obtendrá solo el texto formateado, opcionalmente el texto tokenizado.

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

Parámetros

  • text (str o list[str]) — Texto único o lote de textos, decodificado con skip_special_tokens=False: las etiquetas de hablante <spk:N> son tokens especiales. Todo lo que aparece a partir del token de fin de texto se descarta.

Devuelve

list[dict] para un solo texto, list[list[dict]] para un lote

un diccionario por turno de hablante, con el índice "Speaker" N de su etiqueta <spk:N> y su "Content". Un texto sin etiquetas es un único turno con "Speaker": None, al igual que el texto antes de la primera etiqueta, si la hay.

Divide un transcripción atribuida a hablantes en turnos de hablante, en el formato de VibeVoiceAsrProcessor.extract_speaker_dict() sin las marcas de tiempo, que este modelo no predice.

Ejemplo:

>>> 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]

Parámetros

  • transcriptions (str o list[str]) — Texto generado de cada grabación, decodificado con skip_special_tokens=False para conservar las etiquetas <spk:N>.
  • word_timestamp_logits (torch.Tensor de forma (batch_size, num_frames * upsampling_factor, vocab_size)) — Logits de la cabeza de marcas de tiempo de palabras (word_timestamp_logits de generate(..., return_word_timestamp_logits=True) o model.get_word_timestamp_logits(...)), siendo la última clase el CTC blank. El número de frames por frame del codificador, el upsampling_factor de la cabeza, se lee de su forma.
  • input_features_mask (torch.Tensor de forma (batch_size, feature_sequence_length)) — Máscara de los fotogramas de espectrograma válidos de cada grabación, tal como los devuelve el procesador: su número define la duración de la grabación y, por tanto, el paso de tiempo de los fotogramas de la cabeza.
  • speaker_logits (torch.Tensor de forma (batch_size, num_frames * subsampling_factor, num_speakers), opcional) — Logits del modelo de diarización (speaker_logits de generate(..., return_word_timestamp_logits=True) o de get_audio_features). Sin ellos, cada transcripción se alinea como un único hablante y no se devuelve ninguna diarización.
  • language (str o list[str | None], opcional) — Idioma de las transcripciones, uno para todas o uno por transcripción, detectado del guion cuando es None: "zh" y "ja" se alinean carácter a carácter, "th" no está soportado.
  • speaker_activity_threshold (float, opcional, valor predeterminado 0.5) — Probabilidad a partir de la cual un orador de diarización está activo.
  • max_word_duration (float, opcional, valor predeterminado 1.0) — Duración máxima de una palabra alineada, en segundos.
  • max_word_frames (int, opcional, valor predeterminado 12) — Desplazamiento máximo y duración de una palabra alineada a un segmento de diarización, en fotogramas del codificador de como máximo 80 ms.

Devuelve

dict o list[dict]

para la grabación (o para cada grabación de una lista de transcripciones), como los marcas de tiempo de las palabras del pipeline de reconocimiento de voz, "chunks" ({"text", "timestamp", "speaker"} por palabra, timestamp = (start, end) en segundos, ordenado por tiempo; speaker es el N de la etiqueta de la palabra, None antes de la primera etiqueta y 0 en una transcripción sin etiquetas), "diarization" ({"speaker", "timestamp"} segmentos de actividad de cada orador de diarización), "speaker_tag_to_diarization_speaker" (None para una etiqueta sin coincidencia) y "failed_speakers" (las etiquetas cuyas palabras no pudieron alinearse, ausentes de "chunks").

Multiplica cada palabra de las transcripciones generadas y la asigna a un orador: las palabras de cada etiqueta <spk:N> se alinean por fuerza (torchaudio.functional.forced_align) en los fotogramas de la cabecera de marcas de tiempo de palabras donde el orador de la diarización asociado a la etiqueta está activo, y luego se ajustan a los segmentos de diarización de ese orador. Port del MultiSpeakerSOTWordTimestampAligner de NeMo, con una búsqueda exacta donde este último aproxima grabaciones largas.

Ejemplo:

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

clase transformers.Nemotron3_5TranscribeAsrAudioModel

< >

( config: Nemotron3_5TranscribeAsrAudioConfig )

Parámetros

  • config (Nemotron3_5TranscribeAsrAudioConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

El codificador de reconocimiento de voz Nemotron 3.5 Transcribe: el codificador de audio Nemotron 3 Diarization con las consultas y claves de cada cabeza de atención normalizadas, y embeddings de posición rotatorios en parte de cada cabeza.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

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)

Parámetros

  • input_features (torch.Tensor de forma (batch_size, sequence_length, feature_dim), opcional) — Los tensores correspondientes a las características de audio de entrada. Las características de audio se pueden obtener utilizando feature_extractor_class. Consulte feature_extractor_class.__call__ para más detalles (processor_class utiliza feature_extractor_class para procesar audios).
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • inputs_embeds (torch.Tensor de forma (batch_size, sequence_length, hidden_size), opcional) — Opcionalmente, en lugar de pasar input_ids, puedes elegir pasar directamente una representación incrustada. Esto es útil si deseas tener más control sobre cómo convertir los índices de input_ids en los vectores asociados que en la matriz de búsqueda de incrustaciones interna del modelo.
  • position_ids (torch.Tensor de forma (batch_size, sequence_length), opcional) — Índices de las posiciones de los tokens de cada secuencia de entrada en los embeddings de posición. Seleccionados en el rango [0, config.n_positions - 1].

    ¿Qué son los IDs de posición?

Devuelve

BaseModelOutput o tuple(torch.Tensor)

Un BaseModelOutput o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (Nemotron3_5TranscribeConfig) y las entradas.

El método forward del Nemotron3_5TranscribeAsrAudioModel sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

Nemotron3_5TranscribeAudioModel

clase transformers.Nemotron3_5TranscribeAudioModel

< >

( config: Nemotron3_5TranscribeAudioConfig )

Parámetros

  • config (Nemotron3_5TranscribeAudioConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

El modelo de transcripción de audio Nemotron 3.5: un codificador de reconocimiento de voz y un modelo de diarización de hablantes se ejecutan en paralelo sobre el mismo espectrograma, y las actividades de los hablantes se añaden a las salidas del codificador de reconocimiento de voz.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

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

Parámetros

  • input_features (torch.Tensor de forma (batch_size, feature_sequence_length, num_mel_bins)) — Espectrograma mel logarítmico, relleno hasta un múltiplo de config.subsampling_factor fotogramas. Al igual que en el original, el audio más largo que config.diarization_config.chunk_length fotogramas del codificador se codifica en fragmentos con contexto.
  • input_features_mask (torch.Tensor de forma (batch_size, feature_sequence_length), opcional) — Máscara de los fotogramas de espectrograma válidos. El relleno debe estar a la derecha.

Devuelve

Nemotron3_5TranscribeAudioModelOutput o tuple(torch.Tensor)

Un Nemotron3_5TranscribeAudioModelOutput o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (Nemotron3_5TranscribeConfig) y las entradas.

El método forward del Nemotron3_5TranscribeAudioModel sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • pooler_output (torch.Tensor de forma (num_audio_tokens, text_config.hidden_size), opcional) — Incrustaciones de audio proyectadas de los marcos válidos del codificador de cada grabación, en orden de lote: las incrustaciones que reemplazan los tokens de audio del prompt. Devuelto por get_audio_features.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

  • asr_last_hidden_state (torch.Tensor de forma (batch_size, num_frames, audio_config.hidden_size)) — Salida del codificador de reconocimiento de voz, antes de su normalización y de las incorporaciones de hablante: la entrada de get_word_timestamp_logits().

  • speaker_logits (torch.Tensor de forma (batch_size, feature_sequence_length, audio_config.num_speakers)) — Logits del modelo de diarización, un fotograma por fotograma del espectrograma.

Nemotron3_5TranscribeWordTimestampModel

clase transformers.Nemotron3_5TranscribeWordTimestampModel

< >

( config: Nemotron3_5TranscribeWordTimestampConfig )

Parámetros

  • config (Nemotron3_5TranscribeWordTimestampConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

El transformador de la cabeza de marcas de tiempo de palabras de Nemotron 3.5 Transcribe. La clase Nemotron3_5TranscribeForConditionalGeneration.word_timestamp_head clasifica su salida.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

forward

< >

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

Parámetros

  • inputs_embeds (torch.Tensor de forma (batch_size, num_frames, hidden_size)) — Estados del codificador de reconocimiento de voz, antes de la asr_norm del modelo de audio y las incrustaciones de hablante.
  • attention_mask (torch.Tensor de forma (batch_size, num_frames), opcional) — Máscara de los fotogramas válidos del codificador.

El método forward del Nemotron3_5TranscribeWordTimestampModel sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

Devuelve num_frames * upsampling_factor fotogramas.

Nemotron3_5TranscribeModel

clase transformers.Nemotron3_5TranscribeModel

< >

( config: Nemotron3_5TranscribeConfig )

Parámetros

  • config (Nemotron3_5TranscribeConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

El modelo Nemotron 3.5 Transcribe (codificador de reconocimiento de voz y modelo de diarización de hablantes en paralelo, proyector lineal y modelo de lenguaje Nemotron-H), sin una cabeza de modelado de lenguaje.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

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)

Parámetros

  • input_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de los tokens de la secuencia de entrada en el vocabulario. El relleno se ignorará de forma predeterminada.

    Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles.

    ¿Qué son los IDs de entrada?

  • input_features (torch.Tensor de forma (batch_size, sequence_length, feature_dim), opcional) — Los tensores correspondientes a las características de audio de entrada. Las características de audio se pueden obtener utilizando feature_extractor_class. Consulte feature_extractor_class.__call__ para más detalles (processor_class utiliza feature_extractor_class para procesar audios).
  • input_features_mask (torch.Tensor de forma (batch_size, feature_sequence_length)) — Máscara para evitar realizar atención en los índices de características de relleno.
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • position_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de las posiciones de los tokens de cada secuencia de entrada en los embeddings de posición. Seleccionados en el rango [0, config.n_positions - 1].

    ¿Qué son los IDs de posición?

  • past_key_values (~cache_utils.Cache, opcional) — Estados ocultos precalculados (claves y valores en los bloques de autoatención y en los bloques de atención cruzada) que se pueden usar para acelerar la decodificación secuencial. Esto generalmente consiste en la past_key_values devuelta por el modelo en una etapa anterior de la decodificación, cuando use_cache=True o config.use_cache=True.

    Solo se permite una instancia de Cache como entrada, consulte nuestra guía de caché kv. Si no se pasan past_key_values, DynamicCache se inicializará de forma predeterminada.

    El modelo generará el mismo formato de caché que se proporciona como entrada.

    Si se utilizan past_key_values, se espera que el usuario introduzca únicamente los input_ids no procesados (aquellos que no tienen sus estados de clave y valor pasados proporcionados a este modelo) con forma (batch_size, unprocessed_length) en lugar de todos los input_ids con forma (batch_size, sequence_length).

  • inputs_embeds (torch.Tensor de forma (batch_size, sequence_length, hidden_size), opcional) — Opcionalmente, en lugar de pasar input_ids, puedes elegir pasar directamente una representación incrustada. Esto es útil si deseas tener más control sobre cómo convertir los índices de input_ids en los vectores asociados que en la matriz de búsqueda de incrustaciones interna del modelo.
  • use_cache (bool, opcional) — Si se establece en True, se devuelven los estados de clave-valor de past_key_values y pueden usarse para acelerar la decodificación (ver past_key_values).

Devuelve

Nemotron3_5TranscribeModelOutputWithPast o tuple(torch.Tensor)

Un Nemotron3_5TranscribeModelOutputWithPast o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (Nemotron3_5TranscribeConfig) y las entradas.

El método forward de Nemotron3_5TranscribeModel sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

    Si se utiliza past_key_values, solo se genera el último hidden-state de las secuencias con forma (batch_size, 1, hidden_size).

  • past_key_values (Cache, opcional, se devuelve cuando se pasa use_cache=True o cuando config.use_cache=True) — Es una instancia de Cache. Para más detalles, consulta nuestra guía de caché kv.

    Contiene estados ocultos precalculados (claves y valores en los bloques de autoatención y, opcionalmente, si config.is_encoder_decoder=True, en los bloques de atención cruzada) que pueden utilizarse (véase la entrada past_key_values) para acelerar la decodificación secuencial.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

  • audio_hidden_states (torch.Tensor, opcional) — Estados ocultos de audio proyectados.

get_audio_features

< >

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

Parámetros

  • input_features (torch.Tensor) — Valores flotantes de las características mel extraídas de la forma de onda de voz cruda.
  • input_features_mask (torch.Tensor de forma (batch_size, feature_sequence_length)) — Máscara para evitar realizar atención en los índices de características rellenos.

Devuelve

BaseModelOutputWithPooling o tuple(torch.Tensor)

Un BaseModelOutputWithPooling o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (Nemotron3_5TranscribeConfig) y las entradas.

Este método se utiliza para obtener los embeddings de audio a partir de las características de entrada (un espectrograma log mel), es decir, para inferir el codificador de audio y el proyector multimodal.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • pooler_output (torch.Tensor de forma (batch_size, hidden_size)) — Estado oculto de la última capa del primer token de la secuencia (token de clasificación) después de un procesamiento adicional a través de las capas utilizadas para la tarea de preentrenamiento auxiliar. Por ejemplo, para la familia de modelos BERT, esto devuelve el token de clasificación después de procesarlo a través de una capa lineal y una función de activación tanh. Los pesos de la capa lineal se entrenan a partir del objetivo de predicción de la siguiente oración (clasificación) durante el preentrenamiento.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

get_word_timestamp_hidden_states

< >

( asr_last_hidden_state: Tensorinput_features_mask: Tensor )

Parámetros

  • asr_last_hidden_state (torch.Tensor de forma (batch_size, num_frames, audio_config.hidden_size)) — Salida del codificador de reconocimiento de voz antes de su normalización y de las incorporaciones de hablante, tal como se devuelve por get_audio_features() para input_features_mask.
  • input_features_mask (torch.Tensor de forma (batch_size, feature_sequence_length)) — Máscara de los fotogramas de espectrograma válidos. El relleno debe estar a la derecha.

Ejecuta el codificador de marcas de tiempo de palabras sobre los estados del codificador de reconocimiento de voz, en los fragmentos del codificador: los estados que la cabeza de marcas de tiempo de palabras clasifica.

Nemotron3_5TranscribeForConditionalGeneration

clase transformers.Nemotron3_5TranscribeForConditionalGeneration

< >

( config: Nemotron3_5TranscribeConfig )

Parámetros

  • config (Nemotron3_5TranscribeConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.

El modelo Nemotron 3.5 Transcribe (codificador de reconocimiento de voz y modelo de diarización de hablantes en paralelo, proyector lineal y modelo de lenguaje Nemotron-H) con una cabeza de modelado de lenguaje.

Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).

Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.

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)

Parámetros

  • input_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de los tokens de la secuencia de entrada en el vocabulario. El relleno se ignorará de forma predeterminada.

    Los índices se pueden obtener usando AutoTokenizer. Consulte PreTrainedTokenizer.encode() y PreTrainedTokenizer.call() para más detalles.

    ¿Qué son los IDs de entrada?

  • input_features (torch.Tensor de forma (batch_size, sequence_length, feature_dim), opcional) — Los tensores correspondientes a las características de audio de entrada. Las características de audio se pueden obtener utilizando feature_extractor_class. Consulte feature_extractor_class.__call__ para más detalles (processor_class utiliza feature_extractor_class para procesar audios).
  • input_features_mask (torch.Tensor de forma (batch_size, feature_sequence_length)) — Máscara para evitar realizar atención en los índices de características de relleno.
  • attention_mask (torch.Tensor de forma (batch_size, sequence_length), opcional) — Máscara para evitar realizar atención en los índices de tokens de relleno. Valores de máscara seleccionados en [0, 1]:
    • 1 para los tokens que no están enmascarados,
    • 0 para los tokens que están enmascarados.

    ¿Qué son las máscaras de atención?

  • position_ids (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Índices de las posiciones de los tokens de cada secuencia de entrada en los embeddings de posición. Seleccionados en el rango [0, config.n_positions - 1].

    ¿Qué son los IDs de posición?

  • past_key_values (~cache_utils.Cache, opcional) — Estados ocultos precalculados (claves y valores en los bloques de autoatención y en los bloques de atención cruzada) que se pueden usar para acelerar la decodificación secuencial. Esto generalmente consiste en la past_key_values devuelta por el modelo en una etapa anterior de la decodificación, cuando use_cache=True o config.use_cache=True.

    Solo se permite una instancia de Cache como entrada, consulte nuestra guía de caché kv. Si no se pasan past_key_values, DynamicCache se inicializará de forma predeterminada.

    El modelo generará el mismo formato de caché que se proporciona como entrada.

    Si se utilizan past_key_values, se espera que el usuario introduzca únicamente los input_ids no procesados (aquellos que no tienen sus estados de clave y valor pasados proporcionados a este modelo) con forma (batch_size, unprocessed_length) en lugar de todos los input_ids con forma (batch_size, sequence_length).

  • inputs_embeds (torch.Tensor de forma (batch_size, sequence_length, hidden_size), opcional) — Opcionalmente, en lugar de pasar input_ids, puedes elegir pasar directamente una representación incrustada. Esto es útil si deseas tener más control sobre cómo convertir los índices de input_ids en los vectores asociados que en la matriz de búsqueda de incrustaciones interna del modelo.
  • labels (torch.LongTensor de forma (batch_size, sequence_length), opcional) — Etiquetas para calcular la pérdida de modelado de lenguaje enmascarado.
  • use_cache (bool, opcional) — Si se establece en True, se devuelven los estados de clave-valor de past_key_values y pueden usarse para acelerar la decodificación (ver past_key_values).
  • logits_to_keep (Union[int, torch.Tensor], opcional, valor predeterminado 0) — Si es un int, calcula los logits para los últimos logits_to_keep tokens. Si es 0, calcula los logits para todos los input_ids (caso especial). Solo se necesitan los logits del último token para la generación, y calcularlos solo para ese token puede ahorrar memoria, lo cual se vuelve bastante significativo para secuencias largas o un tamaño de vocabulario grande. Si es un torch.Tensor, debe ser de 1D y corresponder a los índices a conservar en la dimensión de longitud de secuencia. Esto es útil al usar el formato de tensor empaquetado (una sola dimensión para el lote y la longitud de secuencia).

Devuelve

Nemotron3_5TranscribeCausalLMOutputWithPast o tuple(torch.Tensor)

Un Nemotron3_5TranscribeCausalLMOutputWithPast o una tupla de torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios elementos según la configuración (Nemotron3_5TranscribeConfig) y las entradas.

El método forward de Nemotron3_5TranscribeForConditionalGeneration sobrescribe el método especial __call__.

Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de Module después en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.

  • loss (torch.Tensor de forma (1,), opcional, se devuelve cuando se proporciona labels) — Pérdida de modelado de lenguaje (para la predicción del siguiente token).

  • logits (torch.Tensor de forma (batch_size, sequence_length, config.vocab_size)) — Puntuaciones de predicción de la cabeza de modelado de lenguaje.

  • past_key_values (Cache, opcional, se devuelve cuando se pasa use_cache=True o cuando config.use_cache=True) — Es una instancia de Cache.

  • hidden_states (tuple[torch.Tensor], opcional, se devuelve cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple[torch.Tensor], opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

  • audio_hidden_states (torch.Tensor, opcional) — Estados ocultos del codificador de audio después de la proyección.

Ejemplo:

>>> 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 )

Parámetros

  • 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 de forma (batch_size, feature_sequence_length)) — Máscara de los fotogramas de espectrograma válidos. El relleno debe estar a la derecha.

Ejemplo:

get_word_timestamp_logits

< >

( asr_last_hidden_state: Tensorinput_features_mask: Tensor )

Parámetros

  • asr_last_hidden_state (torch.Tensor de forma (batch_size, num_frames, audio_config.hidden_size)) — Salida del codificador de reconocimiento de voz antes de su normalización y de las incorporaciones de hablante, tal como se devuelve por get_audio_features() para input_features_mask.
  • input_features_mask (torch.Tensor de forma (batch_size, feature_sequence_length)) — Máscara de los fotogramas de espectrograma válidos. El relleno debe estar a la derecha.

Logits de la cabeza de marca de tiempo de la palabra en los estados del codificador de reconocimiento de voz, que align_word_timestamps() convierte en tiempos de palabra.

Ejemplo:

Update on GitHub