Transformers documentation
Kuantisasi
Kuantisasi
Teknik kuantisasi mengurangi biaya memori dan komputasi dengan merepresentasikan bobot dan aktivasi menggunakan tipe data presisi rendah seperti bilangan bulat 8-bit (int8). Hal ini memungkinkan pemuatan model yang lebih besar yang biasanya tidak muat di memori, serta mempercepat inferensi. Transformers mendukung algoritma kuantisasi AWQ dan GPTQ, serta mendukung kuantisasi 8-bit dan 4-bit dengan bitsandbytes.
Teknik kuantisasi yang tidak didukung di Transformers dapat ditambahkan dengan kelas HfQuantizer.
Pelajari cara mengkuantisasi model dalam panduan Kuantisasi.
QuantoConfig
kelas transformers.QuantoConfig
< source >( weights = 'int8'activations = Nonemodules_to_not_convert: list | None = None**kwargs )
Parameter
- weights (
str, opsional, default"int8") — Dtype target untuk bobot setelah kuantisasi. Nilai yang didukung adalah (“float8”,“int8”,“int4”,“int2”) - activations (
str, opsional) — Dtype target untuk activations setelah kuantisasi. Nilai yang didukung adalah (None,“int8”,“float8”) - modules_to_not_convert (
list, opsional, defaultNone) — Daftar modul yang tidak akan dikuantisasi, berguna untuk menguantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya (misalnya encoder Whisper, encoder Llava, lapisan gate Mixtral).
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat menggunakan quanto.
Pemeriksa keselamatan yang memastikan argumen benar
AqlmConfig
kelas transformers.AqlmConfig
< source >( in_group_size: int = 8out_group_size: int = 1num_codebooks: int = 1nbits_per_codebook: int = 16linear_weights_not_to_quantize: list[str] | None = None**kwargs )
Parameter
- in_group_size (
int, opsional, defaultnya 8) — Ukuran grup di sepanjang dimensi input. - out_group_size (
int, opsional, default 1) — Ukuran grup di sepanjang dimensi output. Disarankan untuk selalu menggunakan 1. - num_codebooks (
int, opsional, default 1) — Jumlah codebook untuk prosedur Additive Quantization. - nbits_per_codebook (
int, opsional, default 16) — Jumlah bit untuk mengkodekan satu vektor codebook. Ukuran codebook adalah 2**nbits_per_codebook. - linear_weights_not_to_quantize (
Optional[list[str]], opsional) — Daftar jalur lengkap dari parameter bobotnn.Linearyang tidak boleh dikuantisasi. - kwargs (
dict[str, Any], opsional) — Parameter tambahan untuk menginisialisasi objek konfigurasi.
Ini adalah kelas pembungkus tentang parameter aqlm.
Pemeriksa keselamatan yang memastikan argumen benar - juga mengganti beberapa argumen NoneType dengan nilai default-nya.
VptqConfig
kelas transformers.VptqConfig
< source >( enable_proxy_error: bool = Falseconfig_for_layers: dict = {}shared_layer_config: dict = {}modules_to_not_convert: list | None = None**kwargs )
Parameter
- enable_proxy_error (
bool, opsional, defaultnyaFalse) — hitung proxy error untuk setiap layer - config_for_layers (
Dict, opsional, default{}) — parameter kuantisasi untuk setiap layer - shared_layer_config (
Dict, opsional, default{}) — parameter kuantisasi bersama di antara lapisan - modules_to_not_convert (
list, opsional, defaultNone) — Daftar modul yang tidak akan dikuantisasi, berguna untuk menguantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya (misalnya encoder Whisper, encoder Llava, lapisan gate Mixtral). - kwargs (
dict[str, Any], opsional) — Parameter tambahan untuk menginisialisasi objek konfigurasi.
Ini adalah kelas pembungkus tentang parameter vptq.
Pemeriksa keselamatan yang memastikan argumen benar
AwqConfig
kelas transformers.AwqConfig
< source >( bits: int = 4group_size: int = 128zero_point: bool = Truebackend: AwqBackend = <AwqBackend.AUTO: 'auto'>modules_to_not_convert: list | None = None**kwargs )
Parameter
- bits (
int, opsional, defaultnya 4) — Jumlah bit untuk kuantisasi. - group_size (
int, opsional, default 128) — Ukuran grup yang digunakan untuk kuantisasi. Nilai yang direkomendasikan adalah 128 dan -1 menggunakan kuantisasi per kolom. - zero_point (
bool, opsional, defaultTrue) — Apakah akan menggunakan kuantisasi titik nol. - backend (
AwqBackend, opsional, defaultAwqBackend.AUTO) — Backend kuantisasi. - modules_to_not_convert (
list, opsional, defaultNone) — Daftar modul yang tidak akan dikuantisasi, berguna untuk menguantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya (misalnya encoder Whisper, encoder Llava, lapisan gate Mixtral). Perhatikan bahwa Anda tidak dapat menguantisasi secara langsung dengan transformers, silakan merujuk ke dokumentasiAutoAWQuntuk menguantisasi model HF.
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat menggunakan kuantisasi awq dari pustaka auto-awq yang bergantung pada backend auto_awq.
EetqConfig
kelas transformers.EetqConfig
< source >( weights: str = 'int8'modules_to_not_convert: list | None = None**kwargs )
Parameter
- weights (
str, opsional, default"int8") — Dtype target untuk bobot. Nilai yang didukung hanya “int8” - modules_to_not_convert (
list, opsional, defaultNone) — Daftar modul yang tidak akan dikuantisasi, berguna untuk mengkuantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya.
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat menggunakan eetq.
Pemeriksa keselamatan yang memastikan argumen benar
GPTQConfig
kelas transformers.GPTQConfig
< source >( bits: inttokenizer: Any = Nonedataset: list[str] | str | None = Nonegroup_size: int = 128damp_percent: float = 0.1desc_act: bool = Falseact_group_aware: bool = Truesym: bool = Truetrue_sequential: bool = Trueformat: str = 'gptq'meta: dict[str, typing.Any] | None = Nonebackend: str | None = Nonemodel_seqlen: int | None = Noneblock_name_to_quantize: str | None = Nonemodule_name_preceding_first_block: list[str] | None = Nonebatch_size: int = 1pad_token_id: int | None = Nonemax_input_length: int | None = Nonecache_block_outputs: bool = Truemodules_in_block_to_quantize: list[list[str]] | None = None**kwargs )
Parameter
- bits (
int) — Jumlah bit untuk kuantisasi, angka yang didukung adalah (2, 3, 4, 8). - tokenizer (
stratauPreTrainedTokenizerBase, opsional) — Tokenizer yang digunakan untuk memproses dataset. Anda dapat memberikan salah satu dari berikut ini:- Objek tokenizer kustom.
- String, model id dari tokenizer yang sudah ditentukan sebelumnya dan dihosting di dalam repositori model di huggingface.co.
- Path ke direktori yang berisi file kosakata yang diperlukan oleh tokenizer, misalnya yang disimpan menggunakan metode save_pretrained(), contohnya
./my_model_directory/.
- dataset (
Union[list[str]], opsional) — Dataset yang digunakan untuk kuantisasi. Anda dapat menyediakan dataset Anda sendiri dalam bentuk daftar string atau hanya menggunakan dataset asli yang digunakan dalam paper GPTQ [‘wikitext2’,‘c4’,‘c4-new’] - group_size (
int, opsional, default 128) — Ukuran grup yang digunakan untuk kuantisasi. Nilai yang direkomendasikan adalah 128 dan -1 menggunakan kuantisasi per kolom. - damp_percent (
float, opsional, default 0.1) — Persentase dari diagonal rata-rata Hessian yang digunakan untuk peredaman. Nilai yang direkomendasikan adalah 0.1. - desc_act (
bool, opsional, defaultFalse) — Apakah akan mengkuantisasi kolom berdasarkan urutan ukuran aktivasi yang menurun. Mengaturnya ke False dapat mempercepat inferensi secara signifikan, tetapi perplexity mungkin menjadi sedikit lebih buruk. Juga dikenal sebagai act-order. - act_group_aware (
bool, opsional, defaultTrue) — Gunakan GAR (group aware activation order) selama kuantisasi. Memiliki dampak positif yang terukur pada kualitas kuantisasi. Hanya berlaku ketikadesc_act = False. Akan dipaksa menjadiFalseketikadesc_act = True. - sym (
bool, opsional, defaultTrue) — Apakah akan menggunakan kuantisasi simetris. - true_sequential (
bool, opsional, defaultnyaTrue) — Apakah akan melakukan kuantisasi sekuensial bahkan di dalam satu blok Transformer. Alih-alih mengkuantisasi seluruh blok sekaligus, kami melakukan kuantisasi per lapisan. Akibatnya, setiap lapisan mengalami kuantisasi menggunakan input yang telah melewati lapisan-lapisan yang sebelumnya terkuantisasi. - format (
str, opsional, default"gptq") — Format bobot GPTQ.gptq(v1) didukung oleh gptqmodel.gptq_v2hanya untuk gptqmodel. - meta (
dict[str, any], opsional) — Properti, seperti tooling:version, yang tidak secara langsung berkontribusi pada kuantisasi atau inferensi kuantisasi disimpan di meta. misalnyameta.quantizer: [“optimum:version”, “gptqmodel:version”] - backend (
str, opsional) — Mengontrol kernel mana yang akan digunakan. Nilai valid untuk gptqmodel adalahauto,auto_trainabledan lainnya. Referensi backend gptqmodel: https://github.com/ModelCloud/GPTQModel/blob/main/gptqmodel/utils/backend.py - model_seqlen (
int, opsional) — Panjang maksimum sekuens yang dapat diterima oleh model. - block_name_to_quantize (
str, opsional) — Nama blok transformers yang akan dikuantisasi. Jika None, kami akan menyimpulkan nama blok menggunakan pola umum (mis. model.layers) - module_name_preceding_first_block (
list[str], opsional) — Lapisan yang mendahului blok Transformer pertama. - batch_size (
int, opsional, default 1) — Ukuran batch yang digunakan saat memproses dataset - pad_token_id (
int, opsional) — ID token pad. Diperlukan untuk menyiapkan dataset ketikabatch_size> 1. - max_input_length (
int, opsional) — Panjang input maksimum. Hal ini diperlukan untuk menginisialisasi buffer yang bergantung pada panjang input maksimum yang diharapkan. Ini spesifik untuk backend exllama dengan act-order. - cache_block_outputs (
bool, opsional, defaultnyaTrue) — Apakah akan meng-cache output blok untuk digunakan kembali sebagai input untuk blok berikutnya. - modules_in_block_to_quantize (
list[list[str]], opsional) — Daftar dari daftar nama modul yang akan dikuantisasi dalam blok yang ditentukan. Argumen ini berguna untuk mengecualikan modul linear tertentu dari proses kuantisasi. Blok yang akan dikuantisasi dapat ditentukan dengan mengaturblock_name_to_quantize. Kami akan menguantisasi setiap daftar secara berurutan. Jika tidak diatur, kami akan menguantisasi semua lapisan linear. Contoh:modules_in_block_to_quantize =[["self_attn.k_proj", "self_attn.v_proj", "self_attn.q_proj"], ["self_attn.o_proj"]]. Pada contoh ini, kami akan terlebih dahulu menguantisasi lapisan q,k,v secara bersamaan karena mereka independen. Kemudian, kami akan menguantisasi lapisanself_attn.o_projdengan lapisan q,k,v yang sudah dikuantisasi. Dengan cara ini, kami akan mendapatkan hasil yang lebih baik karena mencerminkan input nyata yang akan diterima olehself_attn.o_projketika model dikuantisasi.
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat menggunakan api optimum untuk kuantisasi GPTQ yang bergantung pada backend gptqmodel.
Dapatkan kelas yang kompatibel dengan dict konfigurasi gptq optimum
Pemeriksa keselamatan yang memastikan argumen benar
Dapatkan dict yang kompatibel untuk konfigurasi gptq optimum
BitsAndBytesConfig
kelas transformers.BitsAndBytesConfig
< source >( load_in_8bit = Falseload_in_4bit = Falsellm_int8_threshold = 6.0llm_int8_skip_modules = Nonellm_int8_enable_fp32_cpu_offload = Falsellm_int8_has_fp16_weight = Falsebnb_4bit_compute_dtype = Nonebnb_4bit_quant_type = 'fp4'bnb_4bit_use_double_quant = Falsebnb_4bit_quant_storage = None**kwargs )
Parameter
- load_in_8bit (
bool, opsional, defaultFalse) — Flag ini digunakan untuk mengaktifkan kuantisasi 8-bit dengan LLM.int8(). - load_in_4bit (
bool, opsional, defaultFalse) — Flag ini digunakan untuk mengaktifkan kuantisasi 4-bit dengan mengganti lapisan Linear menjadi lapisan FP4/NF4 daribitsandbytes. - llm_int8_threshold (
float, opsional, default 6.0) — Ini sesuai dengan ambang anomali untuk deteksi anomali seperti yang dijelaskan dalam makalahLLM.int8() : 8-bit Matrix Multiplication for Transformers at Scale: https://huggingface.co/papers/2208.07339 Nilai hidden states mana pun yang berada di atas ambang ini akan dianggap sebagai anomali dan operasi pada nilai-nilai tersebut akan dilakukan dalam fp16. Nilai biasanya terdistribusi normal, artinya, sebagian besar nilai berada dalam rentang [-3,5, 3,5], tetapi ada beberapa anomali sistematis yang sangat berbeda distribusinya pada model besar. Anomali ini sering berada dalam interval [-60, -6] atau [6, 60]. Kuantisasi Int8 bekerja dengan baik untuk nilai dengan magnitudo ~5, tetapi melampaui itu, terdapat penalti kinerja yang signifikan. Ambang default yang baik adalah 6, tetapi ambang yang lebih rendah mungkin diperlukan untuk model yang lebih tidak stabil (model kecil, fine-tuning). - llm_int8_skip_modules (
list[str], opsional) — Daftar eksplisit modul yang tidak ingin dikonversi ke 8-bit. Ini berguna untuk model seperti Jukebox yang memiliki beberapa head di berbagai tempat dan tidak selalu di posisi terakhir. Misalnya untuk modelCausalLM,lm_headterakhir dipertahankan dalamdtypeaslinya. - llm_int8_enable_fp32_cpu_offload (
bool, opsional, defaultFalse) — Flag ini digunakan untuk kasus penggunaan lanjutan dan pengguna yang memahami fitur ini. Jika Anda ingin membagi model Anda ke dalam bagian-bagian berbeda dan menjalankan beberapa bagian dalam int8 di GPU serta beberapa bagian dalam fp32 di CPU, Anda dapat menggunakan flag ini. Hal ini berguna untuk offloading model besar sepertigoogle/flan-t5-xxl. Perhatikan bahwa operasi int8 tidak akan dijalankan di CPU. - llm_int8_has_fp16_weight (
bool, opsional, defaultFalse) — Flag ini menjalankan LLM.int8() dengan bobot utama 16-bit. Hal ini berguna untuk fine-tuning karena bobot tidak perlu dikonversi bolak-balik untuk backward pass. - bnb_4bit_compute_dtype (
torch.dtypeatau str, opsional, defaultnyatorch.float32) — Ini mengatur tipe komputasi yang mungkin berbeda dari tipe input. Misalnya, input mungkin berupa fp32, tetapi komputasi dapat diatur ke bf16 untuk percepatan. - bnb_4bit_quant_type (
str, opsional, defaultnya"fp4") — Ini mengatur tipe data kuantisasi pada lapisan bnb.nn.Linear4Bit. Opsinya adalah tipe data FP4 dan NF4 yang ditentukan olehfp4ataunf4. - bnb_4bit_use_double_quant (
bool, opsional, defaultFalse) — Flag ini digunakan untuk kuantisasi bersarang, di mana konstanta kuantisasi dari kuantisasi pertama dikuantisasi lagi. - bnb_4bit_quant_storage (
torch.dtypeatau str, opsional, defaultnyatorch.uint8) — Ini mengatur tipe penyimpanan untuk mem-pack parameter 4-bit yang dikuantisasi. - kwargs (
dict[str, Any], opsional) — Parameter tambahan untuk menginisialisasi objek konfigurasi.
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat menggunakan bitsandbytes.
Saat ini hanya mendukung kuantisasi LLM.int8(), FP4, dan NF4. Jika metode lain ditambahkan ke bitsandbytes,
maka argumen tambahan akan ditambahkan ke kelas ini.
Mengembalikan True jika model dapat dikuantisasi, False jika tidak.
Pemeriksa keselamatan yang memastikan argumen benar - juga mengganti beberapa argumen NoneType dengan nilai default-nya.
Metode ini mengembalikan metode kuantisasi yang digunakan untuk model. Jika model tidak dapat dikuantisasi, metode ini mengembalikan None.
to_diff_dict
< source >( ) → dict[str, Any]
Mengembalikan
dict[str, Any]
Kamus dari semua atribut yang membentuk instance konfigurasi ini,
Menghapus semua atribut dari config yang sesuai dengan atribut config default untuk keterbacaan yang lebih baik dan menyerialisasi ke kamus Python.
HfQuantizer
kelas transformers.quantizers.HfQuantizer
< source >( quantization_config: QuantizationConfigMixin**kwargs )
Kelas abstrak dari kuantizer HuggingFace. Saat ini mendukung kuantisasi model transformers HF untuk inferensi dan/atau kuantisasi. Kelas ini hanya digunakan untuk transformers.PreTrainedModel.from_pretrained dan belum dapat dengan mudah digunakan di luar cakupan metode tersebut.
Atribut
quantization_config (transformers.utils.quantization_config.QuantizationConfigMixin):
Konfigurasi kuantisasi yang mendefinisikan parameter kuantisasi dari model Anda yang ingin dikuantisasi.
requires_calibration (bool):
Apakah metode kuantisasi memerlukan kalibrasi model sebelum digunakan.
sesuaikan argumen max_memory untuk infer_auto_device_map() jika memori tambahan diperlukan untuk kuantisasi
Potensi untuk mendekuantisasi model guna mengambil model asli, dengan sedikit penurunan akurasi / kinerja. Perhatikan bahwa tidak semua skema kuantisasi mendukung ini.
Kelas Op yang memuat tensor terserialisasi, misalnya {"deserialize": Mxfp4Deserialize, "dequantize": Mxfp4Dequantize}.
Deserialisasi membangun parameter dari satu modul, sehingga hanya dijalankan pada konverter umum. Dequantisasi
juga dijalankan sebelum op dari konverter model, misalnya sebelum per-expert merge.
Hal ini terjadi pada saat materialisasi, ketika tensor dikirim dari disk ke perangkat. dtype untuk meng-cast tensor checkpoint pre-quantized param.
Jika param tersebut tidak terkuantisasi (tipe float), kami menggunakan dtype input yang berasal dari nn.Module yang telah diinisialisasi.
Jika metode kuantisasi memiliki Deserializer atau Dequantizer (fungsi load), kami mengembalikan None sehingga ditangani oleh mereka.
Dapatkan state dict dan metadata. Berguna ketika kita perlu memodifikasi sedikit state dict karena kuantisasi
Kembalikan proses pemuatan yang akan dilakukan pada parameter mana pun yang tidak cocok dengan konverter model
Periksa apakah parameter tertentu perlu dikuantisasi.
postprocess_model
< source >( model: PreTrainedModel**kwargs )
Lakukan proses pascapemrosesan model setelah pemuatan bobot.
Pastikan untuk menimpa metode abstrak _process_model_after_weight_loading.
preprocess_model
< source >( model: PreTrainedModeldtype = None**kwargs )
Mengatur atribut model dan/atau mengonversi model sebelum pemuatan bobot. Pada titik ini, model harus diinisialisasi pada perangkat meta sehingga Anda dapat dengan bebas memanipulasi kerangka model untuk mengganti modul secara in-place. Pastikan untuk menimpa metode abstrak _process_model_before_weight_loading.
Hapus konfigurasi kuantisasi dari model.
Melihat attn_implementation yang diminta sebelum model dibangun, sehingga kuantizer dapat menyetelnya secara default.
update_device_map
< source >( device_map: dict[str, typing.Any] | None )
Override metode ini jika Anda ingin mengganti device map yang ada dengan yang baru. Misalnya, untuk bitsandbytes, karena accelerate adalah persyaratan wajib, jika tidak ada device_map yang di-pass, maka device_map akan diset ke `“auto”“
update_dtype
< source >( dtype: torch.dtype )
Beberapa metode kuantisasi memerlukan pengaturan dtype model secara eksplisit ke dtype target. Anda perlu menimpa metode ini jika ingin memastikan perilaku tersebut tetap terjaga
Memperbarui model.tp_plan atau model.ep_plan (rencana lengkap, yang digabungkan dari konfigurasi dan semua sub-konfigurasi) untuk memperhitungkan kunci kustom kuantizer seperti ‘inv_scale’
Membuat konverter model (dari pemetaan konversi) memuat nama yang diserialisasi. Parameter model yang menentukan, misalnya untuk penggabungan experts.*.gate_proj.weight ke dalam experts.gate_up_proj:
experts.gate_up_proj_scale_invadalah param: salinan menggabungkanexperts.*.gate_proj.weight_scale_invke dalamnya- jika tidak, konverter juga mengumpulkan
experts.*.gate_proj.weight_scale_inv, operasi dequantize dijalankan terlebih dahulu
Metode ini digunakan untuk memeriksa potensi konflik dengan argumen yang diteruskan dalam from_pretrained. Anda perlu mendefinisikannya untuk semua kuantizer masa depan yang diintegrasikan dengan transformers.
Jika tidak ada pemeriksaan eksplisit yang diperlukan, cukup kembalikan apa pun.
HiggsConfig
kelas transformers.HiggsConfig
< source >( bits: int = 4p: int = 2modules_to_not_convert: list[str] | None = Nonehadamard_size: int = 512group_size: int = 256tune_metadata: dict[str, typing.Any] | None = None**kwargs )
Parameter
- bits (int, opsional, default 4) — Jumlah bit yang digunakan untuk kuantisasi. Bisa 2, 3, atau 4. Default adalah 4.
- p (int, opsional, default 2) — Dimensi grid kuantisasi. 1 dan 2 didukung. 2 selalu lebih baik dalam praktik. Default adalah 2.
- modules_to_not_convert (
list, opsional, default [“lm_head”]) — Daftar lapisan linear yang tidak boleh dikuantisasi. - hadamard_size (int, opsional, default 512) — Ukuran Hadamard untuk metode HIGGS. Default adalah 512. Dimensi input matriks akan di-*pad* hingga nilai ini. Menurunkan nilai ini di bawah 512 akan mengurangi kualitas kuantisasi.
- group_size (int, opsional, default 256) — Ukuran grup untuk metode HIGGS. Bisa 64, 128, atau 256. Menurunkannya hampir tidak memengaruhi kinerja. Default adalah 256. Harus menjadi pembagi dari hadamard_size.
- tune_metadata (‘dict’, opsional, default {}) — Metadata per modul (bentuk blok gemm, metadata GPU, dll.) untuk menyimpan hasil penyetelan kernel. Default adalah kamus kosong. Diisi secara otomatis selama penyetelan.
HiggsConfig adalah kelas konfigurasi untuk kuantisasi menggunakan metode HIGGS.
Pemeriksa keselamatan yang memastikan argumen benar - juga mengganti beberapa argumen NoneType dengan nilai default-nya.
HqqConfig
kelas transformers.HqqConfig
< source >( nbits: int = 4group_size: int = 64view_as_float: bool = Falseaxis: int | None = Nonedynamic_config: dict | None = Noneskip_modules: list = ['lm_head']**kwargs )
Parameter
- nbits (
int, opsional, default 4) — Jumlah bit. Nilai yang didukung adalah (8, 4, 3, 2, 1). - group_size (
int, opsional, default 64) — Nilai ukuran grup. Nilai yang didukung adalah nilai apa pun yang habis dibagi weight.shape[axis]). - view_as_float (
bool, opsional, defaultFalse) — Lihat bobot terkuantisasi sebagai float (digunakan dalam pelatihan terdistribusi) jika disetel keTrue. - axis (
Optional[int], opsional) — Sumbu tempat pengelompokan dilakukan. Nilai yang didukung adalah 0 atau 1. - dynamic_config (dict, opsional) — Parameter untuk konfigurasi dinamis. Kuncinya adalah nama tag dari layer dan nilainya adalah konfigurasi kuantisasi. Jika diset, setiap layer yang ditentukan oleh id-nya akan menggunakan konfigurasi kuantisasi khusus miliknya.
- skip_modules (
list[str], opsional, default['lm_head']) — Daftar lapisannn.Linearyang akan dilewati. - kwargs (
dict[str, Any], opsional) — Parameter tambahan untuk menginisialisasi objek konfigurasi.
Ini adalah pembungkus (wrapper) di sekitar BaseQuantizeConfig dari hqq.
Override dari from_dict, yang digunakan dalam AutoQuantizationConfig.from_dict di quantizers/auto.py
Pemeriksa keselamatan yang memastikan argumen benar - juga mengganti beberapa argumen NoneType dengan nilai default-nya.
to_diff_dict
< source >( ) → dict[str, Any]
Mengembalikan
dict[str, Any]
Kamus dari semua atribut yang membentuk instance konfigurasi ini,
Menghapus semua atribut dari config yang sesuai dengan atribut config default untuk keterbacaan yang lebih baik dan menyerialisasi ke kamus Python.
MetalConfig
kelas transformers.MetalConfig
< source >( bits: int = 4group_size: int = 64modules_to_not_convert: list | None = Nonedequantize: bool = False**kwargs )
Kelas konfigurasi untuk kuantifikasi afine Metal yang menargetkan perangkat Apple Silicon (MPS).
Metode kuantisasi ini menggunakan kernel Metal mlx-quantization-metal-kernels dari Hugging Face Hub
untuk melakukan kuantisasi afine (skala + qbiases) dengan lebar bit dan ukuran grup yang dapat dikonfigurasi.
Bobot yang dikuantisasi dikemas ke dalam tensor uint32 dan jalur maju menggunakan kernel Metal
dequantization + matmul yang terpadu.
Mxfp4Config
kelas transformers.Mxfp4Config
< source >( modules_to_not_convert: list | None = Nonedequantize: bool = False**kwargs )
Parameter
- modules_to_not_convert (
list, opsional, defaultNone) — Daftar modul yang tidak akan dikuantisasi, berguna untuk mengkuantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya. - dequantize (
bool, opsional, defaultFalse) — Apakah model akan didekuantisasi ke presisi bf16 atau tidak
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat menggunakan kuantisasi mxfp4.
NVFP4Config
kelas transformers.NVFP4Config
< source >( modules_to_not_convert: list[str] | None = None**kwargs )
Konfigurasi untuk kuantisasi bobot NVFP4 secara langsung.
FbgemmFp8Config
kelas transformers.FbgemmFp8Config
< source >( activation_scale_ub: float = 1200.0modules_to_not_convert: list | None = None**kwargs )
Parameter
- activation_scale_ub (
float, opsional, default 1200.0) — Batas atas skala aktivasi. Ini digunakan saat melakukan kuantisasi aktivasi input. - modules_to_not_convert (
list, opsional, defaultNone) — Daftar modul yang tidak akan dikuantisasi, berguna untuk mengkuantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya.
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat menggunakan kuantisasi fbgemm fp8.
CompressedTensorsConfig
kelas transformers.CompressedTensorsConfig
< source >( config_groups: dict[str, typing.Union[ForwardRef('QuantizationScheme'), list[str]]] | None = Noneformat: str = 'dense'quantization_status: QuantizationStatus = 'initialized'kv_cache_scheme: typing.Optional[ForwardRef('QuantizationArgs')] = Noneglobal_compression_ratio: float | None = Noneignore: list[str] | None = Nonequant_method: str = 'compressed-tensors'run_compressed: bool | None = Nonedequantize: bool = Falseuse_optimized_inference: bool = False**kwargs )
Parameter
- config_groups (
typing.dict[str, typing.Union[ForwardRef('QuantizationScheme'), typing.list[str]]], opsional) — dictionary yang memetakan nama grup ke definisi skema kuantisasi - format (
str, opsional, default"dense") — format tempat bobot disimpan, misalnyadense,float-quantizedataupack-quantized - quantization_status (
QuantizationStatus, opsional, default"initialized") — status model dalam siklus hidup kuantisasi, yaitu ‘initialized’, ‘calibration’, ‘frozen’ - kv_cache_scheme (
typing.Union[QuantizationArgs, NoneType], opsional) — menentukan kuantisasi dari kv cache. Jika None, kv cache tidak dikuantisasi. - global_compression_ratio (
typing.Union[float, NoneType], opsional) — persentase kompresi model berupa float 0-1 - ignore (
typing.Union[typing.list[str], NoneType], opsional) — nama atau tipe layer yang tidak akan dikuantisasi, mendukung regex yang diawali dengan ‘re:’ - quant_method (
str, opsional, defaultnya"compressed-tensors") — jangan ditimpa, harusnya compressed-tensors - run_compressed (
bool, opsional) — tidak digunakan lagi, gunakandequantizesebagai gantinya. Satu-satunya efeknya adalah mengaturdequantizeke nilai kebalikannya,run_compressed=Falseberartidequantize=True. - dequantize (
bool, opsional, defaultFalse) — jikaTrue, bobot terkuantisasi akan didekuantisasi kembali ke dtype model (mis. BF16) saat dimuat, yang diperlukan untuk fine-tuning atau menyimpan model dalam dtype aslinya. JikaFalse, bobot dibiarkan dalam bentuk terkompres dan compressed-tensors akan mendekompresinya pada forward pass pertama. - use_optimized_inference (
bool, opsional, defaultFalse) — jikaTrue, lapisan yang skemanya memiliki kernel akan mempertahankan bobot terkuantisasinya dan dijalankan melalui kernel tersebut (saat ini W8A8 FP8, pada CUDA SM89+, XPU, atau MPS dengan torch >= 2.15). Hanya untuk inferensi, dan bersifat opt-in: tanpanya, model akan melewati rute compressed-tensors reguler. Diabaikan jikadequantize=True.
Ini adalah kelas pembungkus yang menangani opsi konfigurasi kuantisasi compressed-tensors.
Ini adalah pembungkus di sekitar compressed_tensors.QuantizationConfig
from_dict
< source >( config_dictreturn_unused_kwargs = False**kwargs ) → QuantizationConfigMixin
Parameter
- config_dict (
dict[str, Any]) — Kamus yang akan digunakan untuk membuat objek konfigurasi. - return_unused_kwargs (
bool,opsional, defaultFalse) — Apakah akan mengembalikan daftar argumen kata kunci yang tidak digunakan. Digunakan untuk metodefrom_pretraineddiPreTrainedModel. - kwargs (
dict[str, Any]) — Parameter tambahan untuk menginisialisasi objek konfigurasi.
Mengembalikan
QuantizationConfigMixin
Objek konfigurasi yang diinstansiasi dari parameter tersebut.
Membuat instans CompressedTensorsConfig dari kamus Python berisi parameter. Secara opsional, membuka bungkus argumen apa pun dari nested quantization_config
Konfigurasi kuantisasi yang akan ditambahkan ke config.json
Menserialisasi instance ini ke dalam kamus Python. Mengembalikan: dict[str, Any]: Kamus dari semua atribut yang membentuk instance konfigurasi ini.
to_diff_dict
< source >( ) → dict[str, Any]
Mengembalikan
dict[str, Any]
Kamus dari semua atribut yang membentuk instance konfigurasi ini,
Menghapus semua atribut dari config yang sesuai dengan atribut config default untuk keterbacaan yang lebih baik dan menyerialisasi ke kamus Python.
TorchAoConfig
kelas transformers.TorchAoConfig
< source >( quant_type: AOBaseConfigmodules_to_not_convert: list | None = Noneinclude_input_output_embeddings: bool = Falseuntie_embedding_weights: bool = False**kwargs )
Parameter
- quant_type (
AOBaseConfig) — Instans torchaoAOBaseConfigyang menentukan tipe kuantisasi, misalnyaInt4WeightOnlyConfig(group_size=32),Int8WeightOnlyConfig(),Int8DynamicActivationInt8WeightConfig(),Float8WeightOnlyConfig(), dan sebagainya. - modules_to_not_convert (
list, opsional, defaultNone) — Daftar modul yang tidak akan dikuantisasi, berguna untuk mengkuantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya. - include_input_output_embeddings (
bool, opsional, defaultFalse) — Apakah embedding akan disertakan dalam kuantisasi atau tidak. Jika flag ini diaktifkan, input embedding juga akan dihapus dari daftar module_not_to_convert. - untie_embedding_weights (
bool, opsional, defaultFalse) — Apakah akan memisahkan (untie) bobot saat kita mengkuantisasi bobot input embedding yang terikat (tied) dengan bobot lain.
Kelas konfigurasi untuk teknik kuantisasi/kejarangan torchao.
Contoh:
from torchao.quantization import Int4WeightOnlyConfig
quantization_config = TorchAoConfig(Int4WeightOnlyConfig(group_size=32))
model = AutoModelForCausalLM.from_pretrained(
model_id, device_map="cuda", torch_dtype=torch.bfloat16, quantization_config=quantization_config
)Buat konfigurasi dari kamus.
Kembalikan konfigurasi kuantisasi yang akan diterapkan.
Validasi konfigurasi dan atur nilai bawaan.
Mengonversi konfigurasi menjadi kamus.
BitNetQuantConfig
kelas transformers.BitNetQuantConfig
< source >( modules_to_not_convert: list | None = Nonelinear_class: str = 'bitlinear'quantization_mode: str = 'offline'use_rms_norm: bool = Falserms_norm_eps: float | None = 1e-06**kwargs )
Parameter
- modules_to_not_convert (
Optional[List], opsional) — Secara opsional, menyediakan daftar jalur lengkap dari parameter bobotnn.Linearyang tidak boleh dikuantisasi. Nilai defaultnya adalah None. - linear_class (
str, opsional, default"bitlinear") — Jenis kelas linear yang akan digunakan. Bisa berupabitlinearatauautobitlinear. - quantization_mode (
str, opsional, default"offline") — Mode kuantisasi yang akan digunakan. Bisa berupaonlineatauoffline. Pada modeonline, parameter kuantisasi bobot dihitung secara dinamis selama setiap forward pass (misalnya, berdasarkan nilai bobot saat ini). Hal ini dapat beradaptasi terhadap perubahan bobot selama pelatihan (Quantization-Aware Training - QAT). Pada modeoffline, parameter kuantisasi dihitung sebelumnya sebelum inferensi. Parameter-parameter ini kemudian ditetapkan dan dimuat ke dalam model terkuantisasi. Hal ini umumnya menghasilkan overhead runtime yang lebih rendah dibandingkan kuantisasi online. - use_rms_norm (
bool, opsional, defaultFalse) — Apakah akan menerapkan RMSNorm pada aktivasi sebelum kuantisasi. Ini sesuai dengan pendekatan dari paper BitNet asli, yaitu menormalisasi aktivasi sebelum kuantisasi/packing. - rms_norm_eps (
float, opsional, default 1e-06) — Nilai epsilon yang digunakan pada lapisan RMSNorm untuk stabilitas numerik. - kwargs (
dict[str, Any], opsional) — Argumen kata kunci tambahan yang dapat digunakan oleh backend kuantisasi tertentu atau versi masa depan.
Kelas konfigurasi untuk menerapkan kuantisasi BitNet.
Pemeriksa keselamatan yang memastikan argumen benar
SpQRConfig
kelas transformers.SpQRConfig
< source >( bits: int = 3beta1: int = 16beta2: int = 16shapes: dict[str, int] | None = Nonemodules_to_not_convert: list[str] | None = None**kwargs )
Parameter
- bits (
int, opsional, default 3) — Menentukan jumlah bit untuk bobot serta zero-points dan skala orde pertama. Saat ini hanya bits = 3 yang didukung. - beta1 (
int, opsional, default 16) — Lebar tile SpQR. Saat ini hanya beta1 = 16 yang didukung. - beta2 (
int, opsional, defaultnya 16) — Tinggi tile SpQR. Saat ini hanya beta2 = 16 yang didukung. - shapes (
Optional, opsional) — Kamus yang menyimpan bentuk dari setiap objek. Kami membutuhkan ini karena mustahil menyimpulkan ukuran pasti parameter hanya dari bits, beta1, beta2. - modules_to_not_convert (
Optional[list[str]], opsional) — Secara opsional, menyediakan daftar jalur lengkap dari parameter bobotnn.Linearyang tidak boleh dikuantisasi. Nilai defaultnya adalah None. - kwargs (
dict[str, Any], opsional) — Parameter tambahan untuk menginisialisasi objek konfigurasi.
Ini adalah kelas pembungkus untuk parameter spqr. Silakan merujuk ke publikasi asli untuk detail lebih lanjut.
Pemeriksa keselamatan yang memastikan argumen benar - juga mengganti beberapa argumen NoneType dengan nilai default-nya.
FineGrainedFP8Config
kelas transformers.FineGrainedFP8Config
< source >( activation_scheme: str = 'dynamic'weight_block_size: tuple = (128, 128)dequantize: bool = Falsemodules_to_not_convert: list | None = Nonemodules_to_convert: list | None = Nonescale_fmt: str = 'float'expert_dtype: str = 'fp8'**kwargs )
Parameter
- activation_scheme (
str, opsional, defaultnya"dynamic") — Skema yang digunakan untuk aktivasi; skema default dan satu-satunya skema yang didukung saat ini adalah “dynamic”. - weight_block_size (
typing.tuple[int, int], opsional, defaultnya(128, 128)) — Ukuran blok bobot untuk kuantisasi, defaultnya adalah (128, 128). - dequantize (
bool, opsional, defaultFalse) — Apakah akan mendekuantisasi model saat dimuat. - modules_to_not_convert (
list, opsional) — Daftar nama modul yang tidak boleh dikonversi selama kuantisasi. - modules_to_convert (
list, opsional) — Daftar nama modul tambahan, seperti tabel embedding, yang harus dikonversi selama kuantisasi. - scale_fmt (
str, opsional, default"float") — dtype penyimpanan untuk skala bobot per blok:"float"(fp32, gaya V3) atau"ue8m0"(1 bytetorch.float8_e8m0fnu, gaya V4). - expert_dtype (
str, opsional, default"fp8") — Format bobot pakar MoE:"fp8", atau"fp4"untuk pakar FP4-packed dari DeepSeek-V4.
FineGrainedFP8Config adalah kelas konfigurasi untuk kuantisasi FP8 berbutir halus yang terutama digunakan untuk model deepseek.
Pemeriksa keselamatan yang memastikan argumen benar
QuarkConfig
FourOverSixConfig
kelas transformers.FourOverSixConfig
< source >( activation_dtype: str | None = Noneactivation_scale_rule: str | None = Nonedtype: str = 'nvfp4'gradient_dtype: str | None = Nonegradient_scale_rule: str | None = Nonekeep_master_weights: bool = Falsematmul_backend: str | None = Noneoutput_dtype: str | None = 'bfloat16'quantize_backend: str | None = Nonescale_rule: str = 'mse'weight_dtype: str | None = Noneweight_scale_2d: bool = Falseweight_scale_rule: str | None = Nonemodule_config_overrides: dict[str, dict[str, typing.Any]] | None = Nonemodules_to_not_convert: list[str] | None = ['lm_head']**kwargs )
Parameter
- activation_dtype (
str, opsional) — Tipe data yang digunakan saat melakukan kuantisasi tensor aktivasi. Jika tidak disediakan,dtypeyang digunakan. - activation_scale_rule (
str, opsional) — Aturan penskalaan yang digunakan saat memilih skala untuk blok dalam tensor aktivasi. Jika tidak disediakan,scale_ruleyang digunakan. - dtype (
str, default “nvfp4”, opsional, defaultnya"nvfp4") — Tipe data yang digunakan untuk bobot, aktivasi, dan tensor lapisan. Bisa berupa"nvfp4"atau"mxfp4". - gradient_dtype (
str, opsional) — Tipe data yang digunakan saat mengkuantisasi tensor gradien. Jika tidak disediakan,dtypeyang digunakan. - gradient_scale_rule (
str, opsional) — Aturan penskalaan yang digunakan saat memilih skala untuk blok dalam tensor gradien. Jika tidak disediakan,scale_ruleyang digunakan. - keep_master_weights (
bool, default False, opsional, defaults toFalse) — Apakah akan mempertahankan master weights. JikaTrue, bobot presisi tinggi dipertahankan sepanjang waktu dan bobot dikuantisasi secara online pada setiap forward pass. Hal ini berguna untuk pelatihan terkuantisasi. - matmul_backend (
str, opsional) — Backend yang akan digunakan untuk perkalian matriks. Bisa berupa"cutlass"atau"pytorch". Jika tidak disediakan, CUTLASS akan digunakan jika tersedia, dan PyTorch akan digunakan jika tidak. - output_dtype (
str, opsional, defaultnya"bfloat16") — Tipe data yang digunakan untuk output dari layer. Bisa berupa"bfloat16"atau"float16". - quantize_backend (
str, opsional) — Backend yang akan digunakan untuk kuantisasi. Bisa berupa"cuda","triton", atau"pytorch". Jika tidak disediakan, backend tercepat akan dipilih berdasarkan lingkungan Anda, dan berdasarkan opsi yang didukung oleh masing-masing backend. Biasanya,"cuda"akan digunakan untuk inferensi,"triton"akan digunakan untuk pelatihan, dan"pytorch"akan digunakan pada perangkat non-CUDA. - scale_rule (
str, default “mse”, opsional, defaultnya"mse") — Aturan yang digunakan saat memilih skala blok. Bisa berupa"mse","mae", atau"abs_max"untuk Four Over Six,"static_6"untuk kuantisasi NVFP4 default, atau"static_4"untuk menskalakan semua blok ke nilai maksimum 4. - weight_dtype (
str, opsional) — Tipe data yang digunakan saat melakukan kuantisasi tensor bobot. Jika tidak disediakan,dtypeyang digunakan. - weight_scale_2d (
bool, default False, opsional, defaults toFalse) — Apakah akan menghitung faktor skala pada tensor bobot dalam blok 2D. Hal ini sebaiknya dilakukan selama pelatihan. - weight_scale_rule (
str, opsional) — Aturan penskalaan yang digunakan saat memilih skala untuk blok dalam tensor bobot. Jika tidak disediakan,scale_ruleyang digunakan. - module_config_overrides (
dict[str, dict[str, Any]], opsional) — Kamus berisi override konfigurasi yang spesifik untuk modul. Kunci harus berupa nama modul, dan nilai harus berupa kamus yang berisi konfigurasi kuantisasi untuk modul tersebut. Ini dapat digunakan untuk menimpa konfigurasi bawaan untuk modul tertentu. - modules_to_not_convert (
list[str], opsional, defaultnya['lm_head']) — Daftar modul yang dikecualikan dari kuantisasi. Secara default,lm_headdikecualikan.
Ini adalah kelas pembungkus yang berisi semua opsi untuk kuantisasi dengan fouroversix. Singkatnya,
Four Over Six adalah modifikasi dari kuantisasi NVFP4 yang secara adaptif menskalakan nilai terbesar
di setiap blok 16 nilai FP4 menjadi 4 atau 6. Memilih skala 6 menggunakan rentang penuh dari
nilai FP4, tetapi memilih skala 4 memungkinkan distribusi error kuantisasi yang lebih seragam.
Lihat publikasi aslinya untuk detail lebih lanjut: https://arxiv.org/abs/2512.02010.
FPQuantConfig
kelas transformers.FPQuantConfig
< source >( forward_dtype: str = 'nvfp4'forward_method: str = 'abs_max'backward_dtype: str = 'bf16'store_master_weights: bool = Falsehadamard_group_size: int | None = Nonepseudoquantization: bool = Falsetransform_init: str = 'hadamard'modules_to_not_convert: list[str] | None = None**kwargs )
Parameter
- forward_dtype (
str, opsional, defaultnya"nvfp4") — dtype yang digunakan untuk forward pass. - forward_method (
str, opsional, defaultnya"abs_max") — Skala yang digunakan untuk forward pass. Bisa berupa"abs_max"atau"quest"."abs_max"lebih baik untuk PTQ,"quest"lebih baik untuk QAT. - backward_dtype (
str, opsional, defaultnya"bf16") — dtype yang digunakan untuk langkah mundur (backward pass). - store_master_weights (
bool, opsional, defaultnyaFalse) — Apakah akan menyimpan bobot master. Diperlukan untuk QAT pada bobot layer. - hadamard_group_size (
int, opsional) — Ukuran grup untuk transformasi hadamard sebelum kuantisasi untuk"quest"yang sesuai dengan ukuran grup MXFP4 (32). JikaNone, nilainya akan diatur menjadi 16 untuk"nvfp4"dan 32 untuk"mxfp4". - pseudoquantization (
bool, opsional, defaultFalse) — Apakah akan menggunakan pseudo-quantization berbasis Triton. Wajib untuk GPU non-Blackwell. Tidak memberikan percepatan apa pun. Untuk keperluan debugging. - transform_init (
str, opsional, defaultnya"hadamard") — metode untuk menginisialisasi matriks pra-pemrosesan. Bisa berupa"hadamard","identity"atau"gsr". - modules_to_not_convert (
list, opsional) — Daftar modul yang tidak akan dikuantisasi, berguna untuk mengkuantisasi model yang secara eksplisit membutuhkan beberapa modul tetap berada pada presisi aslinya.
FPQuantConfig adalah kelas konfigurasi untuk kuantisasi menggunakan metode FPQuant.
Pemeriksa keselamatan yang memastikan argumen benar - juga mengganti beberapa argumen NoneType dengan nilai default-nya.
AutoRoundConfig
kelas transformers.AutoRoundConfig
< source >( bits: int = 4group_size: int = 128sym: bool = Truebackend: str = 'auto'**kwargs )
Parameter
- bits (
int, opsional, default 4) — Jumlah bit untuk kuantisasi, angka yang didukung adalah (2, 3, 4, 5, 6, 7, 8). - group_size (
int, opsional, default 128) — Nilai group-size - sym (
bool, opsional, defaultTrue) — Kuantisasi simetris atau tidak - backend (
str, opsional, defaultnya"auto") — Backend inferensi. Secara default, AutoRound memilih backend yang kompatibel berdasarkan perangkat, pengaturan kuantisasi, dan pustaka yang terpasang. Lihat Menentukan backend inferensi untuk semua opsi backend.
Ini adalah kelas pembungkus untuk semua atribut dan fitur yang mungkin dapat Anda gunakan pada model yang telah dimuat dengan kuantisasi AutoRound.
Pemeriksa keselamatan yang memastikan argumen benar.
SinqConfig
kelas transformers.SinqConfig
< source >( nbits: int = 4group_size: int = 64tiling_mode: str = '1D'method: str = 'sinq'modules_to_not_convert: list[str] | None = None**kwargs: Any )
Parameter
- nbits (
int, default 4) — Bit kuantisasi untuk bobot. - group_size (
int, default 64) — Ukuran grup yang digunakan dalam kuantisasi bobot SINQ (harus kelipatan dari 8). - tiling_mode (
str, default “1D”) — Mode tiling untuk SINQ (biasanya “1D”; “2D” jika didukung oleh backend Anda). - method (
str, default “sinq”) — “sinq” – SINQ hanya-berat tanpa kalibrasi “asinq” – A-SINQ (sadar-aktivasi), tidak didukung di Hugging Face. Silakan merujuk ke repositori resmi SINQ. - modules_to_not_convert (
list[str], opsional) — Daftar nama/prefiks modul yang dipertahankan dalam presisi penuh. - **kwargs —
Argumen pengguna tambahan (disimpan di
_extra_kwargsuntuk round-tripping).
Konfigurasi kuantisasi untuk SINQ / A-SINQ.
Lewatkan ini ke:
AutoModel.from_pretrained(…, quantization_config=SinqConfig(…))
GgufConfig
kelas transformers.GgufConfig
< source >( gguf_file: str | None = Nonedequantize: bool = False**kwargs )
Parameter
- gguf_file (
str, opsional) — path ke file.ggufyang menyimpan bobot. Bisa dibiarkan kosong jika namanya ditentukan melaluifrom_pretrained(..., gguf_file=...), yang akan mengisinya. - dequantize (
bool, opsional, defaultFalse) — Alih-alih, uraikan setiap bobot saat pemuatan menjadi model padat biasa. Selalu benar, tetapi mengorbankan penghematan memori; ini juga merupakan fallback otomatis ketika tidak ada kernel matmul yang tersedia untuk tipe kuantisasi file tersebut.
Muat checkpoint GGUF yang dikuantisasi dengan bobotnya tetap dalam blok GGUF.