Transformers documentation

Audio Flamingo 3

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 2025-07-10 tarihinde HF papers'ta yayımlandı ve 2025-11-12 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

Audio Flamingo 3

FlashAttention SDPA

Genel Bakış

Audio Flamingo 3 (AF3), konuşma, çevresel sesler ve müzik üzerinde sağlam anlama ve akıl yürütme için tasarlanmış, tamamen açık kaynaklı büyük bir ses-dil modelidir. AF3, Whisper tarzı bir ses kodlayıcıyı nedensel bir dil modeliyle eşleştirir ve yerinde değiştirme (replace-in-place) tabanlı ses-metin füzyonu gerçekleştirir: işleyici, havuzlama sonrası ses karelerini ayrı bir yer tutucu (placeholder) belirteciyle hizalar ve model, ileri geçiş sırasında bu belirteç yuvalarını projekte edilmiş ses gömme (embedding) değerleriyle değiştirir.

Model kontrol noktası şu adreste kullanılabilir: nvidia/audio-flamingo-3-hf

Öne çıkanlar:

  • Konuşma, ses ve müzik için birleşik ses kodlayıcı.
  • Pencereleme ve havuzlama sonrası hizalama ile uzun ses desteği (en fazla 10 dakika). Model, sesi 30 saniyelik pencerelerde işler ve 20 pencere (toplam 10 dakika) ile kesin bir sınıra sahiptir. 10 dakikadan uzun sesler kırpılır.
  • Ses yer tutucu tokenlarını ses gömme değerleriyle değiştirerek dizi uzunluğunu koruyan deterministik füzyon.

Bu model Lasha Koroshinadze ve Eric Bezzam tarafından katkıda bulunmuştur.

Makale

Audio Flamingo 3: Tamamen Açık Büyük Ses Dil Modelleriyle Ses Zekâsını İleri Taşıma
A. Goel, S. Ghosh, J. Kim, S. Kumar, Z. Kong, S. Lee, C.-H. H. Yang, R. Duraiswami, D. Manocha, R. Valle, B. Catanzaro
NVIDIA ve University of Maryland
Proje: https://research.nvidia.com/labs/adlr/AF3/

Kullanım

Sesli Talimat Modu

Model, çok turlu etkileşimler dahil olmak üzere ses-metin talimatlarını destekler ve tümü toplu olarak işlenir.

➡️ ses + metin talimatı

from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor


model_id = "nvidia/audio-flamingo-3-hf"
processor = AutoProcessor.from_pretrained(model_id)
model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")

conversation = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Transcribe the input speech."},
            {"type": "audio", "path": "https://huggingface.co/datasets/nvidia/AudioSkills/resolve/main/assets/WhDJDIviAOg_120_10.mp3"},
        ],
    }
]

inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
).to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=500)

decoded_outputs = processor.decode(outputs[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(decoded_outputs)

➡️ çok turlu:

from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor


model_id = "nvidia/audio-flamingo-3-hf"
processor = AutoProcessor.from_pretrained(model_id)
model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")

conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "Instruction: How does the tone of female speech change throughout the audio? Choose the correct option among the options below: (A) Sad to happy (B) Happy to sad (C) Neutral to happy (D) Happy to neutral.",
            },
            {"type": "audio", "path": "https://huggingface.co/datasets/nvidia/AudioSkills/resolve/main/assets/000000786159.31.wav"},
        ],
    },
    {
        "role": "assistant",
        "content": [{"type": "text", "text": "(A) Sad to happy"}],
    },
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Why do you think so?"},
        ],
    },
]

inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
).to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=500)

decoded_outputs = processor.decode(outputs[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(decoded_outputs)

➡️ yalnızca metin:

from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor


model_id = "nvidia/audio-flamingo-3-hf"
processor = AutoProcessor.from_pretrained(model_id)
model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")

conversation = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "What is the capital of France?"},
        ],
    }
]

inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
).to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=500)

decoded_outputs = processor.decode(outputs[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(decoded_outputs)

➡️ yalnızca ses:

from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor


model_id = "nvidia/audio-flamingo-3-hf"
processor = AutoProcessor.from_pretrained(model_id)
model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")

conversation = [
    {
        "role": "user",
        "content": [
            {"type": "audio", "path": "https://huggingface.co/datasets/nvidia/AudioSkills/resolve/main/assets/WhDJDIviAOg_120_10.mp3"},
        ],
    }
]

inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
).to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=500)

