Transformers documentation

Nemotron ASR Akış

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

Bu model, 2023-05-08 tarihinde HF papers'ta yayımlanmış ve 2026-06-18 tarihinde Hugging Face Transformers'a katkıda bulunmuştur.

Nemotron ASR Akış

Genel Bakış

Nemotron ASR Streaming, NVIDIA tarafından geliştirilen, düşük gecikmeli akış ve yüksek verimli toplu işleme ortamlarında yüksek kaliteli transkripsiyon için tasarlanmış, yerel noktalama ve büyük harf desteğine sahip 600M parametreli bir İngilizce konuşma tanıma modelidir. Akış işlemleri için yapılandırılabilir parça boyutları (80ms, 160ms, 560ms ve 1120ms) sunarak kullanıcıların, uygulamalarına uygun şekilde gecikme ile doğruluk arasında denge kurmasına olanak tanır. Bu yeteneğin merkezinde, önbellek farkında olan FastConformer-RNNT mimarisi yer alır: geleneksel tamponlu akışta, üst üste binen ses pencereleri tekrar tekrar işlenirken, bu model yalnızca her yeni gelen parçayı işler ve önceki parçalardan önbelleğe alınmış kodlayıcı bağlamını yeniden kullanır. Bu yaklaşım, gereksiz hesaplamaları ortadan kaldırır, verimliliği önemli ölçüde artırır ve doğruluktan ödün vermeden uçtan uca gecikmeyi en aza indirir; bu da modeli gerçek zamanlı transkripsiyon iş yükleri için son derece uygun hale getirir.

Kullanım

Çevrimdışı transkripsiyon

Pipeline
AutoModel
from transformers import pipeline

pipe = pipeline(
    "automatic-speech-recognition",
    model="nvidia/nemotron-speech-streaming-en-0.6b",
)
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)

Akışkan transkripsiyon

Bu deneysel bir özelliktir ve API değiştirilebilir.

Gerçek zamanlı transkripsiyon için ses, aşağıdaki şekilde parçalara ayrılır:

from threading import Thread
from transformers import AutoModelForRNNT, AutoProcessor, TextIteratorStreamer
from transformers.audio_utils import load_audio

model_id = "nvidia/nemotron-speech-streaming-en-0.6b"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForRNNT.from_pretrained(model_id, device_map="auto")

processor.set_num_lookahead_tokens(6)
print(f"Streaming latency: {processor.streaming_latency_ms} ms")

sampling_rate = processor.feature_extractor.sampling_rate
audio = load_audio(
    "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/obama.mp3",
    sampling_rate=sampling_rate,
)

first_chunk_inputs = processor(
    audio[: processor.num_samples_first_audio_chunk],
    sampling_rate=sampling_rate,
    is_streaming=True,
    is_first_audio_chunk=True,
    return_tensors="pt",
)
first_chunk_inputs = first_chunk_inputs.to(model.device, dtype=model.dtype)


def input_features_generator():
    yield first_chunk_inputs.input_features[:, : processor.num_mel_frames_first_audio_chunk, :]

    mel_frame_idx = processor.num_mel_frames_first_audio_chunk
    hop_length = processor.feature_extractor.hop_length
    n_fft = processor.feature_extractor.n_fft

    start_idx = mel_frame_idx * hop_length - n_fft // 2
    while (end_idx := start_idx + processor.num_samples_per_audio_chunk) < audio.shape[0]:
        inputs = processor(
            audio[start_idx:end_idx],
            sampling_rate=sampling_rate,
            is_streaming=True,
            is_first_audio_chunk=False,
            return_tensors="pt",
        )
        inputs = inputs.to(model.device, dtype=model.dtype)
        yield inputs.input_features

        mel_frame_idx += processor.num_mel_frames_per_audio_chunk
        start_idx = mel_frame_idx * hop_length - n_fft // 2


streamer = TextIteratorStreamer(processor.tokenizer, skip_special_tokens=True)
generate_kwargs = {
    **first_chunk_inputs,
    "input_features": input_features_generator(),
    "streamer": streamer,
}
thread = Thread(target=model.generate, kwargs=generate_kwargs)
thread.start()

