Transformers documentation

النوى

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

النوى

توثّق هذه الصفحة أدوات تكوين النوى.

kernelize

transformers.kernelize

< >

( model: PreTrainedModelmode: Mode | None = None )

سجّل غلافات النواة المخفية مؤقتًا حتى يتمكن kernelize من اكتشافها واستبدالها.

KernelConfig

فئة transformers.KernelConfig

< >

( kernel_mapping = Noneuse_local_kernel = Falseinherit_mapping = True )

فئة تكوين النواة. تُستخدم هذه الفئة لتكوين إسقاط النواة لنموذج.

create_compatible_mapping

< >

( modelcompile = False )

يحوّل 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

< >

( model )

المعاملات

  • model — نموذج مثيل تُفحص وحداته بحثًا عن سمات kernel_layer_name المسجلة.

يرفع

ValueError

  • ValueError — If a layer_name is not registered in the model, if a device is not supported, or if a repo_name is not a valid ‘org/repo:layer_name’ string.

يتحقق من kernel_mapping للتأكد من أن:

  1. يُسجَّل كل layer_name في الترميز داخل النموذج (أي أن النموذج يحتوي على وحدة تحمل kernel_layer_name مطابقًا).
  2. كل قيمة نواة هي
    • سلسلة من الشكل ‘org/repo:layer_name’ أو مجموعة (tuple) تحتوي على نفس السلسلة مع قاموس (dict) من الشكل {“revision”/“version/trust_remote_code”: …}،
    • أو قاموس (dict) يربط أنواع الأجهزة المدعومة بقيم مماثلة لما سبق.
  3. كل مفتاح جهاز في القاموس هو أحد “cuda” أو “rocm” أو “xpu” أو “npu” أو “neuron” أو “tpu” أو “mps”.
  4. يجب أن يكون كل مفتاح trust remote code من نوع bool.
  5. يجب أن يكون كل مفتاح للمراجعة أو الإصدار حاضراً بشكل متبادل حصري إذا تم تمريره صراحةً.
  6. كل repo_name هو اسم مستودع وطبقة صالح بالصيغة ‘org/repo:layer_name’ (أي سلسلة نصية تحتوي على شرطة مائلة ونقطتين معاً).
  7. إذا تم اكتشاف مسار محلي، فيجب أن يكون بصيغة ‘/abs/path:layer_name’، حيث يشير المسار المطلق إلى مستودع النواة، مثل “/home/user/layer_norm”.
Update on GitHub