decoded_outputs = processor.decode(outputs[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(decoded_outputs)

➡️ toplu çıkarım!

from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor


model_id = "nvidia/audio-flamingo-3-hf"
processor = AutoProcessor.from_pretrained(model_id)
model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")

conversations = [
    [
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Transcribe the input speech."},
                {
                    "type": "audio",
                    "path": "https://huggingface.co/datasets/nvidia/AudioSkills/resolve/main/assets/t_837b89f2-26aa-4ee2-bdf6-f73f0dd59b26.wav",
                },
            ],
        }
    ],
    [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "This track feels really peaceful and introspective. What elements make it feel so calming and meditative?",
                },
                {"type": "audio", "path": "https://huggingface.co/datasets/nvidia/AudioSkills/resolve/main/assets/FPSbCAANfbJLVSwD.mp3"},
            ],
        }
    ],
]

inputs = processor.apply_chat_template(
    conversations,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
).to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=500)

decoded_outputs = processor.decode(outputs[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(decoded_outputs)

➡️ Eğitim:

transkripsiyon
sohbet şablonu

Hedef transkriptleri transcription ile apply_transcription_request fonksiyonuna iletin. Bunlar asistan turu olarak yazılır ve kaybı hesaplamak için labels döndürülür.

from datasets import Audio, load_dataset
from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor


model_id = "nvidia/audio-flamingo-3-hf"
NUM_SAMPLES = 2

processor = AutoProcessor.from_pretrained(model_id)
model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")
model.train()

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))
speech_samples = [el["array"] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]

inputs = processor.apply_transcription_request(speech_samples, transcription=text_samples)
inputs.to(model.device, dtype=model.dtype)

loss = model(**inputs).loss
print("Loss:", loss.item())
loss.backward()

➡️ transkripsiyon kısayolu

from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor


model_id = "nvidia/audio-flamingo-3-hf"
processor = AutoProcessor.from_pretrained(model_id)
model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")

inputs = processor.apply_transcription_request(audio="https://huggingface.co/datasets/nvidia/AudioSkills/resolve/main/assets/t_837b89f2-26aa-4ee2-bdf6-f73f0dd59b26.wav").to(model.device, dtype=model.dtype)

outputs = model.generate(**inputs, max_new_tokens=500)
decoded_outputs = processor.decode(outputs[:, inputs.input_ids.shape[1]:], skip_special_tokens=True, strip_prefix=True)

print(decoded_outputs)

Model, The spoken content of the audio is "<text>". gibi asistan çerçevelemesiyle başlatılmış transkripsiyonlar üretmek üzere eğitilir. Sabit asistan cümlesini ve çevresindeki tırnak işaretlerini kaldırarak yalnızca transkripsiyonun kalmasını sağlamak için strip_prefix=True parametresini (yukarıda gösterildiği gibi) kullanın.

Modelin çalışma şekli

Mimari

  • AudioFlamingo3Encoder Whisper tarzı özellik çıkarıcı + kodlayıcı → zaman üzerinde ortalama havuzlama (adım 2) → LayerNorm. Havuzlama sonrası hızda çerçevelere göre gizli durumlar üretir.

  • AudioFlamingo3MultiModalProjector Kodlayıcı özelliklerini dil modelinin gizli boyutuna eşleyen küçük bir MLP.

  • AudioFlamingo3ForConditionalGeneration Her ses yer tutucu belirteç yuvasının, yerinde, bir ses çerçevesi gömme ile değiştirildiği metin gömmelerini kabul eden nedensel bir dil modelidir. Füzyon işlemi, dizi uzunluğunda herhangi bir değişiklik yapmaz.

İşlemci düzeyinde hizalama

  1. Her ham dalga formu, özellik çıkarıcının chunk_length (saniye) ve sampling_rate (Hz) değerlerine göre sabit uzunluklu pencerelere bölünür.
  2. Her pencere için işlemci, kodlayıcının üreteceği havuzlama sonrası kare sayısını post_pool_len (conv/pool zamanlamasıyla eşleşen) hesaplar.
  3. İşleyici, ses yer tutucu belirteci, tüm pencerelerdeki havuzlama sonrası toplam kare sayısına göre genişletir.
  4. Model, daha sonra bu token konumlarını ilgili projeksiyonlu ses gömme değerleriyle değiştirir.

