본문 바로가기

인공지능(AI) 이론과 코드/6. 자연어처리(NLP)

자연어 처리 인공지능의 발전 - LLM 대규모 언어모델 진화과정

[한 줄 정의]

LLM은 대규모 언어 모델(Large Language Model)의 약자로 인공지능 신경망 기반의 자연어 처리 알고리

 

[ 설명 ]

 

LLM (Large Language Model)은 대규모 언어 모델의 한 유형으로, 이 모델은 많은 텍스트 데이터를 사용하여 학습됩니다. 이 모델들은 자연어 처리 및 이해를 위한 딥러닝 기술을 기반으로 하며, 대규모 데이터셋에서 훈련된 심층 신경망 아키텍처를 사용합니다.

 

심층 신경망(Deep Neural Network)은 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network) 을 말한다.

 

LLM은 초기에는 단순한 텍스트 생성 작업에 사용되었지만, 시간이 지남에 따라 그 기능과 능력이 크게 발전했습니다. Open AI가 내놓은 chatGPT가 바로 그 상업적 모델입니다.

 

초기 모델들은 상대적으로 작은 크기의 데이터셋에서 훈련되었고, 따라서 그들의 이해능력 및 생성능력이 제한되었습니다. 그러나 최신의 LLM들은 훨씬 더 많은 양의 데이터로 훈련되었으며, 이는 그들의 언어 이해 및 생성 능력을 크게 향상시켰습니다.

 

이러한 모델의 진화는 주로 데이터의 양과 품질, 모델 아키텍처 및 훈련 기술의 발전에 의해 이루어졌습니다. 또한, 대규모 컴퓨팅 리소스의 사용 가능성도 LLM의 발전에 큰 영향을 미쳤습니다. 점차적으로, LLM은 더 많은 지식을 학습하고, 더 정확하고 의미 있는 응답을 생성할 수 있도록 발전해 왔습니다.

 

[ 연구논문 ]

Transformer 알고리즘 아키텍쳐

 

Ashish Vaswani, "Attention is All You Need" - 이 논문은 Transformer라는 새로운 딥러닝 아키텍처를 제안하여 어텐션 메커니즘을 중심으로 하여 시퀀스 처리를 위한 모델을 구축합니다. (2017)

 

Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" - BERT는 Transformer 기반의 양방향 사전 훈련 모델로, 언어 이해를 위해 깊은 사전 훈련을 제공합니다. (2018)

 

Tom B. Brown 등, "Language Models are Few-Shot Learners" - 이 논문은 LLM이 몇 가지 학습 예제만으로도 새로운 작업을 수행할 수 있는 능력을 입증합니다. (2020)

 

Abigail See, Jong Ho Park, Christopher Manning, "Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond" - 이 논문은 ChatGPT와 비슷한 대규모 언어 모델의 활용을 조사하고, 이러한 모델의 실제 활용에 대한 개괄적인 조망을 제공합니다. (2023)

 

