언어 모델이란 무엇인가요?
언어 모델은 더 긴 토큰 시퀀스 내에 토큰 또는 토큰 시퀀스가 발생할 확률을 추정합니다. 토큰은 단어, 하위 단어(단어의 하위 집합), 단일 문자일 수 있습니다.
다음 문장과 이 문장을 완성할 수 있는 토큰을 생각해 보세요.
When I hear rain on my roof, I _______ in my kitchen.
언어 모델은 빈칸을 채우는 데 사용될 수 있는 다양한 토큰 또는 토큰 시퀀스의 확률을 결정합니다. 예를 들어 확률 테이블은 가능한 토큰과 그 확률을 식별합니다.
확률 | 토큰 |
---|---|
9.4% | 수프 요리 |
5.2% | 주전자를 데우기 |
3.6% | 몸을 움츠리다 |
2.5% | 낮잠 |
2.2% | 휴식 |
어떤 상황에서는 토큰의 시퀀스가 한 문장의 전체 문장이 될 수 있습니다. 단락 또는 에세이 전체의 내용이 포함됩니다.
애플리케이션은 확률 표를 사용하여 예측할 수 있습니다. 예측은 가장 높은 확률(예: 'cook soup')일 수도 있고 특정 임곗값보다 높은 확률을 가진 토큰 중에서 무작위로 선택된 토큰일 수도 있습니다.
텍스트 시퀀스에서 빈칸을 채울 확률을 추정하면 다음과 같은 보다 복잡한 작업으로도 확장됩니다.
- 텍스트를 생성하는 중입니다.
- 텍스트를 한 언어에서 다른 언어로 번역
- 문서 요약
토큰의 통계적 패턴을 모델링함으로써 최신 언어 모델은 매우 강력한 언어 내부 표현을 생성하고 이를 통해 있습니다.
N-gram 언어 모델
N-그램은 언어 모델을 만드는 데 사용되는 단어의 순서가 지정된 시퀀스입니다. 여기서 N은 시퀀스의 단어 수입니다. 예를 들어 N이 2인 경우 N-그램은 2-그램(또는 빅그램)이라고 합니다. N이 5인 경우 N-그램은 5-그램이라고 합니다. 학습 문서에 다음과 같은 문구가 있습니다.
you are very nice
그 결과 2-그램은 다음과 같습니다.
- 나는
- 매우
- 대단하다
N이 3인 경우 N-그램을 3-그램(또는 트라이그램)이라고 합니다. 같은 구문에서 결과 3-그램은 다음과 같습니다.
- 넌 정말
- 진짜 친절해
두 단어가 입력으로 주어지면 3-그램을 기반으로 하는 언어 모델은 확률을 평가합니다. 예를 들어 다음 두 단어가 있다고 가정해 보겠습니다.
orange is
언어 모델은 학습에서 파생된 다양한 3-그램을 모두 검사함
orange is
로 시작하는 코퍼스의 조합을 사용하여 가능성이 가장 높은 세 번째 단어를 결정합니다.
수백 개의 3-그램이 orange is
라는 두 단어로 시작할 수 있지만,
다음 두 가지 가능성에만 집중하세요.
orange is ripe orange is cheerful
첫 번째 가능성 (orange is ripe
)은 과일 주황색에 관한 것이고
두 번째 가능성 (orange is cheerful
)은 색상에 관한 것입니다.
주황색입니다.
컨텍스트
인간은 비교적 긴 맥락을 유지할 수 있습니다. 연극의 3막을 시청하는 동안 1막에서 소개된 캐릭터에 관한 지식을 유지합니다. 마찬가지로 장황한 농담을 보내면 맥락을 기억할 수 있어 웃음을 자아냅니다. 장난이 아니더라도 말이죠.
언어 모델에서는 컨텍스트가 대상 토큰입니다. 컨텍스트는 언어 모델이 '주황색'인지 여부를 판단하는 데 감귤류 과일 또는 색상을 나타냅니다.
문맥은 언어 모델이 더 나은 예측을 하는 데 도움이 될 수 있지만 3-gram은 충분한 문맥을 제공하나요? 안타깝게도 3-그램의 유일한 컨텍스트는
첫 두 단어입니다 예를 들어 orange is
라는 두 단어는 언어 모델이 세 번째 단어를 예측하기에 충분한 컨텍스트를 제공하지 않습니다.
3-그램을 기반으로 하는 언어 모델은 컨텍스트의 부족으로 인해 많은 실수를 합니다.
긴 N-그램은 짧은 N-그램보다 더 많은 맥락을 제공합니다. 그러나 N이 커질수록 각 인스턴스의 상대적 발생 횟수는 감소합니다. N이 매우 커지면 언어 모델에는 일반적으로 N 토큰이 각 발생마다 단일 인스턴스만 있으므로 타겟 토큰을 예측하는 데 큰 도움이 되지 않습니다.
순환 신경망(RNN)
순환 신경망은 N-그램보다 더 많은 컨텍스트를 제공합니다. 순환 신경망은 신경망의 학습합니다. 예를 들어 순환 신경망은 각 단어에서 선택된 컨텍스트를 점진적으로 학습하고 이를 무시하는 방법을 학습하게 됨 문장을 만듭니다. 대규모 순환 신경망은 여러 개의 문장에서 컨텍스트를 획득할 수 있음 학습합니다.
순환 신경망은 N-그램보다 더 많은 컨텍스트를 학습하지만 반복 신경망이 직관적으로 이해할 수 있는 것은 제한됩니다. 순환 신경망은 '토큰별로' 정보를 평가합니다. 이와 대조적으로 대규모 언어 모델은 섹션 - 전체 맥락을 한 번에 평가할 수 있습니다.
긴 컨텍스트에 대해 순환 신경망을 학습시키는 것은 소실 경사 문제에 대해 자세히 알아보세요.
연습문제: 학습 내용 점검하기
- 6-그램을 기반으로 하는 언어 모델
- 5-그램을 기반으로 하는 언어 모델