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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تجميع نموذج

توفّر التكميم (Quantization) في الذاكرة، لكن فكّ تكميم الأوزان داخل كل عملية ضرب مصفوفي (matmul) قد يجعل عملية التوليد أبطأ من وضع bf16. يدمج torch.compile هذه العمليات في نواة مُحسّنة ويستعيد جزءًا كبيرًا من السرعة.

تجميع تلقائي في generate

يُجمّع generate() المسار الأمامي للنموذج تلقائيًا عندما تتحقق جميع هذه الشروط.

  • تدعم طريقة التكميم التجميع (compressed-tensors، Fine-grained FP8، GGUF، NVFP4، وtorchao).
  • يستخدم النموذج ذاكرة مؤقتة بحجم ثابت، مثل static cache.
  • يعمل النموذج على CUDA أو XPU أو Neuron أو TPU.
  • لا يتم نقل أي جزء من النموذج إلى وحدة المعالجة المركزية أو القرص.

مرّر cache_implementation="static" إلى generate(). يستخدم المثال أدناه كميّة int8 للأوزان فقط من torchao.

import torch
from torchao.quantization import Int8WeightOnlyConfig
from transformers import AutoModelForCausalLM, AutoTokenizer, TorchAoConfig

model_id = "Qwen/Qwen3-0.6B"
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    quantization_config=TorchAoConfig(quant_type=Int8WeightOnlyConfig()),
    device_map="cuda",
)
tokenizer = AutoTokenizer.from_pretrained(model_id)

inputs = tokenizer("The capital of France is", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=32, cache_implementation="static")
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

تكون الاستدعاءات الأولى بطيئة أثناء تجميع النموذج. أما الاستدعاءات اللاحقة ذات الأشكال نفسها فتعيد استخدام نوى التجميع.

مرّر disable_compile=True إلى generate() لتعطيل التجميع التلقائي.

Update on GitHub