Позиционное кодирование

Позиционное кодирование — способ, которым трансформер узнаёт, где в последовательности стоит токен. Внимание по своей конструкции слепо к порядку: оно вычисляет связи между всеми парами токенов, не имея представления о том, какой был раньше, так что сырой трансформер читал бы предложение как мешок слов. Позиционное кодирование решает это, добавляя сведения о позиции в представления токенов — исторически фиксированными синусоидальными узорами, позже обучаемыми векторами позиций, а в большинстве нынешних моделей поворотом, применяемым прямо внутри вычисления внимания, так что модель видит относительное расстояние между двумя токенами, а не их абсолютные номера. Практические следствия проявляются у границ контекстного окна. Модель, обученная преимущественно на коротких последовательностях, видела мало примеров очень больших позиционных смещений, поэтому качество часто падает не ровно на заявленном лимите контекста, а раньше — одна из причин, по которой система поиска, подающая небольшой и хорошо отобранный набор фрагментов, всё ещё обыгрывает ту, что вставляет всё подряд. Обработкой позиций объясняется и то, почему важен порядок внутри промпта: инструкции, найденный контекст и вопрос пользователя стоят на разном расстоянии от генерируемых токенов, и перенос ключевой инструкции из середины длинного промпта в конец — реальное измеримое изменение, а не стилистическое.

Похожие термины

Ещё термины: Основы ИИ