Transformers documentation
Çekirdekler
Çekirdekler
Bu sayfa, çekirdek yapılandırma yardımcı programlarını belgelemektedir.
kernelize
kernelize'in gizli çekirdek sarmalayıcılarını keşfedip değiştirebilmesi için bunları geçici olarak kaydedin.
KernelConfig
sınıf transformers.KernelConfig
< source >( kernel_mapping = Noneuse_local_kernel = Falseinherit_mapping = True )
Kernel yapılandırma sınıfı. Bu sınıf, bir model için kernel eşlemesini yapılandırmak için kullanılır.
Basit bir kernel_mapping'i şu biçimde dönüştürür: { “RMSNorm”: (“kernels-community/layer_norm:LlamaRMSNorm”, {“version”: 1, “trust_remote_code”: True}), … },
veya yerel yol için:
{ “RMSNorm”: “/home/user/liger_kernels:LigerRMSNorm”, … },
iç içe bir eşlemeye:
{ “RMSNorm”: { “cuda”: { Mode.INFERENCE: LayerRepository( repo_id=“kernels-community/layer_norm”, layer_name=“LlamaRMSNorm”, version=1, trust_remote_code=True, ) } } }
veya yerel yol için:
{ “RMSNorm”: { “cuda”: { Mode.INFERENCE: LocalLayerRepository( repo_path=Path(“/home/user/liger_kernels”), layer_name=“LigerRMSNorm”, ) } } }
kernels kütüphanesiyle uyumlu olan
Cihaz, belirtilmediyse modelin parametrelerinden çıkarılır. Mod, modelin eğitim durumundan çıkarılır.
sanitize_kernel_mapping
< source >( model )
Şu konuları doğrulamak için kernel_mapping'i doğrular:
- Haritadaki her layer_name, modelde kayıtlıdır (yani model, eşleşen bir kernel_layer_name içeren bir modül içerir).
- Her çekirdek değeri
- ‘org/repo:layer_name’ biçiminde bir dize veya aynı dize ile {“revision”/“version/trust_remote_code”: …} biçiminde bir sözlük içeren bir demet,
- veya yukarıdaki gibi desteklenen cihaz türlerini bu tür değerlere eşleyen bir sözlük.
- Bir dict içindeki her cihaz anahtarı “cuda”, “rocm”, “xpu”, “npu”, “neuron”, “tpu” veya “mps” değerlerinden biridir.
- Her trust remote code anahtarı bir bool olmalıdır.
- Her revizyon veya sürüm anahtarı, açıkça geçirildiyse birbirinden bağımsız olarak var olmalıdır.
- Her repo_name, ‘org/repo:layer_name’ biçiminde (yani hem bir eğik çizgi hem de bir iki nokta üst üste içeren bir dize) geçerli bir depo ve katman adıdır.
- Yerel bir yol algılanırsa, biçimi ‘/abs/path:layer_name’ olmalıdır; burada mutlak yol, “/home/user/layer_norm” gibi çekirdek deposuna işaret eder.