본문 바로가기
글쓰기

LLM에 Stable Diffusion Moment가 온다 - 2

by zian지안 2023. 4. 9.
1편에서 이어집니다...

ChatGPT 출시와 LLM의 부상

2022년 11월, Open AI는 ChatGPT서비스를 공개합니다. OpenAI는 이미 GPT-2, GPT-3 모델을 공개했었고, GPT-3.5 버전이라는 이름으로 알려진 모델에 채팅 인터페이스와 챗봇에 적용된 몇몇 기술을 포함하여 생성형 챗봇 서비스를 시작한 것입니다.

ChatGPT는 공개 직후부터 대중에게 엄청난 관심을 불러왔습니다. 불과 5일 만에 100만 사용자를 달성하며 인터넷 역사상 가장 단기간에 많은 사용자를 모은 서비스가 되죠. 

https://www.statista.com/chart/29174/time-to-one-million-users/

이전까지 AI기술에 대한 대중의 인식은 알파고와 같은 게임에 적용되는 AI라던가, 이미지 분석/생성과 같은 가시적인 기술에 집중되어 있었고 자연어와 같은 영역에 대한 인식은 크지 않았습니다. 하지만 ChatGPT가 보여준 '마치 사람 같은' 대화 기술은 대중에게 엄청난 충격을 주었고 ChatGPT출시는 알파고 이후 대중의 AI 인식에 또 다른 변곡점이 되었습니다. 이와 동시에 LLM(Large Language Model)에 대한 대중의 관심도 엄청나게 증가합니다. 

사실 LLM은 언어처리 AI관련 분야에서는 몇 년 전부터 주목하고 있던 기술입니다. 언어처리 AI기술이 AI의 다른 분야보다 주목을 못 받았던 이유는, 인간의 언어가 가진 불규칙성, 변칙성과 방대한 데이터를 처리하기 어려운 측면 때문이었습니다. 번역의 영역에 인공지능 기술이 적용된 지 꽤 오랜 시간이 흘렀음에도 불구하고 기술 발전의 속도가 느린 것이 기술적 어려움을 방증하고 있기도 합니다.

LLM은 쉽게 얘기하면 '그냥 엄청나게 많은 데이터를 모아서 인공지능 모델을 만들었더니 뭔가 결과가 잘 나온다' 정도의 기술이기도 합니다. 앞에서 언급한 것처럼 언어를 인공지능으로 처리하기 위해서는 엄청난 양의 데이터와 그 데이터를 처리하기 위한 컴퓨팅 리소스가 필요한데, 여간해서는 그 비용이 감당되지 않았기 때문입니다.

하지만 OpenAI는 그 어려운 것을 해 냈고, ChatGPT의 등장으로 대중이 열광하게 되자, LLM 기술은 급속도로 주목을 받게 됩니다.

LLaMA의 등장, 그리고 유출

Microsoft, Google과 같은 글로벌 IT기업들은 각자 나름대로 자체적인 LLM을 준비해 오고 있었습니다. ChatGPT에 적용된 GPT-3 모델도 이미 2020년에 공개된 모델이었고, 국내에서도 네이버나 카카오, SK와 같은 대기업들이 LLM기술을 연구하였고, 결과물을 발표하기도 했습니다.

2023년 2월, Meta(Facebook)도 LLM의 물결에 합류하였습니다. 아마 꽤 오랫동안 준비 해 왔을 자체 LLM인 LLaMA를 공개한 것입니다

https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

GPT-3가 단일한 모델인데 비해, LLaMA는 매개변수 개수에 따라 7B, 13B, 30B, 65B 등 4개의 모델을 발표합니다. Google이 주춤하는 사이 LLaMA모델을 통해 Meta도 LLM의 대열에 합류하여 다양한 서비스를 보여주겠다는 의지를 나타내었죠.

이 LLaMA 모델이 어떠한 이유에서인지는 몰라도 2023년 2월 말 Torrent를 통해 유출되면서 LLM 분야는 새로운 시대로 접어들게 됩니다

LLM에 Stable Diffusion Moment가 시작되다

이미지 생성 기술이 빠른 시간에 급속도로 발전하게 된 계기는 Stable diffusion이 오픈소스로 공개되었기 때문이었습니다. 공개된 기술이 다양한 개발자, 커뮤니티등에 의해 시너지 효과를 가져온 측면이 있습니다.

