# التصدير إلى بيئة الإنتاج

صدّر نماذج Transformers إلى صيغ مختلفة لتشغيلها على بيئات تشغيل وأجهزة مُحسّنة. انشر النموذج نفسه لدى مزودي الخدمات السحابية أو شغّله على الأجهزة المحمولة والأجهزة الطرفية. لا حاجة إلى إعادة كتابة النموذج من الصفر لكل بيئة نشر. انشر بحرية عبر أي نظام بيئي للاستدلال.

## ExecuTorch

يعمل [ExecuTorch](https://pytorch.org/executorch/stable/index.html) على تشغيل نماذج PyTorch على الأجهزة المحمولة وأجهزة الحافة. يقوم بتصدير النموذج إلى رسم بياني من العمليات القياسية، ثم يجمع هذا الرسم البياني إلى برنامج ExecuTorch، وينفذه على الجهاز المستهدف. كما أن وقت التشغيل خفيف الوزن ويحسب خطة التنفيذ مسبقًا.

قم بتثبيت [Optimum ExecuTorch](https://huggingface.co/docs/optimum-executorch/en/index) من المصدر.

```bash
git clone https://github.com/huggingface/optimum-executorch.git
cd optimum-executorch
pip install '.[dev]'
```

تصدير نموذج Transformers إلى ExecuTorch باستخدام أداة سطر الأوامر.

```bash
optimum-cli export executorch \
    --model "Qwen/Qwen3-8B" \
    --task "text-generation" \
    --recipe "xnnpack" \
    --use_custom_sdpa \
    --use_custom_kv_cache \
    --qlinear 8da4w \
    --qembedding 8w \
    --output_dir="hf_smollm2"
```

شغّل الأمر التالي لعرض جميع خيارات التصدير.

```bash
optimum-cli export executorch --help
```

## ONNX

[ONNX](http://onnx.ai) هي لغة مشتركة لوصف النماذج القادمة من أطر عمل مختلفة. تمثّل النماذج على شكل رسم بياني من مشغّلات موحّدة ذات أنواع وأبعاد وبيانات وصفية محددة بوضوح. تُسلسَل النماذج في ملفات protobuf مدمجة يمكن نشرها عبر بيئات تشغيل ومحركات مُحسَّنة.

يصدّر [Optimum ONNX](https://huggingface.co/docs/optimum-onnx/index) النماذج إلى ONNX باستخدام كائنات الإعداد. وهو يدعم العديد من [الهندسات](https://huggingface.co/docs/optimum-onnx/onnx/overview) ويمكن توسيعه بسهولة. صدّر النماذج عبر أداة سطر الأوامر أو برمجياً.

قم بتثبيت [Optimum ONNX](https://huggingface.co/docs/optimum-onnx/index).

```bash
uv pip install optimum-onnx
```

### optimum-cli

حدد النموذج الذي تريد تصديره والمجلد الإخراجي باستخدام الحجة `--model`.

```bash
optimum-cli export onnx --model Qwen/Qwen3-8B Qwen/Qwen3-8b-onnx/
```

شغّل الأمر التالي لعرض جميع الحجج المتاحة أو ارجع إلى دليل [تصدير نموذج إلى ONNX باستخدام optimum.exporters.onnx](https://huggingface.co/docs/optimum-onnx/onnx/usage_guides/export_a_model) لمزيد من التفاصيل.

```bash
optimum-cli export onnx --help
```

لتصدير نموذج محلي، احفظ ملفات الأوزان ومعالج النص في نفس المجلد. مرّر مسار المجلد إلى حجة `--model` واستخدم حجة `--task` لتحديد [المهمة](https://huggingface.co/docs/optimum/exporters/task_manager#transformers). إذا لم تُقدّم `--task`، فسيستنتج النظام المهمة تلقائيًا من النموذج أو يستخدم بنية بدون رأس مخصص للمهمة.

```bash
optimum-cli export onnx --model path/to/local/model --task text-generation Qwen/Qwen3-8b-onnx/
```

انشر النموذج باستخدام أي [بيئة تشغيل](https://onnx.ai/supported-tools.html#deployModel) تدعم ONNX، بما في ذلك ONNX Runtime.

```py
from transformers import AutoTokenizer
from optimum.onnxruntime import ORTModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8b-onnx")
model = ORTModelForCausalLM.from_pretrained("Qwen/Qwen3-8b-onnx")
inputs = tokenizer("Plants generate energy through a process known as ", return_tensors="pt")
outputs = model.generate(**inputs)
print(tokenizer.batch_decode(outputs))
```

### optimum.onnxruntime

صدّر نماذج Transformers برمجياً باستخدام Optimum ONNX. أنشئ كائن `ORTModel` مع نموذج، واضبط `export=True`. احفظ نموذج ONNX باستخدام `save_pretrained`.

```py
from optimum.onnxruntime import ORTModelForCausalLM
from transformers import AutoTokenizer

ort_model = ORTModelForCausalLM.from_pretrained("Qwen/Qwen3-8b", export=True)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-8b")

ort_model.save_pretrained("onnx/")
tokenizer.save_pretrained("onnx/")
```

