-
Notifications
You must be signed in to change notification settings - Fork 33.6k
[i18n-ar] Translated file : docs/source/ar/model_sharing.md into Arabic
#33046
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
Closed
AhmedAlmaghz
wants to merge
21
commits into
huggingface:main
from
AhmedAlmaghz:Add_docs_source_ar_model_sharing.md
Closed
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
4eb87c2
Add docs/source/ar/model_sharing.md to Add_docs_source_ar_model_shari…
AhmedAlmaghz fc18b3c
Update docs/source/ar/model_sharing.md
AhmedAlmaghz d854ccc
Update docs/source/ar/model_sharing.md
AhmedAlmaghz d3971a0
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 20bc268
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 804b4aa
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 4604974
Update docs/source/ar/model_sharing.md
AhmedAlmaghz ba7d345
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 98cae10
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 74954da
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 650c58c
Update docs/source/ar/model_sharing.md
AhmedAlmaghz df42446
Update docs/source/ar/model_sharing.md
AhmedAlmaghz ce7d890
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 87e2955
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 619b00a
Update docs/source/ar/model_sharing.md
AhmedAlmaghz ca9ba7d
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 722cb91
Update docs/source/ar/model_sharing.md
AhmedAlmaghz b9e7e61
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 2e0c260
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 7d61e8d
Update docs/source/ar/model_sharing.md
AhmedAlmaghz 1ba3131
Update docs/source/ar/model_sharing.md
AhmedAlmaghz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,228 @@ | ||
| # مشاركة نموذج | ||
|
|
||
| أظهرت آخر درسين تعليميين كيفية ضبط نموذج باستخدام PyTorch و Keras و 🤗 Accelerate لعمليات التهيئة الموزعة. والخطوة التالية هي مشاركة نموذجك مع المجتمع! في Hugging Face، نؤمن بالمشاركة المفتوحة للمعرفة والموارد من أجل إتاحة الذكاء الاصطناعي للجميع. ونشجعك على التفكير في مشاركة نموذجك مع المجتمع لمساعدة الآخرين على توفير الوقت والموارد. | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| في هذا الدرس، ستتعلم طريقتين لمشاركة نموذج مدرب أو مضبوط على [Model Hub](https://huggingface.co/models): | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| - قم بالدفع البرمجي لملفاتك إلى Hub. | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
| - قم بسحب وإفلات ملفاتك إلى Hub باستخدام الواجهة web. | ||
|
|
||
| <iframe width="560" height="315" src="https://www.youtube.com/embed/XvSGPZFEjDY" title="مشغل فيديو YouTube" | ||
| frameborder="0" allow="accelerometer; تشغيل تلقائي; لوحة مفاتيح افتراضية; جيروسكوب; | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
| صورة مصغرة" allowfullscreen></iframe> | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| <Tip> | ||
|
|
||
| لمشاركة نموذج مع المجتمع، تحتاج إلى حساب على [huggingface.co](https://huggingface.co/join). يمكنك أيضًا الانضمام إلى منظمة موجودة أو إنشاء منظمة جديدة. | ||
|
|
||
| </Tip> | ||
|
|
||
| ## ميزات المستودع | ||
|
|
||
| يعمل كل مستودع على Model Hub مثل مستودع GitHub النموذجي. تقدم مستودعاتنا التحكم في الإصدار وتاريخ الالتزام والقدرة على تصور الاختلافات. | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| يستند التحكم في إصدار Model Hub المدمج إلى git و [git-lfs](https://git-lfs.github.com/). وبعبارة أخرى، يمكنك التعامل مع نموذج واحد كمستودع واحد، مما يمكّن من زيادة التحكم في الوصول والقابلية للتطوير. يسمح التحكم في الإصدار بتنقيحات، وهي طريقة لتثبيت إصدار محدد من نموذج باستخدام التجزئة أو العلامة أو الفرع. | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| ونتيجة لذلك، يمكنك تحميل إصدار محدد من النموذج باستخدام معلمة "revision": | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| ```py | ||
| >>> model = AutoModel.from_pretrained( | ||
| ... "julien-c/EsperBERTo-small", revision="v2.0.1" # اسم العلامة، أو اسم الفرع، أو تجزئة الالتزام | ||
| ... ) | ||
| ``` | ||
|
|
||
| من السهل أيضًا تحرير الملفات في مستودع، ويمكنك عرض سجل الالتزام بالإضافة إلى الاختلاف: | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
|  | ||
|
|
||
| ## الإعداد | ||
|
|
||
| قبل مشاركة نموذج على Hub، ستحتاج إلى بيانات اعتماد Hugging Face الخاصة بك. إذا كان لديك حق الوصول إلى المحطة الطرفية، فقم بتشغيل الأمر التالي في بيئة افتراضية حيث تم تثبيت 🤗 Transformers. سيقوم هذا الأمر بتخزين رمز الوصول الخاص بك في مجلد ذاكرة التخزين المؤقت لـ Hugging Face (`~/.cache/` بشكل افتراضي): | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| ```bash | ||
| huggingface-cli login | ||
| ``` | ||
|
|
||
| إذا كنت تستخدم دفتر ملاحظات مثل Jupyter أو Colaboratory، فتأكد من تثبيت مكتبة [`huggingface_hub`](https://huggingface.co/docs/hub/adding-a-library). تسمح لك هذه المكتبة بالتفاعل برمجيًا مع Hub. | ||
|
|
||
| ```bash | ||
| pip install huggingface_hub | ||
| ``` | ||
|
|
||
| ثم استخدم `notebook_login` لتسجيل الدخول إلى Hub، واتبع الرابط [هنا](https://huggingface.co/settings/token) لإنشاء رمز للتسجيل: | ||
|
|
||
| ```py | ||
| >>> from huggingface_hub import notebook_login | ||
|
|
||
| >>> notebook_login() | ||
| ``` | ||
|
|
||
| ## تحويل نموذج لجميع الأطر | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
| ```py | ||
| >>> from huggingface_hub import notebook_login | ||
|
|
||
| >>> notebook_login() | ||
| ``` | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| ## تحويل نموذج لجميع الأطر | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| لضمان إمكانية استخدام نموذجك من قبل شخص يعمل بإطار عمل مختلف، نوصي بتحويل وتحميل نموذجك باستخدام نقاط التحقق من PyTorch و TensorFlow. في حين أن المستخدمين لا يزال بإمكانهم تحميل نموذجك من إطار عمل مختلف إذا تخطيت هذه الخطوة، إلا أنه سيكون أبطأ لأن 🤗 Transformers ستحتاج إلى تحويل نقطة التحقق أثناء التنقل. | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| من السهل تحويل نقطة التحقق لإطار عمل آخر. تأكد من تثبيت PyTorch و TensorFlow (راجع [هنا](installation) لتعليمات التثبيت)، ثم ابحث عن النموذج المحدد لمهمتك في الإطار الآخر. | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| <frameworkcontent> | ||
| <pt> | ||
| حدد `from_tf=True` لتحويل نقطة تحقق من TensorFlow إلى PyTorch: | ||
|
|
||
| ```py | ||
| >>> pt_model = DistilBertForSequenceClassification.from_pretrained("path/to/awesome-name-you-picked", from_tf=True) | ||
| >>> pt_model.save_pretrained("path/to/awesome-name-you-picked") | ||
| ``` | ||
| </pt> | ||
| <tf> | ||
| حدد `from_pt=True` لتحويل نقطة تحقق من PyTorch إلى TensorFlow: | ||
|
|
||
| ```py | ||
| >>> tf_model = TFDistilBertForSequenceClassification.from_pretrained("path/to/awesome-name-you-picked", from_pt=True) | ||
| ``` | ||
|
|
||
| بعد ذلك، يمكنك حفظ نموذج TensorFlow الجديد بنقطة التحقق الجديدة: | ||
|
|
||
| ```py | ||
| >>> tf_model.save_pretrained("path/to/awesome-name-you-picked") | ||
| ``` | ||
| </tf> | ||
| <jax> | ||
| إذا كان النموذج متاحًا في Flax، فيمكنك أيضًا تحويل نقطة تحقق من PyTorch إلى Flax: | ||
|
|
||
| ```py | ||
| >>> flax_model = FlaxDistilBertForSequenceClassification.from_pretrained( | ||
| ... "path/to/awesome-name-you-picked", from_pt=True | ||
| ... ) | ||
| ``` | ||
| </jax> | ||
| </frameworkcontent> | ||
|
|
||
| ## دفع نموذج أثناء التدريب | ||
|
|
||
| <frameworkcontent> | ||
| <pt> | ||
| <Youtube id="Z1-XMy-GNLQ"/> | ||
|
|
||
| مشاركة نموذج على Hub بسيطة مثل إضافة معلمة أو استدعاء رد اتصال إضافي. تذكر من درس [التدريب الدقيق](training)، أن فئة [`TrainingArguments`] هي المكان الذي تحدد فيه فرط المعلمات وخيارات التدريب الإضافية. تشمل إحدى خيارات التدريب هذه القدرة على دفع نموذج مباشرة إلى Hub. قم بتعيين `push_to_hub=True` في [`TrainingArguments`]: | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| ```py | ||
| >>> training_args = TrainingArguments(output_dir="my-awesome-model", push_to_hub=True) | ||
| ``` | ||
|
|
||
| مرر حجج التدريب كالمعتاد إلى [`Trainer`]: | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| ```py | ||
| >>> trainer = Trainer( | ||
| ... model=model, | ||
| ... args=training_args, | ||
| ... train_dataset=small_train_dataset, | ||
| ... eval_dataset=small_eval_dataset, | ||
| ... compute_metrics=compute_metrics, | ||
| ... ) | ||
| ``` | ||
|
|
||
| بعد ضبط نموذجك، اتصل بـ [`~transformers.Trainer.push_to_hub`] على [`Trainer`] لدفع النموذج المدرب إلى Hub. سوف تضيف 🤗 Transformers تلقائيًا فرط معلمات التدريب ونتائج التدريب وإصدارات الإطار إلى بطاقة النموذج الخاصة بك! | ||
|
AhmedAlmaghz marked this conversation as resolved.
Outdated
|
||
|
|
||
| ```py | ||
| >>> trainer.push_to_hub() | ||
| ``` | ||
| </pt> | ||
| <tf> | ||
| شارك نموذجًا على Hub باستخدام [`PushToHubCallback`]. في دالة [`PushToHubCallback`], أضف: | ||
|
|
||
| - دليل إخراج لنموذجك. | ||
| - رموز. | ||
| - `hub_model_id`، والذي هو اسم مستخدم Hub واسم النموذج الخاص بك. | ||
|
AhmedAlmaghz marked this conversation as resolved.
|
||
|
|
||
| ```py | ||
| >>> from transformers import PushToHubCallback | ||
|
|
||
| >>> push_to_hub_callback = PushToHubCallback( | ||
| ... output_dir="./your_model_save_path", tokenizer=tokenizer, hub_model_id="your-username/my-awesome-model" | ||
| ... ) | ||
| ``` | ||
|
|
||
| أضف الاستدعاء إلى [`fit`](https://keras.io/api/models/model_training_apis/)، وسيقوم 🤗 Transformers بدفع النموذج المدرب إلى Hub: | ||
|
|
||
| ```py | ||
| >>> model.fit(tf_train_dataset, validation_data=tf_validation_dataset, epochs=3, callbacks=push_to_hub_callback) | ||
| ``` | ||
| </tf> | ||
| </frameworkcontent> | ||
|
|
||
| ## استخدام دالة `push_to_hub` | ||
|
|
||
| يمكنك أيضًا استدعاء `push_to_hub` مباشرة على نموذجك لتحميله إلى Hub. | ||
|
|
||
| حدد اسم نموذجك في `push_to_hub`: | ||
|
|
||
| ```py | ||
| >>> pt_model.push_to_hub("my-awesome-model") | ||
| ``` | ||
|
|
||
| ينشئ هذا مستودعًا تحت اسم المستخدم الخاص بك باسم نموذج `my-awesome-model`. يمكن للمستخدمين الآن تحميل نموذجك باستخدام دالة `from_pretrained`: | ||
|
|
||
| ```py | ||
| >>> from transformers import AutoModel | ||
|
|
||
| >>> model = AutoModel.from_pretrained("your_username/my-awesome-model") | ||
| ``` | ||
| ```py | ||
| >>> from transformers import AutoModel | ||
|
|
||
| >>> model = AutoModel.from_pretrained("your_username/my-awesome-model") | ||
| ``` | ||
|
|
||
| إذا كنت تنتمي إلى منظمة وتريد دفع نموذجك تحت اسم المنظمة بدلاً من ذلك، فما عليك سوى إضافته إلى `repo_id`: | ||
|
|
||
| ```py | ||
| >>> pt_model.push_to_hub("my-awesome-org/my-awesome-model") | ||
| ``` | ||
|
|
||
| يمكن أيضًا استخدام دالة `push_to_hub` لإضافة ملفات أخرى إلى مستودع النماذج. على سبيل المثال، أضف رموزًا إلى مستودع نموذج: | ||
|
|
||
| ```py | ||
| >>> tokenizer.push_to_hub("my-awesome-model") | ||
| ``` | ||
|
|
||
| أو ربما تريد إضافة إصدار TensorFlow من نموذج PyTorch المضبوط: | ||
|
|
||
| ```py | ||
| >>> tf_model.push_to_hub("my-awesome-model") | ||
| ``` | ||
|
|
||
| الآن عند الانتقال إلى ملفك الشخصي على Hugging Face، يجب أن ترى مستودع النماذج الذي أنشأته حديثًا. سيؤدي النقر فوق علامة التبويب **Files** إلى عرض جميع الملفات التي قمت بتحميلها في المستودع. | ||
|
|
||
| للحصول على مزيد من التفاصيل حول كيفية إنشاء الملفات وتحميلها إلى مستودع، راجع وثائق Hub [هنا](https://huggingface.co/docs/hub/how-to-upstream). | ||
|
|
||
| ## التحميل باستخدام الواجهة web | ||
|
|
||
| يمكن للمستخدمين الذين يفضلون نهج عدم الترميز تحميل نموذج من خلال واجهة Hub web. قم بزيارة [huggingface.co/new](https://huggingface.co/new) لإنشاء مستودع جديد: | ||
|
|
||
|  | ||
|
|
||
| من هنا، أضف بعض المعلومات حول نموذجك: | ||
|
|
||
| - حدد **مالك** المستودع. يمكن أن يكون هذا أنت أو أي من المنظمات التي تنتمي إليها. | ||
| - اختر اسمًا لنموذجك، والذي سيكون أيضًا اسم المستودع. | ||
| - اختر ما إذا كان نموذجك عامًا أم خاصًا. | ||
| - حدد ترخيص الاستخدام لنموذجك. | ||
|
|
||
| الآن انقر فوق علامة التبويب **Files** ثم انقر فوق الزر **Add file** لإضافة ملف جديد إلى مستودعك. ثم اسحب وأسقط ملفًا لتحميله وأضف رسالة الالتزام. | ||
|
|
||
|  | ||
|
|
||
| ## إضافة بطاقة نموذج | ||
|
|
||
| للتأكد من فهم المستخدمين لقدرات نموذجك وقيوده وتحيزاته المحتملة واعتباراته الأخلاقية، يرجى إضافة بطاقة نموذج إلى مستودعك. يتم تعريف بطاقة النموذج في ملف `README.md`. يمكنك إضافة بطاقة نموذج عن طريق: | ||
|
|
||
| * قم بإنشاء ملف `README.md` وتحميله يدويًا. | ||
| * انقر فوق الزر **Edit model card** في مستودع نموذجك. | ||
|
|
||
| الق نظرة على بطاقة [DistilBert](https://huggingface.co/distilbert/distilbert-base-uncased) للحصول على مثال جيد على نوع المعلومات التي يجب أن تتضمنها بطاقة النموذج. للحصول على مزيد من التفاصيل حول الخيارات الأخرى التي يمكنك التحكم فيها في ملف `README.md` مثل البصمة الكربونية للنموذج أو أمثلة الأداة، راجع الوثائق [هنا](https://huggingface.co/docs/hub/models-cards). | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.