Transformers documentation

Konfigurasi

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

Konfigurasi

Kelas dasar PreTrainedConfig mengimplementasikan metode umum untuk memuat/menyimpan konfigurasi baik dari file atau direktori lokal, maupun dari konfigurasi model pretrained yang disediakan oleh pustaka (diunduh dari repositori AWS S3 HuggingFace).

Setiap kelas config turunan mengimplementasikan atribut spesifik model. Atribut umum yang ada di semua kelas config adalah: hidden_size, num_attention_heads, dan num_hidden_layers. Model teks lebih lanjut mengimplementasikan: vocab_size.

PreTrainedConfig

kelas transformers.PreTrainedConfig

< >

( 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 = None )

Parameter

  • name_or_path (str, opsional, defaultnya "") — Simpan string yang diteruskan ke PreTrainedModel.from_pretrained() sebagai pretrained_model_name_or_path jika konfigurasi dibuat dengan metode tersebut.
  • output_hidden_states (bool, opsional, default False) — Apakah model harus mengembalikan semua hidden-states.
  • output_attentions (bool, opsional, default False) — Apakah model harus mengembalikan semua perhatian (attentions).
  • return_dict (bool, opsional, defaultnya True) — Apakah model harus mengembalikan ModelOutput alih-alih tuple biasa.
  • is_encoder_decoder (bool, opsional, default False) — Apakah model digunakan sebagai encoder/decoder atau tidak.
  • chunk_size_feed_forward (int, opsional, defaultnya 0) — Ukuran chunk dari semua lapisan feed forward dalam blok residual attention. Ukuran chunk 0 berarti lapisan feed forward tidak di-chunk. Ukuran chunk n berarti lapisan feed forward memproses n < sequence_length embeddings pada satu waktu. Untuk informasi lebih lanjut tentang feed forward chunking, lihat Bagaimana cara kerja Feed Forward Chunking?.
  • per_layer_config (dict[int | str, dict[str, Any]], opsional) — Pemetaan jarang (sparse mapping) dari indeks layer ke penimpaan atribut konfigurasi. Setiap kunci adalah indeks layer, dan setiap nilai berisi atribut yang berbeda dari konfigurasi global untuk layer tersebut.
  • tie_last_hidden_states (bool, opsional) — Apakah hidden_states[-1] harus berupa last_hidden_state pasca-norm-final, bukan hidden state pra-norm-final. Jika tidak diset, nilai bawaan bawaan model yang digunakan.

Parameter untuk tugas fine-tuning

  • architectures (list[str], opsional) — Arsitektur model yang dapat digunakan dengan bobot pralatih model.
  • id2label (dict[int, str], opsional) — Peta dari indeks (misalnya indeks prediksi, atau indeks target) ke label.
  • label2id (dict[str, int], opsional) — Peta dari label ke indeks untuk model.
  • num_labels (int, opsional) — Jumlah label yang digunakan pada lapisan terakhir yang ditambahkan ke model, biasanya untuk tugas klasifikasi.
  • problem_type (str, opsional) — Jenis masalah untuk model XxxForSequenceClassification. Bisa berupa salah satu dari "regression", "single_label_classification" atau "multi_label_classification".

Parameter khusus PyTorch

  • dtype (str, opsional) — dtype dari bobot. Atribut ini dapat digunakan untuk menginisialisasi model ke dtype non-default (yang biasanya float32) sehingga memungkinkan alokasi penyimpanan yang optimal. Misalnya, jika model yang disimpan adalah float16, idealnya kita ingin memuatnya kembali menggunakan jumlah memori minimal yang dibutuhkan untuk memuat bobot float16.

Kelas dasar untuk semua kelas konfigurasi. Menangani beberapa parameter yang umum untuk semua konfigurasi model serta metode untuk memuat/mengunduh/menyimpan konfigurasi.

File konfigurasi dapat dimuat dan disimpan ke disk. Memuat file konfigurasi dan menggunakan file ini untuk menginisialisasi model tidak memuat bobot model. Hal ini hanya memengaruhi konfigurasi model.

