brunch

You can make anything
by writing

C.S.Lewis

by 알바트로스 Apr 21. 2024

LLaMA 생태계 탐험하기(2)

가성비 모델에 눈을 달아준 MiniGPT-4와 한국어 특화 sLLM

얼마 전 Apple이 미 법무부의 '반독점 소송'에 휘말렸다는 뉴스로 떠들썩했습니다. 미 법무부에 의하면 Apple은 의도적으로 자사 기기 사용을 유도하기 위해 다양한 수법들을 동원했는데, Apple의 경쟁력에 위협이 될 수 있는 앱은 차단하고, 경쟁업체 앱의 매력도를 떨어뜨리는 등의 방식으로 반독점법을 위반했다고 합니다. 수많은 팬층을 거느린 Apple이 다소 노골적일 정도로 폐쇄적이고 강압적인 방식으로 자사 프로덕트에 대한 충성심(?)을 요구해 온 것은 사실 하루이틀일이 아닙니다. 


사람들은 스티브 잡스와 Apple을 혁신의 대명사로 생각하는 경우가 많지만, 저는 과연 혁신이라는 게 어떤 한 집단 혹은 한 개인만의 노력으로 가능한 것인지 의문이 듭니다. 하늘 아래 새로운 것은 없다고, 그들이 주장하는 혁신 역시 선행자들 없이는 탄생할 수 없었을 것입니다. 매킨토시나 아이폰 이전의 수많은 기술들이 모여 하나의 혁신이 탄생한 것이니 말이죠.


이러한 Apple의 폐쇄적인 특성을 보여주듯이 인공지능 분야에서 Apple이 대중에 공개한 모델이나 지식은 빅테크라고 하기에 민망할 정도로 전무한 수준입니다.(사실 siri의 수준을 보면 관련된 연구를 하고 있는지도 의문입니다.) 제가 그동안 수많은 지면을 할애해 강조해 왔듯이 사실 인공지능 분야에도 '무에서 유를 창조하는' 혁신은 존재하지 않습니다. 어텐션 메커니즘과 트랜스포머에서 전이학습으로 그리고 또다시 GPT와 BERT로 그리고 오픈소스 언어모델에서 LLaMA 생태계로 혁신은 꼬리에 꼬리를 물고 이어집니다.


어쨌든 모든 것은 연결되어 있고 혁신은 또 다른 혁신의 씨앗이 됩니다. LLaMA가 만든 Alpaca와 Vicuna는 또다시 MiniGPT와 각국 언어에 특화된 파생 모델들을 만들어냈습니다. 이번 시간에는 LLaMA의 파생 모델인 Alpaca와 Vicuna의 파생모델들에 대해 간단히 살펴보며 LLaMA 생태계 탐험을 마무리해보도록 하겠습니다.


1. Vicuna에 눈을 달아준 Multi-modal 모델 : MiniGPT-4


MiniGPT-4(논문 : MINIGPT-4: ENHANCING VISION-LANGUAGE UNDERSTANDING WITH ADVANCED LARGE LANGUAGE MODELS)는 GPT-4 해부하기에서 설명했던 GPT-4의 창발적 특성, 즉 사람과 같은 추론능력을 통해 텍스트나 이미지 속에서 통해 새로운 특징을 발견해 내고 완벽하게 설명해 내는 능력을 보다 적은 리소스로 구현해 내기 위해 만들어진 모델입니다. 


GPT-4는 단순히 이미지를 설명하는 것을 넘어 그 속에 감추어진 맥락을 파악하고 유머를 이해하기까지 합니다. MiniGPT-4는 모델명 그대로 GPT-4를 비교적 간단한 아키텍처와 작은 LLM인 Vicuna를 이용해 GPT-4와 같은 창발성을 재현해 내고자 했습니다.


출처 : OpenAI


MiniGPT-4는 크게 시각 정보를 해석하는 비주얼 인코더(visual encoder)에 의해 인코딩 된 시각적 특성들을 linear layer를 통해 넓게 펼친 후, LLM 즉 Vicuna에 입력하여 디코딩(decoding)하는 구조로 되어있습니다.


