본문 바로가기

AI Algorithms (AI 기술과 알고리즘)

대규모 언어 모델(LLM) 이해하기

대규모 언어 모델(LLM) 이해하기

1. 대규모 언어 모델(LLM)의 본질

1.1 LLM의 정의와 핵심 개념

대규모 언어 모델(Large Language Model, LLM)은 인간과 유사한 텍스트를 이해하고 생성하며 응답하도록 설계된 심층 신경망(deep neural network)입니다. 이러한 모델은 방대한 양의 텍스트 데이터, 경우에 따라서는 인터넷에서 공개적으로 접근 가능한 텍스트의 상당 부분을 포함하는 데이터셋으로 학습됩니다.

"대규모(large)"라는 용어는 두 가지 측면을 의미합니다:

  1. 모델의 규모: 매개변수(parameter) 수로 측정되며, 현대 LLM은 수백억 개의 매개변수를 보유합니다.
  2. 학습 데이터셋의 규모: 수십억 단어 이상의 방대한 텍스트 코퍼스를 사용합니다.

매개변수는 학습 중 최적화되는 네트워크의 조정 가능한 가중치로, 시퀀스에서 다음 단어를 예측하도록 훈련됩니다. 다음 단어 예측(next-word prediction)은 언어의 본질적인 순차적 특성을 활용하여 모델이 텍스트 내의 맥락, 구조, 관계를 이해하도록 학습시키는 방식입니다.

1.2 AI, 기계 학습, 딥러닝의 계층 구조

LLM의 위치를 이해하기 위해서는 다음과 같은 계층적 관계를 파악해야 합니다:

AI, 기계 학습, 딥러닝, LLM의 포함 관계를 보여주는 동심원 다이어그램

  • 인공지능(AI): 인간과 유사한 지능이 필요한 작업을 수행할 수 있는 기계를 만드는 광범위한 분야
  • 기계 학습(Machine Learning): 데이터로부터 규칙을 자동으로 학습하는 알고리즘의 개발에 초점
  • 딥러닝(Deep Learning): 3개 이상의 계층을 가진 신경망(심층 신경망)을 활용하여 데이터의 복잡한 패턴과 추상화를 모델링
  • LLM: 인간과 유사한 텍스트를 파싱하고 생성하기 위해 딥러닝 기술을 적용한 특정 응용 분야

전통적인 기계 학습과 딥러닝의 핵심적인 차이는 특징 추출(feature extraction) 방식에 있습니다. 스팸 필터링을 예로 들면:

  • 전통적 기계 학습: 인간 전문가가 수동으로 특징을 식별하고 선택 (예: "무료", "당첨" 같은 특정 단어의 빈도, 느낌표의 개수, 모두 대문자 사용 여부 등)
  • 딥러닝: 모델이 자동으로 관련 특징을 학습하여 수동 특징 추출이 불필요

2. LLM의 응용 분야와 실용성

2.1 주요 응용 영역

LLM은 비정형 텍스트 데이터를 파싱하고 이해하는 고급 능력 덕분에 다양한 영역에서 활용됩니다:

  1. 기계 번역(Machine Translation): 언어 간 텍스트 변환
  2. 텍스트 생성(Text Generation): 소설, 기사, 컴퓨터 코드 작성
  3. 감정 분석(Sentiment Analysis): 텍스트의 감정적 톤 파악
  4. 텍스트 요약(Text Summarization): 긴 문서의 핵심 내용 추출
  5. 대화형 인터페이스: ChatGPT, Google Gemini 같은 챗봇 및 가상 비서 구동
  6. 정보 검색: 방대한 텍스트에서 효과적인 지식 추출 (의료, 법률 등 전문 분야)

LLM 사용 예시 - "Wisconsin, AI, pizza를 포함한 4행 시를 작성하라"는 명령과 모델의 시적 응답

LLM 인터페이스는 사용자와 AI 시스템 간의 자연어 커뮤니케이션을 촉진하며, 텍스트를 파싱하고 생성하는 거의 모든 작업을 자동화하는 데 귀중한 도구입니다.

2.2 범용 모델 대 맞춤형 모델

연구에 따르면, 특정 작업이나 도메인에 맞춤화된 LLM은 범용 LLM(예: ChatGPT)보다 모델링 성능이 우수할 수 있습니다. 예를 들면:

  • Bloomberg GPT: 금융 분야 특화
  • 의료 질의응답 LLM: 의료 전문 지식 제공

