최신 기술인 대규모 언어 모델 (LLM)은 토큰 또는 토큰 시퀀스를 예측하며, 때로는 여러 단락에 해당하는 예측 토큰을 예측하기도 합니다. 토큰은 단어, 하위 단어 (단어의 하위 집합), 단일 문자일 수 있습니다. LLM은 다음과 같은 이유로 N-gram 언어 모델이나 순환 신경망보다 훨씬 더 나은 예측을 수행합니다.
- LLM에는 순환 모델보다 훨씬 많은 매개변수가 포함되어 있습니다.
- LLM은 훨씬 더 많은 컨텍스트를 수집합니다.
이 섹션에서는 LLM 빌드에 가장 성공적이고 널리 사용되는 아키텍처인 트랜스포머를 소개합니다.
트랜스포머란 무엇인가요?
트랜스포머는 번역과 같은 다양한 언어 모델 애플리케이션을 위한 최신 아키텍처입니다.

전체 트랜스포머는 인코더와 디코더로 구성됩니다.
예를 들어 번역기에서 다음과 같이 사용할 수 있습니다.
- 인코더는 입력 텍스트 (예: 영어 문장)를 중간 표현으로 처리합니다.
- 디코더는 중간 표현을 출력 텍스트 (예: 이에 상응하는 프랑스어 문장)로 변환합니다.

셀프 어텐션이란 무엇인가요?
컨텍스트를 강화하기 위해 트랜스포머는 셀프 어텐션이라는 개념에 크게 의존합니다. 효과적으로, 입력의 각 토큰을 대신하여 셀프 어텐션은 다음 질문을 합니다.
'입력의 다른 토큰이 이 토큰의 해석에 얼마나 영향을 미치나요?'
'자체 주목'의 '자체'는 입력 시퀀스를 나타냅니다. 일부 어텐션 메커니즘은 입력 토큰과 출력 시퀀스(예: 번역)의 토큰 또는 다른 시퀀스의 토큰 간의 관계에 가중치를 부여합니다. 하지만 self-attention은 입력 시퀀스에서 토큰 간 관계의 중요도에만 가중치를 부여합니다.
간단하게 하기 위해 각 토큰이 단어이고 전체 컨텍스트는 단일 문장이라고 가정합니다. 다음 문장을 생각해 보세요.
The animal didn't cross the street because it was too tired.
위 문장에는 11개의 단어가 포함되어 있습니다. 11개의 단어 각각은 다른 10개의 단어에 주의를 기울이며 각 단어가 자신에게 얼마나 중요한지 궁금해합니다. 예를 들어 문장에 대명사 it이 포함되어 있습니다. 대명사는 모호한 경우가 많습니다. 대명사 it은 일반적으로 최근 명사 또는 명사구를 가리키지만, 예시 문장에서 it은 어떤 최근 명사를 가리키나요? 동물인가요, 아니면 거리인가요?
셀프 어텐션 메커니즘은 it이라는 대명사와 각 주변 단어 간의 관련성을 결정합니다. 그림 3은 결과를 보여줍니다. 선이 파란색에 가까울수록 해당 단어가 대명사 it에 더 중요합니다. 즉, 동물이 거리보다 대명사 그것에 더 중요합니다.

반대로 문장의 마지막 단어가 다음과 같이 변경된다고 가정해 보겠습니다.
The animal didn't cross the street because it was too wide.
이 수정된 문장에서 셀프 어텐션은 대명사 it에 대해 animal보다 street이 더 관련성이 높다고 평가할 것입니다.
일부 셀프 어텐션 메커니즘은 양방향입니다. 즉, 어텐션이 적용되는 단어의 앞에 오는 토큰과 뒤에 오는 토큰의 관련성 점수를 계산합니다. 예를 들어 그림 3에서 it의 양쪽 단어가 검사됩니다. 따라서 양방향 자체 주의 메커니즘은 주의를 기울이는 단어의 양쪽 단어에서 맥락을 수집할 수 있습니다. 반면 단방향 자체 주목 메커니즘은 주목하는 단어의 한쪽에 있는 단어에서만 맥락을 수집할 수 있습니다. 양방향 자체 주목은 전체 시퀀스의 표현을 생성하는 데 특히 유용하며, 토큰별로 시퀀스를 생성하는 애플리케이션에는 단방향 자체 주목이 필요합니다. 이러한 이유로 인코더는 양방향 자체 주목을 사용하는 반면 디코더는 단방향을 사용합니다.
멀티 헤드 멀티 레이어 셀프 어텐션이란 무엇인가요?
각 셀프 어텐션 레이어는 일반적으로 여러 셀프 어텐션 헤드로 구성됩니다. 레이어의 출력은 다양한 헤드의 출력에 대한 수학 연산 (예: 가중 평균 또는 내적)입니다.
각 헤드의 매개변수는 무작위 값으로 초기화되므로 서로 다른 헤드는 주의를 기울이는 각 단어와 주변 단어 간의 서로 다른 관계를 학습할 수 있습니다. 예를 들어 이전 섹션에 설명된 셀프 어텐션 헤드는 대명사 it이 가리키는 명사를 결정하는 데 중점을 두었습니다. 하지만 동일한 레이어 내의 다른 셀프 어텐션 헤드는 각 단어와 다른 모든 단어 간의 문법적 관련성을 학습하거나 다른 상호작용을 학습할 수 있습니다.
완전한 트랜스포머 모델은 여러 셀프 어텐션 레이어를 서로 위에 쌓습니다. 이전 레이어의 출력이 다음 레이어의 입력이 됩니다. 이러한 스태킹을 통해 모델은 텍스트에 대한 점진적으로 더 복잡하고 추상적인 이해를 구축할 수 있습니다. 이전 레이어는 기본 문법에 중점을 두는 반면, 더 깊은 레이어는 이 정보를 통합하여 전체 입력에 걸쳐 감정, 맥락, 주제별 연결과 같은 더 미묘한 개념을 파악할 수 있습니다.
트랜스포머가 이렇게 큰 이유는 무엇인가요?
트랜스포머에는 수천억 또는 수조 개의 매개변수가 포함되어 있습니다. 이 과정에서는 일반적으로 매개변수 수가 많은 모델보다 매개변수 수가 적은 모델을 빌드하는 것이 좋습니다. 결국 매개변수 수가 적은 모델은 매개변수 수가 많은 모델보다 예측을 생성하는 데 더 적은 리소스를 사용합니다. 하지만 연구에 따르면 매개변수가 많은 트랜스포머가 매개변수가 적은 트랜스포머보다 일관되게 성능이 우수합니다.
하지만 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은 다양한 편향을 나타낼 수 있습니다.