Transformers documentation
Bark
Model ini disumbangkan ke Hugging Face Transformers pada 2023-07-17.
Bark
Ikhtisar
Bark adalah model text-to-speech berbasis transformer yang diusulkan oleh Suno AI di suno-ai/bark.
Bark terdiri dari 4 model utama:
- BarkSemanticModel (juga disebut sebagai model ‘teks’): model transformer auto-regresif kausal yang menerima teks yang ditokenisasi sebagai input, dan memprediksi token teks semantik yang menangkap makna dari teks tersebut.
- BarkCoarseModel (juga disebut model ‘akustik kasar’): transformer autoregresif kausal yang menerima hasil dari model BarkSemanticModel sebagai input. Model ini bertujuan untuk memprediksi dua codebook audio pertama yang diperlukan oleh EnCodec.
- BarkFineModel (model ‘fine acoustics’), kali ini berupa transformer autoencoder non-kausal, yang secara iteratif memprediksi codebook terakhir berdasarkan jumlah embedding codebook sebelumnya.
- setelah memprediksi semua kanal codebook dari EncodecModel, Bark menggunakannya untuk mendekode array audio keluaran.
Perlu dicatat bahwa masing-masing dari tiga modul pertama dapat mendukung conditional speaker embeddings untuk mengondisikan suara keluaran sesuai dengan suara spesifik yang telah didefinisikan sebelumnya.
Model ini disumbangkan oleh Yoach Lacombe (ylacombe) dan Sanchit Gandhi (sanchit-gandhi). Kode aslinya dapat ditemukan di sini.
Mengoptimalkan Bark
Bark dapat dioptimalkan dengan hanya beberapa baris kode tambahan, yang secara signifikan mengurangi jejak memorinya dan mempercepat inferensi.
Menggunakan presisi setengah
Anda dapat mempercepat inferensi dan mengurangi jejak memori hingga 50% hanya dengan memuat model dalam presisi setengah.
from transformers import BarkModel
model = BarkModel.from_pretrained("suno/bark-small", device_map="auto")Menggunakan CPU offload
Seperti disebutkan di atas, Bark terdiri dari 4 sub-model, yang dipanggil secara berurutan selama proses generasi audio. Dengan kata lain, saat satu sub-model sedang digunakan, sub-model lainnya dalam keadaan tidak aktif.
Jika Anda menggunakan GPU CUDA atau Intel XPU, solusi sederhana untuk mendapatkan pengurangan jejak memori sebesar 80% adalah dengan memindahkan submodel dari perangkat ke CPU saat mereka tidak aktif. Operasi ini disebut CPU offloading. Anda dapat menggunakannya dengan satu baris kode sebagai berikut:
model.enable_cpu_offload()
Perhatikan bahwa 🤗 Accelerate harus diinstal sebelum menggunakan fitur ini. Ini cara menginstalnya.
Menggunakan Flash Attention 2
Flash Attention 2 adalah versi yang lebih cepat dan dioptimalkan dari optimasi sebelumnya.
Instalasi
Pertama, periksa apakah perangkat keras Anda kompatibel dengan Flash Attention 2. Daftar perangkat keras yang kompatibel terbaru dapat ditemukan di dokumentasi resmi. Selanjutnya, instal versi terbaru Flash Attention 2:
pip install -U flash-attn --no-build-isolation
Penggunaan
Untuk memuat model menggunakan Flash Attention 2, kita dapat meneruskan flag attn_implementation="flash_attention_2" ke from_pretrained(). Kita juga akan memuat model dalam presisi setengah (misalnya torch.float16), karena hal ini menghasilkan degradasi kualitas audio yang hampir tidak ada tetapi penggunaan memori yang jauh lebih rendah dan inferensi yang lebih cepat:
model = BarkModel.from_pretrained("suno/bark-small", attn_implementation="flash_attention_2", device_map="auto")Perbandingan kinerja
Diagram berikut menunjukkan latensi untuk implementasi perhatian asli (tanpa optimasi) dibandingkan dengan Flash Attention 2. Dalam semua kasus, kami menghasilkan 400 token semantik pada GPU A100 40GB dengan PyTorch 2.1:

Untuk memberikan gambaran, pada NVIDIA A100 dan saat menghasilkan 400 token semantik dengan ukuran batch 16, Anda dapat memperoleh throughput 17 kali lebih besar dan tetap 2 detik lebih cepat dibandingkan menghasilkan kalimat satu per satu dengan implementasi model native. Dengan kata lain, semua sampel akan dihasilkan 17 kali lebih cepat.
Menggabungkan teknik optimasi
Anda dapat menggabungkan teknik optimasi, dan menggunakan CPU offload, half-precision, dan Flash Attention 2 semuanya sekaligus.
from transformers import BarkModel
# load in fp16 and use Flash Attention 2
model = BarkModel.from_pretrained("suno/bark-small", attn_implementation="flash_attention_2", device_map="auto")
# enable CPU offload
model.enable_cpu_offload()Pelajari lebih lanjut tentang teknik optimasi inferensi di sini.
Tips penggunaan
Suno menyediakan pustaka preset suara dalam berbagai bahasa di sini. Preset ini juga diunggah di hub di sini atau di sini.
from transformers import AutoProcessor, BarkModel
processor = AutoProcessor.from_pretrained("suno/bark")
model = BarkModel.from_pretrained("suno/bark", device_map="auto")
voice_preset = "v2/en_speaker_6"
inputs = processor("Hello, my dog is cute", voice_preset=voice_preset)
audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()Bark dapat menghasilkan suara multibahasa yang sangat realistis serta audio lainnya - termasuk musik, kebisingan latar, dan efek suara sederhana.
# Multilingual speech - simplified Chinese
inputs = processor("惊人的!我会说中文")
# Multilingual speech - French - let's use a voice_preset as well
inputs = processor("Incroyable! Je peux générer du son.", voice_preset="fr_speaker_5")
# Bark can also generate music. You can help it out by adding music notes around your lyrics.
inputs = processor("♪ Hello, my dog is cute ♪")
audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()Model juga dapat menghasilkan komunikasi nonverbal seperti tertawa, menghela napas, dan menangis.
# Adding non-speech cues to the input text
inputs = processor("Hello uh [clears throat], my dog is cute [laughter]")
audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()Untuk menyimpan audio, cukup ambil laju sampel dari konfigurasi model dan beberapa utilitas scipy:
from scipy.io.wavfile import write as write_wav
# save audio to disk, but first take the sample rate from the model config
sample_rate = model.generation_config.sample_rate
write_wav("bark_generation.wav", sample_rate, audio_array)BarkConfig
kelas transformers.BarkConfig
< source >( 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 = Nonesemantic_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonecoarse_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonefine_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonecodec_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneinitializer_range: float = 0.02 )
Parameter
- semantic_config (BarkSemanticConfig, opsional) — Konfigurasi dari sub-model semantik yang mendasarinya.
- coarse_acoustics_config (BarkCoarseConfig, opsional) — Konfigurasi dari sub-model akustik kasar yang mendasarinya.
- fine_acoustics_config (BarkFineConfig, opsional) — Konfigurasi dari sub-model akustik halus yang mendasarinya.
- codec_config (AutoConfig, opsional) — Konfigurasi dari sub-model codec yang mendasarinya.
- initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari BarkModel. Kelas ini digunakan untuk menginstansiasi model Bark sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari suno/bark
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import (
... BarkSemanticConfig,
... BarkCoarseConfig,
... BarkFineConfig,
... BarkModel,
... BarkConfig,
... AutoConfig,
... )
>>> # Initializing Bark sub-modules configurations.
>>> semantic_config = BarkSemanticConfig()
>>> coarse_acoustics_config = BarkCoarseConfig()
>>> fine_acoustics_config = BarkFineConfig()
>>> codec_config = AutoConfig.from_pretrained("facebook/encodec_24khz")
>>> # Initializing a Bark module style configuration
>>> configuration = BarkConfig(
... semantic_config, coarse_acoustics_config, fine_acoustics_config, codec_config
... )
>>> # Initializing a model (with random weights)
>>> model = BarkModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configBarkProcessor
kelas transformers.BarkProcessor
< source >( tokenizerspeaker_embeddings = None )
Parameter
- tokenizer (
BertTokenizer) — Tokenizer adalah input yang wajib. - speaker_embeddings (
dict[dict[str]], opsional) — Kamus nested speaker embeddings yang opsional. Tingkat pertama berisi nama preset suara (mis."en_speaker_4"). Tingkat kedua berisi embeddings"semantic_prompt","coarse_prompt"dan"fine_prompt". Nilai-nilainya sesuai dengan path darinp.ndarrayyang bersangkutan. Lihat di sini untuk daftarvoice_preset_names.
Membangun BarkProcessor yang membungkus tokenizer menjadi satu prosesor.
BarkProcessor menyediakan semua fungsionalitas dari BertTokenizer. Lihat ~BertTokenizer untuk informasi lebih lanjut.
__call__
< source >( text = Nonevoice_preset = Nonereturn_tensors = 'pt'max_length = 256add_special_tokens = Falsereturn_attention_mask = Truereturn_token_type_ids = False**kwargs ) → BatchEncoding
Parameter
- text (`
) -- The sequence or batch of sequences to be encoded. Each sequence can be a string or a list of strings (pretokenized string). If you pass a pretokenized input, setis_split_into_words=True` to avoid ambiguity with batched inputs. - voice_preset (
str,dict[np.ndarray]) — Preset suara, yaitu embedding pembicara. Bisa berupa nama voice_preset yang valid, misalnya"en_speaker_1", atau langsung berupa kamus embeddingnp.ndarrayuntuk setiap submodel dariBark. Atau bisa berupa nama file yang valid dari preset suara tunggal lokal.npzyang berisi kunci"semantic_prompt","coarse_prompt"dan"fine_prompt". - return_tensors (`
, defaults topt`) — Jika diatur, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek NumPynp.ndarray.
- max_length (
int, defaultnya256) — Mengontrol panjang maksimum yang digunakan oleh salah satu parameter truncation/padding.Jika tidak disetel atau disetel ke
None, ini akan menggunakan panjang maksimum model yang telah didefinisikan sebelumnya jika panjang maksimum diperlukan oleh salah satu parameter truncation/padding. Jika model tidak memiliki panjang input maksimum yang spesifik (seperti XLNet), truncation/padding ke panjang maksimum akan dinonaktifkan. - add_special_tokens (
bool, defaultnyaFalse) — Apakah akan menambahkan token khusus saat meng-encode rangkaian. Ini akan menggunakan fungsiPretrainedTokenizerBase.build_inputs_with_special_tokensyang mendasarinya, yang mendefinisikan token mana yang ditambahkan secara otomatis ke id input. Ini berguna jika Anda ingin menambahkan tokenbosataueossecara otomatis. - return_attention_mask (
bool, defaultnyaTrue) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default tokenizer tertentu, yang didefinisikan olehreturn_outputsatribut. - return_token_type_ids (
bool, defaultnyaFalse) — Apakah akan mengembalikan token type ID. Jika dibiarkan pada nilai default, akan mengembalikan token type ID sesuai dengan default tokenizer tertentu, yang ditentukan oleh atributreturn_outputs.
Mengembalikan
Objek BatchEncoding yang berisi output dari tokenizer.
Jika preset suara disediakan, objek yang dikembalikan akan menyertakan kunci "history_prompt"
yang berisi BatchFeature, yaitu preset suara dengan tipe tensor yang tepat.
from_pretrained
< source >( pretrained_processor_name_or_pathspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'**kwargs )
Parameter
- pretrained_model_name_or_path (
stratauos.PathLike) — Ini bisa berupa:- sebuah string, model id dari BarkProcessor pretrained yang dihosting di dalam repo model di huggingface.co.
- path ke direktori yang berisi prosesor yang disimpan menggunakan metode save_pretrained(), misalnya
./my_model_directory/.
- speaker_embeddings_dict_path (
str, opsional, defaultnya"speaker_embeddings_path.json") — Nama file.jsonyang berisi kamus speaker_embeddings yang terletak dipretrained_model_name_or_path. JikaNone, tidak ada speaker_embeddings yang dimuat. - **kwargs —
Argumen kata kunci tambahan yang diteruskan ke
~tokenization_utils_base.PreTrainedTokenizer.from_pretrained.
Instansiasi prosesor Bark yang terkait dengan model pretrained.
save_pretrained
< source >( save_directoryspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'speaker_embeddings_directory = 'speaker_embeddings'push_to_hub: bool = False**kwargs )
Parameter
- save_directory (
stratauos.PathLike) — Direktori tempat file tokenizer dan speaker embeddings akan disimpan (direktori akan dibuat jika belum ada). - speaker_embeddings_dict_path (
str, opsional, defaultnya"speaker_embeddings_path.json") — Nama file.jsonyang akan berisi kamus jalur bersarang speaker_embeddings, jika ada, dan yang akan berada dipretrained_model_name_or_path/speaker_embeddings_directory. - speaker_embeddings_directory (
str, opsional, defaultnya"speaker_embeddings/") — Nama folder tempat array speaker_embeddings akan disimpan. - push_to_hub (
bool, opsional, defaultFalse) — Apakah model Anda akan didorong ke Hugging Face model hub setelah disimpan. Anda dapat menentukan repository yang ingin Anda tuju denganrepo_id(defaultnya adalah namasave_directorydi namespace Anda). - kwargs — Argumen kata kunci tambahan yang diteruskan ke metode push_to_hub().
Menyimpan atribut dari prosesor ini (tokenizer…) ke direktori yang ditentukan agar dapat dimuat ulang menggunakan metode from_pretrained().
BarkModel
kelas transformers.BarkModel
< source >( config: BarkConfig )
Parameter
- config (BarkConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model Bark lengkap, sebuah model teks-ke-suara yang terdiri dari 4 sub-model:
- BarkSemanticModel (juga disebut sebagai model ‘text’): model transformer auto-regresif kausal yang mengambil teks yang ditokenisasi sebagai input, dan memprediksi token teks semantik yang menangkap makna dari teks tersebut.
- BarkCoarseModel (juga disebut model ‘akustik kasar’), juga merupakan transformer autoregresif kausal, yang mengambil hasil dari model sebelumnya sebagai input. Model ini bertujuan untuk meregres dua codebook audio pertama yang diperlukan untuk
encodec. - BarkFineModel (model ‘fine acoustics’), kali ini berupa transformer autoencoder non-kausal, yang secara iteratif memprediksi codebook terakhir berdasarkan jumlah embedding codebook sebelumnya.
- setelah memprediksi semua kanal codebook dari EncodecModel, Bark menggunakannya untuk mendekode array audio keluaran.
Perlu dicatat bahwa masing-masing dari tiga modul pertama dapat mendukung conditional speaker embeddings untuk mengondisikan suara keluaran sesuai dengan suara spesifik yang telah didefinisikan sebelumnya.
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
< source >( input_ids: typing.Optional[torch.Tensor] = Nonehistory_prompt: dict[str, torch.Tensor] | None = Nonereturn_output_lengths: bool | None = None**kwargs ) → By default
Parameter
- input_ids (
Optional[torch.Tensor]dengan bentuk (batch_size, seq_len), opsional) — ID input. Akan dipangkas hingga 256 token. Perhatikan bahwa audio output akan sepanjang generasi terpanjang di antara batch. - history_prompt (
Optional[dict[str,torch.Tensor]], opsional) — Prompt pembicaraBarkopsional. Perhatikan bahwa untuk saat ini, model ini hanya menerima satu prompt pembicara per batch. - kwargs (opsional) — Kamus sisa argumen kata kunci. Argumen kata kunci memiliki dua jenis:
- Tanpa prefiks, mereka akan dimasukkan sebagai
**kwargsuntuk metodegeneratedari setiap sub-model. - Dengan awalan semantic_, coarse_, fine_, mereka akan menjadi input untuk metode
generatedari semantic, coarse, dan fine masing-masing. Ini memiliki prioritas lebih tinggi daripada kata kunci tanpa awalan.
Ini berarti Anda dapat, misalnya, menentukan strategi generasi untuk semua sub-model kecuali satu.
- Tanpa prefiks, mereka akan dimasukkan sebagai
- return_output_lengths (
bool, opsional) — Apakah akan mengembalikan panjang waveform. Berguna saat melakukan batching.
Mengembalikan
Secara default
- audio_waveform (
torch.Tensordengan bentuk (batch_size, seq_len)): Gelombang audio yang dihasilkan. Ketikareturn_output_lengths=True: Mengembalikan tuple yang terdiri dari: - audio_waveform (
torch.Tensordengan bentuk (batch_size, seq_len)): Gelombang audio yang dihasilkan. - output_lengths (
torch.Tensordengan bentuk (batch_size)): Panjang setiap waveform dalam batch
Membuat audio dari prompt input dan prompt speaker Bark tambahan yang bersifat opsional.
Contoh:
>>> from transformers import AutoProcessor, BarkModel
>>> processor = AutoProcessor.from_pretrained("suno/bark-small")
>>> model = BarkModel.from_pretrained("suno/bark-small")
>>> # To add a voice preset, you can pass `voice_preset` to `BarkProcessor.__call__(...)`
>>> voice_preset = "v2/en_speaker_6"
>>> inputs = processor("Hello, my dog is cute, I need him in my life", voice_preset=voice_preset)
>>> audio_array = model.generate(**inputs, semantic_max_new_tokens=100)
>>> audio_array = audio_array.cpu().numpy().squeeze()enable_cpu_offload
< source >( accelerator_id: int | None = 0**kwargs )
Membongkar semua sub-model ke CPU menggunakan accelerate, mengurangi penggunaan memori dengan dampak rendah pada kinerja. Metode ini memindahkan satu sub-model utuh pada satu waktu ke akselerator saat digunakan, dan sub-model tersebut tetap berada di akselerator hingga sub-model berikutnya dijalankan.
BarkSemanticModel
kelas transformers.BarkSemanticModel
< source >( config: BarkSubModelConfig )
Parameter
- config (
BarkSubModelConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model semantik (atau teks) Bark. Model ini berbagi arsitektur yang sama dengan model kasar. Ini adalah model autoregresif mirip GPT-2 dengan kepala pemodelan bahasa di atasnya.
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
< source >( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)
Parameter
- input_ids (
torch.Tensordengan 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.
- 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 daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - attention_mask (
torch.Tensordengan 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.
- position_ids (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1]. - labels (
torch.LongTensordengan 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 docstringinput_ids). Token dengan indeks yang disetel ke-100diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam[0, ..., config.vocab_size]. - inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.
Mengembalikan
CausalLMOutputWithPast atau tuple(torch.Tensor)
A CausalLMOutputWithPast atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (BarkConfig) dan input.
Metode forward dari BarkCausalModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss pemodelan bahasa (untuk prediksi token berikutnya).logits (
torch.Tensordengan bentuk(batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).past_key_values (
Cache, opsional, dikembalikan saatuse_cache=Truedilewatkan atau saatconfig.use_cache=True) — Ini adalah instance Cache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Berisi hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention) yang dapat digunakan (lihat input
past_key_values) untuk mempercepat decoding berurutan.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
BarkCoarseModel
kelas transformers.BarkCoarseModel
< source >( config: BarkSubModelConfig )
Parameter
- config (
BarkSubModelConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model akustik kasar Bark. Model ini berbagi arsitektur yang sama dengan model semantik (atau teks). Ini adalah model autoregresif mirip GPT-2 dengan kepala pemodelan bahasa di atasnya.
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
< source >( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)
Parameter
- input_ids (
torch.Tensordengan 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.
- 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 daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - attention_mask (
torch.Tensordengan 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.
- position_ids (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1]. - labels (
torch.LongTensordengan 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 docstringinput_ids). Token dengan indeks yang disetel ke-100diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam[0, ..., config.vocab_size]. - inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.
Mengembalikan
CausalLMOutputWithPast atau tuple(torch.Tensor)
A CausalLMOutputWithPast atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (BarkConfig) dan input.
Metode forward dari BarkCausalModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss pemodelan bahasa (untuk prediksi token berikutnya).logits (
torch.Tensordengan bentuk(batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).past_key_values (
Cache, opsional, dikembalikan saatuse_cache=Truedilewatkan atau saatconfig.use_cache=True) — Ini adalah instance Cache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Berisi hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention) yang dapat digunakan (lihat input
past_key_values) untuk mempercepat decoding berurutan.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
BarkFineModel
kelas transformers.BarkFineModel
< source >( config: BarkFineConfig )
Parameter
- config (BarkFineConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model akustik halus Bark. Ini adalah model non-kausal mirip GPT dengan config.n_codes_total lapisan embedding dan kepala pemodelan bahasa, satu untuk setiap codebook.
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
< source >( codebook_idx: intinput_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → MaskedLMOutput or tuple(torch.Tensor)
Parameter
- codebook_idx (
int) — Indeks dari codebook yang akan diprediksi. - input_ids (
torch.Tensordengan 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.
- attention_mask (
torch.Tensordengan 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.
- position_ids (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1]. - labels (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — BELUM DIIMPLEMENTASIKAN. - inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.
Mengembalikan
MaskedLMOutput atau tuple(torch.Tensor)
A MaskedLMOutput atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (BarkConfig) dan input.
Metode forward dari BarkFineModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan ketikalabelsdisediakan) — Masked language modeling (MLM) loss.logits (
torch.Tensordengan bentuk(batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
BarkCausalModel
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)
Parameter
- input_ids (
torch.Tensordengan 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.
- 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 daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - attention_mask (
torch.Tensordengan 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.
- position_ids (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang[0, config.n_positions - 1]. - labels (
torch.LongTensordengan 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 docstringinput_ids). Token dengan indeks yang disetel ke-100diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam[0, ..., config.vocab_size]. - inputs_embeds (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskaninput_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeksinput_idsmenjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model. - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.
Mengembalikan
CausalLMOutputWithPast atau tuple(torch.Tensor)
A CausalLMOutputWithPast atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (BarkConfig) dan input.
Metode forward dari BarkCausalModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss pemodelan bahasa (untuk prediksi token berikutnya).logits (
torch.Tensordengan bentuk(batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).past_key_values (
Cache, opsional, dikembalikan saatuse_cache=Truedilewatkan atau saatconfig.use_cache=True) — Ini adalah instance Cache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Berisi hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention) yang dapat digunakan (lihat input
past_key_values) untuk mempercepat decoding berurutan.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
BarkCoarseConfig
kelas transformers.BarkCoarseConfig
< source >( 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 = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = True )
Parameter
- block_size (
int, opsional, default 1024) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. Biasanya, atur ini ke nilai yang besar sebagai antisipasi (misalnya, 512 atau 1024 atau 2048). - input_vocab_size (
int, opsional, default 10_048) — Ukuran kosakata dari sub-model Bark. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinputs_idsyang dikirim saat memanggil{model}. Defaultnya 10_048, tetapi harus dipertimbangkan dengan cermat mengingat sub-model yang dipilih. - output_vocab_size (
int, opsional, default 10_048) — Ukuran kosakata keluaran dari sub-model Bark. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh:output_idssaat meneruskan{model}. Defaultnya 10_048, tetapi sebaiknya dipertimbangkan dengan cermat mengingat sub-model yang dipilih. - num_layers (
int, opsional, default12) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_heads (
int, opsional, default12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer. - hidden_size (
int, opsional, default768) — Dimensi dari representasi tersembunyi. - dropout (
Union[float, int], opsional, default0.0) — Rasio untuk semua lapisan dropout. - bias (
bool, opsional, defaultTrue) — Apakah akan menggunakan bias pada lapisan linear dan lapisan layer norm - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - use_cache (
bool, opsional, defaultnyaTrue) — Apakah model harus mengembalikan perhatian kunci/nilai terakhir (tidak digunakan oleh semua model). Hanya relevan jikaconfig.is_decoder=Trueatau ketika model adalah model generatif yang hanya decoder.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari BarkModel. Kelas ini digunakan untuk menginstansiasi model Bark sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari suno/bark
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import BarkCoarseConfig, BarkCoarseModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkCoarseConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkCoarseModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configBarkFineConfig
kelas transformers.BarkFineConfig
< source >( 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 = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = Truetie_word_embeddings: bool = Truen_codes_total: int = 8n_codes_given: int = 1 )
Parameter
- block_size (
int, opsional, default 1024) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. Biasanya, atur ini ke nilai yang besar sebagai antisipasi (misalnya, 512 atau 1024 atau 2048). - input_vocab_size (
int, opsional, default 10_048) — Ukuran kosakata dari sub-model Bark. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinputs_idsyang dikirim saat memanggil{model}. Defaultnya 10_048, tetapi harus dipertimbangkan dengan cermat mengingat sub-model yang dipilih. - output_vocab_size (
int, opsional, default 10_048) — Ukuran kosakata keluaran dari sub-model Bark. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh:output_idssaat meneruskan{model}. Defaultnya 10_048, tetapi sebaiknya dipertimbangkan dengan cermat mengingat sub-model yang dipilih. - num_layers (
int, opsional, default12) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_heads (
int, opsional, default12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer. - hidden_size (
int, opsional, default768) — Dimensi dari representasi tersembunyi. - dropout (
Union[float, int], opsional, default0.0) — Rasio untuk semua lapisan dropout. - bias (
bool, opsional, defaultTrue) — Apakah akan menggunakan bias pada lapisan linear dan lapisan layer norm - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - use_cache (
bool, opsional, defaultnyaTrue) — Apakah model harus mengembalikan perhatian kunci/nilai terakhir (tidak digunakan oleh semua model). Hanya relevan jikaconfig.is_decoder=Trueatau ketika model adalah model generatif yang hanya decoder. - tie_word_embeddings (
bool, opsional, defaultTrue) — Apakah akan mengikat bobot embedding sesuai dengan pemetaantied_weights_keysmodel. - n_codes_total (
int, opsional, defaultnya 8) — Jumlah total codebook audio yang diprediksi. Digunakan dalam sub-model akustik halus. - n_codes_given (
int, opsional, default 1) — Jumlah codebook audio yang diprediksi dalam sub-model akustik kasar. Digunakan dalam sub-model akustik.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari BarkModel. Kelas ini digunakan untuk menginstansiasi model Bark sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari suno/bark
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import BarkFineConfig, BarkFineModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkFineConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkFineModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configBarkSemanticConfig
kelas transformers.BarkSemanticConfig
< source >( 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 = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = True )
Parameter
- block_size (
int, opsional, default 1024) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. Biasanya, atur ini ke nilai yang besar sebagai antisipasi (misalnya, 512 atau 1024 atau 2048). - input_vocab_size (
int, opsional, default 10_048) — Ukuran kosakata dari sub-model Bark. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinputs_idsyang dikirim saat memanggil{model}. Defaultnya 10_048, tetapi harus dipertimbangkan dengan cermat mengingat sub-model yang dipilih. - output_vocab_size (
int, opsional, default 10_048) — Ukuran kosakata keluaran dari sub-model Bark. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh:output_idssaat meneruskan{model}. Defaultnya 10_048, tetapi sebaiknya dipertimbangkan dengan cermat mengingat sub-model yang dipilih. - num_layers (
int, opsional, default12) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_heads (
int, opsional, default12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer. - hidden_size (
int, opsional, default768) — Dimensi dari representasi tersembunyi. - dropout (
Union[float, int], opsional, default0.0) — Rasio untuk semua lapisan dropout. - bias (
bool, opsional, defaultTrue) — Apakah akan menggunakan bias pada lapisan linear dan lapisan layer norm - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - use_cache (
bool, opsional, defaultnyaTrue) — Apakah model harus mengembalikan perhatian kunci/nilai terakhir (tidak digunakan oleh semua model). Hanya relevan jikaconfig.is_decoder=Trueatau ketika model adalah model generatif yang hanya decoder.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari BarkModel. Kelas ini digunakan untuk menginstansiasi model Bark sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari suno/bark
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import BarkSemanticConfig, BarkSemanticModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkSemanticConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkSemanticModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config