둘 중, 마지막 논문인 " Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond  " 에 대해 아래와 같이 알아보겠습니다. 이 논문은 2024년 4월 발표된 논문으로 199회 인용되었습니다.('24.3.14 기준)


 

[ 논문요약 ]

 

해당 논문은 최근 몇 년 동안 급속히 발전하고 있는 대형 언어 모델들에 대한 개념을 정립해줍니다.

 

이러한 강력한 모델들은 자연어 처리 분야를 혁신하고 있죠. 이런 모델들은 자연어 이해(NLU)부터 생성형 AI 작업까지 다양한 NLP 작업을 효과적으로 처리할 수 있고, 가끔은 심지어 인공 일반 지능(AGI)의 가능성까지 열어놓고 있어요. 그런데 이러한 모델들을 효과적으로 활용하기 위해서는 그들의 능력과 한계, 그리고 NLP와 관련된 데이터와 작업에 대해 실용적인 이해가 필요하죠.

인공지능 개발자와 그리고 최종 사용자를 위한 가이드를 제공하기 위해 대형 언어 모델을 다루는 실용적인 측면에 초점을 맞추고 있다고 보여져요. 이 가이드는 특정 작업에 대해 대형 언어 모델을 선택하거나 선택하지 않는 이유와 가장 적합한 대형 언어 모델을 선택하는 데에 관한 실용적인 조언을 제공하고 있어요. 
모델 크기, 계산 요구 사항 및 도메인별 사전 훈련된 모델의 가용성과 같은 요소들 말이죠.

 

특히 실용적인 관점에서 대형 언어 모델에 대한 철저한 이해를 제공하여, 개발자와 사용자가 자신의 NLP 작업에 대한 대형 언어 모델의 능력을 성공적으로 활용할 수 있는 실용적인 지식을 제공합니다.

구체적인 내용으로 들어가보면, 먼저 가장 중요한 모델인 GPT-style 및 BERT-style 아키텍처에 대해 간략하게 소개합니다. 그런 다음, 데이터 관점에서 모델 성능에 영향을 미치는 중요한 요소들에 대해 탐구합니다. 사전 훈련 데이터, 훈련/조정 데이터 및 테스트 데이터가 이러한 요소에 포함돼 있어요. 마지막으로, 이러한 모델의 다양한 구체적인 NLP 작업에 대해 깊이 파고들어, LLMs의 적용 가능성, 노출된 능력, 그리고 어려운 현실 시나리오에 대한 통찰력을 제공합니다. 실제 사용 사례의 성공적인 활용 사례와 LLMs의 한계를 강조하기 위해 자세한 예시를 제공합니다.

 

마지막으로 기업의 관심사항인 튜닝된 모델에 대해..
대형 언어 모델의 능력을 분석하기 위해 세밀하게 튜닝한 모델들과 비교합니다. 현재까지 대형 언어 모델과 세밀하게 튜닝된 모델에 대한 일반적으로 인정된 정의는 없습니다. 실용적인 유틸리티를 고려하여, 우리의 논문에서는 대형 언어 모델과 세밀하게 튜닝된 모델의 정의를 다음과 같이 제안합니다 : 대형 언어 모델은 특정 작업을 위한 데이터를 조정하지 않고 대량의 데이터셋에서 사전 훈련된 거대한 언어 모델입니다. 세밀하게 튜닝된 모델은 보통 더 작은 언어 모델로, 또한 사전 훈련되고 그런 다음 해당 작업에 대한 작은 데이터셋을 추가적으로 튜닝하여 해당 작업에서의 성능을 최적화합니다.


 

[ 수학적인 개념 ]

 

어텐션 소프트맥스(Attention Softmax)의 수식은 다음과 같습니다.

 

Attention  Softmax fomula

  • 는 Query 행렬을 나타냅니다.
  • 는 Key 행렬을 나타냅니다.
  • 는 Value 행렬을 나타냅니다.
  • 는 Key의 차원 수를 나타냅니다.
  • 는 Query와 Key의 내적입니다.
  • 로 나누어줌으로써 내적의 크기를 줄입니다.
  • softmax 함수를 사용하여 각 토큰의 가중치를 정규화합니다.
  • 최종적으로 가중치를 적용하여 Value를 얻습니다.

위의 수식은 어텐션 메커니즘의 일부로 사용되며, 주어진 Query에 대해 Key와의 유사도를 계산하여 해당하는 Value에 가중치를 부여합니다.

 

 

 

 


[ LLM 진화도 ]

 

다음 그림이 가장 많이 보신 2023년 4월 기준 최신 대형 언어 모델 지도입니다. 이러한 모델들은 훈련 전략, 모델 아키텍처 및 사용 사례에 차이가 있습니다. LLM (Large Language Model) 풍경을 더 잘 이해하기 위해, 우리는 두 가지 유형으로 나누어 설명하는데요.

 

인코더-디코더
인코더-온리
디코더-온리

 

아래에서 언어 모델의 세부 발전 과정을 보여줍니다. 

Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond

 

현대 대형 언어 모델의 진화 트리는 최근 몇 년 동안의 언어 모델의 발전을 보여지고 우리가 가장 잘 알려진 모델을 강조합니다. 같은 가지에 있는 모델은 서로 더 가까운 관계에 있죠.

 

기본적으로 트랜스포머 기반 모델은 회색이 아닌 색상, 그러니까 분홍, 녹색, 파랑으로 표시됩니다.

분홍 가지는 인코더 전용 모델,  녹색 가지는 인코더-디코더 모델 , 파란 가지는 디코더 전용 모델,

 

모델의 수직 위치는 출시 날짜를 나타냅니다. 오픈 소스 모델은 실선으로 된 사각형으로, 폐쇄된 소스 모델은 비어있는 사각형으로 표시됩니다. 우측 하단의 쌓인 막대 그래프는 다양한 기업 및 기관에서 나온 모델의 수를 보여줍니다.

 

그리고 LLM들이 다음의 경향을 나타고 있다고 논문에서 말하고 있죠.

a) 디코더-만 모델이 LLM의 발전을 점차 주도하고 있습니다. 