# Iterate over the streamer to get text chunks as they are generated
print("Model output (streaming):", end=" ", flush=True)
for text_chunk in streamer:
    print(text_chunk, end="", flush=True)
thread.join()

Akış gecikmesi

Gecikme, her parçanın yayımlanmadan önce beklediği doğru dikkat bağlamını (alt örneklenmiş kodlayıcı karelerinde ileriye bakma) belirleyen num_lookahead_tokens ile ayarlanır. Daha büyük bir değer, her parçanın daha fazla gelecekteki sesi görmesini sağlar: daha yüksek gecikme bedeli karşılığında daha iyi doğruluk. Desteklenen ödünleşimleri inceleyin, birini seçin ve sonuçlanan gecikmeyi okuyun:

from transformers import AutoProcessor

processor = AutoProcessor.from_pretrained("nvidia/nemotron-speech-streaming-en-0.6b")

# Each supported `num_lookahead_tokens` mapped to its streaming latency in milliseconds:
print(processor.supported_streaming_latencies_ms)
# {13: 1120, 6: 560, 1: 160, 0: 80}

# Select a right attention context (this also re-derives the streaming chunk sizes used above):
processor.set_num_lookahead_tokens(6)

# Latency of the current selection:
print(processor.streaming_latency_ms)
# 560