맞춤형 LLM 개발의 이점:

  1. 데이터 프라이버시: 민감한 데이터를 제3자 LLM 제공업체와 공유하지 않음
  2. 로컬 배포: 노트북, 스마트폰 등 고객 기기에 직접 배포 가능 (지연 시간 감소, 서버 비용 절감)
  3. 완전한 제어권: 필요에 따라 모델 업데이트 및 수정 가능

3. LLM 구축의 단계적 프로세스

3.1 사전 학습(Pre-training)과 미세 조정(Fine-tuning)

LLM의 사전 학습 및 미세 조정 프로세스를 보여주는 플로우차트

LLM 생성의 일반적인 프로세스는 두 단계로 구성됩니다:

사전 학습 단계

  • 목적: 언어에 대한 광범위한 이해 개발
  • 데이터: 대규모의 다양한 레이블이 없는 텍스트 데이터셋
  • 학습 방식: 자기 지도 학습(self-supervised learning) - 모델이 입력 데이터에서 자체 레이블 생성
  • 핵심 작업: 다음 단어 예측(next-word prediction)
  • 결과물: 기본 모델 또는 기초 모델(foundation model) - 예: GPT-3

사전 학습된 LLM은 텍스트 완성 기능과 제한된 퓨샷(few-shot) 능력을 갖추게 됩니다. 퓨샷 학습은 소수의 예제만으로 새로운 작업을 수행하는 능력을 의미합니다.

미세 조정 단계

사전 학습된 LLM을 레이블이 있는 데이터로 추가 학습시켜 특정 작업에 특화시킵니다. 두 가지 주요 범주:

  1. 명령어 미세 조정(Instruction Fine-tuning)
    • 데이터셋: 명령어와 답변 쌍
    • 예시: 텍스트 번역 쿼리와 올바르게 번역된 텍스트
  2. 분류 미세 조정(Classification Fine-tuning)
    • 데이터셋: 텍스트와 관련 클래스 레이블
    • 예시: 스팸/비스팸 레이블이 있는 이메일

3.2 자기 지도 학습의 중요성

사전 학습 단계에서 LLM은 자기 지도 학습을 사용합니다. 이는 다음과 같은 의미입니다:

  • 명시적으로 레이블 정보를 수집할 필요가 없음
  • 데이터 구조 자체를 활용하여 자체 레이블링
  • 문장이나 문서의 다음 단어를 모델이 예측해야 할 레이블로 사용
  • 방대한 레이블이 없는 텍스트 데이터셋으로 LLM 학습 가능

이러한 다음 단어 예측 작업은 레이블을 즉시 생성할 수 있게 하므로, 대규모 레이블 없는 텍스트 데이터셋을 사용하여 LLM을 학습시킬 수 있습니다.

4. 트랜스포머 아키텍처의 이해

4.1 트랜스포머의 기원과 구조

대부분의 현대 LLM은 2017년 논문 "Attention is All You Need"에서 소개된 트랜스포머(Transformer) 아키텍처에 의존합니다. 원래 트랜스포머는 기계 번역(영어를 독일어 및 프랑스어로 번역)을 위해 개발되었습니다.

원본 트랜스포머 아키텍처의 단순화된 다이어그램 - 인코더와 디코더 구조

트랜스포머 아키텍처는 두 개의 하위 모듈로 구성됩니다:

  1. 인코더(Encoder)
    • 입력 텍스트를 처리
    • 입력의 맥락 정보를 포착하는 일련의 수치 표현 또는 벡터로 인코딩
    • 전체 입력 텍스트에 대한 액세스 권한 보유
  2. 디코더(Decoder)
    • 인코딩된 벡터를 받아 출력 텍스트 생성
    • 한 번에 한 단어씩 번역 완성

4.2 셀프 어텐션 메커니즘

트랜스포머와 LLM의 핵심 구성 요소는 셀프 어텐션(self-attention) 메커니즘입니다. 이는 다음을 가능하게 합니다:

  • 시퀀스 내 다른 단어 또는 토큰의 중요도를 서로 상대적으로 가중치 부여
  • 입력 데이터 내의 장거리 의존성과 맥락적 관계 포착
  • 일관성 있고 맥락적으로 관련된 출력 생성 능력 향상

인코더와 디코더는 모두 셀프 어텐션 메커니즘으로 연결된 여러 계층으로 구성됩니다.

4.3 BERT와 GPT: 트랜스포머의 변형

트랜스포머의 인코더와 디코더 하위 모듈을 보여주는 시각적 표현