Kullanım kalıpları

Transkripsiyon kısayolu

Otomatik konuşma tanıma için her seferinde varsayılan talimatı yazmak yerine apply_transcription_request() çağrısını kullanabilirsiniz:

inputs = processor.apply_transcription_request(audio=audio_array)

Ses yer tutucu işleme korunduğu halde talimatı özelleştirmek için prompt="Transcribe the input speech." (veya toplu ses için talimat listesi) geçirin.

audio, bellek içi dizileri, yerel dosya yollarını veya URL'leri kabul eder. İşleyici anahtar kelime argümanları (text_kwargs, audio_kwargs vb.) iletilir; bu sayede processor(...) çağrısında olduğu gibi dolgu veya gerginlik biçimlerini ayarlayabilirsiniz.

Uzun ses ve pencereleme

Önemli: Maksimum ses süresi 10 dakikadır. Bundan uzun sesler kırpılır.

  • Varsayılan yapılandırma, 16 kHz mono'da 30 saniyelik pencereleri işler.

  • İşleyici, örnek başına 20 pencere gibi katı bir sınır uygular; bu da 10 dakikalık bir sesin (20 pencere × 30 saniye) maksimum uzunluğuna karşılık gelir.

  • Her pencere için:

    • mel_len, dolgulu mel uzunluğudur.
    • Bir conv yığını, conv_output_len = (mel_len - 1) // 2 + 1 olduğu için süreyi azaltır.
    • Pencere başına havuzlama sonrası kareler: post_pool_len = (conv_output_len - 2) // 2 + 1.
    • Bir ses yer tutucu belirteci, tüm pencerelerdeki post_pool_len değerlerinin toplamına genişletilir.

Dolgu, dikkat ve önbellekleme

  • Sol dolgu ve sağ dolgu Bir partide karışık uzunlukta istemlerle üretim için genellikle sol dolgu tercih edilir. Eğitim için sağ dolgu yaygındır; AF3’ün füzyon mekanizması kendisi dolgu bağımsızdır çünkü yerinde değiştirme yapar.
  • Dikkat maskeleri İşleyici, attention_mask (metin) ve input_features_mask (ses) döndürür. Model, kodlayıcının havuzlama öncesi ekseninde, dolgu konumlarında negatif sonsuz değer içeren dahili bir 4 boyutlu maske oluşturur.
  • Önbellekleme Üretim sırasında input_features ve input_features_mask yalnızca ilk adımda iletilir. Sonraki adımlar, dil modelinden önbelleğe alınmış anahtar/değerleri kullanır.

Sorun Giderme

  • Toplu işleme sırasında boş veya kesilmiş çıktılar Toplu üretimde sol dolguyu kullanın ve hızlı başlangıçta gösterildiği gibi, istem uzunluğundan sonra yalnızca yeni jetonları çözümlen.

AudioFlamingo3Config

sınıf transformers.AudioFlamingo3Config

< >

( 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 = 151669projector_hidden_act: str = 'gelu'projector_bias: bool = True )

Parametreler

  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Ses omurgasının yapılandırma nesnesi veya sözlüğü.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Metin omurgasının yapılandırma nesnesi veya sözlüğü.
  • audio_token_id (int, isteğe bağlı, varsayılan 151669) — Girdi sesinin yer tutucusu olarak kullanılan ses belirteç dizini.
  • projector_hidden_act (str, isteğe bağlı, varsayılan gelu) — Çok modlu projeksiyoncu tarafından kullanılan aktivasyon fonksiyonu.
  • projector_bias (bool, isteğe bağlı, varsayılan True) — Çok modlu projeksiyonda sapma (bias) kullanılıp kullanılmayacağı.

Bu, bir AudioFlamingo3Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Audioflamingo3 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, nvidia/audio-flamingo-3-hf ile benzer bir yapılandırmaya yol açar.

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 AudioFlamingo3ForConditionalGeneration, AudioFlamingo3Config, AudioFlamingo3EncoderConfig, Qwen2Config

>>> # Initializing an AudioFlamingo3Encoder config
>>> audio_config = AudioFlamingo3EncoderConfig()

