Transformers documentation
Kernels
Kernels
Halaman ini mendokumentasikan utilitas konfigurasi kernel.
kernelize
Daftarkan sementara wrapper kernel tersembunyi agar kernelize dapat menemukan dan menggantinya.
KernelConfig
kelas transformers.KernelConfig
< source >( kernel_mapping = Noneuse_local_kernel = Falseinherit_mapping = True )
Kelas konfigurasi kernel. Kelas ini digunakan untuk memetakan kernel untuk sebuah model.
Mentransformasi kernel_mapping sederhana dengan bentuk: { “RMSNorm”: (“kernels-community/layer_norm:LlamaRMSNorm”, {“version”: 1, “trust_remote_code”: True}), … },
atau untuk jalur lokal:
{ “RMSNorm”: “/home/user/liger_kernels:LigerRMSNorm”, … },
menjadi pemetaan bersarang:
{ “RMSNorm”: { “cuda”: { Mode.INFERENCE: LayerRepository( repo_id=“kernels-community/layer_norm”, layer_name=“LlamaRMSNorm”, version=1, trust_remote_code=True, ) } } }
atau untuk jalur lokal:
{ “RMSNorm”: { “cuda”: { Mode.INFERENCE: LocalLayerRepository( repo_path=Path(“/home/user/liger_kernels”), layer_name=“LigerRMSNorm”, ) } } }
yang kompatibel dengan pustaka kernels.
Perangkat disimpulkan dari parameter model jika tidak disediakan. Mode disimpulkan dari status pelatihan model.
sanitize_kernel_mapping
< source >( model )
Memvalidasi kernel_mapping untuk memastikan bahwa:
- Setiap layer_name dalam pemetaan didaftarkan di model (yaitu, model berisi modul dengan kernel_layer_name yang cocok).
- Setiap nilai kernel adalah
- baik berupa string dengan format ‘org/repo:layer_name’ atau berupa tuple yang berisi string yang sama dan dict {“revision”/“version/trust_remote_code”: …},
- atau dict yang memetakan tipe perangkat yang didukung ke nilai-nilai seperti di atas.
- Setiap kunci perangkat dalam dict adalah salah satu dari “cuda”, “rocm”, “xpu”, “npu”, “neuron”, “tpu”, atau “mps”.
- Setiap kunci trust remote code harus berupa bool.
- Setiap kunci revisi atau versi harus ada secara eksklusif satu sama lain jika telah diteruskan secara eksplisit.
- Setiap repo_name adalah nama repositori dan layer yang valid dalam format ‘org/repo:layer_name’ (yaitu, string yang mengandung baik slash maupun titik dua).
- Jika jalur lokal terdeteksi, formatnya harus ‘/abs/path:layer_name’, di mana jalur absolut menunjuk ke repositori kernel, seperti “/home/user/layer_norm”.