Что такое языковая модель?
Языковая модель оценивает вероятность появления токена или последовательности токенов в более длинной последовательности токенов. Токеном может быть слово, подслово (подмножество слова) или даже один символ.
Рассмотрим следующее предложение и токен(ы), которые могут его завершить:
When I hear rain on my roof, I _______ in my kitchen.
Языковая модель определяет вероятность того, что различные токены или последовательности токенов заполнят этот пробел. Например, следующая таблица вероятностей определяет некоторые возможные токены и их вероятности:
Вероятность | Токен(ы) |
---|---|
9,4% | приготовить суп |
5,2% | разогреть чайник |
3,6% | съеживаться |
2,5% | вздремнуть |
2,2% | расслабляться |
В некоторых ситуациях последовательность токенов может составлять целое предложение, абзац или даже целое эссе.
Приложение может использовать таблицу вероятностей для прогнозирования. Прогнозом может быть наибольшая вероятность (например, «приготовить суп») или случайный выбор жетонов, вероятность которых превышает определенный порог.
Оценку вероятности того, что заполняет пробел в текстовой последовательности, можно распространить на более сложные задачи, в том числе:
- Генерация текста.
- Перевод текста с одного языка на другой.
- Обобщающие документы.
Моделируя статистические закономерности токенов, современные языковые модели создают чрезвычайно мощные внутренние представления языка и могут генерировать правдоподобный язык.
N-граммные языковые модели
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-грамма достаточный контекст? К сожалению, единственный контекст, который предоставляет 3-грамма, — это первые два слова. Например, два слова orange is
не обеспечивают достаточного контекста для языковой модели, чтобы предсказать третье слово. Из-за отсутствия контекста языковые модели, основанные на 3-граммах, допускают много ошибок.
Более длинные N-граммы, безусловно, дадут больше контекста, чем более короткие N-граммы. Однако по мере роста N относительная встречаемость каждого экземпляра уменьшается. Когда N становится очень большим, языковая модель обычно имеет только один экземпляр каждого экземпляра N токенов, что не очень полезно для прогнозирования целевого токена.
Рекуррентные нейронные сети
Рекуррентные нейронные сети предоставляют больше контекста, чем N-граммы. Рекуррентная нейронная сеть — это тип нейронной сети , которая обучается на последовательности токенов. Например, рекуррентная нейронная сеть может постепенно изучать (и учиться игнорировать) выбранный контекст каждого слова в предложении, примерно так же, как вы это делаете, слушая чью-то речь. Большая рекуррентная нейронная сеть может получить контекст из отрывка из нескольких предложений.
Хотя рекуррентные нейронные сети изучают больше контекста, чем N-граммы, количество полезного контекста, которое рекуррентные нейронные сети могут интуитивно понять, все еще относительно ограничено. Рекуррентные нейронные сети оценивают информацию «токен за токеном». Напротив, большие языковые модели (тема следующего раздела) могут оценивать весь контекст сразу.
Обратите внимание, что обучение рекуррентных нейронных сетей для длинных контекстов ограничено проблемой исчезающего градиента .
Упражнение: Проверьте свое понимание.
- Языковая модель на основе 6-грамм
- Языковая модель на основе 5-грамм