LLM: 대규모 언어 모델이란 무엇인가요?

최신 기술인 대규모 언어 모델 (LLM)은 토큰 또는 토큰 시퀀스를 예측하며 때로는 예측 토큰에 해당하는 단락 수에 준하는 경우도 있습니다. 토큰은 단어, 하위 단어 (단어의 하위 집합), 단일 문자일 수도 있습니다. LLM은 다음과 같은 이유로 N-gram 언어 모델이나 순환 신경망보다 훨씬 더 정확한 예측을 제공합니다.

  • LLM에는 재귀 모델보다 훨씬 더 많은 매개변수가 포함되어 있습니다.
  • LLM은 훨씬 더 많은 컨텍스트를 수집합니다.

이 섹션에서는 LLM 빌드를 위해 가장 성공적이고 널리 사용되는 아키텍처인 Transformer를 소개합니다

트랜스포머란 무엇인가요?

Transformer는 번역과 같은 다양한 언어 모델 애플리케이션을 위한 최첨단 아키텍처입니다.

그림 1. 입력은 '나는 착한 강아지입니다.'입니다. Transformer 기반 번역사가 이 입력을 프랑스어로 번역된 Je suis un bon chien 출력에 변환합니다.
그림 1. 영어를 프랑스어로 번역하는 Transformer 기반 애플리케이션입니다.

 

전체 트랜스포머는 인코더와 디코더로 구성됩니다.

  • 인코더는 입력 텍스트를 중간 표현으로 변환합니다. 인코더는 거대한 신경망입니다.
  • 디코더는 이 중간 표현을 유용한 텍스트로 변환합니다. 디코더도 거대한 신경망입니다.

예를 들어 번역사는

  • 인코더는 입력 텍스트 (예: 영어 문장)를 중간 표현으로 처리합니다.
  • 디코더는 이 중간 표현을 출력 텍스트 (예: 이에 상응하는 프랑스어 문장)로 변환합니다.
그림 2. Transformer 기반 번역기는 영어 문장의 중간 표현을 생성하는 인코더로 시작합니다. 디코더는 이 중간 표현을 프랑스어 출력 문장으로 변환합니다.
그림 2. 전체 Transformer에는 인코더와 디코더가 모두 포함됩니다.

 

셀프 어텐션이란 무엇인가요?

컨텍스트를 개선하기 위해 Transformer는 셀프 어텐션이라는 개념에 크게 의존합니다. 사실상 각 입력 토큰을 대신하여 자기 주목은 다음과 같은 질문을 합니다.

'입력의 다른 각 토큰이 이 토큰의 해석에 얼마나 영향을 미치나요?'

'자체 주목'의 '자체'는 입력 시퀀스를 나타냅니다. 일부 주목 메커니즘은 입력 토큰과 번역과 같은 출력 시퀀스의 토큰 또는 다른 시퀀스의 토큰 간의 관계에 가중치를 부여합니다. 하지만 자기 주목은 입력 시퀀스의 토큰 간의 관계의 중요도에만 가중치를 둡니다.

문제를 단순화하기 위해 각 토큰이 단어이고 전체 컨텍스트가 한 문장이라고 가정합니다. 다음 문장을 생각해 보세요.

The animal didn't cross the street because it was too tired.

위 문장에는 11개의 단어가 포함되어 있습니다. 열한 개의 단어는 각각 다른 열 단어에 주의를 기울이며, 열 단어 각각이 자신에게 얼마나 중요한지 궁금해합니다. 예를 들어 문장에 대명사 it가 포함되어 있습니다. 호칭은 모호한 경우가 많습니다. 대명사 it은 일반적으로 최근 명사 또는 명사구를 나타내지만, 예시 문장에서 it은 어떤 최근 명사를 나타내나요? 동물인가요, 거리인가요?

