Transformers documentation
إلغاء تكميم نموذج
إلغاء تكميم نموذج
تقوم عملية إلغاء التكميم (Dequantizing) بتحويل الأوزان المكمّمة مرة أخرى إلى نوع بيانات بدقة أعلى مثل bf16. قم بإلغاء تكميم النموذج لإجراء ضبط دقيق كامل له، أو لتشغيله على أجهزة لا تدعم نواة (kernels) الطريقة المستخدمة، أو لتحويله إلى صيغة أخرى. يستخدم الناتج قدرًا من الذاكرة مساويًا للنموذج غير المكمّم، كما أنه لا يستعيد الدقة المفقودة بسبب التقريب.
يقوم Transformers بإزالة التكميم بطريقتين، اعتمادًا على الطريقة المستخدمة.
| الطريقة | كيفية إلغاء التكميم |
|---|---|
| bitsandbytes، HIGGS | استدعِ dequantize() بعد التحميل. |
| compressed-tensors، FP8 الدقيق، GGUF، Metal، MXFP4 | مرّر dequantize=True إلى إعدادات الطريقة عند التحميل. |
ترفع الطرق الأخرى NotImplementedError من dequantize().
إلغاء التكميم بعد التحميل
استدعِ dequantize() على النموذج المحمّل. الافتراضي هو نوع البيانات (dtype) الذي تم تحميل النموذج به. مرّر dtype لاختيار نوع بيانات آخر.
import torch
from transformers import AutoModelForCausalLM, BitsAndBytesConfig
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-0.6B",
quantization_config=BitsAndBytesConfig(load_in_4bit=True),
device_map="auto",
)
model = model.dequantize(dtype=torch.bfloat16)تزيل dequantize() أيضاً quantization_config، لذا يحفظ save_pretrained() نقطة فحص كاملة الدقة عادية.
إلغاء التكميم أثناء التحميل
مرّر dequantize=True إلى إعدادات طريقة تدعم ذلك. يتم فك تكميم الأوزان أثناء تحميلها، لذا لا تُستخدم نوى التكميم أبدًا. يحمّل المثال أدناه أوزان MXFP4 لنموذج gpt-oss بدقة bf16.
from transformers import AutoModelForCausalLM, Mxfp4Config
model = AutoModelForCausalLM.from_pretrained(
"openai/gpt-oss-20b",
quantization_config=Mxfp4Config(dequantize=True),
device_map="auto",
)تقوم بعض الطرق بإلغاء التكميم تلقائيًا عندما تعجز أنويتها عن التشغيل. على سبيل المثال، يلجأ GGUF إلى إلغاء التكميم عندما لا تدعم أي أنوية أنواع التكميم الموجودة في الملف.
Update on GitHub