# مشاركة

منصة [Hub](https://hf.co/models) التابعة لـ Hugging Face هي منصة لمشاركة واكتشاف واستخدام نماذج من جميع الأنواع والأحجام. ننصح بشدة بمشاركة نموذجك على Hub لدفع عجلة تعلم الآلة مفتوح المصدر إلى الأمام من أجل الجميع!

ستُظهر لك هذه الدليل كيفية مشاركة نموذج على Hub من Transformers.

## الإعداد

لمشاركة نموذج على Hub، تحتاج إلى [حساب](https://hf.co/join) على Hugging Face. أنشئ [User Access Token](https://hf.co/docs/hub/security-tokens#user-access-tokens) (يُخزَّن في [cache](./installation#cache-directory) افتراضياً) وسجّل الدخول إلى حسابك من سطر الأوامر أو من دفتر ملاحظات.

```bash
hf auth login
```

```py
from huggingface_hub import notebook_login

notebook_login()
```

## مميزات المستودع

تتميز كل مستودع نماذج بإدارة الإصدارات، وسجل الالتزامات، وتصور الفروقات.

    

تعتمد آلية إصدارات النسخ على [Git](https://git-scm.com/) و[Git Large File Storage (LFS)](https://git-lfs.github.com/)، وتتيح المراجعات، وهي طريقة لتحديد إصدار النموذج باستخدام تجزئة التزامن (commit hash) أو وسم (tag) أو فرع (branch).

على سبيل المثال، استخدم معامل `revision` في [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل إصدار محدد من النموذج من تجزئة التزامن.

```py
model = AutoModel.from_pretrained(
    "julien-c/EsperBERTo-small", revision="4c77982"
)
```

عند التحميل من فرع أو وسم، تُثبَّت جميع الملفات في ذلك الاستدعاء على التزام الواحد، ثم تُجلب جميع الملفات من ذلك الالتزام.

تبقى تلك الإبرة (pin) سارية المفعول خلال الاستدعاء فقط. لضمان قابلية إعادة الإنتاج عبر التشغيلات، مرّر رمز التزامن (commit hash) صريحًا أو وسمًا (tag) تعامل معه على أنه ثابت. لا تعتمد على بقاء `main` أو أي فرع متحرك آخر ثابتًا بين التشغيلات.

تدعم مستودعات النماذج أيضًا [التحكم في الوصول](https://hf.co/docs/hub/models-gated) (gating) للتحكم في من يمكنه الوصول إلى نموذج. يُعدّ هذا التحكم شائعًا للسماح لمجموعة محددة من المستخدمين بمعاينة نموذج بحثي قبل إتاحته للعموم.

    

يتضمن مستودع النموذج أيضًا [مكوّنًا](https://hf.co/docs/hub/models-widgets) للاستدلال يتيح للمستخدمين التفاعل مباشرة مع النموذج على المنصة.

اطّلع على وثائق [النماذج](https://hf.co/docs/hub/models) في Hub لمزيد من المعلومات.

## رفع نموذج

There are several ways to upload a model to the Hub depending on your workflow preference. You can push a model with [Trainer](/docs/transformers/main/ar/main_classes/trainer#transformers.Trainer), call [push_to_hub()](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) directly on a model, or use the Hub web interface.

### Trainer

يمكن لـ [Trainer](/docs/transformers/main/ar/main_classes/trainer#transformers.Trainer) دفع النموذج مباشرةً إلى Hub بعد التدريب. اضبط `push_to_hub=True` في [TrainingArguments](/docs/transformers/main/ar/main_classes/trainer#transformers.TrainingArguments) وقم بتمريره إلى [Trainer](/docs/transformers/main/ar/main_classes/trainer#transformers.Trainer). بمجرد اكتمال التدريب، استدعِ [push_to_hub()](/docs/transformers/main/ar/main_classes/trainer#transformers.Trainer.push_to_hub) لرفع النموذج.

تضيف [push_to_hub()](/docs/transformers/main/ar/main_classes/trainer#transformers.Trainer.push_to_hub) تلقائيًا معلومات مفيدة مثل معاملات التدريب الفائقة والنتائج إلى بطاقة النموذج.

```py
from transformers import TrainingArguments, Trainer

training_args = TrainingArguments(output_dir="my-awesome-model", push_to_hub=True)
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=small_train_dataset,
    eval_dataset=small_eval_dataset,
    compute_metrics=compute_metrics,
)
trainer.push_to_hub()
```

لرفع النموذج إلى مستودع خاص، اضبط `hub_private_repo=True` في [TrainingArguments](/docs/transformers/main/ar/main_classes/trainer#transformers.TrainingArguments). إذا لم يتم إنشاء المستودع بعد (على سبيل المثال، عندما يكون `push_to_hub=False` في [TrainingArguments](/docs/transformers/main/ar/main_classes/trainer#transformers.TrainingArguments))، يمكنك أيضًا تمرير `private=True` إلى [push_to_hub()](/docs/transformers/main/ar/main_classes/trainer#transformers.Trainer.push_to_hub) بدلاً من ذلك. لا يسري مفعول الحجة `private` إلا عند إنشاء المستودع، لذا فهي لا تغيّر مستوى ظهور المستودع الموجود مسبقًا.

```py
trainer.push_to_hub(private=True)
```

### PushToHubMixin

توفّر [PushToHubMixin](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin) إمكانية دفع النموذج أو المُجزِّئ إلى Hub.

Call [push_to_hub()](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) directly on a model to upload it to the Hub. It creates a repository under your namespace with the model name specified in [push_to_hub()](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).

```py
model.push_to_hub("my-awesome-model")
```

تُرفع كائنات أخرى مثل مُجزِّئ الرموز إلى Hub بالطريقة نفسها.

```py
tokenizer.push_to_hub("my-awesome-model")
```

يجب أن يعرض ملفك الشخصي على Hugging Face الآن مستودع النموذج الذي تم إنشاؤه حديثاً. انتقل إلى تبويب **Files** لعرض جميع الملفات المرفوعة.

راجع دليل [رفع الملفات إلى Hub](https://hf.co/docs/hub/how-to-upstream) لمزيد من المعلومات حول دفع الملفات إلى Hub.

### واجهة الويب الخاصة بـ Hub

واجهة الويب الخاصة بـ Hub هي نهج بدون كتابة أكواد لرفع نموذج.

1. أنشئ مستودعًا جديدًا عن طريق تحديد [**نموذج جديد**](https://huggingface.co/new).

    

أضف بعض المعلومات حول نموذجك:

- اختر **المالك** للمستودع. يمكن أن تكون أنت أو أيًا من المنظمات التي تنتمي إليها.
- اختر اسمًا لنموذجك، وسيكون هذا الاسم أيضًا اسم المستودع.
- اختر ما إذا كان نموذجك عامًا أو خاصًا.
- اضبط استخدام الترخيص.

2. انقر على **إنشاء نموذج** لإنشاء مستودع النموذج.

3. اختر تبويب **الملفات** ثم انقر على زر **إضافة ملف** لسحب ملف وإفلاته في مستودعك. أضف رسالة التزام ثم انقر على **التزام التغييرات إلى main** لالتزام الملف.

    

## بطاقة النموذج

تُوفّر [بطاقات النموذج](https://hf.co/docs/hub/model-cards#model-cards) للمستخدمين معلومات حول أداء النموذج وحدوده والتحيزات المحتملة والاعتبارات الأخلاقية. يُوصى بشدة بإضافة بطاقة نموذج إلى مستودعك!

بطاقة النموذج هي ملف `README.md` في مستودعك. أضف هذا الملف من خلال:

- إنشاء ملف `README.md` يدويًا ورفع
- عند النقر على زر **تعديل بطاقة النموذج** في المستودع

اطّلع على [بطاقة النموذج](https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct) الخاصة بـ Llama 3.1 كمثال على ما يجب تضمينه في بطاقة النموذج.

تعرّف على المزيد حول بيانات وصفية أخرى لبطاقات النموذج (انبعاثات الكربون، الترخيص، رابط إلى الورقة البحثية، إلخ) المتوفرة في دليل [بطاقات النموذج](https://hf.co/docs/hub/model-cards#model-cards).