셀프 어텐션 메커니즘은 주변 단어 과 대명사 it의 관련성을 판단합니다. 그림 3은 결과를 보여줍니다. 선이 더 파란색일수록 해당 단어가 호칭 it에 더 중요합니다. 즉, 대명사 it동물거리보다 더 중요합니다.

그림 3. '동물이 너무 피곤해서 길을 건너지 않았습니다'라는 문장의 11개 단어와 호칭 'it'의 관련성 'animal'이라는 단어는 'it'이라는 대명사와 가장 관련성이 높습니다.
그림 3. 대명사 it에 대한 셀프 어텐션 Transformer: 언어 이해를 위한 새로운 신경망 아키텍처에서 발췌

 

반대로 문장의 마지막 단어가 다음과 같이 변경된다고 가정해 보겠습니다.

The animal didn't cross the street because it was too wide.

수정된 문장에서 자기주의는 동물보다 거리가 호칭 it과 더 관련성이 높다고 평가할 수 있습니다.

일부 자체 주목 메커니즘은 양방향입니다. 즉, 주목하는 단어의 앞에 있는 토큰과 뒤에 있는 토큰의 관련성 점수를 계산합니다. 예를 들어 그림 3에서 it의 양쪽에 있는 단어가 검사됩니다. 따라서 양방향 자체 주의 메커니즘은 주의를 기울이는 단어의 양쪽에 있는 단어에서 문맥을 수집할 수 있습니다. 반면 단방향 자체 주의 메커니즘은 주의를 기울이는 단어의 한쪽에 있는 단어에서만 문맥을 수집할 수 있습니다. 양방향 자체 주목은 전체 시퀀스의 표현을 생성하는 데 특히 유용하며, 토큰별로 시퀀스를 생성하는 애플리케이션에는 단방향 자체 주목이 필요합니다. 따라서 인코더는 양방향 자체 주목(self-attention)을 사용하고 디코더는 단방향 주목을 사용합니다.

멀티 헤드 셀프 어텐션이란 무엇인가요?

각 셀프 어텐션 레이어는 일반적으로 여러 개의 셀프 어텐션 헤드로 구성됩니다. 레이어의 출력은 여러 헤드의 출력에 대한 수학적 연산(예: 가중 평균 또는 내적)입니다.

각 자체 어텐션 레이어는 임의 값으로 초기화되므로 각 헤드는 주의를 기울이는 각 단어와 주변 단어 간의 서로 다른 관계를 학습할 수 있습니다. 예를 들어 이전 섹션에서 설명한 셀프 어텐션 계층은 호칭 it이 참조하는 명사를 결정하는 데 중점을 두었습니다. 하지만 다른 자체 주의 레이어는 각 단어와 다른 모든 단어의 문법적 관련성을 학습하거나 다른 상호작용을 학습할 수 있습니다.

트랜스포머가 왜 그렇게 큰가요?

트랜스포저에는 수천억 개 또는 수조 개의 매개변수가 포함됩니다. 이 과정에서는 일반적으로 매개변수 수가 많은 모델보다 매개변수 수가 적은 모델을 빌드할 것을 권장합니다. 결국 매개변수가 적은 모델은 매개변수가 많은 모델보다 예측을 위해 더 적은 리소스를 사용합니다. 하지만 연구에 따르면 매개변수가 더 많은 Transformer는 매개변수가 더 적은 트랜스포머보다 일관되게 우수합니다.

그렇다면 LLM은 어떻게 텍스트를 생성할까요?

연구원이 LLM을 학습하여 누락된 단어를 예측하는 방법을 확인했지만 그다지 인상적이지 않을 수 있습니다. 결국 한두 단어를 예측하는 것은 다양한 텍스트, 이메일, 제작 소프트웨어에 내장된 자동 완성 기능과 본질적으로 다르지 않습니다. LLM이 차익거래에 관한 문장이나 단락 또는 하이쿠를 생성하는 방법을 궁금해하실 수 있습니다.