출처 : MINIGPT-4: ENHANCING VISION-LANGUAGE UNDERSTANDING WITH ADVANCED LARGE LANGUAGE MODELS


MiniGPT-4 역시 다른 생성형 AI 모델처럼 사전학습(pre-training)과 미세조정(fine-tuning)이라는 두 가지 단계를 거쳐 개발되었습니다. 위의 Linear Layer를 지나기까지 pre-training을 거쳐 사진에 대한 정보를 획득한 뒤에 약 5천 개의 고품질 질의응답 데이터를 추가 학습시켜 더욱 정밀하고 정확한 묘사가 가능하게 한 것이지요.


학습용 이미지-텍스트쌍 데이터셋으로는 Conceptual Caption, SBU, LAION을 사용하였으며 약 500만 개의 이미지-텍스트 쌍이 사용되었고, MiniGPT-4의 전체 학습 과정을 완료하는데 4개의 A100 (80GB) GPU로 10 시간정도 소모되었다고 합니다. GPT-4가 약 1만 개 이상의 A100 GPU로 훈련된 것에 비하면 정말로 대단한 리소스 감축이 아닐 수 없습니다.


2. 한국어 특화 모델 : KoAlpaca, KoVicuna


지난 시간에 살펴보았던 대로 고질적인 문제였던 '한국어 데이터 부족'현상을 해결하기 위해 한국의 NLP/AI 엔지니어와 연구자들이 직접 한국어 데이터를 강화하여 한국어 성능을 향상한 모델입니다. 이들 모델을 매우 단순화하여 표현하자면 Alpaca와 Vicuna에 들어가는 데이터 소스의 영어로 된 데이터를 그대로 한국어로 번역해서 재학습시켰다고 할 수 있습니다. 이런 간단한 방법만으로도 비교적 적은 리소스로 한국어 성능을 개선할 수 있다는 점에서 매우 고무적입니다.

KoAlpaca(출처 : KoAlpaca)

우선 KoAlpaca는 백본 모델로 두 가지 모델을 사용했다고 합니다. Polyglot-ko (5.8B)과 계속해서 등장하는 LLAMA (7B) 두 가지 모델로, Github에서 소스코드를 바탕으로 직접 돌려보실 수 있습니다. 

(Github : https://github.com/Beomi/KoAlpaca)


데이터셋으로는 Stanford Alpaca의 데이터셋을 그대로 활용했는데, DeepL API 서비스를 활용하여 instruction과 input 부분을 영어에서 한국어로 번역한 뒤 학습하여 한국어 성능을 높였습니다. 참고로 LLAMA 7B 모델학습은 A100 80GB 4대로 학습을 진행하였으며 Polyglot-ko 5.8B 모델 학습 A100 80GB 1대로 진행하였다고 합니다.


KoVicuna (출처 : KoVicuna)

KoVicuna는 Vicuna 학습에 활용되었던 shareGPT 데이터셋을 마찬가지로 DeepL로 영어에서 한국어로 번역한 뒤 학습시킨 비교적 간단한 모델입니다. 마찬가지로 Github에서 직접 소스코드를 확인하실 수 있습니다.)

(Github : https://github.com/melodysdreamj/KoVicuna)


3. LLaMA 생태계 탐험을 마치면서


지금도 LLaMA를 베이스로 한 수많은 모델 개선을 위한 연구와 노력이 이어지고 있습니다. 생성형 AI는 본격적으로 활용되기 시작한 지 아직 2년도 되지 않은 매우 새로운 분야인 만큼 발전 가능성은 무궁무진하고, LLaMA는 오픈 소스를 통한 혁신이 폐쇄적인 운용 정책보다 더욱 빠른 기술 혁신의 발판이 될 수 있음을 보여주고 있습니다. 이제 다음시간부터는 본격적으로 '생각하는 기계와 AGI'라는 주제로 찾아뵙도록 하겠습니다.

이전 16화 LLaMA 생태계 탐험하기(1)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari