Transformers documentation
النوى
النوى
توثّق هذه الصفحة أدوات تكوين النوى.
kernelize
سجّل غلافات النواة المخفية مؤقتًا حتى يتمكن kernelize من اكتشافها واستبدالها.
KernelConfig
فئة transformers.KernelConfig
< source >( kernel_mapping = Noneuse_local_kernel = Falseinherit_mapping = True )
فئة تكوين النواة. تُستخدم هذه الفئة لتكوين إسقاط النواة لنموذج.
يحوّل kernel_mapping بسيطاً من الشكل: { “RMSNorm”: (“kernels-community/layer_norm:LlamaRMSNorm”, {“version”: 1, “trust_remote_code”: True}), … },
أو للمسار المحلي:
{ “RMSNorm”: “/home/user/liger_kernels:LigerRMSNorm”, … },
إلى ترميز متداخل:
{ “RMSNorm”: { “cuda”: { Mode.INFERENCE: LayerRepository( repo_id=“kernels-community/layer_norm”, layer_name=“LlamaRMSNorm”, version=1, trust_remote_code=True, ) } } }
أو للمسار المحلي:
{ “RMSNorm”: { “cuda”: { Mode.INFERENCE: LocalLayerRepository( repo_path=Path(“/home/user/liger_kernels”), layer_name=“LigerRMSNorm”, ) } } }
التي تتوافق مع مكتبة kernels.
يُستنتج الجهاز من معاملات النموذج إذا لم يُقدَّم. يُستنتج الوضع من حالة تدريب النموذج.
sanitize_kernel_mapping
< source >( model )
يتحقق من kernel_mapping للتأكد من أن:
- يُسجَّل كل layer_name في الترميز داخل النموذج (أي أن النموذج يحتوي على وحدة تحمل kernel_layer_name مطابقًا).
- كل قيمة نواة هي
- سلسلة من الشكل ‘org/repo:layer_name’ أو مجموعة (tuple) تحتوي على نفس السلسلة مع قاموس (dict) من الشكل {“revision”/“version/trust_remote_code”: …}،
- أو قاموس (dict) يربط أنواع الأجهزة المدعومة بقيم مماثلة لما سبق.
- كل مفتاح جهاز في القاموس هو أحد “cuda” أو “rocm” أو “xpu” أو “npu” أو “neuron” أو “tpu” أو “mps”.
- يجب أن يكون كل مفتاح trust remote code من نوع bool.
- يجب أن يكون كل مفتاح للمراجعة أو الإصدار حاضراً بشكل متبادل حصري إذا تم تمريره صراحةً.
- كل repo_name هو اسم مستودع وطبقة صالح بالصيغة ‘org/repo:layer_name’ (أي سلسلة نصية تحتوي على شرطة مائلة ونقطتين معاً).
- إذا تم اكتشاف مسار محلي، فيجب أن يكون بصيغة ‘/abs/path:layer_name’، حيث يشير المسار المطلق إلى مستودع النواة، مثل “/home/user/layer_norm”.