# تجميع نموذج

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

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

يُجمّع [generate()](/docs/transformers/main/ar/main_classes/text_generation#transformers.GenerationMixin.generate) المسار الأمامي للنموذج تلقائيًا عندما تتحقق جميع هذه الشروط.

- تدعم طريقة التكميم التجميع ([compressed-tensors](./compressed_tensors)، [Fine-grained FP8](./finegrained_fp8)، [GGUF](./gguf)، [NVFP4](./nvfp4)، و[torchao](./torchao)).
- يستخدم النموذج ذاكرة مؤقتة بحجم ثابت، مثل [static cache](../kv_cache#fixed-size-cache).
- يعمل النموذج على CUDA أو XPU أو Neuron أو TPU.
- لا يتم نقل أي جزء من النموذج إلى وحدة المعالجة المركزية أو القرص.

مرّر `cache_implementation="static"` إلى [generate()](/docs/transformers/main/ar/main_classes/text_generation#transformers.GenerationMixin.generate). يستخدم المثال أدناه كميّة int8 للأوزان فقط من [torchao](./torchao).

```py
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()](/docs/transformers/main/ar/main_classes/text_generation#transformers.GenerationMixin.generate) لتعطيل التجميع التلقائي.

