Researcher/Computer (AI, NLP, LLM, ...)

[NLP][LLM] 언어 모델(Language Model) 시리즈1: 언어 모델이란?

마크 주쿼버그 2023. 5. 23. 17:04

Summary

  1. 언어 모델(Language Model)은 언어 모델링을 하는 모델로, 통계 기법을 이용한 방법과 인공 신경망을 이용한 방법이 있다.
  2. 거대 언어 모델(Large Language Model)은 데이터셋의 크기와 모델의 규모가 거대해져 정확도가 크게 향상된 언어 모델을 의미한다.
  3. 거대 언어 모델은 대체적으로 Encoder-Decoder 구조를 사용하고 있으며, 각각 NLU와 NLG로 구분된다.

Contents

What is the Language Model?

Fixabay, Chatbot image

당연하게도 언어 모델링(Language Modeling)을 하는 모델이다.

언어 모델링이란 주어진 단어들로부터 아직 모르는 단어를 예측하는 작업을 의미한다.

언어 모델을 만들기 위해서는 통계 기법을 이용한 방법과 인공 신경망을 이용한 방법이 있고,

대표적인 언어 모델인 GPT의 경우에는 인공신경망을 이용한 언어 모델이다.

 

그렇다면 LLM은 무엇일까?

LLM은 거대 언어 모델(Large Language Model)을 의미한다.

우리가 사용해온 챗봇이나 음성 비서(예: Siri)들을 생각해보자. 초창기 모델은 우리가 하는 말을 잘 이해하지 못할 뿐만 아니라 엉뚱한 대답을 하기도 했다. 이를 해소하기 위해 여러 방법들이 제안되었으며, 현재 하드웨어의 성능이 개선되고 알고리즘이 발전하면서 몹시 큰 자연어 데이터를 모델이 소화할 수 있게 된 것이다. 데이터 수가 증가하면서 모델도 복잡해지고 거대해진다.

이렇게 정확도를 크게 향상시킬 수 있었던 큰 규모의 언어 모델을 LLM이라고 한다.


Model for LLM (Large Language Model)

NLU (Natural Language Understanding)

  • 정의: 자연어(사람이 사용하는 언어)를 기계가 이해할 수 있도록 변환시키는 작업으로, 이해한 내용을 기반으로 별도의 Task를 수행하기도 한다.
  • 지향점: 사람이 사용하는 자연스러운 표현도 기계가 이해할 수 있도록 하는 것

[구현 과정]

  1. 대화 데이터셋 준비 (예: STT를 이용한 텍스트 형태의 발화 데이터, 대화 로그, …)
  2. 비정형 데이터(대화 텍스트 데이터)를 정량화 (예: 워드 임베딩 등)
  3. 구현하고자 하는 Task 수행 (예: 문장 분류, 발화 의도 분류, …)

[정보 교환 방식에 따른 구분]

  1. 1회성 질의응답: 사용자가 질의하고 시스템은 결과를 제공하는 일반적인 질의응답 방식
  2. 연속 대화형 질의응답: 여러차례 질의응답을 반복하는 과정에서, 시스템이 대화를 기억하여 스스로 의도를 확인하고 범위를 좁혀갈 수 있는 질의응답 방식
  • 대표 사례: 번역, 태깅, 문장 분류, 감성 분석, …

NLG (Natural Language Generation)

  • 정의: 자연어를 기계가 스스로 생성하는 작업이다.
  • 지향점: 기계가 사람이 말하는 것처럼 자연어 형태로 출력하는 것

[구현 과정]

  1. 데이터셋은 수행 과업과 과정에 따라 차이가 있음
  2. 텍스트 계획(내용 결정, 어휘 선택): 본문에 언급할 정보를 결정하는 과정
  3. 문장 계획: 문장부호를 결정하고 텍스트의 흐름에 따라 콘텐츠를 단락과 문장으로 나누며, 필요시 대명사 또는 접속사를 통합하는 등 전체 구성을 생성하는 과정
  4. 검토: 작성된 글의 문장 부호나 문법 등이 적절하게 사용되었는지 확인하는 과정
  • 대표 사례: 보고서 생성, 코드 작성, 이미지 캡셔닝, 챗봇, …

 

NLU & NLG

  Model Component
NLU BERT Encoder
NLG GPT Decoder
NLU + NLG BART, T5 Encoder + Decoder

 


Next?

Keywords: Fine tuning, Few-shot Learning, Prompt Engineering

LLM, 즉, 거대한 언어 모델은 말 그대로 모델과 데이터셋의 크기가 몹시 거대하다.

이에 따라 모델이 몹시 복잡할 뿐만 아니라 학습 시간도 굉장히 오래 걸린다.

 

이러한 LLM 모델을 어떻게 우리의 Task에 알맞게 튜닝할 수 있을까?

다음 시간에는 이 질문에 대한 답을 정리해보도록 한다.


References

[1] LLM 모델 내용 참고 https://medium.com/ai-networkkr/ai-모델-탐험기-21-gpt-3의-오픈소스-버전-gpt-j-de3bdcdf65dd

[2] Few-shot Leanring 내용 참고 https://deep-learning-study.tistory.com/873

[3] NLU 내용 참고: https://blog.lgcns.com/1672

[4] NLG 내용 참고: https://www.ibm.com/blog/nlp-vs-nlu-vs-nlg-the-differences-between-three-natural-language-processing-concepts/

[5] NLG 내용 참고: https://en.wikipedia.org/wiki/Natural_language_generation