LLM의 초기 단계에서, 디코더-만 모델은 인코더-만 및 인코더-디코더 모델만큼 인기가 없었습니다. 그러나 2021년 이후, 게임을 바꾸는 LLM인 GPT-3의 등장으로 디코더-만 모델은 큰 성장을 경험했습니다. 한편, BERT에 의한 초기 폭발적인 성장 이후에는, 인코더-만 모델은 서서히 사라지기 시작했습니다.
b) OpenAI는 현재와 잠재적으로 미래에도 대형 언어 모델 분야에서 지도적인 위치를 유지합니다.

다른 기업 및 기관들은 GPT-3 및 현재의 GPT-4와 유사한 모델을 개발하는 데 OpenAI를 따라잡기 어려워하고 있습니다. 이 리더십 포지션은 OpenAI가 초기에 널리 인정받지 않았더라도 기술적인 방향에 대한 단호한 헌신으로 얻어졌습니다.
c) Meta는 오픈 소스 대형 언어 모델에 상당한 기여를 하고 대형 언어 모델의 연구를 촉진합니다.

특히 대형 언어 모델과 관련된 오픈 소스 커뮤니티에 기여를 고려할 때 Meta는 가장 관대한 상업 기업 중 하나로 나타납니다. Meta가 개발한 모든 대형 언어 모델은 오픈 소스로 공개되어 있습니다.
d) 대형 언어 모델은 폐쇄 소스 경향을 보입니다.

대형 언어 모델 개발 초기(2020년 이전)에는 대부분의 모델이 오픈 소스로 공개되었습니다. 그러나 GPT-3의 등장 이후, 기업들은 PaLM, LaMDA 및 GPT-4와 같은 모델을 폐쇄 소스로 선택하는 경향이 있습니다. 결과적으로, 학계 연구자들이 대형 언어 모델 훈련에 대한 실험을 수행하기가 더 어려워졌습니다. 이로 인해 API 기반의 연구가 학계 커뮤니티에서 주요한 방법이 될 수 있습니다.
e) 인코더-디코더 모델은 여전히 유망한 모델로 남아 있습니다.

이 유형의 아키텍처는 여전히 활발히 탐색되고 있으며, 대부분이 오픈 소스로 공개되어 있습니다. 구글은 오픈 소스 인코더-디코더 아키텍처에 상당한 기여를 했습니다. 그러나 디코더 전용 모델의 유연성과 다용성은 구글이 이 방향을 계속 추구하는 것을 덜 유망하게 만들고 있습니다.

 

여태껏 나온 모델 각 유형의 특징과 대표적인 대형 언어 모델을 다음 표로 요약할 수 있습니다. (출처 : 동일 논문)

  Characteristic LLMs
Encoder-Decoder or Encoder-only Training: Masked Language Models
Model type: Discriminative (BERT-style)
Pretrain task: Predict masked words
ELMo, BERT, RoBERTa, DistilBERT, BioBERT, XLM, Xlnet, ALBERT, ELECTRA, T5, GLM, XLM-E, ST-MoE, AlexaTM
Decoder-only Training : Autoregressive Language Models
Model type: Generative (GPT-style) Pretrain task: Predict next word
GPT-3, OPT, PaLM, BLOOM, MT-NLG, GLaM, Gopher, chinchilla, LaMDA, GPT-J, LLaMA, GPT-4, BloombergGPT

 

 

[ NLP 응용 모델 결정 프로세스 ]

 

Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond 논문 중에서

 

위 그림은 사용자의 NLP 응용 프로그램에 대한 LLM 또는 파인 튜닝된 모델을 선택하는 결정 흐름입니다.

 

결정 흐름은 사용자가 손에 있는 하류 NLP 응용 프로그램이 특정 조건을 충족하는지를 평가하고, 그 평가를 기반으로 LLM 또는 파인 튜닝된 모델이 그들의 응용 프로그램에 가장 적합한 선택인지를 결정하는 데 도움을 줍니다.

 

위 그림에서 결정 프로세스 중에, Y는 조건을 충족함YES을 의미하고, N은 조건을 충족하지 못함NO을 의미합니다. 마지막 조건의 Y를 나타내는 노란색 원은 이 유형의 응용 프로그램에서 잘 작동하는 모델이 없음을 의미합니다.


 

 

논문 원문은 아래에서 pdf로 다운로드 받으실 수 있습니다.

https://arxiv.org/pdf/2304.13712.pdf

 

LLM을 처음 접하시는 분들께 도움이 되셨기를 바랍니다.

감사합니다.

반응형
LIST