Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[i18n-ar] Translated file : docs/source/ar/trainer.md into Arabic #33080

Merged
merged 53 commits into from
Nov 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
ae311d2
Add docs/source/ar/trainer.md to Add_docs_source_ar_trainer.md
AhmedAlmaghz Aug 22, 2024
242eae5
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
116f18a
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
fe7725e
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
91422d0
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
11843e5
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
fb208ba
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
f4f9fa9
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
0087590
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
991c0c2
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
af10698
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
92f6759
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
5de4d15
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
9dd883b
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
79dc8d2
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
0c253ab
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
417b72e
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
cfcea40
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
96ca92c
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
32ac1b3
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
5858726
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
d901211
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
8bf647e
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
65d3c3e
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
e5fa890
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
7ea99db
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
cd9af6c
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
ff13b25
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
afa1dc9
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
2077383
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
5b58ffa
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
3726914
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
d2f220c
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
b392867
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
076bb46
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
a03d384
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
f882f37
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
d5ae8dc
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
214000f
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
c76e999
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 1, 2024
e01cd96
Update trainer.md
AhmedAlmaghz Nov 1, 2024
e16e801
Update trainer.md
AhmedAlmaghz Nov 1, 2024
867e459
Update trainer.md
AhmedAlmaghz Nov 1, 2024
217ce2b
Create _toctree.yml
AhmedAlmaghz Nov 1, 2024
276f42d
Delete docs/source/ar/_toctree.yml
AhmedAlmaghz Nov 1, 2024
ae6072f
Merge branch 'main' into Add_docs_source_ar_trainer.md
AhmedAlmaghz Nov 1, 2024
8498e54
Update _toctree.yml - add trainer
AhmedAlmaghz Nov 1, 2024
90f6124
Update _toctree.yml
AhmedAlmaghz Nov 5, 2024
a307b47
merge serialization.md into this branch
AhmedAlmaghz Nov 5, 2024
dc927cd
merge sagemaker.md into this PR
AhmedAlmaghz Nov 5, 2024
df151dc
Update _toctree.yml
AhmedAlmaghz Nov 5, 2024
08b255c
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 8, 2024
b4ddf02
Update docs/source/ar/trainer.md
AhmedAlmaghz Nov 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions docs/source/ar/_toctree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,12 @@
title: مشاركة نموذج مخصص
- local: chat_templating
title: قوالب لنماذج الدردشة
# - local: trainer
# title: المدرب
# - local: sagemaker
# title: تشغيل التدريب على Amazon SageMaker
# - local: serialization
# title: التصدير إلى ONNX
- local: trainer
title: المدرب
- local: sagemaker
title: تشغيل التدريب على Amazon SageMaker
- local: serialization
title: التصدير إلى ONNX
- local: tflite
title: التصدير إلى TFLite
# - local: torchscript
Expand Down
8 changes: 8 additions & 0 deletions docs/source/ar/sagemaker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# تشغيل التدريب على Amazon SageMaker

تم نقل التوثيق إلى [hf.co/docs/sagemaker](https://huggingface.co/docs/sagemaker). وسيتم إزالة هذه الصفحة في الإصدار 5.0 من برنامج Transformers.

### جدول المحتويات

- [تدريب نماذج Hugging Face على Amazon SageMaker باستخدام SageMaker Python SDK](https://huggingface.co/docs/sagemaker/train)
- [نشر نماذج Hugging Face على Amazon SageMaker باستخدام SageMaker Python SDK](https://huggingface.co/docs/sagemaker/inference)
170 changes: 170 additions & 0 deletions docs/source/ar/serialization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
# التصدير إلى ONNX

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

🤗 Optimum هو امتداد لـ Transformers يمكّن من تصدير النماذج من PyTorch أو TensorFlow إلى تنسيقات مُتسلسلة مثل ONNX و TFLite من خلال وحدة `exporters` الخاصة به. يوفر 🤗 Optimum أيضًا مجموعة من أدوات تحسين الأداء لتدريب النماذج وتشغيلها على أجهزة مستهدفة بكفاءة قصوى.

يوضح هذا الدليل كيفية تصدير نماذج 🤗 Transformers إلى ONNX باستخدام 🤗 Optimum، وللحصول على الدليل الخاص بتصدير النماذج إلى TFLite، يُرجى الرجوع إلى صفحة [التصدير إلى TFLite](tflite).

## التصدير إلى ONNX

مجمد [ONNX (Open Neural Network Exchange)](http://onnx.ai) هو معيار مفتوح يُحدد مجموعة مشتركة من العوامل وتنسيق ملف مشترك لتمثيل نماذج التعلم العميق في مجموعة متنوعة واسعة من الأطر، بما في ذلك PyTorch وTensorFlow. عندما يتم تصدير نموذج إلى تنسيق ONNX، يتم استخدام هذه المشغلات لبناء رسم بياني حاسوبي (يُطلق عليه غالبًا اسم _تمثيل وسيط_) والذي يمثل تدفق البيانات عبر الشبكة العصبية.

من خلال عرض رسم بياني بعوامل وأنواع بيانات معيارية، يُسهّل ONNX التبديل بين الأطر. على سبيل المثال، يُمكن تصدير نموذج مدرب في PyTorch إلى تنسيق ONNX ثم استيراده في TensorFlow (والعكس صحيح).

بمجرد التصدير إلى تنسيق ONNX، يُمكن:

- تحسين النموذج للاستدلال عبر تقنيات مثل [تحسين الرسم البياني](https://huggingface.co/docs/optimum/onnxruntime/usage_guides/optimization) و [التكميم](https://huggingface.co/docs/optimum/onnxruntime/usage_guides/quantization).
- تشغيله باستخدام ONNX Runtime عبر فئات [`ORTModelForXXX`](https://huggingface.co/docs/optimum/onnxruntime/package_reference/modeling_ort)، والتي تتبع نفس واجهة برمجة التطبيقات (API) لـ `AutoModel` التي اعتدت عليها في 🤗 Transformers.
- تشغيله باستخدام [قنوات معالجة الاستدلال مُحسّنة](https://huggingface.co/docs/optimum/main/en/onnxruntime/usage_guides/pipelines)، والتي لها نفس واجهة برمجة التطبيقات (API) مثل وظيفة [`pipeline`] في 🤗 Transformers.

يوفر 🤗 Optimum دعمًا لتصدير ONNX من خلال الاستفادة من كائنات التكوين. تأتي كائنات التكوين هذه جاهزة لعدد من معماريات النماذج، وقد تم تصميمها لتكون قابلة للتوسعة بسهولة إلى معماريات أخرى.

للاطلاع على قائمة بالتكوينات الجاهزة، يُرجى الرجوع إلى [وثائق 🤗 Optimum](https://huggingface.co/docs/optimum/exporters/onnx/overview).

هناك طريقتان لتصدير نموذج 🤗 Transformers إلى ONNX، نعرض هنا كليهما:

- التصدير باستخدام 🤗 Optimum عبر واجهة سطر الأوامر (CLI).
- التصدير باستخدام 🤗 Optimum مع `optimum.onnxruntime`.

### تصدير نموذج 🤗 Transformers إلى ONNX باستخدام واجهة سطر الأوامر

لتصدير نموذج 🤗 Transformers إلى ONNX، قم أولاً بتثبيت اعتماد إضافي:

```bash
pip install optimum[exporters]
```

للاطلاع على جميع المعامﻻت المتاحة، يرجى الرجوع إلى [وثائق 🤗 Optimum](https://huggingface.co/docs/optimum/exporters/onnx/usage_guides/export_a_model#exporting-a-model-to-onnx-using-the-cli)، أو عرض المساعدة في سطر الأوامر:

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

لتصدير نقطة تفتيش نموذج من 🤗 Hub، على سبيل المثال، `distilbert/distilbert-base-uncased-distilled-squad`، قم بتشغيل الأمر التالي:

```bash
optimum-cli export onnx --model distilbert/distilbert-base-uncased-distilled-squad distilbert_base_uncased_squad_onnx/
```

يجب أن تشاهد السجلات التي تشير إلى التقدم المحرز وتظهر المكان الذي تم فيه حفظ ملف `model.onnx` الناتج، مثل هذا:

```bash
Validating ONNX model distilbert_base_uncased_squad_onnx/model.onnx...
-[✓] ONNX model output names match reference model (start_logits, end_logits)
- Validating ONNX Model output "start_logits":
-[✓] (2, 16) matches (2, 16)
-[✓] all values close (atol: 0.0001)
- Validating ONNX Model output "end_logits":
-[✓] (2, 16) matches (2, 16)
-[✓] all values close (atol: 0.0001)
The ONNX export succeeded and the exported model was saved at: distilbert_base_uncased_squad_onnx
```

يوضح المثال أعلاه تصدير نقطة تفتيش من 🤗 Hub. عند تصدير نموذج محلي، تأكد أولاً من حفظ ملفات أوزان النموذج ومحول الرموز في نفس الدليل (`local_path`). عند استخدام واجهة سطر الأوامر، قم بتمرير `local_path` إلى وسيط `model` بدلاً من اسم نقطة التفتيش على 🤗 Hub وقدم وسيط `--task`. يمكنك مراجعة قائمة المهام المدعومة في [وثائق 🤗 Optimum](https://huggingface.co/docs/optimum/exporters/task_manager). إذا لم يتم توفير وسيط `task`، فسيتم تعيينه افتراضيًا إلى هندسة النموذج دون أي رأس محدد للمهمة.

```bash
optimum-cli export onnx --model local_path --task question-answering distilbert_base_uncased_squad_onnx/
```

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

```python
>>> from transformers import AutoTokenizer
>>> from optimum.onnxruntime import ORTModelForQuestionAnswering

>>> tokenizer = AutoTokenizer.from_pretrained("distilbert_base_uncased_squad_onnx")
>>> model = ORTModelForQuestionAnswering.from_pretrained("distilbert_base_uncased_squad_onnx")
>>> inputs = tokenizer("What am I using?", "Using DistilBERT with ONNX Runtime!", return_tensors="pt")
>>> outputs = model(**inputs)
```

تكون العملية مماثلة بالنسبة إلى نقاط تفتيش TensorFlow على Hub. على سبيل المثال، إليك كيفية تصدير نقطة تفتيش TensorFlow نقية من [منظمة Keras](https://huggingface.co/keras-io):

```bash
optimum-cli export onnx --model keras-io/transformers-qa distilbert_base_cased_squad_onnx/
```

### تصدير نموذج 🤗 Transformers إلى ONNX باستخدام `optimum.onnxruntime`

كبديل لواجهة سطر الأوامر، يُمكنك تصدير نموذج 🤗 Transformers إلى ONNX برمجيًا كما يلي:

```python
>>> from optimum.onnxruntime import ORTModelForSequenceClassification
>>> from transformers import AutoTokenizer

>>> model_checkpoint = "distilbert_base_uncased_squad"
>>> save_directory = "onnx/"

>>> # تحميل نموذج من transformers وتصديره إلى ONNX
>>> ort_model = ORTModelForSequenceClassification.from_pretrained(model_checkpoint, export=True)
>>> tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)

>>> # حفظ نموذج onnx ومجزىء النصوص
>>> ort_model.save_pretrained(save_directory)
>>> tokenizer.save_pretrained(save_directory)
```

### تصدير نموذج لهندسة غير مدعومة

إذا كنت ترغب في المساهمة من خلال إضافة دعم لنموذج لا يُمكن تصديره حاليًا، فيجب عليك أولاً التحقق مما إذا كان مدعومًا في [`optimum.exporters.onnx`](https://huggingface.co/docs/optimum/exporters/onnx/overview)، وإذا لم يكن مدعومًا، [فيمكنك المساهمة في 🤗 Optimum](https://huggingface.co/docs/optimum/exporters/onnx/usage_guides/contribute) مُباشرةً.

### تصدير نموذج باستخدام `transformers.onnx`

<Tip warning={true}>

لم يعد يتم دعم `tranformers.onnx` يُرجى تصدير النماذج باستخدام 🤗 Optimum كما هو موضح أعلاه. سيتم إزالة هذا القسم في الإصدارات القادمة.

</Tip>

لتصدير نموذج 🤗 Transformers إلى ONNX باستخدام `tranformers.onnx`، ثبّت التبعيات الإضافية:

```bash
pip install transformers[onnx]
```

استخدم حزمة `transformers.onnx` كنموذج Python لتصدير نقطة حفظ باستخدام تكوين جاهز:

```bash
python -m transformers.onnx --model=distilbert/distilbert-base-uncased onnx/
```

يُصدّر هذا رسمًا بيانيًا ONNX لنقطة الحفظ المُحددة بواسطة وسيطة `--model`. مرر أي نقطة حفظ على 🤗 Hub أو نقطة حفظ مُخزنة محليًا.
يُمكن بعد ذلك تشغيل ملف `model.onnx` الناتج على أحد المُسرعات العديدة التي تدعم معيار ONNX. على سبيل المثال، قم بتحميل وتشغيل النموذج باستخدام ONNX Runtime كما يلي:

```python
>>> from transformers import AutoTokenizer
>>> from onnxruntime import InferenceSession

>>> tokenizer = AutoTokenizer.from_pretrained("distilbert/distilbert-base-uncased")
>>> session = InferenceSession("onnx/model.onnx")
>>> # يتوقع ONNX Runtime مصفوفات NumPy كمدخلات
>>> inputs = tokenizer("Using DistilBERT with ONNX Runtime!", return_tensors="np")
>>> outputs = session.run(output_names=["last_hidden_state"], input_feed=dict(inputs))
```

يُمكن الحصول على أسماء المخرجات المطلوبة (مثل `["last_hidden_state"]`) من خلال إلقاء نظرة على تكوين ONNX لكل نموذج. على سبيل المثال، بالنسبة لـ DistilBERT، لدينا:

```python
>>> from transformers.models.distilbert import DistilBertConfig, DistilBertOnnxConfig

>>> config = DistilBertConfig()
>>> onnx_config = DistilBertOnnxConfig(config)
>>> print(list(onnx_config.outputs.keys()))
["last_hidden_state"]
```

العمليات مُتطابقة لنقاط الحفظ TensorFlow على Hub. على سبيل المثال، صدّر نقطة حفظ TensorFlow خالصة كما يلي:

```bash
python -m transformers.onnx --model=keras-io/transformers-qa onnx/
```

لتصدير نموذج مُخزن محليًا، احفظ أوزان النموذج ومجزىء اللغوى في نفس الدليل (على سبيل المثال `local-pt-checkpoint`)، ثم قم بتصديره إلى ONNX عن طريق توجيه وسيط `--model` لحزمة `transformers.onnx` إلى الدليل المطلوب:

```bash
python -m transformers.onnx --model=local-pt-checkpoint onnx/
```
Loading
Loading