Разбор
Трансформер в машинном обучении: как работает внимание
Объясняем архитектуру Transformer: токены, представления, внимание и порядок элементов. Чем архитектура отличается от конкретного чат-бота и его возможностей.
Трансформер, Transformer, - архитектура нейронной сети для работы с представлениями элементов и связями между ними через механизм внимания. Исходная работа «Attention Is All You Need» была опубликована в 2017 году и описывала архитектуру для задач преобразования последовательностей, включая перевод.
Название архитектуры не задаёт все возможности готового продукта. Конкретная модель зависит от устройства, данных, обучения и настройки, а приложение вокруг неё добавляет поиск, инструменты и интерфейс.
От текста к представлениям
Текст сначала разбивается на токены по правилам выбранного токенизатора. Токен может соответствовать части слова, слову или другому фрагменту. Поэтому число токенов не совпадает автоматически с числом слов или символов.
Токены получают числовые представления. Входная последовательность обрабатывается слоями сети, где представления меняются с учётом других элементов. Для описания идеи достаточно понимать, что модель работает с числами, а не с человеческими определениями слов.
Если интересует именно поиск по таким представлениям, есть отдельный разбор эмбеддингов. Внутренние представления языковой модели и специально выбранная модель для поиска решают связанные, но не одинаковые задачи.
Что делает внимание
Механизм attention вычисляет, как при обновлении представления учитывать другие элементы последовательности. В исходной архитектуре используются преобразования, обозначаемые query, key и value, и несколько голов внимания.
Несколько голов позволяют строить разные способы учёта связей. Это вычислительная конструкция. Из самого названия нельзя заключить, что сеть осознанно рассуждает о тексте или что визуальная карта внимания полностью объясняет конкретный ответ.
В исходном Transformer внимание сочеталось с другими слоями и позиционной информацией. Порядок элементов важен: одни и те же слова в другой последовательности могут описывать другую ситуацию.
Почему нужны ограничения на доступный контекст
В задаче последовательного порождения текста модель не должна использовать будущую часть правильного ответа как уже известный вход для текущего предсказания. Для этого в соответствующих блоках применяется маскирование доступных позиций.
Рабочий объём контекста и детали обработки зависят от конкретной модели и реализации. Указание «это трансформер» не сообщает допустимую длину документа или гарантированное качество работы с ним.
Даже если весь документ помещается во вход, нужные сведения могут быть использованы неточно. Проверять следует конкретные задачи: поиск условия, сопоставление двух фрагментов, учёт исключения или получение ответа с опорой на источник.
Обучение и использование - разные этапы
При обучении меняются параметры модели. При обычном запросе к уже обученной системе входной текст влияет на текущую обработку, но сам факт диалога не означает, что базовые параметры переобучились.
Приложение может отдельно сохранять историю, извлекать документы и добавлять их в новый запрос. Такие механизмы нужно отличать от обучения сети. Аналогично примеры в промпте задают контекст текущей задачи: как работает few-shot.
Как оценивать готовую систему
Определите ожидаемый результат и проверочный набор. Для суммаризации нужна точность по исходнику, для классификации - согласованные категории, для работы с документами - соблюдение условий и границ источника.
Сравните несколько вариантов на одинаковых данных, проверьте ошибки и стоимость процесса. Архитектура объясняет часть устройства технологии, а пригодность конкретной модели подтверждается её работой в выбранной задаче.
Есть вопрос по теме?
Разберу вашу ситуацию и предложу конкретный шаг
Источники
Читайте также
Канал «Лёха Маркетолог»
Практика без воды: кейсы, инсайты, разборы. 1–2 поста в неделю.
Пока без комментариев. Будьте первым.