민프
[AI | ML] [LLM] 1. LLM(Large Language Model)이란? (feat. LLM의 역사) 본문
요즘 인공지능(AI) 기술에서 많이 등장하는 세 가지 용어가 있습니다: LLM(Large Language Model), LangChain, 그리고 RAG(Retrieval-Augmented Generation). 이 기술들은 각각의 역할을 하면서도 서로 연계되어 강력한 AI 애플리케이션을 만드는 데 기여하고 있습니다. 먼저 LLM부터 쉽게 이해할 수 있도록 설명해드리겠습니다
좀 길어질 수 있으니 요약을 보고싶으신 분들은
Control + F를 누르시고 "*요약*" 만 보시면 될 것 같습니다.
1. LLM 이란 무엇인가?
먼저 AWS에서 정의한 LLM을 보면 아래와 같이 정의하고 있습니다.
대규모 언어 모델(LLM)은 방대한 양의 데이터로 사전 학습된 초대형 딥 러닝 모델입니다.
LLM은 대규모의 언어 데이터를 학습하여 자연어를 이해하고 생성할 수 있는 AI 모델입니다. 모델의 크기는 수십억 개에서 수천억 개 이상의 매개변수(파라미터)로 구성되며, 이는 모델의 언어 처리 능력을 결정짓는 주요 요소입니다.
2. LLM의 역사
그럼 LLM이 탄생하기까지 언어 모델에 대한 어떤 역사가 있었는지에 대해서 알아보겠습니다.
먼저 언어모델에 대해서 간단하게 설명해보고 넘어가도록 하겠습니다.
언어 모델(Language Model)은 컴퓨터가 자연어를 이해하고 생성할 수 있도록 학습하는 핵심 기술 중 하나입니다. 구체적으로, 언어 모델은 주어진 텍스트에서 단어나 문장의 확률을 예측하는 모델입니다.
1) 초기 언어 모델: 통계 기반 NLP
1-1). 1990년대: 통계 기반 언어 모델의 시대
먼저 1990년대에는 n-그램(n-gram)과 같은 통계 기반 언어 모델이 주로 사용됐었습니다.
이 기술은 주어진 몇 개의 단어를 기반으로 다음 단어가 나올 확률을 계산하는 방식이었는데요
예를 들어, “나는 학교에 간다”라는 문장이 있다면, “학교에” 다음에 올 단어로 “간다”가 나올 확률을 계산할 수 있었습니다.
장점은 계산이 간단해서 빠르게 처리할 수 있었고, 데이터만 있다면 결과를 만들어낼 수 있었던 것 이고,
문제점은 아래와 같았습니다.
- 문맥이 짧다: n-그램은 보통 2~3개의 단어까지만 고려했기 때문에 긴 문장의 의미를 이해하지 못함.
- 데이터 부족: 모든 가능한 조합의 단어를 학습하려면 방대한 데이터가 필요함.
그래서 위 방식으로는 한계가 분명하였습니다.
*요약*
1) 초기 언어 모델: 통계 기반 NLP
• 1990년대~2000년대 초
• NLP는 주로 통계적 방법론에 의존.
• n-그램(n-gram), 숨은 마르코프 모델(Hidden Markov Model, HMM) 등이 주로 사용됨.
• 단점: 문맥 길이가 짧고, 복잡한 언어 패턴을 이해하지 못함.
2) 신경망 언어 모델의 시작
2-1) . 2003년: 신경망 언어 모델(NPLM)의 등장
2003년, Bengio et al.이 Neural Probabilistic Language Model(NPLM)이라는 걸 제안했습니다.
이 모델의 핵심은 단어를 숫자로 바꿔서(단어 임베딩) 신경망으로 처리함으로써 이제 컴퓨터가 단어 간의 의미적 관계를 이해할 수 있게 됐습니다.
예를 들어, “왕”과 “여왕”은 서로 다른 단어지만, 숫자로 변환했을 때 비슷한 벡터로 나타낼 수 있었고, 이를 통해 모델이 단어의 의미를 학습할 수 있게 되었습니다.
다시 말씀드려보자면
NPLM의 핵심 아이디어는 단어를 벡터 공간에서 수치적 표현으로 변환하여, 신경망을 통해 학습할 수 있도록 한 최초의 시도였습니다. 이 수치적 표현이 바로 단어 임베딩입니다.
단어 임베딩에 대해서 간단하게 설명해드리자면
단어를 고정된 크기의 실수 벡터(숫자 배열)로 변환하는 기법으로, 단어 간의 의미적 관계를 벡터 공간 상에서 수치적으로 나타내는 것 입니다.
장점으로는
- 문맥을 더 잘 이해할 수 있었고,
- 단어 간의 의미적 관계를 학습해 더 자연스러운 결과를 생성하였습니다.
단점으로는
- 여전히 문맥 길이가 짧았고, 긴 문장을 처리하는 데 한계가 있었습니다.
- 신경망이 깊어지면서 학습이 어려워졌어요(그래디언트 소실 문제).
요즘 AI/ML을 공부하시거나 개발을 하시는 분들에게는 LLM, LangChain 등.. 핫 한 키워드 중 하나가 바로 Embedding 임베딩인데요
NPLM은 최초로 단어를 연속된 벡터로 변환하고, 신경망 기반으로 언어 모델을 학습함으로써 현대적인 단어 임베딩의 시작점으로 간주됩니다. 이후 단어 임베딩은 Word2Vec(2013), GloVe(2014) 같은 알고리즘에서 더 발전하고 최적화되었습니다.
*요약*
• 2003년: Bengio et al.의 Neural Probabilistic Language Model(NPLM) 발표.
• 단어를 임베딩 벡터로 표현하여 신경망을 통해 언어 모델링 가능.
• 기존 통계적 방법보다 자연스러운 문맥 이해를 제공.
3) 혁신적 전환: Transformer와 LLM 대규모 모델
3-1 . 2014년: Seq2Seq의 등장
2014년에 Seq2Seq 모델이 나왔습니다.
Seq2Seq는 RNN(Recurrent Neural Network) 구조를 기반으로 한 Encoder-Decoder 구조였습니다.
- Encoder: 입력 문장을 요약된 벡터로 변환.
- Decoder: 이 벡터를 기반으로 출력 문장을 생성.
Seq2Seq는 RNN 기반이기 때문에 아래와 같은 문제점 및 한계점들이 존재하였습니다.
- 병렬 처리 불가: 입력을 순차적으로 처리해야 해서 시간이 오래 걸림.
- 장기 의존성 문제: 긴 문장을 다룰 때 초반 문맥을 잊어버리는 문제가 발생.
- 문장이 길어질수록 성능 저하: 입력 시퀀스를 고정된 크기의 Context Vector로 요약한 뒤 이를 기반으로 출력 시퀀스를 생성하다보니 긴 문장에서는 Context Vector가 모든 정보를 효과적으로 담지 못해 번역 품질이 떨어짐.
- 모든 단어를 동등하게 처리: Seq2Seq는 입력 시퀀스의 모든 단어를 균일하게 처리하므로, 문장 내에서 중요한 단어와 그렇지 않은 단어를 구분하지 못함.
3-2 . 2015년: Attention의 등장
이에 대한 해결책으로 2015년에는 Attention 메커니즘이 등장했는데요
Attention은 이름에서 볼 수 있듯 “입력의 어떤 부분에 집중(attend)할지 스스로 선택하는 방법”이었습니다.
Attention은 입력 시퀀스 내에서 출력 단어를 생성하는 데 중요한 부분에 집중할 수 있도록 설계됨으로써 출력의 각 단어를 생성할 때, 입력 시퀀스의 모든 단어를 살펴보고 어떤 단어가 중요한지를 판단합니다.
이를 통해 Attention은 Seq2Seq 모델에서 아래와 같은 문제들을 해결했습니다.
- Context Vector의 한계 극복
- 고정된 크기의 벡터가 아닌, 입력 전체를 동적으로 활용.
- 번역 품질 개선
- 중요한 단어에 집중하므로 긴 문장에서도 높은 품질 유지.
- 다양한 NLP 작업 적용
- 번역 외에도 요약, 질문 응답 등 다양한 작업에서 효과적으로 사용.
하지만 이러한 Attention에도 단점은 존재하였는데요
- 계산 비용
- 입력 시퀀스 길이에 따라 계산 비용이 증가.
- 모든 단어를 참조
- Self-Attention은 모든 단어 간 관계를 계산하므로, 입력 길이가 길어지면 효율성이 낮아질 수 있음.
3-3. 2017년: Transformer의 혁명
그러다 2017년, Google 연구진이 Transformer 논문, “Attention Is All You Need” 발표하였습니다.
이 모델의 핵심은 “RNN과 CNN을 아예 없애고, Attention만 사용하자“는 것이었는데요.
특히, Self-Attention이라는 기법을 도입해, 문맥의 모든 단어가 서로를 참조하며 관계를 학습할 수 있게 되었죠.
이로인해 아래와 같은 한계점을 극복할 수 있었습니다.
- 병렬 처리 가능: RNN처럼 순차적 처리 없이도 문장을 한 번에 처리 가능.
- 긴 문맥 처리 가능: 문장 내 모든 단어 간 관계를 학습.
- 학습 속도: RNN 기반 모델보다 훨씬 빠르게 학습.
결국 Transformer는 기계 번역, 텍스트 요약, 질문 응답 등 모든 NLP 작업의 새로운 표준이 되었습니다.
3-4. 2018년 이후: 대규모 언어 모델 (LLM)의 시대
Transformer가 등장한 이후, OpenAI와 Google 같은 연구 기관은 이 구조를 기반으로 더 큰 모델을 만들기 시작했습니다.
여기서 부터 우리가 자주 접하는 OpenAI의 GPT, Google 의 BERT 모델이 나오게 되는데요.
- 2018년: Google의 BERT
- 2018년: OpenAI의 GPT-1
- 2019~현재
- GPT-2, GPT-3, GPT-4, GPT-o1, GPT-o1-mini ...
- 대규모 데이터와 연산 자원을 활용해 사람 수준의 언어 이해 및 생성 가능.
• 2014년: Seq2Seq
• RNN 및 LSTM을 언어 처리에 본격적으로 적용한 대표적인 사례.
• 입력 시퀀스를 출력 시퀀스로 변환하며 NLP 작업(예: 번역, 요약)의 패러다음을 바꾸는 계기가 됨.
• 문장을 고정된 크기의 contect vector를 사용하는 단점이 존재함.
• 2015년: Attention은 입력 시퀀스의 모든 단어를 가중치로 평가하여 중요한 정보에 집중할 수 있도록 설계된 메커니즘으로 등장.
• 고정된 Context Vector의 한계를 극복하며, 긴 문장에서도 중요한 단어를 동적으로 활용해 번역, 요약 등 NLP 작업의 성능을 크게 향상시킴.
• 출력의 각 단어를 생성할 때, 입력 시퀀스의 모든 단어를 살펴보고 어떤 단어가 중요한지를 판단함.
• 특히, Self-Attention은 각 단어가 다른 단어와의 관계를 학습하며, 이후 Transformer 모델의 핵심 구성 요소가 됨.
• 2017년: Google의 Transformer 논문, “Attention Is All You Need” 발표.
• Self-Attention Mechanism을 도입해 병렬 처리가 가능해지고 학습 속도가 비약적으로 증가.
• LLM의 기반 아키텍처로 자리잡음.
• 2018년~현재: OpenAI와 Google 등의 연구기관이 LLM 개발을 선도.
• GPT (Generative Pre-trained Transformer) 시리즈: GPT-1(2018), GPT-2(2019), GPT-3(2020), GPT-4(2023)...
• BERT (2018): Google의 사전 학습 기반 양방향 모델.
• T5, Megatron, LLaMA 등 다양한 모델이 등장.
여러분 그거 아시나요
우리에게 큰 충격을 안겨준 ChatGPT가 나온지 2년밖에 안되었다는 사실..
그리고 하루하루 발전속도가 너무 빠르고, 많은 AI모델들이 쏟아져 나오고있습니다.
역사를 보면 아래와 같이 하나의 모델에 대한 불편함과 기존의 한계를 해결하기 위해 빠르게 발전되고 있는 것 같네요
- 통계 모델 → 신경망 모델: 문맥 이해 부족 해결.
- RNN → Seq2Seq → Attention: 긴 문맥 처리와 번역 작업의 효율성 개선.
- Transformer → LLM: 병렬 처리, 대규모 데이터 학습, 사람 수준의 언어 이해.
앞으로 어떤 AI모델들이 더 발전해서 나올지가 너무 궁금집니다.
다음 포스팅에서는 LLM의 동작 원리에 대해서 포스팅해보겠습니다.
출처
https://www.cloudflare.com/ko-kr/learning/ai/what-is-large-language-model/
https://aws.amazon.com/ko/what-is/large-language-model/
https://www.ibm.com/kr-ko/topics/large-language-models
LangChain RAG 파헤치기: 문서 기반 QA 시스템 설계 방법
LLM 기반 AI 플랫폼 개발에서의 LangChain 활용