BERT (Bidirectional Encoder Representations from Transformers)

  • 구조: 트랜스포머의 인코더 하위 모듈 기반
  • 학습 방식: 마스킹된 단어 예측 - 주어진 문장에서 마스킹되거나 숨겨진 단어를 예측
  • 강점: 텍스트 분류 작업 (감정 예측, 문서 분류)
  • 응용 사례: X(구 Twitter)가 유해 콘텐츠 탐지에 BERT 사용

GPT (Generative Pre-trained Transformer)

  • 구조: 트랜스포머의 디코더 부분에 초점
  • 설계 목적: 텍스트를 생성하는 작업
  • 작업 유형: 기계 번역, 텍스트 요약, 소설 작성, 컴퓨터 코드 작성 등
  • 특징: 제로샷(zero-shot) 및 퓨샷(few-shot) 학습에서 놀라운 다재다능함

GPT와 같은 LLM이 퓨샷 및 제로샷 설정에서 다양한 작업을 수행하는 방법

  • 제로샷 학습: 사전 특정 예제 없이 완전히 보이지 않는 작업으로 일반화하는 능력
  • 퓨샷 학습: 사용자가 입력으로 제공하는 최소한의 예제로부터 학습

4.4 트랜스포머 대 LLM

중요한 구별 사항:

  • 모든 트랜스포머가 LLM은 아님: 트랜스포머는 컴퓨터 비전에도 사용될 수 있음
  • 모든 LLM이 트랜스포머는 아님: 순환(recurrent) 및 합성곱(convolutional) 아키텍처 기반 LLM도 존재
  • 대안적 아키텍처의 동기: LLM의 계산 효율성 개선

그러나 본 학습 자료에서는 GPT와 유사한 트랜스포머 기반 LLM을 지칭하는 용어로 LLM을 사용합니다.

5. GPT 아키텍처의 심층 분석

5.1 GPT의 역사와 발전

GPT는 원래 OpenAI의 Radford 등이 작성한 논문 "Improving Language Understanding by Generative Pre-training"에서 소개되었습니다. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf GPT-3는 더 많은 매개변수를 가지고 더 큰 데이터셋으로 학습된 이 모델의 확장 버전입니다.

ChatGPT에서 제공된 원래 모델은 OpenAI의 InstructGPT 논문의 방법을 사용하여 대규모 명령어 데이터셋으로 GPT-3를 미세 조정하여 생성되었습니다.

5.2 다음 단어 예측 학습

GPT 모델의 다음 단어 예측 사전 학습 작업

GPT 모델의 다음 단어 예측 사전 학습 작업에서:

  • 시스템은 이전 단어들을 살펴봄으로써 문장의 다음 단어를 예측하는 것을 학습
  • 이 접근 방식은 모델이 단어와 구문이 언어에서 일반적으로 어떻게 조합되는지 이해하도록 도움
  • 다양한 다른 작업에 적용할 수 있는 기초를 형성

다음 단어 예측 작업은 자기 지도 학습의 한 형태이며, 이것은 자기 레이블링의 한 형태입니다:

  • 학습 데이터에 대한 레이블을 명시적으로 수집할 필요가 없음
  • 데이터 자체의 구조를 사용할 수 있음
  • 문장이나 문서의 다음 단어를 모델이 예측해야 할 레이블로 사용
  • 방대한 레이블 없는 텍스트 데이터셋을 사용하여 LLM 학습 가능

5.3 GPT 아키텍처의 구조적 특징

원본 트랜스포머 아키텍처와 비교하여 일반 GPT 아키텍처는 상대적으로 간단합니다:

  • 기본적으로 인코더 없이 디코더 부분만 사용
  • 자동 회귀 모델(Autoregressive Model): 한 번에 한 단어씩 텍스트를 생성하여 텍스트를 예측
  • 이전 출력을 미래 예측을 위한 입력으로 통합
  • 각 새로운 단어는 선행 시퀀스를 기반으로 선택되어 결과 텍스트의 일관성 향상

5.4 GPT-3의 규모

GPT-3의 규모는 원본 트랜스포머 모델보다 훨씬 큽니다:

  • 원본 트랜스포머: 인코더와 디코더 블록을 각각 6번 반복
  • GPT-3: 96개의 트랜스포머 레이어, 총 1,750억 개의 매개변수

5.5 창발적 행동(Emergent Behavior)

GPT 모델은 원래 언어 번역을 위해 명시적으로 설계된 원본 트랜스포머 모델과 달리, 더 크지만 단순한 디코더 전용 아키텍처를 가지고 있음에도 불구하고 번역 작업을 수행할 수 있습니다.

