언어 모델이란 무엇인가요?
언어 모델은 더 긴 토큰 시퀀스 내에서 발생하는 토큰 또는 토큰 시퀀스의 확률을 추정합니다. 토큰은 단어, 하위 단어 (단어의 하위 집합), 단일 문자일 수 있습니다.
다음 문장과 문장을 완성할 수 있는 토큰을 고려해 보세요.
When I hear rain on my roof, I _______ in my kitchen.
언어 모델은 빈칸을 채우기 위해 다양한 토큰 또는 토큰 시퀀스의 확률을 결정합니다. 예를 들어 다음 확률 표에서는 가능한 토큰과 해당 확률을 식별합니다.
| 확률 | 토큰 |
|---|---|
| 9.4% | 수프 요리 |
| 5.2% | 주전자를 데우다 |
| 3.6% | 웅크리다 |
| 2.5% | 낮잠 |
| 2.2% | 휴식 |
경우에 따라 토큰 시퀀스는 전체 문장, 단락 또는 전체 에세이가 될 수 있습니다.
애플리케이션은 확률 표를 사용하여 예측할 수 있습니다. 예측은 확률이 가장 높은 것 (예: '수프 끓이기')일 수도 있고, 특정 기준점을 초과하는 확률을 가진 토큰에서 무작위로 선택한 것일 수도 있습니다.
텍스트 시퀀스의 빈칸을 채울 확률을 추정하는 것은 다음을 비롯한 더 복잡한 작업으로 확장할 수 있습니다.
- 텍스트 생성
- 텍스트를 한 언어에서 다른 언어로 번역합니다.
- 문서 요약
토큰의 통계적 패턴을 모델링함으로써 최신 언어 모델은 언어의 매우 강력한 내부 표현을 개발하고 그럴듯한 언어를 생성할 수 있습니다.
N-gram 언어 모델
N-그램은 언어 모델을 빌드하는 데 사용되는 순서가 지정된 단어 시퀀스이며, 여기서 N은 시퀀스의 단어 수입니다. 예를 들어 N이 2인 경우 N-그램을 2-그램 (또는 바이그램)이라고 하고, N이 5인 경우 N-그램을 5-그램이라고 합니다. 학습 문서에 다음 문구가 있다고 가정해 보겠습니다.
you are very nice
결과 2-gram은 다음과 같습니다.
- 다음과 같은 경우
- 매우
- 대단하다
N이 3이면 N-그램을 3-그램 (또는 트라이그램)이라고 합니다. 동일한 구문이 주어지면 결과 3-그램은 다음과 같습니다.
- 매우
- 매우 좋습니다.
3그램 기반 언어 모델은 두 단어를 입력으로 받아 세 번째 단어의 가능성을 예측할 수 있습니다. 예를 들어 다음 두 단어가 있다고 가정해 보겠습니다.
orange is
언어 모델은 학습 코퍼스에서 파생되고 orange is로 시작하는 모든 3그램을 검사하여 가장 가능성이 높은 세 번째 단어를 결정합니다.
수백 개의 3그램이 orange is이라는 두 단어로 시작할 수 있지만 다음 두 가지 가능성에만 집중할 수 있습니다.
orange is ripe orange is cheerful
첫 번째 가능성 (orange is ripe)은 과일 오렌지에 관한 것이고 두 번째 가능성 (orange is cheerful)은 색상 오렌지에 관한 것입니다.
컨텍스트
사람은 비교적 긴 컨텍스트를 유지할 수 있습니다. 연극 3막을 보는 동안 1막에서 소개된 등장인물에 관한 지식을 유지합니다. 마찬가지로 긴 농담의 펀치 라인은 농담의 설정에서 맥락을 기억할 수 있기 때문에 웃음을 유발합니다.
언어 모델에서 컨텍스트는 타겟 토큰 전후의 유용한 정보입니다. 컨텍스트는 언어 모델이 '오렌지'가 감귤류 과일을 의미하는지 아니면 색상을 의미하는지 판단하는 데 도움이 됩니다.
컨텍스트는 언어 모델이 더 나은 예측을 하는 데 도움이 될 수 있지만 3그램이 충분한 컨텍스트를 제공할까요? 안타깝게도 3-gram이 제공하는 유일한 컨텍스트는 처음 두 단어입니다. 예를 들어 두 단어 orange is는 언어 모델이 세 번째 단어를 예측하기에 충분한 컨텍스트를 제공하지 않습니다.
컨텍스트가 부족하기 때문에 3-gram 기반 언어 모델은 실수를 많이 합니다.
긴 N-그램은 짧은 N-그램보다 더 많은 맥락을 제공합니다. 하지만 N이 증가하면 각 인스턴스의 상대적 발생이 감소합니다. N이 매우 커지면 언어 모델에는 일반적으로 N 토큰의 각 발생에 대한 단일 인스턴스만 있으므로 타겟 토큰을 예측하는 데 별로 도움이 되지 않습니다.
순환 신경망
순환 신경망은 N-그램보다 더 많은 컨텍스트를 제공합니다. 순환 신경망은 토큰 시퀀스를 학습하는 신경망의 한 유형입니다. 예를 들어 순환 신경망은 사람이 말하는 것을 들을 때와 마찬가지로 문장의 각 단어에서 선택된 컨텍스트를 점진적으로 학습하고 무시하도록 학습할 수 있습니다. 대규모 순환 신경망은 여러 문장으로 구성된 구절에서 컨텍스트를 파악할 수 있습니다.
순환 신경망은 N-gram보다 더 많은 컨텍스트를 학습하지만 순환 신경망이 직관적으로 파악할 수 있는 유용한 컨텍스트의 양은 여전히 상대적으로 제한적입니다. 순환 신경망은 정보를 '토큰별'로 평가합니다. 반면, 다음 섹션에서 다룰 대규모 언어 모델은 전체 맥락을 한 번에 평가할 수 있습니다.
긴 컨텍스트의 순환 신경망 학습은 기울기 소실 문제로 인해 제한됩니다.
연습: 학습 내용 점검하기
- 6그램 기반 언어 모델
- 5그램 기반 언어 모델