LLM (Large Language Model) 및 사용 후기
대규모 언어 모델(LLM)의 작동 원리와 주요 모델들의 특징, 그리고 직접 사용해본 경험을 공유합니다.
대규모 데이터 셋을 학습해서 자연어 처리(NLP) 성능을 높이는 인공지능 모델이에요. LLM은 텍스트 생성, 요약, 기계 번역, 감정 분석 등에서 뛰어난 성능을 보여줍니다.
대화형 인공지능의 성능이 갑자기 높아지게 된 이유
기존에 인공지능을 학습 시키기 위한 방법으로 주로 사용되던 것은 규칙 기반(Rule-based) 접근법과 RNN/LSTM 같은 순차적 모델입니다.
규칙 기반 시스템은 “if-then” 조건문으로 구현돼요. 간단한 대화는 잘 처리하지만 복잡한 상황에선 한계가 있죠.
RNN은 순차 데이터 처리용으로 설계된 신경망이에요. 하지만 장기 의존성(Long-term dependencies) 문제가 있어요. 시퀀스에서 멀리 떨어진 정보를 기억하기 어렵거든요.
Transformer와 어텐션 메커니즘의 등장
Vaswani et al.이 2017년 “Attention Is All You Need” 논문에서 제안한 아키텍처예요.
Transformer는 문장을 한 번에 처리해서 훨씬 빠르게 동작해요. 인코더와 디코더 두 부분으로 구성되어 있고요. 인코더는 입력 문장을 벡터로 변환하고, 디코더는 이 벡터로 출력 문장을 생성합니다.
어텐션 메커니즘은 Transformer가 문장 처리 시 어떤 부분에 집중할지 결정하는 기술이에요. 각 단어의 관련 정보를 가중치로 표현하고, 이를 바탕으로 모델이 중요한 정보에 집중하게 해줍니다.
대화형 인공지능 예시
ChatGPT (GPT-3.5)
GPT(Generative Pre-trained Transformer)는 OpenAI가 개발한 대화형 언어 모델로, 1750억 개의 파라미터를 가지고 있습니다.
LLaMA
LLaMA는 Meta에서 GPT-3를 기반으로 개발한 모델입니다. 모델은 7B, 13B, 33B, 65B로 네 개입니다.
GPT-3보다 모델 크기는 반도 안 되지만 데이터를 4배 더 투입했습니다. 다만 한국어는 공개된 데이터 셋의 규모가 너무 적기 때문에 한국어를 하지는 못합니다.
Alpaca
Alpaca는 Stanford에서 공개한 오픈소스입니다. LLaMA를 베이스로 파인튜닝한 모델입니다.
Alpaca는 text-davinci-003(175B)보다 훨씬 작은 7B 모델이지만 유사하게 동작한다고 합니다.
상업적 사용을 금지하고 있습니다. LLaMA의 라이센스가 non-commercial이고 OpenAI의 text-davinci-003에서 얻어낸 데이터를 활용했기 때문입니다.
Vicuna
Vicuna 또한 LLaMA를 기반으로 파인튜닝한 모델입니다.
GPT-4를 통해 평가한 결과 Vicuna-13B 모델은 LLaMA 및 Alpaca 모델을 능가하며 GPT-3.5 및 Google Bard의 90%의 성능을 보인다는 평가가 나왔습니다. 하지만 이 모델 또한 상업적 이용은 불가능합니다.
각 모델 사용 후기
테스트 환경
- CPU: 80-core
- RAM: 320GB
- GPU: T4 x4
- Python: v3.10
LLaMA 7B, Alpaca 7B
필요 용량: 30GB, 필요 GPU Memory: 4GB (CPU Memory로도 가능)
- 성능을 크게 잡아먹지 않아서 간편하게 사용하기 용이
- 프로덕트에 도입하기에는 부족
- 영어만 제공
- 대화 정도는 괜찮지만 코드 생성이나 블로그 글 작성 등의 생산 기능이 부족
- 대부분 오픈소스들이 REST API 형태로 제공하지 않아 가공이 필요
Vicuna 13B
필요 용량: 40GB, 필요 GPU Memory: 28GB 또는 CPU Memory 60GB
- LLaMA, Alpaca에 비해 훨씬 나음
- 한국어를 어느 정도 알아듣는다
- 대화도 어느 정도 통하고, 생산성 기능도 괜찮음
GPT-3.5-turbo
- API 제공
- 가격: 1K Token당 $0.002
- 말이 필요 없죠
- API를 제공하기 때문에 사용성면에선 최상
- 프로덕트에 쓰려면 이전 대화 기억 같은 추가 작업이 필요해요



