# Sử dụng _Adapters_ trên Hugging Face

> Lưu ý: _Adapters_ đã thay thế thư viện `adapter-transformers` và tương thích hoàn toàn về mặt trọng số mô hình. Xem [tại đây](https://docs.adapterhub.ml/transitioning.html) để biết thêm.

[_Adapters_](https://github.com/adapter-hub/adapters) là một thư viện bổ sung cho 🤗 `transformers` để tinh chỉnh hiệu quả các mô hình ngôn ngữ được huấn luyện trước bằng cách sử dụng adapters và các phương pháp hiệu quả về tham số khác. _Adapters_ cũng cung cấp nhiều phương pháp để kết hợp các module adapter trong quá trình huấn luyện và suy luận. Bạn có thể tìm hiểu thêm về điều này trong [_bài báo Adapters_](https://arxiv.org/abs/2311.11077).

## Khám phá _Adapters_ trên Hub

Bạn có thể tìm các mô hình _Adapters_ bằng cách lọc ở phía bên trái của [trang models](https://huggingface.co/models?library=adapter-transformers&sort=downloads). Một số mô hình adapter có thể được tìm thấy trong [repository](https://github.com/adapter-hub/hub) Adapter Hub. Các mô hình từ cả hai nguồn được tổng hợp trên [trang web AdapterHub](https://adapterhub.ml/explore/).

## Cài đặt

Để bắt đầu, bạn có thể tham khảo [hướng dẫn cài đặt AdapterHub](https://docs.adapterhub.ml/installation.html). Bạn cũng có thể sử dụng lệnh cài đặt một dòng sau đây thông qua pip:

```
pip install adapters
```

## Sử dụng các mô hình có sẵn

Để có hướng dẫn đầy đủ về việc nạp các adapter được huấn luyện trước, chúng tôi khuyến nghị bạn xem [hướng dẫn chính thức](https://docs.adapterhub.ml/loading.html).

Tóm tắt ngắn gọn, một cấu hình hoàn chỉnh bao gồm ba bước:

1. Tải một mô hình cơ sở `transformers` bằng lớp `AutoAdapterModel` do _Adapters_ cung cấp.
2. Sử dụng phương thức `load_adapter()` để tải và thêm một adapter.
3. Kích hoạt adapter thông qua `active_adapters` (cho suy luận) hoặc kích hoạt và đặt nó ở chế độ có thể huấn luyện thông qua `train_adapter()` (cho huấn luyện). Hãy chắc chắn rằng bạn cũng xem qua [việc kết hợp các 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)
```

Bạn cũng có thể sử dụng `list_adapters` để tìm tất cả các mô hình adapter một cách tự động:

```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")
```

Nếu bạn muốn xem cách tải một mô hình cụ thể, hãy nhấp vào `Use in Adapters` và bạn sẽ nhận được một đoạn mã hoạt động để tải mô hình đó!

## Chia sẻ các mô hình của bạn

Để có hướng dẫn đầy đủ về việc chia sẻ các mô hình với _Adapters_, chúng tôi khuyên bạn nên xem [hướng dẫn chính thức](https://docs.adapterhub.ml/huggingface_hub.html#uploading-to-the-hub).

Bạn có thể chia sẻ adapter của mình bằng cách sử dụng phương thức `push_adapter_to_hub` từ một model đã chứa adapter.

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

Lệnh này tạo một kho lưu trữ với thẻ mô hình được tạo tự động và tất cả các siêu dữ liệu cần thiết.

## Tài nguyên bổ sung

* _Adapters_ [kho](https://github.com/adapter-hub/adapters)
* _Trình thích ứng_ [tài liệu](https://docs.adapterhub.ml)
* _Adapters_ [bài báo](https://arxiv.org/abs/2311.11077)
* Tích hợp với tài liệu [Hub](https://docs.adapterhub.ml/huggingface_hub.html)