Atribut kelas (ditimpa oleh kelas turunan):

  • model_type (str) — Pengidentifikasi untuk tipe model, yang diserialisasi ke file JSON dan digunakan untuk membuat ulang objek yang benar di AutoConfig.
  • attribute_map (dict[str, str]) — Dict yang memetakan nama atribut spesifik model ke penamaan atribut yang distandardisasi.
  • base_model_tp_plan (dict[str, Any]) — Dict yang memetakan FQN sub-modul dari model dasar ke rencana paralel tensor yang diterapkan pada sub-modul tersebut ketika model.tensor_parallel dipanggil.
  • base_model_fsdp_plan (dict[Any, str]) — Dict yang memetakan sub-modul dari model dasar ke strategi sharding FSDP2 (misalnya "free_full_weight" / "keep_full_weight"). Kunci dapat berupa jalur modul wildcard (misalnya "layers.*") atau tuple dari jalur (dikelompokkan ke dalam satu panggilan fully_shard).
  • base_model_pp_plan (dict[str, tuple[list[str]]]) — Dict yang memetakan modul anak dari model dasar ke rencana paralel pipeline yang memungkinkan pengguna menempatkan modul anak pada perangkat yang sesuai.

Atribut umum (ada di semua subkelas):

  • vocab_size (int) — Jumlah token dalam kosakata, yang juga merupakan dimensi pertama dari matriks embeddings (atribut ini mungkin tidak ada untuk model yang tidak memiliki modalitas teks seperti ViT).
  • hidden_size (int) — Ukuran tersembunyi (hidden size) dari model.
  • num_attention_heads (int) — Jumlah kepala perhatian yang digunakan pada lapisan multi-head attention dari model.
  • num_hidden_layers (int) — Jumlah blok dalam model.

Menetapkan parameter untuk generasi sekuens dalam konfigurasi model sudah tidak didukung lagi. Demi kompatibilitas mundur, memuat beberapa parameter tersebut masih mungkin, tetapi mencoba menimpanya akan melempar pengecualian — Anda harus menyetelnya di [~transformers.GenerationConfig]. Periksa dokumentasi [~transformers.GenerationConfig] untuk informasi lebih lanjut tentang parameter individual.

push_to_hub

< >

( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )

