# استخدام _Adapters_ في Hugging Face

> ملاحظة: حلّ مكان مكتبة `adapter-transformers` حزمة _Adapters_ وهي متوافقة تمامًا من حيث أوزان النموذج. راجع [هنا](https://docs.adapterhub.ml/transitioning.html) لمزيد من التفاصيل.

[_Adapters_](https://github.com/adapter-hub/adapters) هي مكتبة مضافة إلى 🤗 `transformers` لضبط نماذج اللغة المُسبقة التدريب بكفاءة باستخدام المُكيّفات (adapters) وطرق أخرى فعّالة من حيث المعاملات. كما توفر _Adapters_ طرقًا متنوعة لتكوين وحدات المُكيّفات أثناء التدريب والاستدلال. يمكنك معرفة المزيد حول هذا الموضوع في [_ورقة Adapters_](https://arxiv.org/abs/2311.11077).

## استكشاف _المُكيِّفات_ على المنصة

يمكنك العثور على نماذج _Adapters_ عن طريق التصفية على يسار [صفحة النماذج](https://huggingface.co/models?library=adapter-transformers&sort=downloads). يمكن العثور على بعض نماذج المحوّل في مستودع Adapter Hub [repository](https://github.com/adapter-hub/hub). يتم تجميع النماذج من كلا المصدرين على [موقع AdapterHub](https://adapterhub.ml/explore/).

## التثبيت

للبدء، يمكنك الرجوع إلى [دليل تثبيت AdapterHub](https://docs.adapterhub.ml/installation.html). كما يمكنك استخدام أمر التثبيت التالي من سطر واحد عبر pip:

```
pip install adapters
```

## استخدام نماذج موجودة

لإرشادات شاملة حول تحميل المُكيِّفات المُدرَّبة مسبقًا، ننصح بالاطلاع على [الدليل الرسمي](https://docs.adapterhub.ml/loading.html).

كخلاصة موجزة، يتكون الإعداد الكامل من ثلاث خطوات:

1. قم بتحميل نموذج أساسي من `transformers` باستخدام فئة `AutoAdapterModel` التي يوفرها _Adapters_.
2. استخدم طريقة `load_adapter()` لتحميل مُكيّف وإضافته.
3. فعّل المُكيّف عبر `active_adapters` (لأغراض الاستدلال) أو فعّله واطلبه كقابل للتدريب عبر `train_adapter()` (لأغراض التدريب). تأكد أيضاً من الاطلاع على [تركيب المُكيّفات](https://docs.adapterhub.ml/adapter_composition.html).

```py
from adapters import AutoAdapterModel

# 1.
model = AutoAdapterModel.from_pretrained("FacebookAI/roberta-base")
# 2.
adapter_name = model.load_adapter("AdapterHub/roberta-base-pf-imdb")
# 3.
model.active_adapters = adapter_name
# or model.train_adapter(adapter_name)
```

يمكنك أيضًا استخدام `list_adapters` للعثور على جميع نماذج المحوّلات برمجيًا:

```py
from adapters import list_adapters

# source can be "ah" (AdapterHub), "hf" (hf.co) or None (for both, default)
adapter_infos = list_adapters(source="hf", model_name="FacebookAI/roberta-base")
```

إذا كنت ترغب في معرفة كيفية تحميل نموذج محدد، يمكنك النقر على `Use in Adapters` وستحصل على مقتطف جاهز للتشغيل يمكنك من خلاله تحميله!

## مشاركة نماذجك

لإرشادات شاملة حول مشاركة النماذج باستخدام _Adapters_، ننصح بالاطلاع على [الدليل الرسمي](https://docs.adapterhub.ml/huggingface_hub.html#uploading-to-the-hub).

يمكنك مشاركة مُكيّفك باستخدام طريقة `push_adapter_to_hub` من نموذج يحتوي بالفعل على مُكيّف.

```py
model.push_adapter_to_hub(
    "my-awesome-adapter",
    "awesome_adapter",
    adapterhub_tag="sentiment/imdb",
    datasets_tag="imdb"
)
```

ينشئ هذا الأمر مستودعًا مع بطاقة نموذج مُولَّدة تلقائيًا وجميع البيانات الوصفية اللازمة.

## موارد إضافية

* مستودع _Adapters_ [repository](https://github.com/adapter-hub/adapters)
* _المُكيِّفات_ [التوثيق](https://docs.adapterhub.ml)
* _المُكيِّفات_ [ورقة](https://arxiv.org/abs/2311.11077)
* التكامل مع توثيقات [Hub](https://docs.adapterhub.ml/huggingface_hub.html)

