Transformers documentation
FBGEMM
FBGEMM
FBGEMM (Facebook GEneral Matrix Multiplication) هو مكتبة لضرب المصفوفات بدقة منخفضة مصممة لحجم دفعات صغير، وتدعم تقنيات تهدف إلى تقليل فقدان الدقة مثل التكميم على مستوى الصفوف والتكميم الواعي بالقيم الشاذة. باستخدام FBGEMM، يمكنك تكميم أوزان النموذج إلى 8 بتات لكل قناة، وتكميم التنشيطات إلى 8 بتات لكل رمز (ويُعرف أيضاً بـ fp8 أو w8a8).
تحتاج إلى وحدة معالجة رسومية (GPU) تملك قدرة حوسبة 9+ مثل H100.
قم بتثبيت حزمة FBGEMM_GPU باستخدام الأمر أدناه للتأكد من أنك تمتلك أحدث إصدار.
pip install --upgrade accelerate fbgemm-gpu torch
إذا كنت تواجه مشاكل في التثبيت، فحاول تثبيت الإصدار الليلي.
أنشئ FbgemmFp8Config وقم بتمريره إلى from_pretrained() لتكميم النموذج إلى fp8.
from transformers import FbgemmFp8Config, AutoModelForCausalLM
quantization_config = FbgemmFp8Config()
quantized_model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Meta-Llama-3-8B",
dtype="auto",
device_map="auto",
quantization_config=quantization_config
)يتيح save_pretrained() وfrom_pretrained() حفظ نموذج مُكمَّم وتحميله.
quant_path = "/path/to/save/quantized/model"
quantized_model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")الموارد
اقرأ منشور المدونة فتح مصدر FBGEMM للاستدلال الخادمي المتطور لمزيد من التفاصيل حول FBGEMM.
Update on GitHub