Parameter

  • repo_id (str) — Nama repositori tempat Anda ingin mendorong konfigurasi Anda. Seharusnya berisi nama organisasi Anda saat mendorong ke organisasi tertentu.
  • commit_message (str, opsional) — Pesan untuk commit saat push. Secara default akan menjadi "Upload config".
  • commit_description (str, opsional) — Deskripsi dari commit yang akan dibuat
  • private (bool, opsional) — Apakah membuat repo menjadi privat. Jika None (default), repo akan menjadi publik kecuali default organisasi adalah privat. Nilai ini diabaikan jika repo sudah ada.
  • token (bool atau str, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. Jika True (default), akan menggunakan token yang dihasilkan saat menjalankan hf auth login (disimpan di ~/.huggingface).
  • revision (str, opsional) — Cabang untuk mendorong file yang diunggah.
  • create_pr (bool, opsional, default False) — Apakah akan membuat PR dengan file yang diunggah atau langsung melakukan commit.
  • max_shard_size (int atau str, opsional, default "50GB") — Hanya berlaku untuk model. Ukuran maksimum checkpoint sebelum di-shard. Setiap shard checkpoint akan memiliki ukuran lebih kecil dari nilai ini. Jika dinyatakan sebagai string, harus berupa angka diikuti satuan (seperti "5MB").
  • tags (list[str], opsional) — Daftar tag untuk didorong ke Hub.

Unggah file konfigurasi ke 🤗 Model Hub.

Contoh:

from transformers import AutoConfig

config = AutoConfig.from_pretrained("google-bert/bert-base-cased")

# Push the config to your namespace with the name "my-finetuned-bert".
config.push_to_hub("my-finetuned-bert")

# Push the config to an organization with the name "my-finetuned-bert".
config.push_to_hub("huggingface/my-finetuned-bert")

default_config_fields

< >

( )

Mengambil nilai default untuk setiap field yang di-annotate dalam dataclass, digunakan untuk menyimpan diff-dict. Untuk konfigurasi yang dibuat di v4 dengan __init__ kustom, fungsi ini akan mengembalikan dict kosong, sehingga menyimpan semua kunci dalam self.__dict__. Untuk konfigurasi yang lebih baru, fungsi ini akan mengembalikan kunci yang memiliki default yang dideklarasikan sebagai field, bukan di __post_init__, yang memfilter hanya field spesifik tersebut dari file json yang diserialisasi.

dict_dtype_to_str

< >

( d: dict[str, Any] )

Memeriksa apakah kamus yang diberikan dan kamus bersarangnya memiliki kunci dtype dan jika nilainya bukan None, mengubah torch.dtype menjadi string yang hanya berisi tipe. Misalnya, torch.float32 diubah menjadi string “float32”, yang kemudian dapat disimpan dalam format json.

from_dict

< >

( config_dict: dict[str, Any]**kwargs ) → PreTrainedConfig

Parameter

  • config_dict (dict[str, Any]) — Kamus yang akan digunakan untuk menginstansiasi objek konfigurasi. Kamus semacam itu dapat diperoleh dari checkpoint pretrained dengan memanfaatkan metode get_config_dict().
  • kwargs (dict[str, Any]) — Parameter tambahan untuk menginisialisasi objek konfigurasi.

Mengembalikan

PreTrainedConfig

Objek konfigurasi yang diinstansiasi dari parameter tersebut.

Membuat instans PreTrainedConfig dari kamus Python berisi parameter.

from_json_file

< >

( json_file: str | os.PathLike ) → PreTrainedConfig

Parameter

  • json_file (str atau os.PathLike) — Path ke file JSON yang berisi parameter.

Mengembalikan

PreTrainedConfig

Objek konfigurasi yang diinstansiasi dari file JSON tersebut.

Membuat instans PreTrainedConfig dari path ke file JSON berisi parameter.

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs ) → PreTrainedConfig

Parameter

  • pretrained_model_name_or_path (str atau os.PathLike) — Ini bisa berupa:
    • sebuah string, model id dari konfigurasi model pretrained yang dihosting di dalam repo model di huggingface.co.
    • path ke direktori yang berisi file konfigurasi yang disimpan menggunakan metode save_pretrained(), misalnya ./my_model_directory/.
    • path ke file JSON konfigurasi yang disimpan file, misalnya ./my_model_directory/configuration.json.
  • cache_dir (str atau os.PathLike, opsional) — Path ke direktori tempat konfigurasi model pretrained yang diunduh harus di-cache jika cache standar tidak digunakan.
  • force_download (bool, opsional, default False) — Apakah akan memaksa (mengunduh ulang) file konfigurasi dan menimpa versi yang di-cache jika sudah ada.
  • proxies (dict[str, str], opsional) — Kamus server proxy untuk digunakan berdasarkan protokol atau endpoint, misalnya {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Proxy digunakan pada setiap permintaan.
  • token (str atau bool, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. Jika True, atau tidak ditentukan, akan menggunakan token yang dihasilkan saat menjalankan hf auth login (disimpan di ~/.huggingface).
  • revision (str, opsional, default ke "main") — Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, atau commit id, karena kami menggunakan sistem berbasis git untuk menyimpan model dan artefak lainnya di huggingface.co, jadi revision bisa berupa identifikasi apa pun yang diizinkan oleh git.

    Untuk menguji pull request yang Anda buat di Hub, Anda dapat meneruskan revision="refs/pr/<pr_number>".

  • return_unused_kwargs (bool, opsional, defaultnya False) — Jika False, maka fungsi ini hanya mengembalikan objek konfigurasi akhir.

    Jika True, maka fungsi ini mengembalikan Tuple(config, unused_kwargs) di mana unused_kwargs adalah kamus yang terdiri dari pasangan kunci/nilai yang kuncinya bukan atribut konfigurasi: yaitu, bagian dari kwargs yang tidak digunakan untuk memperbarui config dan diabaikan.

  • subfolder (str, opsional, defaultnya "") — Jika file yang relevan berada di dalam subfolder dari repo model di huggingface.co, Anda dapat menentukan nama folder di sini.
  • kwargs (dict[str, Any], opsional) — Nilai dalam kwargs untuk kunci mana pun yang merupakan atribut konfigurasi akan digunakan untuk menimpa nilai yang dimuat. Perilaku terkait pasangan kunci/nilai yang kuncinya bukan atribut konfigurasi dikendalikan oleh parameter kata kunci return_unused_kwargs.

Mengembalikan

PreTrainedConfig

Objek konfigurasi yang diinstansiasi dari model pretrained ini.

Instansiasi PreTrainedConfig (atau kelas turunan) dari konfigurasi model pretrained.

Contoh:

# We can't instantiate directly the base class *PreTrainedConfig* so let's show the examples on a
# derived class: BertConfig
config = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased"
)  # Download configuration from huggingface.co and cache.
config = BertConfig.from_pretrained(
    "./test/saved_model/"
)  # E.g. config (or model) was saved using *save_pretrained('./test/saved_model/')*
config = BertConfig.from_pretrained("./test/saved_model/my_configuration.json")
config = BertConfig.from_pretrained("google-bert/bert-base-uncased", output_attentions=True, foo=False)
assert config.output_attentions == True
config, unused_kwargs = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased", output_attentions=True, foo=False, return_unused_kwargs=True
)
assert config.output_attentions == True
assert unused_kwargs == {"foo": False}

