Transformers documentation

SeamlessM4T-v2

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

and get access to the augmented documentation experience

to get started

Model ini dipublikasikan di HF papers pada 2023-12-08 dan disumbangkan ke Hugging Face Transformers pada 2023-11-30.

SDPA

SeamlessM4T-v2

Ikhtisar

Model SeamlessM4T-v2 diusulkan dalam Seamless: Multilingual Expressive and Streaming Speech Translation oleh tim Seamless Communication dari Meta AI.

SeamlessM4T-v2 adalah kumpulan model yang dirancang untuk menyediakan terjemahan berkualitas tinggi, memungkinkan orang dari berbagai komunitas linguistik untuk berkomunikasi dengan mudah melalui ucapan dan teks. Ini merupakan peningkatan dari versi sebelumnya. Untuk detail lebih lanjut mengenai perbedaan antara v1 dan v2, silakan merujuk ke bagian Perbedaan dengan SeamlessM4T-v1.

SeamlessM4T-v2 memungkinkan berbagai tugas tanpa bergantung pada model terpisah:

  • Terjemahan ucapan ke ucapan (S2ST)
  • Terjemahan ucapan-ke-teks (S2TT)
  • Terjemahan teks-ke-bicara (T2ST)
  • Terjemahan teks-ke-teks (T2TT)
  • Pengakuan ucapan otomatis (ASR)

SeamlessM4Tv2Model dapat melakukan semua tugas di atas, tetapi setiap tugas juga memiliki sub-model khusus masing-masing.

Abstrak dari makalah tersebut adalah sebagai berikut:

Perkembangan terbaru dalam penerjemahan suara otomatis telah memperluas cakupan bahasa secara drastis, meningkatkan kemampuan multimodal, dan memungkinkan berbagai tugas serta fungsionalitas. Meskipun demikian, sistem penerjemahan suara otomatis berskala besar saat ini masih kekurangan fitur-fitur penting yang membuat komunikasi yang dimediasi mesin terasa mulus dibandingkan dengan dialog antarmanusia. Dalam karya ini, kami memperkenalkan keluarga model yang memungkinkan penerjemahan ekspresif dan multibahasa secara end-to-end dalam mode streaming. Pertama, kami menyumbangkan versi yang ditingkatkan dari model multibahasa dan multimodal masif SeamlessM4T—SeamlessM4T v2. Model yang lebih baru ini, yang mengintegrasikan kerangka UnitY2 yang diperbarui, dilatih pada lebih banyak data bahasa beresourserendah. Versi yang diperluas dari SeamlessAlign menambahkan 114.800 jam data yang diselaraskan secara otomatis untuk total 76 bahasa. SeamlessM4T v2 menyediakan fondasi bagi dua model terbaru kami, SeamlessExpressive dan SeamlessStreaming. SeamlessExpressive memungkinkan penerjemahan yang mempertahankan gaya vokal dan prosodi. Dibandingkan dengan upaya sebelumnya dalam penelitian suara ekspresif, karya kami mengatasi aspek-aspek prosodi tertentu yang kurang dieksplorasi, seperti laju bicara dan jeda, sambil juga mempertahankan gaya suara seseorang. Adapun SeamlessStreaming, model kami memanfaatkan mekanisme Efficient Monotonic Multihead Attention (EMMA) untuk menghasilkan penerjemahan target berlatensi rendah tanpa menunggu tuturan sumber yang lengkap. Sebagai yang pertama dari jenisnya, SeamlessStreaming memungkinkan penerjemahan suara-ke-suara/teks secara simultan untuk beberapa bahasa sumber dan target. Untuk memahami kinerja model-model ini, kami menggabungkan versi baru dan dimodifikasi dari metrik otomatis yang ada untuk mengevaluasi prosodi, latensi, dan ketahanan. Untuk evaluasi manusia, kami mengadaptasi protokol yang ada yang disesuaikan untuk mengukur atribut paling relevan dalam pelestarian makna, naturalitas, dan ekspresivitas. Untuk memastikan model kami dapat digunakan secara aman dan bertanggung jawab, kami mengimplementasikan upaya red-teaming pertama yang diketahui untuk penerjemahan mesin multimodal, sistem untuk deteksi dan mitigasi toksisitas yang ditambahkan, evaluasi sistematis bias gender, dan mekanisme watermarking lokal yang tidak terdengar yang dirancang untuk meredam dampak deepfake. Akibatnya, kami menggabungkan komponen utama dari SeamlessExpressive dan SeamlessStreaming untuk membentuk Seamless, sistem pertama yang tersedia secara publik yang membuka komunikasi lintas bahasa yang ekspresif secara real-time. Secara keseluruhan, Seamless memberikan pandangan penting tentang fondasi teknis yang diperlukan untuk mengubah Universal Speech Translator dari konsep fiksi ilmiah menjadi teknologi dunia nyata. Terakhir, kontribusi dalam karya ini—termasuk model, kode, dan detektor watermark—dipublikasikan dan dapat diakses melalui tautan di bawah ini.

Penggunaan

Pada contoh berikut, kita akan memuat sampel audio Arab dan sampel teks Inggris, lalu mengonversinya menjadi ucapan Rusia dan teks Prancis.

Pertama, muat processor dan checkpoint model:

from transformers import AutoProcessor, SeamlessM4Tv2Model


processor = AutoProcessor.from_pretrained("facebook/seamless-m4t-v2-large")
model = SeamlessM4Tv2Model.from_pretrained("facebook/seamless-m4t-v2-large", device_map="auto")

Anda dapat menggunakan model ini secara mulus pada teks atau audio, untuk menghasilkan teks terjemahan atau audio terjemahan.

Berikut adalah cara menggunakan processor untuk memproses teks dan audio:

# let's load an audio sample from an Arabic speech corpus
from datasets import load_dataset


dataset = load_dataset("halabi2016/arabic_speech_corpus", split="test", streaming=True)
audio_sample = next(iter(dataset))["audio"]

# now, process it
audio_inputs = processor(audio=audio_sample["array"], return_tensors="pt").to(model.device)

# now, process some English text as well
text_inputs = processor(text = "Hello, my dog is cute", src_lang="eng", return_tensors="pt").to(model.device)

Bicara

SeamlessM4Tv2Model dapat menghasilkan teks atau ucapan secara seamless dengan sedikit atau tanpa perubahan. Mari kita targetkan terjemahan suara ke bahasa Rusia:

audio_array_from_text = model.generate(**text_inputs, tgt_lang="rus")[0].cpu().numpy().squeeze()
audio_array_from_audio = model.generate(**audio_inputs, tgt_lang="rus")[0].cpu().numpy().squeeze()

Dengan kode yang pada dasarnya sama, saya telah menerjemahkan teks bahasa Inggris dan ucapan bahasa Arab menjadi sampel ucapan bahasa Rusia.

Teks

Demikian pula, Anda dapat menghasilkan teks terjemahan dari file audio atau dari teks dengan model yang sama. Anda hanya perlu meneruskan generate_speech=False ke SeamlessM4Tv2Model.generate(). Kali ini, mari kita terjemahkan ke bahasa Prancis.

# from audio
output_tokens = model.generate(**audio_inputs, tgt_lang="fra", generate_speech=False)
translated_text_from_audio = processor.decode(output_tokens[0].tolist()[0], skip_special_tokens=True)

# from text
output_tokens = model.generate(**text_inputs, tgt_lang="fra", generate_speech=False)
translated_text_from_text = processor.decode(output_tokens[0].tolist()[0], skip_special_tokens=True)

Tips

1. Gunakan model khusus

