Что такое языковая модель?
Языковая модель оценивает вероятность появления токена или последовательности токенов в более длинной последовательности токенов. Токеном может быть слово, подслово (подмножество слова) или даже отдельный символ.
Рассмотрим следующее предложение и подходящие для его завершения слова:
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-граммы, объем полезного контекста, который они могут интуитивно воспринять, все еще относительно ограничен. Рекуррентные нейронные сети оценивают информацию «токен за токеном». В отличие от них, большие языковые модели — тема следующего раздела — могут оценивать весь контекст сразу.
Следует отметить, что обучение рекуррентных нейронных сетей для длительных контекстов ограничено проблемой затухания градиента .
Упражнение: Проверьте свои знания
- Языковая модель, основанная на 6-граммах.
- Языковая модель, основанная на 5-граммах.