get_config_dict

< >

( pretrained_model_name_or_path: str | os.PathLike**kwargs ) → tuple[Dict, Dict]

Parameter

  • pretrained_model_name_or_path (str atau os.PathLike) — Identitas checkpoint terlatih sebelumnya yang dari mana kita ingin mengambil kamus parameter.

Mengembalikan

tuple[Dict, Dict]

Kamus yang akan digunakan untuk menginstansiasi objek konfigurasi.

Dari pretrained_model_name_or_path, selesaikan menjadi kamus parameter, untuk digunakan dalam menginstansiasi PreTrainedConfig menggunakan from_dict.

get_mtp_config

< >

( )

Mengembalikan konfigurasi teks mtp yang akan digunakan untuk membuat model MTP. Karena lapisan MTP dibuat dengan menginstansiasi kelas yang sama seperti model utama, kita perlu menimpa properti yang spesifik terhadap indeks dari konfigurasi seperti layer_types atau mtp_layer_types untuk membuat lapisan mtp yang benar dan menghindari masalah indeksasi pada lapisan (karena lapisan MTP memulai ulang indeksasi lapisan dari 0).

get_text_config

< >

( decoder = Noneencoder = None )

Parameter

  • decoder (Optional[bool], opsional) — Jika diset ke True, maka hanya cari nama konfigurasi decoder.
  • encoder (Optional[bool], opsional) — Jika diset ke True, maka hanya mencari nama konfigurasi encoder.

Mengembalikan konfigurasi teks yang terkait dengan input teks (encoder) atau output teks (decoder) dari model. Argumen input decoder dan encoder dapat digunakan untuk menentukan sisi model mana yang menjadi perhatian, yang berguna pada model yang memiliki modalitas input dan output teks.

Ada tiga kemungkinan hasil dari penggunaan metode ini:

  1. Pada sebagian besar model, fungsi ini mengembalikan instance config aslinya.
  2. Pada model komposit yang lebih baru (2024+), ia mengembalikan bagian teks dari konfigurasi, yang bersarang di bawah serangkaian nama yang valid.
  3. Pada model komposit yang lebih lama (2023-), parameter decoder-only dibuang saat encoder=True dan sebaliknya.

is_custom_code

< >

( )