SeamlessM4Tv2Model adalah model tingkat atas di Transformers untuk menghasilkan ucapan dan teks, tetapi Anda juga dapat menggunakan model khusus yang menjalankan tugas tersebut tanpa komponen tambahan, sehingga mengurangi jejak memori. Sebagai contoh, Anda dapat mengganti cuplikan kode generasi audio-ke-audio dengan model yang khusus untuk tugas S2ST; sisanya adalah kode yang persis sama:

from transformers import SeamlessM4Tv2ForSpeechToSpeech


model = SeamlessM4Tv2ForSpeechToSpeech.from_pretrained("facebook/seamless-m4t-v2-large", device_map="auto")

Atau Anda dapat mengganti cuplikan kode generasi teks-ke-teks dengan model yang khusus untuk tugas T2TT, Anda hanya perlu menghapus generate_speech=False.

from transformers import SeamlessM4Tv2ForTextToText


model = SeamlessM4Tv2ForTextToText.from_pretrained("facebook/seamless-m4t-v2-large", device_map="auto")

Silakan coba juga SeamlessM4Tv2ForSpeechToText dan SeamlessM4Tv2ForTextToSpeech.

2. Ubah identitas pembicara

Anda dapat mengubah pembicara yang digunakan untuk sintesis ucapan dengan argumen speaker_id. Beberapa speaker_id bekerja lebih baik daripada yang lain untuk beberapa bahasa!

3. Ubah strategi generasi

Anda dapat menggunakan berbagai strategi generasi untuk generasi teks, misalnya .generate(input_ids=input_ids, text_num_beams=4, text_do_sample=True) yang akan melakukan dekoding beam-search multinomial pada model teks. Perhatikan bahwa generasi ucapan hanya mendukung greedy - secara default - atau sampling multinomial, yang dapat digunakan dengan misalnya .generate(..., speech_do_sample=True, speech_temperature=0.6).

4. Generate ucapan dan teks secara bersamaan

Gunakan return_intermediate_token_ids=True dengan SeamlessM4Tv2Model untuk mengembalikan baik ucapan maupun teks!

Arsitektur model

SeamlessM4T-v2 memiliki arsitektur serbaguna yang menangani generasi teks dan ucapan secara berurutan dengan mulus. Konfigurasi ini terdiri dari dua model sequence-to-sequence (seq2seq). Model pertama menerjemahkan modalitas input menjadi teks terjemahan, sedangkan model kedua menghasilkan token ucapan, yang dikenal sebagai “unit tokens,” dari teks terjemahan tersebut.

Setiap modalitas memiliki encoder khusus dengan arsitektur yang unik. Selain itu, untuk output ucapan, sebuah vocoder yang terinspirasi dari arsitektur HiFi-GAN ditempatkan di atas model seq2seq kedua.

Perbedaan dengan SeamlessM4T-v1

Arsitektur versi baru ini berbeda dari versi pertama dalam beberapa aspek:

Perbaikan pada model jalur kedua

Model seq2seq kedua, yang disebut model text-to-unit, kini bersifat non-auto regressive, artinya model ini menghitung unit dalam satu kali forward pass. Pencapaian ini dimungkinkan oleh:

  • penggunaan character-level embeddings, yang berarti setiap karakter dari teks terjemahan yang diprediksi memiliki embedding-nya sendiri, yang kemudian digunakan untuk memprediksi unit token.
  • penggunaan durasi prediktor perantara, yang memprediksi durasi ucapan pada tingkat karakter pada teks terjemahan yang diprediksi.
  • penggunaan decoder teks-ke-unit baru yang mencampurkan konvolusi dan self-attention untuk menangani konteks yang lebih panjang.

Perbedaan pada encoder ucapan

Speech encoder, yang digunakan selama proses generasi pass pertama untuk memprediksi teks terjemahan, terutama berbeda dari speech encoder sebelumnya melalui mekanisme-mekanisme berikut:

  • penggunaan chunked attention mask untuk mencegah perhatian melintasi chunk, sehingga memastikan bahwa setiap posisi hanya memperhatikan posisi di dalam chunk-nya sendiri dan sejumlah chunk sebelumnya yang tetap.
  • penggunaan relative position embeddings yang hanya mempertimbangkan jarak antar elemen sekuens, bukan posisi absolut. Silakan lihat Self-Attention with Relative Position Representations (Shaw et al.) untuk detail lebih lanjut.
  • penggunaan konvolusi kedalaman kausal (causal depth-wise convolution) alih-alih konvolusi non-kausal.

Proses generasi

Berikut cara kerja proses generasi:

  • Teks atau ucapan yang diinput diproses melalui encoder spesifiknya.
  • Decoder membuat token teks dalam bahasa yang diinginkan.
  • Jika diperlukan, model seq2seq kedua menghasilkan unit token dengan cara non auto-regressive.
  • Token unit ini kemudian diteruskan melalui vocoder akhir untuk menghasilkan ucapan yang sebenarnya.

Model ini disumbangkan oleh ylacombe. Kode aslinya dapat ditemukan di sini.

SeamlessM4Tv2Model

kelas transformers.SeamlessM4Tv2Model

< >

( config: SeamlessM4Tv2Configcurrent_modality = 'text' )

Parameter

  • config (SeamlessM4Tv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.
  • current_modality (str, opsional, default "text") — Modality default. Digunakan untuk menginisialisasi model.

Model transformer asli SeamlessM4Tv2 yang dapat digunakan untuk semua tugas yang tersedia (S2ST, S2TT, T2TT, T2ST).

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

generate

< >

( input_ids: typing.Optional[torch.Tensor] = Noneinput_features: typing.Optional[torch.Tensor] = Nonereturn_intermediate_token_ids: bool | None = Nonetgt_lang: str | None = Nonespeaker_id: int | None = 0generate_speech: bool | None = True**kwargs ) → Union[SeamlessM4Tv2GenerationOutput, tuple[Tensor], ModelOutput]

Parameter

  • input_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan SeamlessM4TTokenizer atau SeamlessM4TProcessor. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detail. Apa itu input ID?

    Indeks dapat diperoleh menggunakan SeamlessM4TTokenizer atau SeamlessM4TProcessor. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, num_banks), opsional) — Fitur audio masukan. Nilai ini seharusnya dikembalikan oleh kelas SeamlessM4TFeatureExtractor atau kelas SeamlessM4TProcessor. Lihat SeamlessM4TFeatureExtractor.call() untuk detailnya.
  • return_intermediate_token_ids (bool, opsional) — Jika True, juga mengembalikan teks dan unit token yang dihasilkan secara intermediat. Atur ke True jika Anda juga ingin mendapatkan teks terjemahan bersama dengan audio. Perhatikan bahwa jika generate_speech=False, parameter ini akan diabaikan dan token teks yang dikembalikan.
  • tgt_lang (str, opsional) — Bahasa yang akan digunakan sebagai bahasa target untuk penerjemahan.
  • speaker_id (int, opsional, default 0) — ID pembicara yang digunakan untuk sintesis ucapan. Harus lebih kecil dari config.vocoder_num_spkrs.
  • generate_speech (bool, opsional, default True) — Jika False, hanya akan mengembalikan token teks dan tidak akan menghasilkan ucapan.
  • kwargs (opsional) — Kamus sisa argumen kata kunci yang akan diteruskan ke GenerationMixin.generate(). Argumen kata kunci ada dua jenis:
    • Tanpa prefiks, parameter tersebut akan dimasukkan sebagai **kwargs untuk metode generate dari setiap sub-model, kecuali decoder_input_ids yang hanya diteruskan melalui komponen teks.
    • Dengan awalan text_ atau speech_, mereka akan menjadi input untuk metode generate dari model teks dan model ucapan, masing-masing. Awalan ini memiliki prioritas lebih tinggi daripada kata kunci tanpa awalan.

    Artinya, Anda dapat, misalnya, menentukan strategi generasi untuk satu generasi tetapi tidak untuk yang lain.

