Hugging Face의 오픈 소스 텍스트 생성 및 LLM 생태계
TL;DR
Hugging Face의 2023년 7월 블로그 게시물은 오픈 소스 텍스트 생성 및 LLM 생태계를 조사하여 모델 제품군, 라이선스 조건, 서빙 도구 및 매개변수 효율적 미세 조정(PEFT) 방법을 설명합니다. 이 글은 오픈 소스 LLM의 현황을 통합하여 보여주며, 실무자들이 폐쇄형 API에 의존하지 않고도 모델을 어떻게 액세스하고, 서빙하며, 적응시킬 수 있는지 보여주기 때문에 중요합니다.
텍스트 생성에 관한 간략한 배경
Llama, MPT-30B, XGen, Falcon-40B, Pythia-12B, RedPajama-INCITE-7B와 같은 오픈 소스 인과적 언어 모델(causal language models)은 Hugging Face Hub에서 사용할 수 있으며 텍스트 생성에 사용될 수 있습니다. 지시 미세 조정(Instruction-tuned) 변형 및 FLAN-T5와 같은 텍스트-대-텍스트 모델은 작업 범위를 확장합니다. Hugging Face 자체의 기여에는 GPT-3보다 더 많은 매개변수를 가진 다국어 인과 모델인 BLOOM과, 허용적인 라이선스의 GitHub 코드로 학습된 코드 중심 모델인 StarCoder가 포함됩니다. 이러한 모델은 유료 API와 비교했을 때 개인 데이터 처리, 도메인 적응 및 낮은 추론 비용을 가능하게 합니다.
BigScience 및 BigCode와 함께 Hugging Face가 애정을 담아 만든 모델들
BLOOM은 46개 언어와 13개 프로그래밍 언어로 학습된 인과적 언어 모델이며, GPT-3보다 더 많은 매개변수를 가진 최초의 오픈 소스 모델입니다. StarCoder는 Fill-in-the-Middle 목적 함수를 사용하여 GitHub의 허용적인 코드로부터 학습되었으며 코딩 어시스턴트 역할을 합니다. 이는 VSCode 확장 프로그램과 플레이그라운드 공간을 통해 사용할 수 있습니다.
라이선스
Falcon 40B, XGen 7B, MPT-30B, Pythia-12B, RedPajama-INCITE-7B 및 OpenAssistant Falcon 변형을 포함하여 많은 대규모 인과 언어 모델이 이제 Apache-2.0 라이선스 하에 상업적 이용을 허용하는 완전 허용 라이선스를 채택하고 있습니다. StarCoder (BigCode OpenRAIL-M) 및 Salesforce CodeGen (Apache-2.0)과 같은 코드 생성 모델도 상업적 이용을 허용합니다. 지시 미세 조정 모델은 다양합니다: MPT-30B-Chat은 CC-BY-NC-SA 4.0(비상업적)을 사용하며, MPT-30B-Instruct는 CC-BY-SA 3.0(상업적)을 사용합니다. Falcon-40B-Instruct 및 Falcon-7B-Instruct는 Apache-2.0입니다. StarChat β는 BigCode OpenRAIL-M을 채택하여 상업적 이용을 허용합니다. Llama 2는 상업적 이용을 허용하는 맞춤형 Meta 라이선스 하에 출시되었습니다. 지시 미세 조정을 위해 사용되는 데이터셋은 oasst1 및 Dolly와 같은 크라우드 소싱 컬렉션부터 Alpaca와 같은 모델 생성 세트까지 다양하며, 이는 다운스트림 라이선스 고려 사항에 영향을 미칩니다.
LLM 서빙을 위한 Hugging Face 생태계의 도구들
Text Generation Inference
Hugging Face의 text-generation-inference (TGI) 라이브러리는 Rust, Python, gRPC를 기반으로 구축된 오픈 소스 서빙 솔루션을 제공하여 대규모 모델의 지연 시간을 줄이고 처리량을 개선합니다. TGI는 LLM을 위한 오픈 소스 채팅 UI인 HuggingChat을 구동하며, Inference Endpoints 및 Inference API에 통합되어 사용자가 몇 번의 클릭만으로 최적화된 엔드포인트를 배포할 수 있게 합니다. Spaces의 HuggingChat용 Docker 템플릿을 사용하면 Llama 2와 같은 모델을 기반으로 맞춤형 채팅 인터페이스를 빠르게 배포할 수 있습니다.
모델 찾기
Hugging Face LLM 리더보드는 텍스트 생성 벤치마크에서 커뮤니티가 제출한 모델의 순위를 매기며, LLM Performance 리더보드는 지연 시간과 처리량을 평가합니다. 사용자는 또한 pipeline 태그로 모델을 검색하고 다운로드 수로 정렬하여 적합한 후보를 찾을 수 있습니다.
매개변수 효율적 미세 조정 (PEFT)
PEFT 라이브러리는 소수의 추가 매개변수만 학습함으로써 소비자용 하드웨어에서 대규모 모델의 미세 조정을 가능하게 합니다. 지원되는 기술에는 low-rank adaptation (LoRA), prefix tuning, prompt tuning, p-tuning이 있으며, 이는 훨씬 적은 계산 비용으로 전체 미세 조정과 대등한 성능을 달성합니다. 이를 통해 LLM을 맞춤형 지시 데이터셋에 적응시키고 전체 모델 크기가 필요하지 않은 상태로 결과 모델을 배포하는 것이 가능해집니다.