>>> # Initializing a Qwen2 config
>>> text_config = Qwen2Config()

>>> # Initializing an AudioFlamingo3 configuration
>>> configuration = AudioFlamingo3Config(audio_config, text_config)

>>> # Initializing a model from the audioflamingo3 style configuration
>>> model = AudioFlamingo3ForConditionalGeneration(configuration)

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

AudioFlamingo3EncoderConfig

sınıf transformers.AudioFlamingo3EncoderConfig

< >

( 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 = Nonenum_mel_bins: int = 128num_hidden_layers: int = 32num_attention_heads: int = 20intermediate_size: int = 5120layerdrop: float | int = 0.0activation_function: str = 'gelu'hidden_size: int = 1280dropout: float | int = 0.0attention_dropout: float | int = 0.0activation_dropout: float | int = 0.0initializer_range: float = 0.02scale_embedding: bool = Falsemax_source_positions: int = 1500 )

Parametreler

  • num_mel_bins (int, isteğe bağlı, varsayılan 128) — Giriş başına kullanılan mel özellik sayısı. AutoFeatureExtractor sınıfında kullanılan değerle eşleşmelidir.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 32) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 20) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • intermediate_size (int, isteğe bağlı, varsayılan 5120) — MLP temsil boyutu.
  • layerdrop (Union[float, int], isteğe bağlı, varsayılan 0.0) — LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın.
  • activation_function (str, isteğe bağlı, varsayılan gelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • hidden_size (int, isteğe bağlı, varsayılan 1280) — Gizli temsillerin boyutu.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tüm dropout katmanları için oran.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • activation_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.
  • 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ı.
  • scale_embedding (bool, isteğe bağlı, varsayılan False) — Gömme değerlerinin sqrt(d_model) ile bölünerek ölçeklendirilip ölçeklendirilmeyeceğini belirtir.
  • max_source_positions (int, isteğe bağlı, varsayılan 1500) — Bu modelin kullanılabileceği log-mel filtre bankası özelliklerinin maksimum dizi uzunluğu.

Bu, bir AudioFlamingo3Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Audioflamingo3 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, nvidia/audio-flamingo-3-hf ile benzer bir yapılandırmaya yol açar.

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 AudioFlamingo3EncoderConfig, AudioFlamingo3Encoder

>>> # Initializing an AudioFlamingo3EncoderConfig
>>> configuration = AudioFlamingo3EncoderConfig()

>>> # Initializing an AudioFlamingo3Encoder (with random weights)
>>> model = AudioFlamingo3Encoder(configuration)

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

AudioFlamingo3Processor

sınıf transformers.AudioFlamingo3Processor

< >

( feature_extractortokenizerchat_template = Noneaudio_token = '<sound>'default_transcription_prompt = 'Transcribe the input speech.'max_audio_len = 600 )

Parametreler

  • feature_extractor (WhisperFeatureExtractor) — Özellik çıkarıcı zorunlu bir girdidir.
  • tokenizer (Qwen2Tokenizer) — Tokenizer zorunlu bir girdidir.
  • chat_template (str) — Bir sohbet içindeki mesaj listelerini tokenize edilebilir bir dizeye dönüştürmek için kullanılan bir Jinja şablonu.
  • audio_token (Optional[str], isteğe bağlı, varsayılan "<sound>") — Sohbet şablonunda ses girdilerini temsil etmek için kullanılan özel jeton.
  • default_transcription_prompt (str, isteğe bağlı, varsayılan "Transcribe the input speech.") — Transkripsiyon istekleri uygulanırken transkripsiyon görevleri için kullanılacak varsayılan istem.
  • max_audio_len (int, isteğe bağlı, varsayılan 600) — Saniye cinsinden ses dizilerinin maksimum uzunluğu. Bundan uzun sesler kırpılır.

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

AudioFlamingo3Processor, WhisperFeatureExtractor ve Qwen2Tokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~WhisperFeatureExtractor ve ~Qwen2Tokenizer belgelerini inceleyin.

__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.audioflamingo3.processing_audioflamingo3.AudioFlamingo3ProcessorKwargs'> ) → BatchFeature

Parametreler

  • text (Union[str, list[str]]) — 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.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], isteğe bağlı) — 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.
  • output_labels (bool, isteğe bağlı, varsayılan=False) — Eğitim için etiketlerin döndürülüp döndürülmeyeceğini belirtir.
  • 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