Mengembalikan

Union[SeamlessM4Tv2GenerationOutput, tuple[Tensor], ModelOutput]

  • Jika generate_speech dan return_intermediate_token_ids, mengembalikan SeamlessM4Tv2GenerationOutput.
  • Jika generate_speech dan tidak return_intermediate_token_ids, mengembalikan tuple yang terdiri dari waveform dengan bentuk (batch_size, sequence_length) dan waveform_lengths yang memberikan panjang setiap sampel.
  • Jika generate_speech=False, akan mengembalikan ModelOutput.

Membuat id token terjemahan dan/atau waveform audio terjemahan.

Metode ini secara berurutan memanggil fungsi .generate dari dua sub-model yang berbeda. Anda dapat menentukan argumen kata kunci pada dua tingkat yang berbeda: argumen umum yang akan diteruskan ke kedua model, atau argumen berawalan yang akan diteruskan ke salah satu model.

Sebagai contoh, memanggil .generate(input_ids=input_ids, num_beams=4, speech_do_sample=True) akan secara berurutan melakukan dekoding beam-search pada model teks, dan sampling beam-search multinomial pada model ucapan.

Untuk ringkasan strategi generasi dan contoh kode, lihat panduan berikut.

SeamlessM4Tv2ForTextToSpeech

kelas transformers.SeamlessM4Tv2ForTextToSpeech

< >

( config: SeamlessM4Tv2Config )

Parameter

  • config (SeamlessM4Tv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.

Model transformer SeamlessM4Tv2 untuk text-to-speech yang dapat digunakan untuk T2ST.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

generate

< >

( input_ids: typing.Optional[torch.Tensor] = Nonereturn_intermediate_token_ids: bool | None = Nonetgt_lang: str | None = Nonespeaker_id: int | None = 0**kwargs ) → Union[SeamlessM4Tv2GenerationOutput, tuple[Tensor]]

Parameter

  • input_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length)) — Indeks token urutan input dalam kosakata. Indeks dapat diperoleh menggunakan SeamlessM4TTokenizer atau SeamlessM4TProcessor. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detail. Apa itu input ID?

    Indeks dapat diperoleh menggunakan SeamlessM4TTokenizer atau SeamlessM4TProcessor. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • return_intermediate_token_ids (bool, opsional) — Jika True, juga mengembalikan teks dan token unit yang dihasilkan secara intermediat. Atur ke True jika Anda juga ingin mendapatkan teks terjemahan bersama dengan audio.
  • tgt_lang (str, opsional) — Bahasa yang akan digunakan sebagai bahasa target untuk penerjemahan.
  • speaker_id (int, opsional, default 0) — ID pembicara yang digunakan untuk sintesis ucapan. Harus lebih kecil dari config.vocoder_num_spkrs.
  • kwargs (opsional) — Kamus sisa argumen kata kunci yang akan diteruskan ke GenerationMixin.generate(). Argumen kata kunci ada dua jenis:
    • Tanpa prefiks, parameter tersebut akan dimasukkan sebagai **kwargs untuk metode generate dari setiap sub-model, kecuali decoder_input_ids yang hanya diteruskan melalui komponen teks.
    • Dengan awalan text_ atau speech_, mereka akan menjadi input untuk metode generate dari model teks dan model ucapan, masing-masing. Awalan ini memiliki prioritas lebih tinggi daripada kata kunci tanpa awalan.

    Artinya, Anda dapat, misalnya, menentukan strategi generasi untuk satu generasi tetapi tidak untuk yang lain.

Mengembalikan

Union[SeamlessM4Tv2GenerationOutput, tuple[Tensor]]

  • Jika return_intermediate_token_ids, mengembalikan SeamlessM4Tv2GenerationOutput.
  • Jika bukan return_intermediate_token_ids, mengembalikan tuple yang terdiri dari waveform dengan bentuk (batch_size, sequence_length) dan waveform_lengths yang memberikan panjang setiap sampel.

Membuat gelombang audio hasil terjemahan.

Metode ini secara berurutan memanggil fungsi .generate dari dua sub-model yang berbeda. Anda dapat menentukan argumen kata kunci pada dua tingkat yang berbeda: argumen umum yang akan diteruskan ke kedua model, atau argumen berawalan yang akan diteruskan ke salah satu model.

Sebagai contoh, memanggil .generate(input_ids, num_beams=4, speech_do_sample=True) akan secara berurutan melakukan dekoding beam-search pada model teks, dan sampling beam-search multinomial pada model ucapan.

Untuk ringkasan strategi generasi dan contoh kode, lihat panduan berikut.

SeamlessM4Tv2ForSpeechToSpeech

kelas transformers.SeamlessM4Tv2ForSpeechToSpeech

< >

( config: SeamlessM4Tv2Config )

Parameter

  • config (SeamlessM4Tv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.

Model transformer SeamlessM4Tv2 untuk speech-to-speech yang dapat digunakan untuk S2ST.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

generate

< >

( input_features: typing.Optional[torch.Tensor] = Nonereturn_intermediate_token_ids: bool | None = Nonetgt_lang: str | None = Nonespeaker_id: int | None = 0**kwargs ) → Union[SeamlessM4Tv2GenerationOutput, tuple[Tensor]]

Parameter

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, num_banks)) — Fitur audio masukan. Nilai ini seharusnya dikembalikan oleh kelas SeamlessM4TFeatureExtractor atau kelas SeamlessM4TProcessor. Lihat SeamlessM4TFeatureExtractor.call() untuk detailnya.
  • return_intermediate_token_ids (bool, opsional) — Jika True, juga mengembalikan teks dan token unit yang dihasilkan secara intermediat. Atur ke True jika Anda juga ingin mendapatkan teks terjemahan bersama dengan audio.
  • tgt_lang (str, opsional) — Bahasa yang akan digunakan sebagai bahasa target untuk penerjemahan.
  • speaker_id (int, opsional, default 0) — ID pembicara yang digunakan untuk sintesis ucapan. Harus lebih kecil dari config.vocoder_num_spkrs.
  • kwargs (opsional) — Kamus sisa argumen kata kunci yang akan diteruskan ke GenerationMixin.generate(). Argumen kata kunci ada dua jenis:
    • Tanpa prefiks, parameter tersebut akan dimasukkan sebagai **kwargs untuk metode generate dari setiap sub-model, kecuali decoder_input_ids yang hanya diteruskan melalui komponen teks.
    • Dengan awalan text_ atau speech_, mereka akan menjadi input untuk metode generate dari model teks dan model ucapan, masing-masing. Awalan ini memiliki prioritas lebih tinggi daripada kata kunci tanpa awalan.

    Artinya, Anda dapat, misalnya, menentukan strategi generasi untuk satu generasi tetapi tidak untuk yang lain.

Mengembalikan

Union[SeamlessM4Tv2GenerationOutput, tuple[Tensor]]

  • Jika return_intermediate_token_ids, mengembalikan SeamlessM4Tv2GenerationOutput.
  • Jika bukan return_intermediate_token_ids, mengembalikan tuple yang terdiri dari waveform dengan bentuk (batch_size, sequence_length) dan waveform_lengths yang memberikan panjang setiap sampel.

Membuat gelombang audio hasil terjemahan.

Metode ini secara berurutan memanggil fungsi .generate dari dua sub-model yang berbeda. Anda dapat menentukan argumen kata kunci pada dua tingkat yang berbeda: argumen umum yang akan diteruskan ke kedua model, atau argumen berawalan yang akan diteruskan ke salah satu model.

