PEFT documentation
혼합 어댑터 유형
시작하기
가이드
구성 및 모델통합 메모리 효율적인 학습모델 병합양자화커스텀 모델Adapter 주입PEFT 방법 혼합torch.compilePEFT에 기여하기문제 해결PEPT 체크포인트 형식
분산 학습
메서드
API 참조
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v0.21.0).
혼합 어댑터 유형
일반적으로 🤗 PEFT에서는 서로 다른 어댑터 유형을 혼합하는 것이 불가능합니다. 서로 다른 설정 옵션을 가질 수 있는 두 개의 LoRA 어댑터로 PEFT 모델을 생성할 수는 있지만, LoRA와 LoHa 어댑터를 결합하는 것은 불가능합니다. 그러나 PeftMixedModel을 사용하면 어댑터 유형이 호환되는 한 이 작업이 가능합니다. 혼합 어댑터 유형을 허용하는 주요 목적은 학습된 어댑터를 추론에 결합하는 것입니다. 혼합 어댑터 모델을 학습하는 것은 가능하지만, 이는 테스트되지 않았으며 권장되지 않습니다.
PEFT 모델에 서로 다른 어댑터 유형을 로드하려면 PeftModel 대신 PeftMixedModel을 사용하세요:
from peft import PeftMixedModel
base_model = ... # load the base model, e.g. from transformers
# load first adapter, which will be called "default"
peft_model = PeftMixedModel.from_pretrained(base_model, <path_to_adapter1>)
peft_model.load_adapter(<path_to_adapter2>, adapter_name="other")
peft_model.set_adapter(["default", "other"])두 개의 어댑터를 모두 활성화하려면 set_adapter() 메서드가 필요합니다. 그렇지 않으면 첫 번째 어댑터만 활성화됩니다. add_adapter()를 반복 호출하여 더 많은 어댑터를 추가할 수 있습니다.
PeftMixedModel은 혼합 어댑터의 저장 및 로딩을 지원하지 않습니다. 어댑터는 이미 학습이 완료된 상태여야 하며, 모델을 로딩할 때마다 스크립트를 실행해야 합니다.
팁
- 모든 어댑터 유형을 조합할 수 있는 것은 아닙니다. 호환되는 유형 목록은
peft.tuners.mixed.COMPATIBLE_TUNER_TYPES를 참조하세요. 호환되지 않는 어댑터 유형을 조합하려고 하면 오류가 발생합니다. - 동일한 유형의 여러 어댑터를 혼합할 수 있으며, 이는 구성이 매우 다른 어댑터를 결합하는 데 유용할 수 있습니다.
- 다양한 어댑터를 여러 개 결합하려면, 동일한 유형의 어댑터를 연속으로 추가하는 것이 가장 성능이 좋습니다. 예를 들어, LoRA1, LoHa1, LoRA2, LoHa2 순서가 아닌 LoRA1, LoRA2, LoHa1, LoHa2 순서로 추가하세요. 순서는 출력에 영향을 줄 수 있지만, 본질적으로 최적의 순서는 없으므로 가장 빠른 순서를 선택하는 것이 좋습니다.