set_num_lookahead_tokens, işleyicinin ürettiği parçacıkların boyutunu belirler ve eşleşen num_lookahead_tokens değeri generate fonksiyonuna iletilmelidir (yukarıdaki kod parçasında bu değer, num_lookahead_tokens içeren **inputs/**first_chunk_inputs üzerinden taşınır). Akış (streaming) generate çağrısında bu değer atlanırsa bir hata fırlatılır.

NemotronAsrStreamingConfig

sınıf transformers.NemotronAsrStreamingConfig

< >

( 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 = 0id2label: 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 = Noneis_encoder_decoder: bool = Truevocab_size: int = 1025decoder_hidden_size: int = 640num_decoder_layers: int = 2hidden_act: str = 'relu'max_symbols_per_step: int = 10encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int = 0blank_token_id: int = 1024 )

Parametreler

  • is_encoder_decoder (bool, isteğe bağlı, varsayılan True) — Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı.
  • vocab_size (int, isteğe bağlı, varsayılan 1025) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını belirler.
  • decoder_hidden_size (int, isteğe bağlı, varsayılan 640) — LSTM tahmin ağı gizli boyutu (NeMo’nun pred_hidden). Ortak ağ, hem kodlayıcı hem de çözücü çıktıları bu boyuta yansıtır (NeMo’nun joint_hidden, bilinen tüm denetim noktaları bunu pred_hidden ile eşit olarak ayarlar).
  • num_decoder_layers (int, isteğe bağlı, varsayılan 2) — Tahmin ağındaki LSTM katmanlarının sayısı.
  • hidden_act (str, isteğe bağlı, varsayılan "relu") — Ortak ağdaki aktivasyon.
  • max_symbols_per_step (int, isteğe bağlı, varsayılan 10) — Açgözlü çözümleme sırasında her kodlayıcı zaman adımında üretilen en fazla boş olmayan sembol sayısı.
  • encoder_config (Union[dict, NemotronAsrStreamingEncoderConfig], isteğe bağlı) — Encoder'ın yapılandırma nesnesi veya sözlüğü.
  • pad_token_id (int, isteğe bağlı, varsayılan 0) — Sözlükte dolgu için kullanılan token kimliği.
  • blank_token_id (int, isteğe bağlı, varsayılan 1024) — Boş token kimliği. RNN-T için pad_token_id'den farklıdır.

Bu, bir NemotronAsrStreamingForRNNT yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Nemotron Asr Streaming modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, nvidia/nemotron-speech-streaming-en-0.6b modelinin yapılandırmasına benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import NemotronAsrStreamingForRNNT, NemotronAsrStreamingConfig

>>> # Initializing a NemotronAsrStreaming RNN-T configuration
>>> configuration = NemotronAsrStreamingConfig()

>>> # Initializing a model from the configuration
>>> model = NemotronAsrStreamingForRNNT(configuration)

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

NemotronAsrStreamingEncoderConfig

sınıf transformers.NemotronAsrStreamingEncoderConfig

< >

( 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 = 1024num_hidden_layers: int = 24num_attention_heads: int = 8intermediate_size: int = 4096hidden_act: str = 'silu'attention_bias: bool = Trueconvolution_bias: bool = Trueconv_kernel_size: int = 9subsampling_factor: int = 8subsampling_conv_channels: int = 256num_mel_bins: int = 80subsampling_conv_kernel_size: int = 3subsampling_conv_stride: int = 2dropout: float | int = 0.1dropout_positions: float | int = 0.0layerdrop: float | int = 0.1activation_dropout: float | int = 0.1attention_dropout: float | int = 0.1max_position_embeddings: int = 5000scale_input: bool = Trueinitializer_range: float = 0.02sliding_window: int = 71default_num_lookahead_tokens: int = 13 )

Parametreler

  • hidden_size (int, isteğe bağlı, varsayılan 1024) — Gizli temsillerin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 24) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • intermediate_size (int, isteğe bağlı, varsayılan 4096) — MLP temsillerinin boyutu.
  • hidden_act (str, isteğe bağlı, varsayılan silu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • attention_bias (bool, isteğe bağlı, varsayılan True) — Öz-dikkat sırasında sorgu, anahtar, değer ve çıktı projeksiyon katmanlarında önyargı (bias) kullanılıp kullanılmayacağı.
  • convolution_bias (bool, isteğe bağlı, varsayılan True) — Conformer'ün konvolüsyon modülündeki konvolüsyonlarda sapma (bias) kullanılıp kullanılmayacağı.
  • conv_kernel_size (int, isteğe bağlı, varsayılan 9) — Conformer bloğundaki konvolüsyon katmanlarının çekirdek boyutu.
  • subsampling_factor (int, isteğe bağlı, varsayılan 8) — Girdi dizisinin alt örneklenmesinde kullanılan çarpan.
  • subsampling_conv_channels (int, isteğe bağlı, varsayılan 256) — Alt örnekleme konvolüsyon katmanlarındaki kanal sayısı.
  • num_mel_bins (int, isteğe bağlı, varsayılan 80) — Mel özellik sayısı.
  • subsampling_conv_kernel_size (int, isteğe bağlı, varsayılan 3) — Alt örnekleme konvolüsyon katmanlarının çekirdek boyutu.
  • subsampling_conv_stride (int, isteğe bağlı, varsayılan 2) — Alt örnekleme konvolüsyon katmanlarının stride değeri.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Tüm dropout katmanları için oran.
  • dropout_positions (float, isteğe bağlı, varsayılan 0.0) — Girdi dizisindeki konumlar için dropout oranı.
  • layerdrop (Union[float, int], isteğe bağlı, varsayılan 0.1) — LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın.
  • activation_dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Dikkat olasılıkları için dropout oranı.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 5000) — Bu modelin kullanılabileceği maksimum dizi uzunluğu.
  • scale_input (bool, isteğe bağlı, varsayılan True) — Girdi gömme vektörlerinin ölçeklendirilip ölçeklendirilmeyeceğini belirtir.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • sliding_window (int, isteğe bağlı, varsayılan 71) — K/V dikkat kayan penceresinin boyutu (alt örneklenmiş kodlayıcı karelerinde). left_context + 1'e (mevcut kare ve sol bağlam) eşittir, bu nedenle sol dikkat bağlamı sliding_window - 1'dir — desteklenen tüm ileri bakışlarda aynıdır.
  • default_num_lookahead_tokens (int, isteğe bağlı, varsayılan 13) — forward'a hiçbir değer geçirilmediğinde kullanılan sağ dikkat bağlamı (alt örneklenmiş kodlayıcı karelerinde ileriye bakış). Modelin eğitildiği desteklenen küme NemotronAsrStreamingProcessor üzerinde bulunur.

Bu, bir NemotronAsrStreamingForRNNT yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Nemotron Asr Streaming modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, nvidia/nemotron-speech-streaming-en-0.6b modelinin yapılandırmasına benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import NemotronAsrStreamingEncoder, NemotronAsrStreamingEncoderConfig

>>> # Initializing a `NemotronAsrStreamingEncoder` configuration
>>> configuration = NemotronAsrStreamingEncoderConfig()

>>> # Initializing a model from the configuration
>>> model = NemotronAsrStreamingEncoder(configuration)

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

NemotronAsrStreamingFeatureExtractor

sınıf transformers.NemotronAsrStreamingFeatureExtractor

< >

( feature_size = 80sampling_rate = 16000hop_length = 160n_fft = 512win_length = 400preemphasis = 0.97padding_value = 0.0mel_filters_dtype = 'float32'**kwargs )

Parametreler

  • feature_size (int, isteğe bağlı, varsayılan 80) — Çıkarılan özelliklerin boyutu.
  • sampling_rate (int, isteğe bağlı, varsayılan 16000) — Ses dosyalarının dijitalleştirilmesi gereken örnekleme hızı, hertz (Hz) cinsinden ifade edilir.
  • hop_length (int, isteğe bağlı, varsayılan 160) — Mel Frekans katsayılarını elde etmek için kullanılan STFT'nin üst üste binen pencerelerinin uzunluğu.
  • n_fft (int, isteğe bağlı, varsayılan 512) — Fourier dönüşümünün boyutu.
  • win_length (int, isteğe bağlı, varsayılan 400) — STFT hesabı için pencere uzunluğu.
  • preemphasis (float, isteğe bağlı, varsayılan 0.97) — Ön vurgu filtresi katsayısı. 0.0, ön vurgu filtresi uygulanmadığı anlamına gelir.
  • padding_value (float, isteğe bağlı, varsayılan 0.0) — Sesin doldurulmasında kullanılan dolgu değeri. Sessizliklere karşılık gelmelidir.
  • mel_filters_dtype (str, isteğe bağlı, varsayılan "float32") — Depolanan mel filtre bankasının ve STFT penceresinin hassasiyeti. Bazı checkpoint'ler bu sabitleri azaltılmış bir hassasiyette tutar (Nemotron 3.5 Transcribe için "bfloat16"): bu durumda özellikler hesaplanırken filtre bankası ve pencere bu dtype'a yuvarlanır, böylece log-mel özellikler orijinal ön uyla eşleşir; spektrogramun kendisi ise her zaman float32'de hesaplanır.

NemotronAsrStreaming özellik çıkarıcısı oluşturur.

Bu özellik çıkarıcı, ana yöntemlerin çoğunu içeren SequenceFeatureExtractor sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.

Bu sınıf, ham konuşma verisinden mel-filtre bankası özelliklerini, pytorch'un torch.stft karşılığıyla eşleşmesi gereken özel bir numpy Short Time Fourier Transform uygulaması kullanarak çıkarır.

NemotronAsrStreamingProcessor

sınıf transformers.NemotronAsrStreamingProcessor

< >

( feature_extractortokenizerblank_token = '<blank>'supported_num_lookahead_tokens = Nonedefault_num_lookahead_tokens = None )

Parametreler

  • feature_extractor (NemotronAsrStreamingFeatureExtractor) — Özellik çıkarıcı zorunlu bir girdidir.
  • tokenizer (ParakeetTokenizer) — Tokenizer zorunlu bir girdidir.
  • blank_token (str, isteğe bağlı, varsayılan "<blank>") — RNN-T çözümleme için boşluk belirteci.
  • supported_num_lookahead_tokens (list[int], isteğe bağlı) — Modelin eğitiminde kullanılan sağ dikkat bağlamları (alt örneklenmiş kodlayıcı karelerindeki ileriye bakışlar). Bu küme için tek doğruluk kaynağı işleyicidir: set_num_lookahead_tokens() buna göre doğrulama yapar. Varsayılan değer, NeMo önbellek duyarlı kümesi olan [13, 6, 1, 0]'tır.
  • default_num_lookahead_tokens (int, isteğe bağlı) — Akış parçacıklarını boyutlandırmak için kullanılan sağ bağlam ve call() tarafından üretilir; değiştirmek için set_num_lookahead_tokens() kullanın. Varsayılan olarak supported_num_lookahead_tokens'un ilk girdisidir.

Bir özellik çıkarıcıyı ve bir belirteçleyiciyi tek bir işlemciye saran bir NemotronAsrStreamingProcessor oluşturur.

NemotronAsrStreamingProcessor, NemotronAsrStreamingFeatureExtractor ve ParakeetTokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~NemotronAsrStreamingFeatureExtractor ve ~ParakeetTokenizer belgelerine bakın.

__call__

< >

( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]text: str | list[str] | list[list[str]] | None = Nonesampling_rate: int | None = Noneis_streaming: bool = Falseis_first_audio_chunk: bool | None = True**kwargs: *<class 'transformers.models.nemotron_asr_streaming.processing_nemotron_asr_streaming.NemotronAsrStreamingProcessorKwargs'> ) → BatchFeature

Parametreler

  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]) — Hazırlanacak ses veya sesler partisi. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur.
  • text (Union[str, list[str], list[list[str]]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu girdilerle karışıklığı önlemek için is_split_into_words=True değerini ayarlayın.
  • sampling_rate (int, isteğe bağlı) — Giriş sesinin Hz cinsinden örneklem hızı. Bu değer, özellik çıkarıcısının beklediği örneklem hızıyla eşleşmelidir (varsayılan 16000 Hz). Sağlanırsa, işleyicinin beklediği örneklem hızıyla doğrulanır ve eşleşmezse bir hata oluşturulur. Sağlanmazsa bir uyarı verilir ve varsayılan örneklem hızı kabul edilir.
  • is_streaming (bool, isteğe bağlı, varsayılan False) — Sesin akış (streaming) modunda işlenip işlenmeyeceğini belirtir. True olduğunda, ses parçalar halinde geçirilebilir ve ilk parça ile sonraki parçalar is_first_audio_chunk parametresiyle ayırt edilir.
  • is_first_audio_chunk (bool, isteğe bağlı, varsayılan True) — Mevcut sesin, bir akış oturumunun ilk parçası olup olmadığını belirtir. Özellik çıkarıcı, ilk parça için (ve çevrimdışı kullanım için) center=True değerini, sonraki parçalar için ise center=False değerini kullanır; böylece parça başına STFT, tek bir tam ifade geçişini çerçeve çerçeve yeniden üretir. is_streaming=False olduğunda True olmalıdır.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • **kwargs (ProcessingKwargs, isteğe bağlı) — Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.

Dönüş değeri

BatchFeature

özellik çıkarıcının (ve isteğe bağlı olarak belirteçleyicinin) çıktıları, şunlarla genişletilerek:

  • num_lookahead_tokens — Sağ dikkat bağlamı (alt örneklenmiş kodlayıcı karelerinde ileriye bakış), yani default_num_lookahead_tokens (set_num_lookahead_tokens() ile ayarlanır). Model/kodlayıcı ileri geçişine (veya generate’e) iletin; Voxtral Realtime’ın num_delay_tokens parametresinin rolünü üstlenir.

decode

< >

( *argsdurations = None**kwargs )

Argümanları decode() fonksiyonuna iletin ve (NeMo kütüphanesindeki gibi) durations sağlanırsa token düzeyindeki zaman damgalarını son işlemeye tabi tutun.

NemotronAsrStreamingEncoderModelOutput

sınıf transformers.NemotronAsrStreamingEncoderModelOutput

< >

( last_hidden_state: typing.Optional[torch.Tensor] = Nonepooler_output: typing.Optional[torch.Tensor] = Nonehidden_states: tuple[torch.Tensor, ...] | None = Noneattentions: tuple[torch.Tensor, ...] | None = Noneattention_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.nemotron_asr_streaming.modeling_nemotron_asr_streaming.NemotronAsrStreamingEncoderCausalConvPaddingCache | None = None )

Parametreler

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.
  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, ek ön eğitim görevi için kullanılan katmanlardan geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katmandan ve tanh aktivasyon fonksiyonundan geçirildikten sonraki halini döndürür. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.
  • hidden_states (tuple(torch.Tensor), isteğe bağlı, geri döndürülür output_hidden_states=True geçildiğinde veya config.output_hidden_states=True) — şu türden bir demet: torch.Tensor (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) ve şekli (batch_size, sequence_length, hidden_size).

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, geri döndürülür output_attentions=True geçildiğinde veya config.output_attentions=True) — şu türden bir demet torch.Tensor (şeklinde, her katman için bir adet) (batch_size, num_heads, sequence_length, sequence_length).

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sıkıştırılmış dizilerde dolgu token indekslerinde dikkat işlemi yapmaktan kaçınmak için maske. Girdi dizisi uzunluğundan farklı olabileceği için döndürülür. Maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.
  • past_key_values (Cache, isteğe bağlı) — Encoder'dan gelen güncellenmiş dikkat K/V kayan pencere önbelleği. Sonraki parça çağrısına iletin.
  • padding_cache (NemotronAsrStreamingEncoderCausalConvPaddingCache, opsiyonel) — Alt örneklemeye dayalı Conv2d katmanlarını ve conformer derinlik içi Conv1d'yi destekleyen birleşik akış önbelleği.

ParakeetEncoderModelOutput sınıfını isteğe bağlı akış önbellekleriyle genişletir. Önbellekler yalnızca use_cache=True olduğunda önbellek duyarlı modeller için doldurulur.

NemotronAsrStreamingRNNTOutput

sınıf transformers.NemotronAsrStreamingRNNTOutput

< >

( last_hidden_state: typing.Optional[torch.Tensor] = Nonepooler_output: typing.Optional[torch.Tensor] = Nonehidden_states: tuple[torch.Tensor, ...] | None = Noneattentions: tuple[torch.Tensor, ...] | None = Noneloss: typing.Optional[torch.Tensor] = Nonelogits: typing.Optional[torch.Tensor] = Nonedecoder_cache: transformers.models.nemotron_asr_streaming.generation_nemotron_asr_streaming.NemotronAsrStreamingRNNTDecoderCache | None = Noneencoder_past_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.nemotron_asr_streaming.modeling_nemotron_asr_streaming.NemotronAsrStreamingEncoderCausalConvPaddingCache | None = None )

encoder_past_key_values (Cache, isteğe bağlı): Ses kodlamada use_cache=True kullanıldığında (cache duyarlı akış) döndürülen, güncellenmiş encoder dikkat K/V kayan pencere önbelleği. Bir sonraki parçanın forward işlemine iletin. padding_cache (NemotronAsrStreamingEncoderCausalConvPaddingCache, isteğe bağlı): Ses kodlamada use_cache=True kullanıldığında döndürülen, güncellenmiş birleşik akış conv önbelleği (alt örneklemeli Conv2d + conformer derinlikli Conv1d). Bir sonraki parçanın forward işlemine iletin.

NemotronAsrStreamingEncoder

sınıf transformers.NemotronAsrStreamingEncoder

< >

( config: NemotronAsrStreamingEncoderConfig )

Parametreler

  • config (NemotronAsrStreamingEncoderConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Fast Conformer mimarisi tabanlı NemotronAsrStreaming Encoder modeli.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneoutput_attention_mask: bool = Trueuse_cache: bool | None = Nonepadding_cache: transformers.models.nemotron_asr_streaming.modeling_nemotron_asr_streaming.NemotronAsrStreamingEncoderCausalConvPaddingCache | None = Nonenum_lookahead_tokens: int | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim)) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri feature_extractor_class kullanılarak elde edilebilir. Ayrıntılar için feature_extractor_class.__call__ bölümüne bakın (processor_class, sesleri işlemek için feature_extractor_class kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • past_key_values (Cache, isteğe bağlı) — Önbelleğe duyarlı akışkan dikkat için kayan pencere K/V önbelleği (config.sliding_window ile oluşturulan DynamicCache).
  • output_attention_mask (bool, isteğe bağlı, varsayılan True) — Çıktı dikkat maskesinin döndürülüp döndürülmeyeceğini belirtir. Yalnızca attention_mask sağlandığında etkilidir.
  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • padding_cache (NemotronAsrStreamingEncoderCausalConvPaddingCache, opsiyonel) — Alt örneklemeye dayalı Conv2d katmanlarını ve conformer derinlik içi Conv1d'yi destekleyen birleşik akış önbelleği.
  • num_lookahead_tokens (int, isteğe bağlı) — Bu ileri geçiş için sağ dikkat bağlamının (alt örneklenmiş kodlayıcı karelerinde ileriye bakma) geçersiz kılınması. Sol bağlam config.sliding_window - 1 ile birleştirilir. Varsayılan değeri config.default_num_lookahead_tokens'tur.

Dönüş değeri

BaseModelOutput veya tuple(torch.Tensor)

Bir BaseModelOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (None) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

NemotronAsrStreamingEncoder forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

>>> from transformers import AutoProcessor, NemotronAsrStreamingEncoder
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/nemotron-speech-streaming-en-0.6b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> encoder = NemotronAsrStreamingEncoder.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> encoder_outputs = encoder(**inputs)

>>> print(encoder_outputs.last_hidden_state.shape)

NemotronAsrStreamingForRNNT

sınıf transformers.NemotronAsrStreamingForRNNT

< >

( config: NemotronAsrStreamingConfig )

Parametreler

  • config (NemotronAsrStreamingConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

RNN-T (Recurrent Neural Network Transducer) başlığına sahip NemotronAsrStreaming Encoder.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_cache: transformers.models.nemotron_asr_streaming.generation_nemotron_asr_streaming.NemotronAsrStreamingRNNTDecoderCache | None = Noneuse_decoder_cache: bool | None = Noneencoder_outputs: transformers.models.nemotron_asr_streaming.modeling_nemotron_asr_streaming.NemotronAsrStreamingEncoderModelOutput | None = Nonelabels: typing.Optional[torch.Tensor] = Nonenum_lookahead_tokens: int | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → NemotronAsrStreamingRNNTOutput or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri feature_extractor_class kullanılarak elde edilebilir. Ayrıntılar için feature_extractor_class.__call__ bölümüne bakın (processor_class, sesleri işlemek için feature_extractor_class kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • decoder_input_ids (torch.LongTensor, şekli (batch_size, 1), opsiyonel) — Tek adımlı çıkarım için decoder giriş token kimlikleri.
  • decoder_cache (NemotronAsrStreamingRNNTDecoderCache, opsiyonel) — Decoder LSTM önbelleği. Boş (blank) tahminlerde LSTM adımını atlamak için yeniden kullanılır.
  • use_decoder_cache (bool, isteğe bağlı) — Hiçbiri sağlanmadığında bir decoder önbelleği ayırmak ve kullanmak için.
  • encoder_outputs (NemotronAsrStreamingEncoderModelOutput, opsiyonel) — Önceden hesaplanmış kodlayıcı çıktıları (last_hidden_state, pooler_output, …).
  • labels (torch.Tensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler [0, ..., config.vocab_size] aralığında olmalı ya da -100 olmalı (input_ids docstring'ine bakın). Endeksleri -100 olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri [0, ..., config.vocab_size] aralığında olan tokenlar için hesaplanır.
  • num_lookahead_tokens (int, isteğe bağlı) — Kodlayıcıya iletilen sağ dikkat bağlamı (alt örneklenmiş kodlayıcı çerçevelerinde ileriye bakış). Varsayılan değeri config.encoder_config.default_num_lookahead_tokens'tür.

Dönüş değeri

NemotronAsrStreamingRNNTOutput veya tuple(torch.Tensor)

A NemotronAsrStreamingRNNTOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (None) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

NemotronAsrStreamingForRNNT forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • encoder_past_key_values (Cache, isteğe bağlı) — Ses kodlanırken use_cache=True kullanıldığında (önbellek duyarlı akış) döndürülen, güncellenmiş kodlayıcı dikkat K/V kayan pencere önbelleği. Bir sonraki parçanın ileri geçişine iletin.
  • padding_cache (NemotronAsrStreamingEncoderCausalConvPaddingCache, opsiyonel) — Sesin use_cache=True ile kodlanmasında döndürülen, güncellenmiş birleşik akış convolution önbelleği (alt örneklemeli Conv2d + conformer derinlik içi Conv1d). Bir sonraki parçanın ileri geçişine iletin.

Örnek:

>>> from transformers import AutoProcessor, NemotronAsrStreamingForRNNT
>>> from datasets import load_dataset, Audio

>>> model_id = "nvidia/nemotron-speech-streaming-en-0.6b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = NemotronAsrStreamingForRNNT.from_pretrained(model_id)

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))

>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)

generate

< >

( inputs = Nonegeneration_config = None**kwargs )

Update on GitHub