Sebagai contoh, memanggil .generate(input_features, num_beams=4, speech_do_sample=True) akan secara berurutan melakukan dekoding beam-search pada model teks, dan pengambilan sampel beam-search multinomial pada model ucapan.

Untuk ringkasan strategi generasi dan contoh kode, lihat panduan berikut.

SeamlessM4Tv2ForTextToText

kelas transformers.SeamlessM4Tv2ForTextToText

< >

( config: SeamlessM4Tv2Config )

Parameter

  • config (SeamlessM4Tv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.

Model transformer SeamlessM4Tv2 dari teks ke teks yang dapat digunakan untuk T2TT.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonedecoder_inputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Seq2SeqLMOutput or tuple(torch.Tensor)

Parameter

  • input_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default.

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • decoder_input_ids (torch.LongTensor dengan bentuk (batch_size, target_sequence_length), opsional) — Indeks token dari urutan input decoder dalam kosakata. Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu decoder input ID? Bart menggunakan eos_token_id sebagai token awal untuk generasi decoder_input_ids. Jika past_key_values digunakan, secara opsional hanya decoder_input_ids terakhir yang perlu diinput (lihat past_key_values). Untuk pelatihan terjemahan dan ringkasan, decoder_input_ids harus disediakan. Jika decoder_input_ids tidak disediakan, model akan membuat tensor ini dengan menggeser input_ids ke kanan untuk pra-pelatihan denoising sesuai dengan makalahnya.

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu ID input decoder?

    Bart menggunakan eos_token_id sebagai token awal untuk generasi decoder_input_ids. Jika past_key_values digunakan, secara opsional hanya decoder_input_ids terakhir yang perlu diinput (lihat past_key_values).

    Untuk pelatihan penerjemahan dan ringkasan, decoder_input_ids harus disediakan. Jika tidak ada decoder_input_ids yang disediakan, model akan membuat tensor ini dengan menggeser input_ids ke kanan untuk pra-pelatihan denoising sesuai dengan makalah tersebut.

  • decoder_attention_mask (torch.LongTensor dengan bentuk (batch_size, target_sequence_length), opsional) — Perilaku default: menghasilkan tensor yang mengabaikan token pad di decoder_input_ids. Mask kausal juga akan digunakan secara default. Jika Anda ingin mengubah perilaku padding, Anda harus membaca modeling_bart._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di paper untuk informasi lebih lanjut tentang strategi default.

    Jika Anda ingin mengubah perilaku padding, Anda harus membaca modeling_bart._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi default.

  • encoder_outputs (tuple[tuple[torch.Tensor]], opsional) — Tuple terdiri dari (last_hidden_state, opsional: hidden_states, opsional: attentions) last_hidden_state dengan bentuk (batch_size, sequence_length, hidden_size), opsional) adalah rangkaian hidden-states pada keluaran lapisan terakhir encoder. Digunakan dalam cross-attention decoder.
  • past_key_values (~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri dari past_key_values yang dikembalikan oleh model pada tahap decoding sebelumnya, ketika use_cache=True atau config.use_cache=True.

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

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

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

  • inputs_embeds (torch.Tensor dengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids Anda dapat memilih untuk langsung meneruskan representasi tertanam. Ini berguna jika Anda ingin lebih banyak kendali atas cara mengonversi input_ids menjadi vektor terkait daripada matriks pencarian embedding internal model.

    labels (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional): Label untuk menghitung kerugian pemodelan bahasa tersembunyi (masked language modeling). Indeks harus berada dalam [-100, 0, ..., config.vocab_size] (lihat docstring input_ids). Token dengan indeks yang disetel ke -100 diabaikan (disediakan masker), dan kerugian hanya dihitung untuk token dengan label dalam [0, ..., config.vocab_size]

  • decoder_inputs_embeds (torch.Tensor dengan bentuk (batch_size, target_sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan decoder_input_ids Anda dapat memilih untuk langsung meneruskan representasi tertanam. Jika past_key_values digunakan, secara opsional hanya decoder_inputs_embeds yang perlu dimasukkan (lihat past_key_values). Ini berguna jika Anda ingin lebih banyak kendali atas cara mengonversi decoder_input_ids indeks menjadi vektor terkait daripada matriks pencarian embedding internal model.

    Jika decoder_input_ids dan decoder_inputs_embeds keduanya tidak disetel, decoder_inputs_embeds mengambil nilai dari inputs_embeds.

  • labels (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Label untuk menghitung kerugian pemodelan bahasa yang disamarkan (masked language modeling). Indeks harus berada dalam [0, ..., config.vocab_size] atau -100 (lihat docstring input_ids). Token dengan indeks yang disetel ke -100 diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam [0, ..., config.vocab_size].
  • use_cache (bool, opsional) — Jika diset ke True, state kunci-nilai past_key_values akan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihat past_key_values).

Mengembalikan

Seq2SeqLMOutput atau tuple(torch.Tensor)

Seq2SeqLMOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (SeamlessM4Tv2Config) dan input.

Metode forward dari SeamlessM4Tv2ForTextToText menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

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

  • logits (torch.Tensor dengan bentuk (batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).

  • past_key_values (EncoderDecoderCache, opsional, dikembalikan ketika use_cache=True diteruskan atau ketika config.use_cache=True) — Ini adalah instance EncoderDecoderCache. Untuk detail lebih lanjut, lihat panduan kv cache kami.

    Mengandung hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan (lihat input past_key_values) untuk mempercepat decoding berurutan.

  • decoder_hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states dari decoder pada output setiap layer ditambah output embedding awal.

  • decoder_attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap lapisan) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian dari decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

  • cross_attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian dari lapisan cross-attention decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala cross-attention.

  • encoder_last_hidden_state (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Urutan hidden-states pada keluaran lapisan terakhir dari encoder model.

  • encoder_hidden_states (tuple(torch.Tensor), opsional, dikembalikan ketika output_hidden_states=True dilewatkan atau ketika config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states dari encoder pada output setiap layer ditambah output embedding awal.

  • encoder_attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap lapisan) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian dari encoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

generate

< >

( input_ids = Nonetgt_lang = Nonegeneration_config = Nonelogits_processor = Nonestopping_criteria = Noneprefix_allowed_tokens_fn = Nonesynced_gpus = False**kwargs ) → ModelOutput or torch.LongTensor

Parameter

  • input_ids (torch.Tensor dengan bentuk yang bervariasi tergantung pada modalitas, opsional) — Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan SeamlessM4TTokenizer atau SeamlessM4TProcessor. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu input ID?

    Indeks dapat diperoleh menggunakan SeamlessM4TTokenizer atau SeamlessM4TProcessor. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • tgt_lang (str, opsional) — Bahasa yang akan digunakan sebagai bahasa target untuk penerjemahan.
  • generation_config (~generation.GenerationConfig, opsional) — Konfigurasi generasi yang akan digunakan sebagai parametrisasi dasar untuk panggilan generasi. **kwargs yang diteruskan ke generate dan cocok dengan atribut dari generation_config akan menimpanya. Jika generation_config tidak disediakan, nilai default akan digunakan, yang memiliki prioritas pemuatan sebagai berikut: 1) dari file model generation_config.json, jika ada; 2) dari konfigurasi model. Perhatikan bahwa parameter yang tidak ditentukan akan mewarisi nilai default dari GenerationConfig, yang dokumentasinya harus diperiksa untuk memparametrisasi generasi.
  • logits_processor (LogitsProcessorList, opsional) — Prosesor logits kustom yang melengkapi prosesornya logits default yang dibangun dari argumen dan konfigurasi generasi. Jika prosesornya logits yang sudah dibuat dengan argumen atau konfigurasi generasi dilewatkan, sebuah error akan dilempar. Fitur ini ditujukan untuk pengguna tingkat lanjut.
  • stopping_criteria (StoppingCriteriaList, opsional) — Kriteria penghentian kustom yang melengkapi kriteria penghentian default yang dibangun dari argumen dan konfigurasi generasi. Jika kriteria penghentian yang sudah dibuat dengan argumen atau konfigurasi generasi diteruskan, sebuah error akan dilempar. Fitur ini ditujukan untuk pengguna tingkat lanjut.
  • prefix_allowed_tokens_fn (Callable[[int, torch.Tensor], list[int]], opsional) — Jika disediakan, fungsi ini membatasi pencarian beam hanya pada token yang diizinkan di setiap langkah. Jika tidak disediakan, tidak ada batasan yang diterapkan. Fungsi ini mengambil 2 argumen: ID batch batch_id dan input_ids. Fungsi ini harus mengembalikan daftar token yang diizinkan untuk langkah generasi berikutnya yang dikondisikan pada ID batch batch_id dan token yang sebelumnya dihasilkan inputs_ids. Argumen ini berguna untuk generasi yang dibatasi berdasarkan prefiks, seperti yang dijelaskan dalam Autoregressive Entity Retrieval.
  • synced_gpus (bool, opsional, default False) — Apakah akan terus menjalankan loop while hingga max_length (diperlukan untuk menghindari deadlocking dengan FullyShardedDataParallel dan DeepSpeed ZeRO Stage 3).
  • kwargs (dict[str, Any], opsional) — Parametrisasi ad hoc untuk generate_config dan/atau kwargs spesifik model tambahan yang akan diteruskan ke fungsi forward dari model.

Mengembalikan

ModelOutput atau torch.LongTensor

ModelOutput (jika return_dict_in_generate=True atau ketika config.return_dict_in_generate=True) atau torch.Tensor. Jenis ModelOutput yang mungkin adalah:

Membuat rangkaian id token.

Sebagian besar parameter pengendali generasi diatur di generation_config yang, jika tidak diteruskan, akan disetel ke konfigurasi generasi default model. Anda dapat menimpa generation_config mana pun dengan meneruskan parameter yang sesuai ke generate(), misalnya .generate(inputs, num_beams=4, do_sample=True).

Untuk ringkasan strategi generasi dan contoh kode, lihat panduan berikut.

SeamlessM4Tv2ForSpeechToText

kelas transformers.SeamlessM4Tv2ForSpeechToText

< >

( config: SeamlessM4Tv2Config )

Parameter

  • config (SeamlessM4Tv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.

Model transformer speech-to-text SeamlessM4Tv2 yang dapat digunakan untuk S2TT.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( input_features: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonedecoder_inputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Seq2SeqLMOutput or tuple(torch.Tensor)

Parameter

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, num_banks)) — Fitur audio masukan. Nilai ini seharusnya dikembalikan oleh kelas SeamlessM4TFeatureExtractor atau kelas SeamlessM4TProcessor. Lihat SeamlessM4TFeatureExtractor.call() untuk detailnya.
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • decoder_input_ids (torch.LongTensor dengan bentuk (batch_size, target_sequence_length), opsional) — Indeks token dari urutan input decoder dalam kosakata. Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu decoder input ID? Bart menggunakan eos_token_id sebagai token awal untuk generasi decoder_input_ids. Jika past_key_values digunakan, secara opsional hanya decoder_input_ids terakhir yang perlu diinput (lihat past_key_values). Untuk pelatihan terjemahan dan ringkasan, decoder_input_ids harus disediakan. Jika decoder_input_ids tidak disediakan, model akan membuat tensor ini dengan menggeser input_ids ke kanan untuk pra-pelatihan denoising sesuai dengan makalahnya.

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu ID input decoder?

    Bart menggunakan eos_token_id sebagai token awal untuk generasi decoder_input_ids. Jika past_key_values digunakan, secara opsional hanya decoder_input_ids terakhir yang perlu diinput (lihat past_key_values).

    Untuk pelatihan penerjemahan dan ringkasan, decoder_input_ids harus disediakan. Jika tidak ada decoder_input_ids yang disediakan, model akan membuat tensor ini dengan menggeser input_ids ke kanan untuk pra-pelatihan denoising sesuai dengan makalah tersebut.

  • decoder_attention_mask (torch.LongTensor dengan bentuk (batch_size, target_sequence_length), opsional) — Perilaku default: menghasilkan tensor yang mengabaikan token pad di decoder_input_ids. Mask kausal juga akan digunakan secara default. Jika Anda ingin mengubah perilaku padding, Anda harus membaca modeling_bart._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di paper untuk informasi lebih lanjut tentang strategi default.

    Jika Anda ingin mengubah perilaku padding, Anda harus membaca modeling_bart._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi default.

  • encoder_outputs (tuple[tuple[torch.Tensor]], opsional) — Tuple terdiri dari (last_hidden_state, opsional: hidden_states, opsional: attentions) last_hidden_state dengan bentuk (batch_size, sequence_length, hidden_size), opsional) adalah rangkaian hidden-states pada keluaran lapisan terakhir encoder. Digunakan dalam cross-attention decoder.
  • past_key_values (~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri dari past_key_values yang dikembalikan oleh model pada tahap decoding sebelumnya, ketika use_cache=True atau config.use_cache=True.

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

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

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

  • inputs_embeds (torch.Tensor dengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids Anda dapat memilih untuk langsung meneruskan representasi tertanam. Ini berguna jika Anda ingin lebih banyak kendali atas cara mengonversi input_ids menjadi vektor terkait daripada matriks pencarian embedding internal model.

    labels (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional): Label untuk menghitung kerugian pemodelan bahasa tersembunyi (masked language modeling). Indeks harus berada dalam [-100, 0, ..., config.vocab_size] (lihat docstring input_ids). Token dengan indeks yang disetel ke -100 diabaikan (disediakan masker), dan kerugian hanya dihitung untuk token dengan label dalam [0, ..., config.vocab_size]

  • decoder_inputs_embeds (torch.Tensor dengan bentuk (batch_size, target_sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan decoder_input_ids Anda dapat memilih untuk langsung meneruskan representasi tertanam. Jika past_key_values digunakan, secara opsional hanya decoder_inputs_embeds yang perlu dimasukkan (lihat past_key_values). Ini berguna jika Anda ingin lebih banyak kendali atas cara mengonversi decoder_input_ids indeks menjadi vektor terkait daripada matriks pencarian embedding internal model.

    Jika decoder_input_ids dan decoder_inputs_embeds keduanya tidak disetel, decoder_inputs_embeds mengambil nilai dari inputs_embeds.

  • labels (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Label untuk menghitung kerugian pemodelan bahasa yang disamarkan (masked language modeling). Indeks harus berada dalam [0, ..., config.vocab_size] atau -100 (lihat docstring input_ids). Token dengan indeks yang disetel ke -100 diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam [0, ..., config.vocab_size].
  • use_cache (bool, opsional) — Jika diset ke True, state kunci-nilai past_key_values akan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihat past_key_values).

Mengembalikan

Seq2SeqLMOutput atau tuple(torch.Tensor)

A Seq2SeqLMOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (SeamlessM4Tv2Config) dan input.

Metode forward dari SeamlessM4Tv2ForSpeechToText menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

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

  • logits (torch.Tensor dengan bentuk (batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).

  • past_key_values (EncoderDecoderCache, opsional, dikembalikan ketika use_cache=True diteruskan atau ketika config.use_cache=True) — Ini adalah instance EncoderDecoderCache. Untuk detail lebih lanjut, lihat panduan kv cache kami.

    Mengandung hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan (lihat input past_key_values) untuk mempercepat decoding berurutan.

  • decoder_hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states dari decoder pada output setiap layer ditambah output embedding awal.

  • decoder_attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap lapisan) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian dari decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

  • cross_attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian dari lapisan cross-attention decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala cross-attention.

  • encoder_last_hidden_state (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Urutan hidden-states pada keluaran lapisan terakhir dari encoder model.

  • encoder_hidden_states (tuple(torch.Tensor), opsional, dikembalikan ketika output_hidden_states=True dilewatkan atau ketika config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states dari encoder pada output setiap layer ditambah output embedding awal.

  • encoder_attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap lapisan) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian dari encoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

Contoh:

>>> from transformers import AutoProcessor, SeamlessM4Tv2ForSpeechToText
>>> from datasets import load_dataset
>>> import torch

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> processor = AutoProcessor.from_pretrained("facebook/hf-seamless-m4t-medium")
>>> model = SeamlessM4Tv2ForSpeechToText.from_pretrained("facebook/hf-seamless-m4t-medium")

>>> # audio file is decoded on the fly
>>> inputs = processor(dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
>>> with torch.no_grad():
...     logits = model(**inputs).logits
>>> predicted_ids = torch.argmax(logits, dim=-1)

>>> # transcribe speech
>>> transcription = processor.batch_decode(predicted_ids)
>>> transcription[0]
...

>>> inputs["labels"] = processor(text=dataset[0]["text"], return_tensors="pt").input_ids

>>> # compute loss
>>> loss = model(**inputs).loss
>>> round(loss.item(), 2)
...

generate

< >

( input_features = Nonetgt_lang = Nonegeneration_config = Nonelogits_processor = Nonestopping_criteria = Noneprefix_allowed_tokens_fn = Nonesynced_gpus = False**kwargs ) → ModelOutput or torch.LongTensor

Parameter

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, num_banks)) — Fitur audio masukan. Nilai ini seharusnya dikembalikan oleh kelas SeamlessM4TFeatureExtractor atau kelas SeamlessM4TProcessor. Lihat SeamlessM4TFeatureExtractor.call() untuk detailnya.
  • tgt_lang (str, opsional) — Bahasa yang akan digunakan sebagai bahasa target untuk penerjemahan.
  • generation_config (~generation.GenerationConfig, opsional) — Konfigurasi generasi yang akan digunakan sebagai parametrisasi dasar untuk panggilan generasi. **kwargs yang diteruskan ke generate dan cocok dengan atribut dari generation_config akan menimpanya. Jika generation_config tidak disediakan, nilai default akan digunakan, yang memiliki prioritas pemuatan sebagai berikut: 1) dari file model generation_config.json, jika ada; 2) dari konfigurasi model. Perhatikan bahwa parameter yang tidak ditentukan akan mewarisi nilai default dari GenerationConfig, yang dokumentasinya harus diperiksa untuk memparametrisasi generasi.
  • logits_processor (LogitsProcessorList, opsional) — Prosesor logits kustom yang melengkapi prosesornya logits default yang dibangun dari argumen dan konfigurasi generasi. Jika prosesornya logits yang sudah dibuat dengan argumen atau konfigurasi generasi dilewatkan, sebuah error akan dilempar. Fitur ini ditujukan untuk pengguna tingkat lanjut.
  • stopping_criteria (StoppingCriteriaList, opsional) — Kriteria penghentian kustom yang melengkapi kriteria penghentian default yang dibangun dari argumen dan konfigurasi generasi. Jika kriteria penghentian yang sudah dibuat dengan argumen atau konfigurasi generasi diteruskan, sebuah error akan dilempar. Fitur ini ditujukan untuk pengguna tingkat lanjut.
  • prefix_allowed_tokens_fn (Callable[[int, torch.Tensor], list[int]], opsional) — Jika disediakan, fungsi ini membatasi pencarian beam hanya pada token yang diizinkan di setiap langkah. Jika tidak disediakan, tidak ada batasan yang diterapkan. Fungsi ini mengambil 2 argumen: ID batch batch_id dan input_ids. Fungsi ini harus mengembalikan daftar token yang diizinkan untuk langkah generasi berikutnya yang dikondisikan pada ID batch batch_id dan token yang sebelumnya dihasilkan inputs_ids. Argumen ini berguna untuk generasi yang dibatasi berdasarkan prefiks, seperti yang dijelaskan dalam Autoregressive Entity Retrieval.
  • synced_gpus (bool, opsional, default False) — Apakah akan terus menjalankan loop while hingga max_length (diperlukan untuk menghindari deadlocking dengan FullyShardedDataParallel dan DeepSpeed ZeRO Stage 3).
  • kwargs (dict[str, Any], opsional) — Parametrisasi ad hoc untuk generate_config dan/atau kwargs spesifik model tambahan yang akan diteruskan ke fungsi forward dari model.

Mengembalikan

ModelOutput atau torch.LongTensor

ModelOutput (jika return_dict_in_generate=True atau ketika config.return_dict_in_generate=True) atau torch.Tensor. Jenis ModelOutput yang mungkin adalah:

Membuat rangkaian id token.

Sebagian besar parameter pengendali generasi diatur di generation_config yang, jika tidak diteruskan, akan disetel ke konfigurasi generasi default model. Anda dapat menimpa generation_config mana pun dengan meneruskan parameter yang sesuai ke generate(), misalnya .generate(inputs, num_beams=4, do_sample=True).

Untuk ringkasan strategi generasi dan contoh kode, lihat panduan berikut.

SeamlessM4Tv2Config

kelas transformers.SeamlessM4Tv2Config

< >

( 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 = 256102t2u_vocab_size: int = 10082char_vocab_size: int = 10943hidden_size: int = 1024initializer_range: float = 0.02layer_norm_eps: float = 1e-05use_cache: bool = Truemax_position_embeddings: int = 4096encoder_layerdrop: float | int = 0.05decoder_layerdrop: float | int = 0.05activation_function: str = 'relu'dropout: float | int = 0.1attention_dropout: float | int = 0.1activation_dropout: float | int = 0.0scale_embedding: bool = Trueencoder_layers: int = 24encoder_ffn_dim: int = 8192encoder_attention_heads: int = 16decoder_layers: int = 24decoder_ffn_dim: int = 8192decoder_attention_heads: int = 16decoder_start_token_id: int = 3max_new_tokens: int | None = 256pad_token_id: int | None = 0bos_token_id: int | None = 2eos_token_id: int | list[int] | None = 3speech_encoder_layers: int = 24speech_encoder_attention_heads: int = 16speech_encoder_intermediate_size: int = 4096speech_encoder_hidden_act: str = 'swish'speech_encoder_dropout: float | int = 0.0add_adapter: bool = Truespeech_encoder_layerdrop: float | int = 0.1feature_projection_input_dim: int = 160adaptor_kernel_size: int = 8adaptor_stride: int = 8adaptor_dropout: float | int = 0.1num_adapter_layers: int = 1position_embeddings_type: str = 'relative_key'conv_depthwise_kernel_size: int = 31left_max_position_embeddings: int = 64right_max_position_embeddings: int = 8speech_encoder_chunk_size: int = 20000speech_encoder_left_chunk_num: int = 128t2u_bos_token_id: int | None = 0t2u_pad_token_id: int | None = 1t2u_eos_token_id: int | list[int] | None = 2t2u_encoder_layers: int = 6t2u_encoder_ffn_dim: int = 8192t2u_encoder_attention_heads: int = 16t2u_decoder_layers: int = 6t2u_decoder_ffn_dim: int = 8192t2u_decoder_attention_heads: int = 16t2u_max_position_embeddings: int = 4096t2u_variance_predictor_embed_dim: int = 1024t2u_variance_predictor_hidden_dim: int = 256t2u_variance_predictor_kernel_size: int = 3t2u_variance_pred_dropout: float | int = 0.5sampling_rate: int = 16000upsample_initial_channel: int = 512upsample_rates: list[int] | tuple[int, ...] = (5, 4, 4, 2, 2)upsample_kernel_sizes: list[int] | tuple[int, ...] = (11, 8, 8, 4, 4)resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11)resblock_dilation_sizes: list | tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5))leaky_relu_slope: float = 0.1unit_hifi_gan_vocab_size: int = 10000unit_embed_dim: int = 1280lang_embed_dim: int = 256spkr_embed_dim: int = 256vocoder_num_langs: int = 36vocoder_num_spkrs: int = 200variance_predictor_kernel_size: int = 3var_pred_dropout: float | int = 0.5vocoder_offset: int = 4tie_word_embeddings: bool = True )

Parameter

  • is_encoder_decoder (bool, opsional, defaultnya True) — Apakah model digunakan sebagai encoder/decoder atau tidak.
  • vocab_size (int, opsional, default 256102) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh input_ids.
  • t2u_vocab_size (int, opsional, default 10082) — Ukuran kosakata unit dari model SeamlessM4Tv2. Menentukan jumlah “unit token” berbeda yang dapat direpresentasikan oleh inputs_ids yang diteruskan saat memanggil sub-model Text-To-Units dari ~SeamlessM4Tv2Model, ~SeamlessM4Tv2ForSpeechToSpeech atau ~SeamlessM4Tv2ForTextToSpeech.
  • char_vocab_size (int, opsional, default 10943) — Ukuran kosakata karakter dari model SeamlessM4Tv2. Menentukan jumlah token karakter berbeda yang dapat direpresentasikan oleh char_inputs_ids yang diteruskan saat memanggil sub-model Text-To-Units dari ~SeamlessM4Tv2Model, ~SeamlessM4Tv2ForSpeechToSpeech atau ~SeamlessM4Tv2ForTextToSpeech.
  • hidden_size (int, opsional, default 1024) — Dimensi dari representasi tersembunyi.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • layer_norm_eps (float, opsional, defaultnya 1e-05) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • use_cache (bool, opsional, defaultnya True) — Apakah model harus mengembalikan perhatian kunci/nilai terakhir (tidak digunakan oleh semua model). Hanya relevan jika config.is_decoder=True atau ketika model adalah model generatif yang hanya decoder.
  • max_position_embeddings (int, opsional, default 4096) — Panjang maksimum urutan yang mungkin digunakan dengan model ini.
  • encoder_layerdrop (Union[float, int], opsional, default 0.05) — Probabilitas LayerDrop untuk encoder. Lihat [makalah LayerDrop](lihat https://huggingface.co/papers/1909.11556) untuk detail lebih lanjut.
  • decoder_layerdrop (Union[float, int], opsional, default 0.05) — Probabilitas LayerDrop untuk decoder. Lihat [makalah LayerDrop](lihat https://huggingface.co/papers/1909.11556) untuk detail lebih lanjut.
  • activation_function (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • dropout (Union[float, int], opsional, default 0.1) — Rasio untuk semua lapisan dropout.
  • attention_dropout (Union[float, int], opsional, default 0.1) — Rasio dropout untuk probabilitas perhatian.
  • activation_dropout (Union[float, int], opsional, defaultnya 0.0) — Rasio dropout untuk aktivasi di dalam lapisan fully connected.
  • scale_embedding (bool, opsional, default True) — Apakah akan menskalakan embedding dengan membaginya oleh sqrt(d_model).
  • encoder_layers (int, opsional, default 24) — Jumlah lapisan tersembunyi pada encoder Transformer. Akan menggunakan nilai yang sama dengan num_layers jika tidak diatur.
  • encoder_ffn_dim (int, opsional, default 8192) — Dimensi lapisan “intermediate” (sering disebut feed-forward) di encoder.
  • encoder_attention_heads (int, opsional, default 16) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam encoder Transformer.
  • decoder_layers (int, opsional, default 24) — Jumlah lapisan tersembunyi dalam decoder Transformer. Akan menggunakan nilai yang sama dengan num_layers jika tidak diatur.
  • decoder_ffn_dim (int, opsional, default 8192) — Dimensi dari lapisan “intermediate” (sering disebut feed-forward) di decoder.
  • decoder_attention_heads (int, opsional, default 16) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.
  • decoder_start_token_id (int, opsional, default 3) — Jika model encoder-decoder memulai decoding dengan token yang berbeda dari bos, id dari token tersebut.
  • max_new_tokens (int, opsional, default 256) — Jumlah maksimum token teks yang akan dihasilkan, tanpa memperhitungkan jumlah token dalam prompt.
  • pad_token_id (int, opsional, default 0) — ID token yang digunakan untuk padding dalam kosakata.
  • bos_token_id (int, opsional, default 2) — ID token yang digunakan untuk awal-stream dalam kosakata.
  • eos_token_id (Union[int, list[int]], opsional, default 3) — ID token yang digunakan untuk end-of-stream dalam kosakata.
  • speech_encoder_layers (int, opsional, default 24) — Jumlah lapisan tersembunyi dalam encoder ucapan Transformer.
  • speech_encoder_attention_heads (int, opsional, default 16) — Jumlah attention head untuk setiap lapisan attention dalam Transformer speech encoder.
  • speech_encoder_intermediate_size (int, opsional, default 4096) — Dimensi lapisan “intermediate” (yaitu, feed-forward) pada encoder speech Transformer.
  • speech_encoder_hidden_act (str atau function, opsional, default "swish") — Fungsi aktivasi non-linear (fungsi atau string) pada speech encoder. Jika string, "gelu", "relu", "selu", "swish", dan "gelu_new" didukung.
  • speech_encoder_dropout (float, opsional, default 0.0) — Probabilitas dropout untuk semua lapisan dalam speech encoder.
  • add_adapter (bool, opsional, default True) — Menambahkan lapisan adapter di atas speech encoder.
  • speech_encoder_layerdrop (float, opsional, default 0.1) — Probabilitas LayerDrop untuk speech encoder. Lihat [makalah LayerDrop](lihat https://huggingface.co/papers/1909.11556) untuk detail lebih lanjut.
  • feature_projection_input_dim (int, opsional, default 160) — Dimensi input dari proyeksi fitur input pada speech encoder, yaitu dimensi setelah memproses audio input dengan SeamlessM4TFeatureExtractor.
  • adaptor_kernel_size (int, opsional, default 8) — Ukuran kernel dari lapisan konvolusional dalam jaringan adaptor. Hanya relevan jika add_adapter is True.
  • adaptor_stride (int, opsional, default 8) — Stride dari lapisan konvolusional dalam jaringan adaptor. Hanya relevan jika add_adapter is True.
  • adaptor_dropout (float, opsional, default 0.1) — Probabilitas dropout untuk semua lapisan dalam speech adapter.
  • num_adapter_layers (int, opsional, default 1) — Jumlah lapisan konvolusional yang harus digunakan dalam jaringan adapter. Hanya relevan jika add_adapter is True.
  • position_embeddings_type (str, opsional, default "relative_key") — Dapat ditentukan ke relative_key. Jika dibiarkan None, tidak ada relative position embedding yang diterapkan. Hanya diterapkan pada speech encoder. Untuk informasi lebih lanjut tentang "relative_key", silakan merujuk ke Self-Attention with Relative Position Representations (Shaw et al.).
  • conv_depthwise_kernel_size (int, opsional, default 31) — Ukuran kernel dari lapisan convolutional depthwise 1D dalam blok Conformer. Hanya diterapkan pada encoder ucapan.
  • left_max_position_embeddings (int, opsional, default 64) — Nilai pemotongan kiri untuk posisi relatif.
  • right_max_position_embeddings (int, opsional, default 8) — Nilai pemotongan kanan untuk posisi relatif.
  • speech_encoder_chunk_size (int, opsional, default 20000) — Ukuran setiap chunk attention.
  • speech_encoder_left_chunk_num (int, opsional, default 128) — Jumlah chunk di sisi kiri hingga mana lookahead diizinkan.
  • t2u_bos_token_id (int, opsional, default 0) — ID dari token unit beginning-of-stream. Hanya diterapkan pada model seq2seq text-to-unit.
  • t2u_pad_token_id (int, opsional, default 1) — ID dari token unit padding. Hanya diterapkan pada model seq2seq text-to-unit.
  • t2u_eos_token_id (int, opsional, default 2) — ID dari token unit end-of-stream. Hanya diterapkan pada model seq2seq text-to-unit.
  • t2u_encoder_layers (int, opsional, default 6) — Jumlah lapisan tersembunyi dalam encoder text-to-unit Transformer.
  • t2u_encoder_ffn_dim (int, opsional, default 8192) — Dimensi lapisan “intermediate” (yaitu, feed-forward) pada Transformer text-to-unit encoder.
  • t2u_encoder_attention_heads (int, opsional, default 16) — Jumlah attention head untuk setiap lapisan attention dalam encoder text-to-unit Transformer.
  • t2u_decoder_layers (int, opsional, default 6) — Jumlah lapisan tersembunyi dalam decoder text-to-unit Transformer.
  • t2u_decoder_ffn_dim (int, opsional, default 8192) — Dimensi lapisan “intermediate” (yaitu, feed-forward) pada decoder text-to-unit Transformer.
  • t2u_decoder_attention_heads (int, opsional, default 16) — Jumlah attention head untuk setiap lapisan attention dalam decoder text-to-unit Transformer.
  • t2u_max_position_embeddings (int, opsional, default 4096) — Panjang maksimum sekuens yang mungkin digunakan oleh komponen text-to-unit model ini. Biasanya, atur nilai ini ke angka yang cukup besar sebagai antisipasi (misalnya, 512 atau 1024 atau 2048).
  • t2u_variance_predictor_embed_dim (int, opsional, default 1024) — Dimensi proyeksi dari duration predictor text-to-unit.
  • t2u_variance_predictor_hidden_dim (int, opsional, default 256) — Dimensi internal dari duration predictor text-to-unit.
  • t2u_variance_predictor_kernel_size (int, opsional, default 3) — Ukuran kernel dari lapisan konvolusional pada duration predictor text-to-unit.
  • t2u_variance_pred_dropout (float, opsional, default 0.5) — Probabilitas dropout dari duration predictor text-to-unit.
  • sampling_rate (int, opsional, default 16000) — Laju sampling di mana file audio harus didigitalisasi, dinyatakan dalam hertz (Hz).
  • upsample_initial_channel (int, opsional, default 512) — Jumlah channel input ke jaringan upsampling hifi-gan. Hanya berlaku untuk vocoder.
  • upsample_rates (tuple[int] atau list[int], opsional, default [5, 4, 4, 2, 2]) — Tuple dari bilangan bulat yang mendefinisikan stride dari setiap lapisan konvolusi 1D dalam jaringan upsampling vocoder. Panjang dari upsample_rates mendefinisikan jumlah lapisan konvolusi dan harus sesuai dengan panjang dari upsample_kernel_sizes. Hanya berlaku untuk vocoder.
  • upsample_kernel_sizes (tuple[int] atau list[int], opsional, default [11, 8, 8, 4, 4]) — Tuple berisi bilangan bulat yang mendefinisikan ukuran kernel untuk setiap lapisan konvolusi 1D dalam jaringan upsampling vocoder. Panjang upsample_kernel_sizes menentukan jumlah lapisan konvolusi dan harus sama dengan panjang upsample_rates. Hanya berlaku untuk vocoder.
  • resblock_kernel_sizes (tuple[int] atau list[int], opsional, default [3, 7, 11]) — Tuple berisi bilangan bulat yang mendefinisikan ukuran kernel dari lapisan konvolusi 1D pada vocoder di dalam modul multi-receptive field fusion (MRF). Hanya berlaku untuk vocoder.
  • resblock_dilation_sizes (tuple[tuple[int]] atau list[list[int]], opsional, default [[1, 3, 5], [1, 3, 5], [1, 3, 5]]) — Tuple bersarang dari bilangan bulat yang mendefinisikan laju dilatasi dari lapisan konvolusi 1D berdilasi pada modul multi-receptive field fusion (MRF) di dalam vocoder. Hanya berlaku untuk vocoder.
  • leaky_relu_slope (float, opsional, default 0.1) — Sudut kemiringan negatif yang digunakan oleh aktivasi leaky ReLU pada vocoder. Hanya berlaku untuk vocoder.
  • unit_hifi_gan_vocab_size (int, opsional, default 10000) — Ukuran kosakata dari vocoder SeamlessM4Tv2. Menentukan jumlah token unit berbeda yang dapat direpresentasikan oleh inputs_ids yang diteruskan saat memanggil vocoder dari ~SeamlessM4Tv2Model, ~SeamlessM4Tv2ForSpeechToSpeech atau ~SeamlessM4Tv2ForTextToSpeech.
  • unit_embed_dim (int, opsional, default 1280) — Dimensi proyeksi dari id input yang diberikan ke voder hifi-gan. Hanya berlaku untuk voder.
  • lang_embed_dim (int, opsional, default 256) — Dimensi proyeksi dari bahasa target yang diberikan ke voder hifi-gan. Hanya berlaku untuk voder.
  • spkr_embed_dim (int, opsional, default 256) — Dimensi proyeksi dari speaker id yang diberikan ke vocoder hifi-gan. Hanya berlaku untuk vocoder.
  • vocoder_num_langs (int, opsional, default 36) — Jumlah bahasa yang didukung oleh vocoder. Bisa berbeda dari t2u_num_langs.
  • vocoder_num_spkrs (int, opsional, default 200) — Jumlah pembicara yang didukung oleh vocoder.
  • variance_predictor_kernel_size (int, opsional, default 3) — Ukuran kernel dari duration predictor. Hanya berlaku untuk vocoder.
  • var_pred_dropout (float, opsional, default 0.5) — Probabilitas dropout dari duration predictor. Hanya berlaku untuk vocoder.
  • vocoder_offset (int, opsional, default 4) — Geser unit token id sebesar angka ini untuk memperhitungkan simbol token. Berlaku hanya untuk vocoder.
  • tie_word_embeddings (bool, opsional, default True) — Apakah akan mengikat bobot embedding sesuai dengan pemetaan tied_weights_keys model.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari SeamlessM4Tv2Model. Kelas ini digunakan untuk membuat instans model Seamless M4T V2 sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari facebook/hf-seamless-m4t-medium

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

>>> from transformers import SeamlessM4Tv2Model, SeamlessM4Tv2Config

>>> # Initializing a SeamlessM4Tv2 "" style configuration
>>> configuration = SeamlessM4Tv2Config()

>>> # Initializing a model from the "" style configuration
>>> model = SeamlessM4Tv2Model(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
Update on GitHub