Tokenize edilmiş metin (input_ids, attention_mask) ve ses özellikleri (input_features, input_features_mask) içeren bir sözlük.

AudioFlamingo3Encoder

sınıf transformers.AudioFlamingo3Encoder

< >

( config: AudioFlamingo3EncoderConfig )

Parametreler

  • config (AudioFlamingo3EncoderConfig) — 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.

Üstünde herhangi bir başlık veya projeksiyon olmadan AudioFlamingo3'ün ses 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: Tensorinput_features_mask: typing.Optional[torch.Tensor] = None**kwargs )

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, feature_size, sequence_length)) — Ham seslerden çıkarılan Log-Mel özellikleri. Bu özellikleri dalga formu girdisinden hesaplamak ve doldurmak için işlemci/özellik çıkarıcıyı kullanın.
  • input_features_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) özellik indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

AudioFlamingo3Model

sınıf transformers.AudioFlamingo3Model

< >

( config: AudioFlamingo3Config )

Parametreler

  • config (AudioFlamingo3Config) — 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.

AudioFlamingo3 modeli (ince ayarlı Whisper kodlayıcı, çok modlu projeksiyoncu, Qwen2 dil modeli), dil modelleme kafası olmadan.

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_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'> ) → AudioFlamingo3ModelOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • 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 WhisperFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için WhisperFeatureExtractor.call() bölümüne bakın (AudioFlamingo3Processor, sesleri işlemek için WhisperFeatureExtractor kullanır).
  • input_features_mask (torch.Tensor, şekli (batch_size, feature_sequence_length)) — Doldurma (padding) özellik indeksleri üzerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske.
  • 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_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • 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).

Dönüş değeri

AudioFlamingo3ModelOutputWithPast veya tuple(torch.Tensor)

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

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

  • audio_hidden_states (torch.Tensor, isteğe bağlı) — Projeksiyonlanmış ses gizli durumları.

AudioFlamingo3ForConditionalGeneration

sınıf transformers.AudioFlamingo3ForConditionalGeneration

< >

( config: AudioFlamingo3Config )

Parametreler

  • config (AudioFlamingo3Config) — 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.

İnce ayarlanmış bir Whisper kodlayıcı, çok modlu bir projeksiyon ve bir Qwen2 dil modelinden oluşan AudioFlamingo3 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_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'> ) → AudioFlamingo3CausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • 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 WhisperFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için WhisperFeatureExtractor.call() bölümüne bakın (AudioFlamingo3Processor, sesleri işlemek için WhisperFeatureExtractor kullanır).
  • input_features_mask (torch.Tensor, şekli (batch_size, feature_sequence_length)) — Doldurma (padding) özellik indeksleri üzerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske.
  • 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_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler.
  • 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).
  • logits_to_keep (Union[int, torch.Tensor], isteğe bağlı, varsayılan 0) — int ise, son logits_to_keep token için logits hesaplanır. 0 ise, tüm input_ids için logits hesaplanır (özel durum). Üretim için yalnızca son token logits'leri gereklidir ve bunların yalnızca o token için hesaplanması bellek tasarrufu sağlar; bu, uzun diziler veya büyük sözlük boyutu için oldukça önemli hale gelir. torch.Tensor ise, dizi uzunluğu boyutundaki korunacak indekslere karşılık gelen 1B olmalıdır. Bu, paketlenmiş tensor biçimini (batch ve dizi uzunluğu için tek boyut) kullanırken faydalıdır.

Dönüş değeri

AudioFlamingo3CausalLMOutputWithPast veya tuple(torch.Tensor)

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

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

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

  • logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları.

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache örneğidir.

  • 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 (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir 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.

  • audio_hidden_states (torch.Tensor, isteğe bağlı) — Projeksiyon sonrası ses kodlayıcısının gizli durumları.

Örnek:

>>> from transformers import AudioFlamingo3ForConditionalGeneration, AutoProcessor

>>> model_id = "nvidia/audio-flamingo-3-hf"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = AudioFlamingo3ForConditionalGeneration.from_pretrained(model_id, device_map="auto")

get_audio_features

< >

( input_featuresinput_features_mask**kwargs )

Update on GitHub