Mengembalikan apakah konfigurasi saat ini adalah kode kustom, yaitu kode yang dimuat dari hub atau didefinisikan di modul/sesi khusus pengguna mana pun.

is_remote_code

< >

( )

Mengembalikan apakah konfigurasi saat ini adalah kode kustom, yaitu kode yang dimuat dari hub, atau kelas yang baru saja kami daftarkan melalui register_for_auto_class.

register_for_auto_class

< >

( auto_class = 'AutoConfig' )

Parameter

  • auto_class (str atau type, opsional, defaultnya "AutoConfig") — Kelas auto untuk mendaftarkan konfigurasi baru ini.

Daftarkan kelas ini dengan kelas auto yang diberikan. Ini hanya harus digunakan untuk konfigurasi kustom karena yang ada di pustaka sudah dipetakan dengan AutoConfig.

save_pretrained

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

Parameter

  • save_directory (str atau os.PathLike) — Direktori tempat file konfigurasi JSON akan disimpan (akan dibuat jika belum ada).
  • 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 (dict[str, Any], opsional) — Argumen kata kunci tambahan yang diteruskan ke metode push_to_hub().

Simpan objek konfigurasi ke direktori save_directory agar dapat dimuat ulang menggunakan metode kelas from_pretrained().

to_dict

< >

( ) → dict[str, Any]

Mengembalikan

dict[str, Any]

Kamus dari semua atribut yang membentuk instance konfigurasi ini.

Menserialisasi instance ini ke dalam kamus Python.

to_diff_dict

< >

( ) → dict[str, Any]

Mengembalikan

dict[str, Any]

Kamus dari semua atribut yang membentuk instance konfigurasi ini.

Menghapus semua atribut dari konfigurasi yang sesuai dengan atribut konfigurasi default untuk keterbacaan yang lebih baik, sambil selalu mempertahankan atribut config dari kelas. Diserialisasi ke dalam kamus Python.

to_json_file

< >

( json_file_path: str | os.PathLikeuse_diff: bool = True )

Parameter

  • json_file_path (str atau os.PathLike) — Path ke file JSON tempat parameter dari instance konfigurasi ini akan disimpan.
  • use_diff (bool, opsional, defaultnya True) — Jika diset ke True, hanya perbedaan antara instance config dan default PreTrainedConfig() yang diserialisasi ke file JSON.

Simpan instance ini ke file JSON.

to_json_string

< >

( use_diff: bool = True ) → str

Parameter

  • use_diff (bool, opsional, defaultnya True) — Jika diset ke True, hanya perbedaan antara instance config dan default PreTrainedConfig() yang diserialisasi ke string JSON.

Mengembalikan

str

String yang berisi semua atribut yang membentuk instance konfigurasi ini dalam format JSON.

Menserialisasi instance ini ke string JSON.

perbarui

< >

( config_dict: dict[str, Any] )

Parameter

  • config_dict (dict[str, Any]) — Kamus atribut yang harus diperbarui untuk kelas ini.

Memperbarui atribut kelas ini dengan atribut dari config_dict.

update_from_string

< >

( update_str: str )

Parameter

  • update_str (str) — String berisi atribut yang harus diperbarui untuk kelas ini.

Memperbarui atribut kelas ini dengan atribut dari update_str.

Format yang diharapkan adalah ints, floats, dan strings apa adanya, dan untuk booleans gunakan true atau false. Sebagai contoh: “n_embd=10,resid_pdrop=0.2,scale_attn_weights=false,summary_type=cls_index”

Kunci yang akan diubah harus sudah ada di dalam objek config.

validate

< >

( )

Jalankan validator kelas pada instance.

validate_architecture

< >

( )

Bagian dari validasi yang didukung oleh @strict. Memvalidasi arsitektur dari config.

validate_layer_type

< >

( )

Periksa bahwa mlp_layer_types dan layer_types didefinisikan dengan benar.

validate_token_ids

< >

( )

Bagian dari validasi yang didukung oleh @strict. Memvalidasi isi dari token khusus.

Update on GitHub