Deep Learning/NLP

로컬에서 LLM을 돌려봅시다.. (1) LAMMA 그리고 그 이후

jinmc 2023. 5. 17. 11:43
반응형

요즘 LLM이 엄청 핫합니다. 페이스북에서 LAMMA 모델을 유출? 또는 공개를 한 이후, 또 ChatGPT의 막대한 성공 이후에 ChatGPT까지는 아니더라도 적은 컴퓨팅 파워로 어느정도의 성능을 원하는 사람들이 많아지고 있습니다. 앞으로 이런 사람들이 많은 만큼, 더 작은 모델들을 위한 연구가 계속 진행될 것으로 생각됩니다.

 

작게나마 현재 LLAMA(Large Language Model Meta AI)를 비롯해서 현재 어떻게 되어가고 있는지를 정리해 보도록 하겠습니다.

그림출처 : https:// medium.com / geekculture /list-of-open-sourced-fine-tuned-large-language-models-llm-8d95a2e0dc76

 

1. LLAMA

메타 (구 페이스북)에서 만든 작은 언어 모델. Open Source 로 만들었지만 실제로 weight을 다운받으려면 메타에 waitlist을 등록해야 됩니다. 65B, 33B, 13B, 7B 네 가지 정도의 모델이 있습니다. GPT4는 100 Trillion parameter가 있다고 알려져 있고, GPT3같은 경우 175B의 파라미터 갯수가 있다고 합니다. 다만 pretrained된 모델만 공개하였기 때문에, 결국 fine-tuing은 알아서 진행해야 됩니다. ㅎㅎㅎ

 

2. ALPACA

github : https://github.com/tatsu-lab/stanford_alpaca

blog 글 : https://crfm.stanford.edu/2023/03/13/alpaca.html

 

 

블로그 글에 따르면, gpt3.5와 비슷한 정도의 수준을 가진다고 합니다. Fine-tuning에는  A100 8대를 사용해서 3시간 정도가 걸렸다고 합니다. GPU Ram으로 80GB정도가 필요하다고 하더군요.

 

3. ALPACA-LORA

reference: https://medium.com/serpdotai/lora-low-rank-adaptation-of-large-language-models-82869419b7b8

논문 링크 : https://arxiv.org/abs/2106.09685

Low-rank adaptation의 논문을 사용해서, 수학적으로 low-rank의 weight들만을 계산함으로 인해 많은 정보를 loss하지 않으면서 적은 리소스를 사용하는 방법입니다.

 

4. LLAMA.CPP

Github : https://github.com/ggerganov/llama.cpp

Github Discussion : https://github.com/ggerganov/llama.cpp/discussions/406

지금 현재 사람들이 가장 관심있어하는 방법 중 하나로, weight을 bin 파일로 변환해서, CPU로도 돌아갈 수 있도록 만든 프로젝트입니다.

C/C++과 Python binding을 통해서 Python으로도 돌릴 수 있습니다. GPU가 필요가 없는 만큼, 라즈베리 파이 등 극단적으로 컴퓨팅 리소스가 제한된 환경에서도 돌아갈 수 있는 있는 사례들도 계속 나오고 있습니다.

 

그리고 quantize (경량화)를 하면서 더더욱 컴퓨팅 리소스를 줄일 수 있습니다.

다음 표는 perplexity에 대한 표이고, 작을수록 더 좋은 성능을 나타냅니다.

5. GPT4ALL

- Nomic AI에서 개발한 프로젝트로서, GPU와 CPU둘 다 개발이 가능합니다. 

- LLAMA 7B Alpaca-lora (4.2GB for quantized model)에 기반을 둔다고 합니다.

- A100 8개로 8시간 finetuning을 한 것으로 보입니다.

- finetuning에 $800 정도, OpenAI api call로 $500 정도 들은것으로 보입니다.

- bin 파일을 다운받을 수 있어서 쉽게 사용할 수 있습니다.

 

 

그 이외에도 너무도 많은 모델들이 있으며, 웹 서비스들과 합친 프로젝트들도 계속 생겨나고 있습니다.

AutoGPT, privateGPT, RedPajama 등등.. 

그리고 LangChain등 새로운 서비스도 나오고 있습니다.

 

 

반응형