Hugging Face에서 _Adapters_ 사용하기
Hugging Face에서 Adapters 사용하기
참고: _Adapters_는
adapter-transformers라이브러리를 대체했으며 모델 가중치 측면에서 완전히 호환돼요. 자세한 내용은 여기를 참고하세요.
Adapters는 🤗 transformers에 추가되는 어드온 라이브러리로, 어댑터와 기타 파라미터 효율적 방법을 사용해 사전 학습 언어 모델을 효율적으로 미세 조정할 수 있게 해 줘요. _Adapters_는 학습과 추론 중에 어댑터 모듈을 구성(composition)하는 다양한 방법도 제공합니다. 자세한 내용은 Adapters 논문에서 확인할 수 있어요.
출처: 문서
본문
허브에서 Adapters 탐색하기
모델 페이지 왼쪽의 필터를 사용하면 Adapters 모델을 찾을 수 있어요. 일부 어댑터 모델은 Adapter Hub 저장소에서도 찾을 수 있어요. 두 소스의 모델은 AdapterHub 웹사이트에 통합되어 있어요.
설치
시작하려면 AdapterHub 설치 가이드를 참고할 수 있어요. pip를 통한 한 줄 설치도 사용할 수 있어요:
pip install adapters
기존 모델 사용하기
사전 학습 어댑터를 로드하는 전체 가이드는 공식 가이드를 확인해 보세요.
간단히 요약하면 전체 설정은 세 단계로 이루어져요:
- _Adapters_가 제공하는
AutoAdapterModel클래스로 기본transformers모델을 로드한다. load_adapter()메서드로 어댑터를 로드하고 추가한다.active_adapters로 어댑터를 활성화하거나(추론),train_adapter()로 활성화하면서 훈련 가능 상태로 설정한다(학습). 어댑터 구성(composition)도 꼭 확인해 보세요.
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를 사용해 모든 어댑터 모델을 프로그래밍 방식으로 찾을 수도 있어요:
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_로 모델을 공유하는 전체 가이드는 공식 가이드를 확인해 보세요.
어댑터가 포함된 모델의 push_adapter_to_hub 메서드를 사용하면 어댑터를 공유할 수 있어요.
model.push_adapter_to_hub(
"my-awesome-adapter",
"awesome_adapter",
adapterhub_tag="sentiment/imdb",
datasets_tag="imdb"
)
이 명령은 자동 생성된 모델 카드와 필요한 모든 메타데이터를 갖춘 저장소를 만들어 줘요.
추가 자료
더 알아보기 (Learn more)
- AdapterHub 문서에서 어댑터 학습과 구성(composition)의 심화 내용을 배울 수 있어요.
- 허브의
adapter-transformers모델 목록을 탐색해 보세요.