Transformers documentation

Bark

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 disumbangkan ke Hugging Face Transformers pada 2023-07-17.

Bark

FlashAttention

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

< >

( 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, defaultnya 0.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.config

BarkProcessor

kelas transformers.BarkProcessor

< >

( 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 dari np.ndarray yang bersangkutan. Lihat di sini untuk daftar voice_preset_names.

Membangun BarkProcessor yang membungkus tokenizer menjadi satu prosesor.

BarkProcessor menyediakan semua fungsionalitas dari BertTokenizer. Lihat ~BertTokenizer untuk informasi lebih lanjut.

__call__

< >

( 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, set is_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 embedding np.ndarray untuk setiap submodel dari Bark. Atau bisa berupa nama file yang valid dari preset suara tunggal lokal .npz yang berisi kunci "semantic_prompt", "coarse_prompt" dan "fine_prompt".
  • return_tensors (`, defaults to pt`) — Jika diatur, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:
    • 'pt': Mengembalikan objek PyTorch torch.Tensor.
    • 'np': Mengembalikan objek NumPy np.ndarray.
  • max_length (int, defaultnya 256) — 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, defaultnya False) — Apakah akan menambahkan token khusus saat meng-encode rangkaian. Ini akan menggunakan fungsi PretrainedTokenizerBase.build_inputs_with_special_tokens yang mendasarinya, yang mendefinisikan token mana yang ditambahkan secara otomatis ke id input. Ini berguna jika Anda ingin menambahkan token bos atau eos secara otomatis.
  • return_attention_mask (bool, defaultnya True) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default tokenizer tertentu, yang didefinisikan oleh return_outputs atribut.

    Apa itu attention mask?

  • return_token_type_ids (bool, defaultnya False) — Apakah akan mengembalikan token type ID. Jika dibiarkan pada nilai default, akan mengembalikan token type ID sesuai dengan default tokenizer tertentu, yang ditentukan oleh atribut return_outputs .

    Apa itu token type ID?

Mengembalikan

BatchEncoding

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

< >

( pretrained_processor_name_or_pathspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'**kwargs )

Parameter

  • pretrained_model_name_or_path (str atau os.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 .json yang berisi kamus speaker_embeddings yang terletak di pretrained_model_name_or_path. Jika None, 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

< >

( save_directoryspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'speaker_embeddings_directory = 'speaker_embeddings'push_to_hub: bool = False**kwargs )

Parameter

  • save_directory (str atau os.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 .json yang akan berisi kamus jalur bersarang speaker_embeddings, jika ada, dan yang akan berada di pretrained_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, default False) — Apakah model Anda akan didorong ke Hugging Face model hub setelah disimpan. Anda dapat menentukan repository yang ingin Anda tuju dengan repo_id (defaultnya adalah nama save_directory di 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

< >

( 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

< >

( 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 pembicara Bark opsional. 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 **kwargs untuk metode generate dari setiap sub-model.
    • Dengan awalan semantic_, coarse_, fine_, mereka akan menjadi input untuk metode generate dari 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.

  • return_output_lengths (bool, opsional) — Apakah akan mengembalikan panjang waveform. Berguna saat melakukan batching.

Mengembalikan

Secara default

  • audio_waveform (torch.Tensor dengan bentuk (batch_size, seq_len)): Gelombang audio yang dihasilkan. Ketika return_output_lengths=True: Mengembalikan tuple yang terdiri dari:
  • audio_waveform (torch.Tensor dengan bentuk (batch_size, seq_len)): Gelombang audio yang dihasilkan.
  • output_lengths (torch.Tensor dengan 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

< >

( accelerator_id: int | None = 0**kwargs )

Parameter

  • accelerator_id (int, opsional, default 0) — id akselerator tempat sub-model akan dimuat dan di-offload.

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

< >

( 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

< >

( 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.Tensor 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?

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

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

  • position_ids (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

  • 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].
  • 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. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • 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).
  • output_attentions (bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihat attentions di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di 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 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 (untuk prediksi token berikutnya).

  • 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 (Cache, opsional, dikembalikan saat use_cache=True dilewatkan atau saat config.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 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 model pada output setiap layer ditambah output embedding awal yang opsional.

  • 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 setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

BarkCoarseModel

kelas transformers.BarkCoarseModel

< >

( 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

< >

( 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.Tensor 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?

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

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

  • position_ids (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

  • 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].
  • 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. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • 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).
  • output_attentions (bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihat attentions di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di 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 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 (untuk prediksi token berikutnya).

  • 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 (Cache, opsional, dikembalikan saat use_cache=True dilewatkan atau saat config.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 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 model pada output setiap layer ditambah output embedding awal yang opsional.

  • 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 setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

BarkFineModel

kelas transformers.BarkFineModel

< >

( 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

< >

( 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.Tensor 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?

  • position_ids (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

  • labels (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — BELUM DIIMPLEMENTASIKAN.
  • 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. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • output_attentions (bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihat attentions di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di 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 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 ketika labels disediakan) — Masked language modeling (MLM) loss.

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

  • 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 model pada output setiap layer ditambah output embedding awal yang opsional.

  • 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 setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

BarkCausalModel

kelas transformers.BarkCausalModel

< >

( config: BarkSubModelConfig )

forward

< >

( 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.Tensor 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?

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

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

  • position_ids (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

  • 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].
  • 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. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • 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).
  • output_attentions (bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihat attentions di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di 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 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 (untuk prediksi token berikutnya).

  • 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 (Cache, opsional, dikembalikan saat use_cache=True dilewatkan atau saat config.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 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 model pada output setiap layer ditambah output embedding awal yang opsional.

  • 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 setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

BarkCoarseConfig

kelas transformers.BarkCoarseConfig

< >

( 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 oleh inputs_ids yang 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_ids saat meneruskan {model}. Defaultnya 10_048, tetapi sebaiknya dipertimbangkan dengan cermat mengingat sub-model yang dipilih.
  • num_layers (int, opsional, default 12) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_heads (int, opsional, default 12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.
  • hidden_size (int, opsional, default 768) — Dimensi dari representasi tersembunyi.
  • dropout (Union[float, int], opsional, default 0.0) — Rasio untuk semua lapisan dropout.
  • bias (bool, opsional, default True) — Apakah akan menggunakan bias pada lapisan linear dan lapisan layer norm
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • 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.

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

BarkFineConfig

kelas transformers.BarkFineConfig

< >

( 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 oleh inputs_ids yang 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_ids saat meneruskan {model}. Defaultnya 10_048, tetapi sebaiknya dipertimbangkan dengan cermat mengingat sub-model yang dipilih.
  • num_layers (int, opsional, default 12) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_heads (int, opsional, default 12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.
  • hidden_size (int, opsional, default 768) — Dimensi dari representasi tersembunyi.
  • dropout (Union[float, int], opsional, default 0.0) — Rasio untuk semua lapisan dropout.
  • bias (bool, opsional, default True) — Apakah akan menggunakan bias pada lapisan linear dan lapisan layer norm
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • 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.
  • tie_word_embeddings (bool, opsional, default True) — Apakah akan mengikat bobot embedding sesuai dengan pemetaan tied_weights_keys model.
  • 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.config

BarkSemanticConfig

kelas transformers.BarkSemanticConfig

< >

( 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 oleh inputs_ids yang 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_ids saat meneruskan {model}. Defaultnya 10_048, tetapi sebaiknya dipertimbangkan dengan cermat mengingat sub-model yang dipilih.
  • num_layers (int, opsional, default 12) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_heads (int, opsional, default 12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.
  • hidden_size (int, opsional, default 768) — Dimensi dari representasi tersembunyi.
  • dropout (Union[float, int], opsional, default 0.0) — Rasio untuk semua lapisan dropout.
  • bias (bool, opsional, default True) — Apakah akan menggunakan bias pada lapisan linear dan lapisan layer norm
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • 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.

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
Update on GitHub