서론
ChatGPT 서비스 오픈 이후에 대규모 언어모델(이하 LLM)에 대한 관심이 높아졌다.
이러한 관심은 LLM 모델을 활용하는 서비스개발로 이어지고 있다.
현재 서비스 개발을 빠르고 품질이 좋게 LLM 모델을 사용하는 방법은 ChatGPT에서 사용중인 GPT 모델을 API로 사용하는 것이다.
하지만 해당 방법은 서비스를 요청하는 Token수에 따라 비용이 발생하고, 자사의 데이터를 외부로 반출해야한다는 리스크가 있다.
이러한 문제들로 자체적으로 LLM 모델을 구축하여 데이터 유출없이 사용하는 방법이 필요하다.
이번 포스트에서는 Open LLM 모델 현황과 오픈소스 라이선스, 상업적으로 이용이 가능한 모델에 관하여 알아보고자 한다.
본론
MetaAI에서 LLAMA모델을 공개하면서 폭발적으로 OpenLLM 모델들이 공개되고 있다.
그중에서 필자가 알아본 대표적인 LLM들을 소개하고자 한다.
1. LLAMA계열
MetaAI에서 공개한 LLaMA(Large Language Model Meta AI)모델을 기반으로 Fine-tuning한 모델들이다.
- LLaMA
- 2023.2월 공개된 모델로 ChatGPT 이후 OpenLLM 모델이 폭발적으로 증가하게 된 계기로 보고있다.
- 파라미터 모델은 7B, 13B, 33B, 65B가 공개되어있다.
- 상업적 이용은 불가능하며, 연구용으로만 사용가능하다. 또한 훈련된 가중치를 다운로드받기 위해서는 MetaAI에 요청하여 승인된후에 받을수 있다.
- 개인적으로는 LLaMA 모델은 OpenLLM의 시발점으로만 보고 사용은 좀 더 개선된 모델들을 사용하는 것이 좋다고 생각한다.
- Github
- Alpaca
- 2023.3월 스탠포드에서 LLaMA-7B모델 기반으로 Fine-tuning한 모델이다.
- Alpaca 모델에서 참고할만한 점은 Fine-tune에 사용할 데이터셋을 LLM 모델을 통해서 구축하는 방법이다.
- Alpaca 모델은 GPT-3.5(text-davinci-003)을 통해서 데이터셋을 생성하였습니다.
- 상업적 이용은 불가능하며, 연구용으로만 사용가능하다.
- OpenAI의 API를 통해서 52K의 데이터셋 생성하는데 500$ 이하의 비용이 들었다고 한다.
(출처:https://crfm.stanford.edu/2023/03/13/alpaca.html) - Github
- Alpaca: A Strong, Replicable Instruction-Following Model
- Vicuna
- 2023.3월 UC Berkeley, UCSD, CMU, MBZUAI(Mohamed Bin Zayed Univ. of AI)가 공동으로 개발한 오픈소스 챗봇, LLaMA-7B,13B 모델 기반으로 Fine-tuning한 모델이다.
- Alpaca와 같이 LLaMA 모델에 좀 더 양질의 데이터셋을 구축하여 Fine-tuning하였다. 해당 모델은 "ShareGPT.com"에서 GPT 사용자들이 양질의 대화만 모아놓은 데이터셋을 사용하였다.
- 상업적 이용은 불가능하며, 연구용으로만 사용가능하다.
- LLaMA 계열의 모델을 사용하여 연구를 진행할때 Vicuna 모델로 사용하는 것이 가장 성능이 좋을것으로 판단된다.
- 허깅페이스-vicuna-7b-v1.3
- 허깅페이스-vicuna-13b-v1.3
- Github
- Demo
2. MosaicML
- MPT-7B
- 상업적 이용 가능한모델로 MosaicML에서 공개하였다.
- 현재 해당 모델은 허깅페이스를 통해서 모델 및 Weight를 다운로드 받을수 있다.
- 제공하고있는 모델은 MPT-7B Base를 Fine-tune한 3종의 모델을 포함하여 총 4가지 모델을 공개했다.
- MPT-7B Base
- 라이선스 : Apache 2.0
- MPT-7B-StoryWriter-65k+
- 라이선스 : Apache 2.0
- 65k 토큰 이상을 추론(Inference)할 수 있다.
- MPT-7B-Instruct
- 라이선스 : CC-By-SA-3.0
- 짧은 형태의 지시사항을 따르는 모델로, Databricks Dolly-15k와 Anthropic의 Helpful과 Harmless 데이터셋에서 유래된 데이터셋을 사용하여 MPT-7B를 튜닝
- MPT-7B-Chat
- 라이선스 : Non-commercial
- 챗봇과 같은 모델이며, ShareGPT-Vicuna, HC3, Alpaca, Helpful and Harmless, 그리고 Evol-Instruct 데이터셋에서 MPT-7B를 튜닝
- MPT-7B Base
- 허깅페이스-Mosaicml
3. Falcon
- Falcon-7B, 40B
- 현재 허깅페이스의 OpenLLM 리더보드에서 종합 1위를 차지하고 있는 모델이다.
(출처: Open LLM Leaderboard) - UAE 의 TII(Technology Innovation Institute)에서 발표한 모델로 Apache 2.0의 상업적 이용 가능한 모델이다.
- 모델 훈련 데이터셋은 웹에서 크롤링(CommonCrawl 사용)하여 구축하였으며, 해당 자료에서 기계가 생성한 텍스트와, 성인 콘텐츠는 제거하였다. 약 5조개의 토큰을 포함하는 훈련 데이터셋을 사용하였다.
- 허깅페이스에서 제공하고있는 모델은 Falcon-40B, Falcon-40B-Instruct, Falcon-7B, Falcon-7B-Instruct를 제공하고 있다.
- 허깅페이스-Falcon-40B
- 허깅페이스-Falcon-40B-instruct(리더보드 1위)
- 현재 허깅페이스의 OpenLLM 리더보드에서 종합 1위를 차지하고 있는 모델이다.
결론
Falcon이 발표되기전에 MPT-7B 모델만 설치하여 사용해보았는데 영문으로는 프로젝트에서 소개하는 정도를 재현할수 있었는데
한국어는 모델을 좀더 사용자가 튜닝을 해서 사용해야될 것으로 보였다.
튜닝하는 기법도 LoRa와 같은 PEFT(Parameter-Efficient Fine-Tuning) 기법들을 사용해서 많이 시도되고 있는 것으로 보인다.
다음에는 한국어 학습을 위한 공개데이터셋과 그 공개데이터셋을 활용하여 PEFT하는 방법을 포스팅하도록 하겠다.
'IT' 카테고리의 다른 글
LLAMA 2 소개와 데모사용후기 (0) | 2023.07.19 |
---|---|
GPT4ALL 설치하기(on Apple Silicon 맥북) (0) | 2023.07.13 |
구형 맥북에어 공장초기화 및 OS 업그레이드 방법 (0) | 2023.07.12 |
ChatGPT로 데이터분석하기(feat. Noteable) (0) | 2023.06.30 |
Github Copilot & Copilot Chat 사용기 (0) | 2023.06.13 |