TGI Multi-LoRA: 한 번 배포하고 30개 모델 제공
Hugging Face는 Text Generation Inference (TGI)에서 Multi‑LoRA 서빙을 도입하여, 단일 베이스 모델을 배포하고 여러 특화된 파인튜닝 어댑터를 동적으로 제공할 수 있게 했습니다. 이 접근 방식은 작업별 모델마다 별도의 배포를 유지할 필요를 없애며, VRAM 사용량과 운영 비용을 크게 줄여줍니다.
특화 모델의 필요성
작은 규모의 특화 모델을 파인튜닝하면, 큰 범용 모델을 사용하는 것보다 특정 작업에서 더 나은 성능을 얻는 경우가 많습니다. Hugging Face가 인용한 연구에 따르면, Mistral‑7B‑v0.1과 같은 베이스 모델을 사용한 작업‑특화 LoRA는 특정 작업에서 GPT‑4보다 뛰어난 성능을 보일 수 있습니다.
성능 외에도 특화 모델은 여러 조직적 이점을 제공합니다:
- 적응성: 단일 베이스 모델(예: Mistral 또는 Llama)을 사용하여 다양한 다운스트림 작업을 위한 여러 특화 모델을 구축할 수 있습니다.
- 독립성: 서로 다른 팀이 자체 데이터 준비, 평가 및 업데이트 주기를 독립적으로 관리할 수 있습니다.
- 프라이버시: 특화 모델은 프라이버시 요구 사항에 따라 훈련 데이터 분리 및 접근 제한을 보다 잘 수행할 수 있습니다.
기술적 기반: 저랭크 적응 (LoRA)
LoRA(Low‑Rank Adaptation)는 파라미터 효율적인 파인튜닝 기법으로, 전체 파라미터를 재학습하지 않고도 대규모 사전학습 모델을 적응시킵니다. 대신 원래 가중치를 고정하고 두 개의 작은 행렬(A와 B)만 학습합니다.
이 어댑터들은 전체 모델에 비해 저장 및 메모리 오버헤드가 약 1% 정도만 추가됩니다. 예를 들어 predibase/magicoder 어댑터는 13.6 MB로, mistralai/Mistral-7B-v0.1 베이스 모델(14.48 GB)의 1/1000 이하 크기입니다. 이러한 어댑터 30개를 RAM에 로드해도 VRAM 증가량은 대략 3%에 불과합니다.
Multi‑LoRA 서빙 작동 방식
Multi‑LoRA 서빙은 단일 TGI 배포에서 들어오는 요청에 따라 적절한 LoRA 어댑터를 동적으로 선택합니다. 각 사용자 요청에는 입력 텍스트와 특정 adapter_id가 포함됩니다. TGI는 이 ID를 사용해 해당 요청에 맞는 어댑터를 선택하므로, 하나의 베이스 모델이 이질적인 요청 배치를 동시에 처리하게 됩니다.
배포 요구 사항
Multi‑LoRA 서빙을 구현하려면 다음 조건을 충족해야 합니다:
- TGI 버전:
v2.1.1이상 버전. - 베이스 모델: 호환 가능한 베이스 모델(예:
mistralai/Mistral-7B-v0.1). - 구성:
LORA_ADAPTERS환경 변수를 콤마로 구분된 어댑터 ID 목록으로 설정해야 합니다(예:LORA_ADAPTERS=predibase/customer_support,predibase/magicoder).
API를 통한 사용
엔드포인트에 쿼리할 때는 요청 파라미터에 adapter_id를 지정해야 합니다.
예시 cURL 요청:
curl 127.0.0.1:3000/generate \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"inputs": "Hello who are you?",
"parameters": {
"max_new_tokens": 40,
"adapter_id": "predibase/customer_support"
}
}'
운영 및 비용 영향
비용 효율성
Multi‑LoRA 서빙은 제공되는 어댑터 수와 관계없이 토큰당 비용을 일정하게 유지합니다. 이는 여러 전체 모델 배포가 필요 없기 때문이며, 개별 파인튜닝 모델마다 별도 배포를 할 경우 비용이 모델 수에 비례해 선형적으로 증가합니다.
확장성 및 사용 패턴
여러 모델을 하나의 배포에 통합하면 GPU 활용도가 안정화됩니다. 개별 특화 모델은 사용량이 급격히 변하거나 폭발적으로 증가할 수 있지만, 다수 어댑터에 걸친 전체 수요는 보다 완만하게 변동해 확장이 용이하고 GPU 효율성을 높일 수 있습니다.
베이스 모델 업데이트
LoRA 학습 비용이 비교적 저렴하고, Predibase가 보고한 바에 따르면 어댑터당 약 $8.00 수준이므로, 조직은 새로운 더 효율적인 버전(예: Mistral v0.3 또는 Llama 3)이 출시될 때마다 베이스 모델을 업데이트할 수 있습니다. 이를 위해서는 버전 관리된 데이터셋과 학습 설정을 유지해 새로운 베이스 모델에 어댑터를 신속히 재학습할 수 있어야 합니다.
감사
TGI의 Multi‑LoRA 구현은 Punica, LoRAX, S‑LoRA 팀이 개발한 최적화 커널 및 프레임워크를 활용해 효율적인 추론을 보장합니다.
SUMMARY: Hugging Face는 Text Generation Inference (TGI)에서 Multi‑LoRA 서빙을 도입하여, 조직이 단일 베이스 모델을 배포하고 수십 개의 특화 파인튜닝 어댑터를 동적으로 제공함으로써 비용과 운영 복잡성을 줄일 수 있게 했습니다.
TITLE: TGI Multi-LoRA: 한 번 배포하고 30개 모델 제공