실제로 LLM은 기본적으로 수천 개의 토큰을 자동으로 예측 (완전)할 수 있는 자동 완성 메커니즘입니다. 예를 들어 다음과 같이 마스킹된 문장이 뒤에 오는 문장을 생각해 보겠습니다.

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

LLM은 다음과 같이 마스킹된 문장에 대한 확률을 생성할 수 있습니다.

확률 단어
3.1% 예를 들어 앉고, 멈춰 있고, 굴러갈 수 있습니다.
2.9% 예를 들어 앉아, 멈춰, 굴러가 방법을 알고 있습니다.

충분히 큰 LLM은 단락과 전체 에세이에 대한 확률을 생성할 수 있습니다. LLM에 대한 사용자의 질문은 '주어진' 문장 뒤에 가상의 마스크가 오는 것으로 생각할 수 있습니다. 예를 들면 다음과 같습니다.

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

LLM은 다양한 가능한 응답에 대한 확률을 생성합니다.

또 다른 예로, 수학 '서술형 문제'를 대량으로 학습한 LLM은 정교한 수학적 추론을 하는 것처럼 보일 수 있습니다. 하지만 이러한 LLM은 기본적으로 단어 문제 프롬프트를 자동 완성하는 것뿐입니다.

LLM의 이점

LLM은 다양한 잠재고객을 위해 명확하고 이해하기 쉬운 텍스트를 생성할 수 있습니다. LLM은 명시적으로 학습된 작업에 대해 예측할 수 있습니다. 일부 연구자들은 LLM이 명시적으로 학습하지 않은 입력에 대해서도 예측을 할 수 있다고 주장하지만, 다른 연구자들은 이 주장을 반박합니다.

LLM 관련 문제

LLM을 학습시키는 데는 다음과 같은 많은 문제가 수반됩니다.

  • 대규모 학습 세트 수집
  • 수개월의 시간과 엄청난 양의 컴퓨팅 리소스 및 전기를 소비합니다.
  • 동시 실행 문제를 해결합니다.

LLM을 사용하여 예측을 추론하면 다음과 같은 문제가 발생합니다.

  • LLM은 환각을 일으키므로 예측에 오류가 포함되는 경우가 많습니다.
  • LLM은 엄청난 양의 컴퓨팅 리소스와 전력을 소비합니다. 대규모 데이터 세트에서 LLM을 학습하면 일반적으로 추론에 필요한 리소스 양이 줄어들지만, 대규모 학습 세트는 더 많은 학습 리소스를 발생시킵니다.
  • 모든 ML 모델과 마찬가지로 LLM도 모든 종류의 편향을 나타낼 수 있습니다.

연습문제: 이해도 확인

Transformer가 elephant라는 단어가 하나 이상 포함된 수천 개의 문서를 포함하여 10억 개의 문서로 학습되었다고 가정해 보겠습니다. 다음 중 어느 것이 사실일 가능성이 가장 높을까요?
코끼리의 중요한 식단인 아카시아 나무코끼리라는 단어와 함께 점차 높은 셀프 어텐션 점수를 얻게 됩니다.
예. 이렇게 하면 Transformer가 코끼리의 식단에 관한 질문에 답변할 수 있습니다.
변환기는 elephant라는 단어를 elephant라는 단어가 포함된 다양한 관용어와 연결합니다.
예, 시스템이 코끼리라는 단어와 코끼리 관용구에 있는 다른 단어 사이에 높은 셀프 어텐션 점수를 부여하기 시작합니다.
Transformer는 학습 데이터에서 elephant라는 단어를 비꼬거나 아이러니하게 사용하는 경우를 점차 무시하도록 학습합니다.
충분히 광범위한 학습 세트에서 학습된 충분히 큰 트랜스포저는 비꼬음, 유머, 아이러니를 인식하는 데 매우 능숙해집니다. 따라서 Transformer는 냉소와 반어법을 무시하지 않고 그로부터 배웁니다.