GPT-3 모델이나 ChatGPT, 그 밖의 LLM 모델은 각 기업들의 서비스를 통해 접근할 수밖에 없었습니다. LLM모델은 엄청나게 거대한(용량도 크고 컴퓨팅 자원도 많이 소모하는) 모델이고, 거대 IT기업이 아닌 중/소 규모 또는 개인은 모델을 직접 실행한다는 것은 꿈도 꿀 수 없는 일이었습니다. 

하지만 Meta의 LLaMA모델이 유출되면서, LLM 기술도 대중화의 길이 열립니다. 2023년 3월은 LLM의 역사에 있어 기념비 적인 1개월이 되었습니다. LLaMA모델을 기반으로 보다 좋은 성능과 경량화(컴퓨팅 자원을 적게 소모하는)를 달성하기 위한 다양한 프로젝트들이 시작됩니다. LLaMA 기반의 여러 프로젝트 중 주목할 만한 몇 가지 프로젝트를 소개합니다

LLaMA.cpp (https://github.com/ggerganov/llama.cpp)

현재 가장 빠르게 발전하고 있는 프로젝트로, LLaMA모델을 순수 C/C++ 만으로 추론하는 프로젝트입니다. 4bit 양자화 과정 등을 통해 모델을 경량화하여 GPU 없이 CPU만으로 추론하며, LLaMA를 기반으로 한 여러 모델(아래에도 소개되는)을 지원합니다. 개발자는 맥북에 원활하게 대화하는 것을 목표로 한다고 합니다.

C/C++로 추론하기 때문에 OpenAI에서 공개한 TTS/STT모델인 Whisper를 기반으로 한 Whisper.cpp(https://openai.com/research/whisper) 프로젝트와 연결하여 PC에서 LLaMA모델과 채팅이 아닌 말로 대화하는 것도 가능합니다

Alpaca (https://crfm.stanford.edu/2023/03/13/alpaca.html)

LLaMA모델을 기반으로 스탠퍼드 대학에서 파인튜닝한 모델입니다. GPT-3을 이용하여 학습용 데이터 셋을 구성하고, 이렇게 만든 훈련 데이터로 파인튜닝하는데 600달러로 가능했다고 합니다(클라우드에서 A100 GPU 인스턴스 8개로 3시간)

LLaMA모델을 활용한 거의 첫 프로젝트로, 이후 진행된 여러 프로젝트에 큰 영향을 끼쳤습니다. 다만 스탠퍼드의 Alpaca프로젝트는 보안 및 안전 문제로 현재는 중지된 상태입니다. 아래는 Alpaca로부터 파생된 프로젝트입니다.

  • Alpca.cpp (https://github.com/antimatter15/alpaca.cpp) : LLaMA.cpp와 마찬가지로 Alpaca모델을 C/C++로 추론하기 위한 프로젝트입니다. 마찬가지로 맥북에서 원활하게 실행하는 것을 목표로 하고 있습니다.
  •  KoAlpaca (https://github.com/Beomi/KoAlpaca) : Alpaca를 기반으로 한국어로 파인튜닝하여 한국어 대화가 가능한 모델 프로젝트입니다. 7B모델을 full-finetuning으로 학습했으며, 13B, 30B, 65B는 LoRA로 파인튜닝하여 공개했습니다.
  • Alpaca-Lora (https://github.com/tloen/alpaca-lora) : Alpaca모델을 LoRA로 경량화하는 프로젝트입니다.

Lit-LLaMA (https://github.com/Lightning-AI/lit-llama)

LLaMA의 소스코드는 GPL라이선스이기 때문에 배포에 제한이 있습니다. Lit-LLaMA는 nanoGPT(https://github.com/karpathy/nanoGPT)를 기반으로 소스를 새로 작성하여 Apache라이선스로 공개할 수 있도록 한 프로젝트입니다.

GPT4ALL (https://github.com/nomic-ai/gpt4all)

실질적인 어시스턴트 형태의 대화를 지원하기 위해 GPT-3을 통해 훈련데이터셋을 구성하였습니다. 가이드, 코드 설명등에 특화된 모델이라고 볼 수 있습니다. 경량화 모델 및 CPU추론, GPU추론을 모두 지원합니다

Dolly (https://github.com/databrickslabs/dolly)

빅데이터/Data Lakehouse 솔루션을 제공하는 databricks에서 Alpaca의 인스트럭션 셋을 이용해 GPT-J 모델을 기반으로 파인튜닝한 모델입니다. GPT-3보다 훨씬 적은 매개변수와 용량, 적은 컴퓨팅 자원에서 사용할 수 있고, 오픈소스로 공개되었습니다. 

Vicuna (https://github.com/lm-sys/FastChat)

Vicuna(비쿠냐)는 라마처럼 남미에 서식하는 낙타과 동물입니다. LLaMA 모델을 기반으로 ShareGPT를 통해 수집한 데이터셋으로 파인튜닝 하였고, ChatGPT-3의 90% 성능이라고 합니다. GPU 및 CPU추론을 지원하며, 공식적으로 경량화 모델을 공개하지는 않았지만, 빠르게 LLaMA.cpp프로젝트 등에 경량화 모델이 적용되고 있습니다

Koala (https://bair.berkeley.edu/blog/2023/04/03/koala/)

웹 수집 데이터, 대화 데이터 등 다양한 데이터로 LLaMA모델을 파인튜닝한 모델입니다. 연구자들을 위해 파인튜닝 방식과 데이터에 따라 어떤 성능이 나오는지 연구 목적으로 제공된다고 합니다.

그 밖의 여러 프로젝트를 정리한 다른 포스팅도 참고할만합니다

LLM 기술의 대중화가 시작되다

LLaMA 공개에서 시작된 LLM의 오픈소스화의 흐름은 개발자나 연구자들을 넘어, 기업들도 오픈소스 LLM, 또는 sLLM(소형 LLM)의 흐름에 동참하게 되었습니다. LLaMA기반 프로젝트에서 살펴보았지만, databricks는 Dolloy모델을 Cerebras는 Celebras-GPT를 Apache2.0으로 공개하였습니다.

https://www.cerebras.net/blog/cerebras-gpt-a-family-of-open-compute-efficient-large-language-models/

오픈 소스 라이선스로 공개하지 않더라도, 인공지능 기업들 마다 서비스형이 아닌 개별 구축형 모델 개발과 공개가 이어지고 있습니다. LLaMA를 통해 적은 비용으로 특정 지식을 학습시킬 수 있다는 사실을 검증하게 된 이후, 거대 IT기업의 영역으로 여겨졌던 LLM영역이 sLLM이라는 이름을 달고 중소 인공지능 기업과 연구자들에게 확산되기 시작한 것입니다.

Stable Diffusion Moment의 의미를 되돌아보면...

1편에서 Stable Diffusion 공개 후 불과 6개월 만에 일어났던 기술적 흐름에 대해서 설명했습니다만, 2편에서 설명한 LLM에 일어난 변화는 고작 1 달입니다.  LLaMA모델 유출로 부터 지금까지 이야기한 모든 프로젝트와 소식들이 불과 1개월 동안 벌어진 일인 것입니다. 'LLM을 다루는 것은 중/소 기업이나 개인은 할 수 없으니 ChatGPT API를 얼마나 잘 연동하고, 프롬프트 엔지니어링을 활용할 것인지'에 대해 논의하던 상황에서 불과 1,2주 만에 '직접 LLM을 다뤄보자'로 상황이 180도 달라졌습니다.

여기서 다시 LLM에 Stable Diffusion Moment가 오고 있다로 돌아가 보면 Stable Diffusion Moment가 무엇인지 이해가 될 것입니다. LLM은 Stable diffusion이 걸어온 길을 동일하게 걷고 있습니다.

결국 Stable Diffusion Moment의 의미는 거대 기업과 연구소의 전유물이었던 인공지능 기술이 대중에게 (무료로) 공개된 후, 개인 연구자 및 커뮤니티를 통해 경량화/실용화되면서 폭발적으로 기술이 발전하는 시점이라고 정의할 수 있습니다

그렇다면... 다음은?

이제 LLM이라는 인공지능기술에 커다란 접근 장벽이 사라졌습니다. 이제 수많은 사람들과 기업들이 LLM에 뛰어들 것이고, 빅테크 기업만이 가능하다고 생각했던 영역은 새로운 기회의 땅이 되었습니다. 그렇다고 빅테크 기업 외에 AI기업들에게만 기회가 주어진다고 볼 수도 없습니다. 다양한 연구자/개인/스타트업들도 충분히 뛰어들 수 있는 시장이 되어 버린 것입니다.

ChatGPT에서 촉발된 대화형 인공지능 시장의 확대라는 사건에 사실상의 접근 장벽도 사라져 버린 상황을 기대 반, 두려움 반으로 지켜봅니다. 

과연 6개월 뒤에는 어떤 상황이 펼쳐지고 있을까요?