이 능력은 연구자들에게 예상치 못한 것이었습니다:

  • 주로 다음 단어 예측 작업으로 학습된 모델에서 나타남
  • 번역을 특별히 목표로 하지 않은 작업
  • 창발적 행동: 모델이 명시적으로 학습되지 않은 작업을 수행하는 능력
  • 다양한 맥락에서 방대한 양의 다국어 데이터에 노출된 자연스러운 결과

GPT 모델이 특별히 번역 학습을 받지 않았음에도 언어 간 번역 패턴을 학습하고 번역 작업을 수행할 수 있다는 사실은 이러한 대규모 생성 언어 모델의 이점과 능력을 입증합니다. 각 작업에 대해 다양한 모델을 사용하지 않고도 다양한 작업을 수행할 수 있습니다.

6. 대규모 데이터셋 활용

6.1 GPT-3 학습 데이터셋

GPT-3 사전 학습에 사용된 데이터셋 세부 정보 테이블

인기 있는 GPT 및 BERT와 유사한 모델의 대규모 학습 데이터셋은 수십억 단어를 포함하는 다양하고 포괄적인 텍스트 코퍼스를 나타냅니다. 이는 다양한 주제와 자연어 및 컴퓨터 언어를 포함합니다.

GPT-3 데이터셋 구체적 정보:

  • 토큰(Token): 모델이 읽는 텍스트 단위 (대략 단어 및 구두점 문자 수와 동등)
  • 총 토큰 수: 4,990억 개 (실제 학습에는 3,000억 개 토큰만 사용)
  • Common Crawl 데이터셋: 4,100억 토큰, 약 570기가바이트의 저장 공간 필요

나중 버전의 모델 (예: Meta의 Llama)은 추가 데이터 소스를 포함하도록 학습 범위를 확장했습니다:

  • 아카이브 연구 논문: 92기가바이트
  • Stack Exchange 코드 관련 Q&A: 78기가바이트

6.2 데이터셋의 규모와 다양성

이러한 학습 데이터셋의 규모와 다양성은 모델이 다음과 같은 이유로 다양한 작업에서 우수한 성능을 발휘할 수 있게 합니다:

  • 언어 구문(syntax)
  • 의미론(semantics)
  • 맥락(context)
  • 일부 일반 지식이 필요한 작업도 포함

6.3 사전 학습의 경제성과 접근성

사전 학습된 모델의 특성은 downstream tasks에 대한 추가 미세 조정에 매우 다재다능하게 만들어, 기본 모델 또는 기초 모델로도 알려져 있습니다.

LLM 사전 학습의 현실:

  • 비용: 상당한 리소스 액세스 및 매우 비쌈
    • GPT-3 사전 학습 비용: 클라우드 컴퓨팅 크레딧 기준 약 460만 달러
  • 접근성: 많은 사전 학습된 LLM이 오픈 소스 모델로 사용 가능
    • 학습 데이터의 일부가 아니었던 텍스트를 작성, 추출, 편집하는 범용 도구로 사용 가능
  • 효율성: LLM은 상대적으로 더 작은 데이터셋으로 특정 작업에 미세 조정 가능
    • 필요한 계산 리소스 감소
    • 성능 향상

6.4 공개 데이터셋

GPT-3 논문의 저자들은 학습 데이터셋을 공유하지 않았지만, 공개적으로 사용 가능한 비교 가능한 데이터셋:

  • Dolma: LLM 사전 학습 연구를 위한 3조 토큰의 오픈 코퍼스 (Soldany 등)
  • 주의사항: 저작권이 있는 저작물을 포함할 수 있으며, 정확한 사용 조건은 의도된 사용 사례 및 국가에 따라 달라질 수 있음

7. LLM 구축의 실천적 접근

7.1 LLM을 처음부터 구축하는 이유

처음부터 LLM을 코딩하는 것은 다음과 같은 이유로 중요합니다:

  1. 메커니즘과 한계 이해: LLM의 작동 원리와 제약 사항에 대한 심층적 이해
  2. 도메인 특화 적응: 기존 오픈 소스 LLM 아키텍처를 도메인별 데이터셋이나 작업에 사전 학습하거나 미세 조정하는 데 필요한 지식 습득
  3. 최적화된 성능: 연구에 따르면 맞춤형 LLM이 특정 작업이나 도메인에서 ChatGPT와 같은 범용 LLM보다 우수한 성능을 발휘할 수 있음

7.2 구현 기술 스택

참고: 오늘날 대부분의 LLM은 PyTorch 딥러닝 라이브러리를 사용하여 구현됩니다.

7.3 3단계 구축 프로세스

LLM 코딩의 세 가지 주요 단계를 보여주는 다이어그램

1단계: 아키텍처 구현 및 데이터 준비

  • LLM 아키텍처 구현
  • 데이터 준비 프로세스 (데이터 샘플링 포함)
  • 기본 메커니즘 이해
  • 모든 LLM의 핵심인 어텐션 메커니즘 코딩

2단계: 사전 학습

  • 레이블이 없는 데이터로 LLM 사전 학습
  • 추가 미세 조정을 위한 기초 모델 획득
  • 새로운 텍스트를 생성할 수 있는 GPT와 유사한 LLM 코딩 및 사전 학습
  • LLM 평가의 기본 사항 학습 (효과적인 NLP 시스템 개발에 필수적)

참고사항:

  • 처음부터 LLM을 사전 학습하는 것은 상당한 노력이 필요
  • GPT와 유사한 모델의 경우 수천에서 수백만 달러의 컴퓨팅 비용 발생
  • 2단계의 초점: 소규모 데이터셋을 사용한 교육 목적의 학습 구현
  • 공개적으로 사용 가능한 모델 가중치를 로드하는 코드 예제 제공

3단계: 미세 조정

  • 사전 학습된 LLM을 가져와 명령어를 따르도록 미세 조정
  • 쿼리 응답 또는 텍스트 분류 등
  • 많은 실제 응용 프로그램 및 연구에서 가장 일반적인 작업
  • 분류 모델 생성을 위한 미세 조정
  • 개인 비서 또는 채팅 모델 생성을 위한 미세 조정

8. 핵심 요약 및 학습 포인트

8.1 LLM의 혁신적 영향

LLM은 자연어 처리 분야를 변화시켰습니다:

  • 이전: 명시적인 규칙 기반 시스템과 단순한 통계적 방법에 주로 의존
  • 현재: 새로운 딥러닝 기반 접근 방식으로 인간 언어의 이해, 생성, 번역에서 발전

8.2 학습 프로세스

현대 LLM은 두 가지 주요 단계로 학습됩니다:

  1. 사전 학습: 문장의 다음 단어 예측을 레이블로 사용하여 레이블이 없는 대규모 텍스트 코퍼스로 학습
  2. 미세 조정: 명령어를 따르거나 분류 작업을 수행하도록 더 작고 레이블이 있는 타겟 데이터셋으로 학습

8.3 트랜스포머 아키텍처

LLM은 트랜스포머 아키텍처를 기반으로 합니다:

  • 핵심 아이디어: 한 번에 한 단어씩 출력을 생성할 때 전체 입력 시퀀스에 선택적으로 액세스할 수 있게 하는 어텐션 메커니즘
  • 원본 트랜스포머: 텍스트 파싱을 위한 인코더와 텍스트 생성을 위한 디코더로 구성
  • GPT-3 및 ChatGPT: 디코더 모듈만 구현하여 아키텍처를 단순화

8.4 데이터와 창발적 능력

  • 대규모 데이터셋: 수십억 단어로 구성된 데이터셋이 LLM 사전 학습에 필수적
  • 일반적인 사전 학습 작업: 문장의 다음 단어 예측
  • 창발적 특성: 텍스트 분류, 번역, 요약 등의 능력 (특별히 학습되지 않았음에도)

8.5 기초 모델과 미세 조정

  • 기초 모델: 일단 LLM이 사전 학습되면, 결과 기초 모델은 다양한 하류 작업에 더 효율적으로 미세 조정될 수 있음
  • 성능 우위: 맞춤 데이터셋으로 미세 조정된 LLM은 특정 작업에서 일반 LLM보다 우수한 성능 발휘 가능

8.6 토큰화 (Tokenization)

토큰화는 텍스트를 토큰으로 변환하는 프로세스로, 다음 장에서 다룰 중요한 개념입니다.


복습 가이드

본 학습 자료를 복습할 때 다음 사항에 초점을 맞추십시오:

  1. 계층 구조 이해: AI → 기계 학습 → 딥러닝 → LLM의 포함 관계
  2. 핵심 개념 정리: 사전 학습, 미세 조정, 자기 지도 학습, 창발적 행동
  3. 아키텍처 비교: 트랜스포머, BERT, GPT의 차이점과 장단점
  4. 실용적 고려사항: 데이터 규모, 계산 비용, 맞춤형 모델의 이점
  5. 구축 프로세스: 3단계 접근 방식의 각 단계별 목표와 결과물

위 내용은 원서 https://learning.oreilly.com/library/view/build-a-large/9781633437166/  의 내용과 길벗출판사의 번역본 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=372272431 의 1장에 대한 내용을 정리한 것입니다. 원서를 기본으로 정리해서 번역본과 내용이 다를수도 있습니다.