Краткое содержание : Новые языковые модели могут быть намного меньше, чем GPT-3, но при этом достигать сопоставимых результатов при использовании запросов к базе данных или поиска в Интернете.
Основная идея заключается в том, что создание все более крупных моделей — не единственный способ улучшить качество.
За последние несколько лет появились модели большого языка (LLM), модели машинного обучения, которые способствовали быстрому развитию области машинного обучения и генерации естественного языка.
Некоторые из основных вех развития региона с 2017 года включают:
- Оригинал Трансформатор («Трансформер») бьет предыдущие рекорды по качеству машинного перевода.
- БЕРТ популяризирует процесс предварительного обучения и последующей тонкой настройки, а также контекстуализированное встраивание слов на основе Transformer. Вскоре его начнут использовать в Поиск Гугл И Поиск в Бинге .
- ГПТ-2 демонстрирует способность компьютера достигать качества письма, сравнимого с человеческим.
- Сначала Т5 , а потом Т0 расширяйте границы трансферного обучения (обучение модели для одной задачи, а затем успешное применение ее к связанным), представляя множество различных задач в виде задачи преобразования текста в текст.
- ГПТ-3 показал, что массовое масштабирование генеративных моделей может привести к созданию некоторых из самых удивительных приложений (и отрасль продолжает обучать все более крупные модели, такие как Суслик , МТ-НЛГ и т. д.).
Последние разработки в этой области, такие как РЕТРО Трансформатор от DeepMind и ВебGPT от OpenAI обращают эту тенденцию вспять, показывая, что небольшие модели генеративного языка могут работать так же хорошо, как и более крупные, если мы дополним их возможностью поиска или запроса необходимой информации.
В этой статье рассказывается о РЕТРО ( р поиск- ? случайно ТР ответ О rmer) от DeepMind и как это работает. Модель показывает результаты, сравнимые с GPT-3, несмотря на то, что размер последней составляет всего 4% (7,5 миллиардов параметров против 185 миллиардов у GPT-3 Da Vinci).
RETRO использует дополнительную информацию, извлеченную из базы данных, тем самым освобождая свои параметры от дорогостоящего хранения фактов и знаний о мире.
РЕТРО было представлено в статье Улучшение языковых моделей путем извлечения из триллионов токенов , который основывается на широком спектре работ исследовательского сообщества по задаче извлечения информации и, в свою очередь, расширяет их.
Однако данная статья посвящена объяснению работы самой модели, а не тому, что нового она принесла в эту область исследований.
Почему это важно: отделение языковой информации от мировых знаний Языковое моделирование обучает модели предсказывать следующее слово — по сути, заполнять пробел в конце предложения.
Заполнение бланка иногда требует знания фактической информации (например, имен или дат).
Например:
Входной тег: «Фильм «Дюна» вышел в прокат.».
В остальных случаях знания языка достаточно, чтобы догадаться, что находится на бланке.
Например:
Начальное значение: «его популярность распространилась из уст в уста, что позволило Герберту начать работать на полную мощность…».
Это различие важно, потому что LLM закодировали все, что они знают, в свои параметры.
Хотя эта стратегия имеет смысл для лингвистической информации, она неэффективна для фактической информации и знаний о мире.
Включение метода извлечения информации в языковую модель позволяет уменьшить ее размер.
Нейронная база данных помогает модели извлекать фактическую информацию, необходимую во время генерации текста.
Поддержка методов поиска языковыми моделями позволяет им уменьшить объем информации, которую они должны кодировать в своих параметрах, чтобы эффективно генерировать текст. Для небольших языковых моделей обучение становится быстрым, поскольку уменьшается объем данных, которые необходимо запомнить.
Любой может развернуть эти модели на меньших по размеру и более доступных графических процессорах и настроить их по мере необходимости.
Технически RETRO — это модель кодера-декодера, как и оригинальный Transformer. Однако в RETRO входная последовательность дополняется информацией, извлеченной из базы данных.
Модель находит наиболее вероятные последовательности в базе данных и добавляет их во входные данные.
Именно здесь происходит волшебство, и RETRO генерирует прогноз выходных данных.
RETRO использует базу данных для завершения входной последовательности.
Исходный входной текст используется для извлечения необходимой информации из базы данных.
Прежде чем рассматривать архитектуру модели, давайте более подробно рассмотрим базу данных.
Исследование базы данных для извлечения информации RETRO База данных — это хранилище значений ключей.
Ключом является стандартное встраивание предложения, полученное с помощью BERT. Значение представляет собой текст, состоящий из двух частей:
- «Сосед», который используется для расчета ключа;
- «Завершение» (Completion), продолжение текста в исходном документе.
Заглянув в базу данных RETRO, вы можете увидеть примеры пар ключ-значение.
Значение содержит текст «сосед» и «завершение».
RETRO разбивает входную последовательность на несколько частей.
Для простоты мы сосредоточимся на том, как один фрагмент пополняется извлеченным текстом.
Однако модель выполняет этот процесс для каждого фрагмента (кроме первого) входного текста.
Поиск в базе данных Прежде чем перейти на вход RETRO, входная последовательность проходит через BERT. Полученные контекстуализированные векторы затем усредняются для построения вектора внедрения предложения.
Этот вектор затем используется в качестве запроса к базе данных.
Обработка входной последовательности с помощью BERT создает контекстуализированные внедрения токенов.
Их усреднение дает вложение предложения.
Это встраивание предложения затем используется при приблизительном поиске ближайшего соседа ( https://github.com/google-research/google-research/tree/master/scann ).
Извлекаются два ближайших соседа, и их текст становится частью входных данных для RETRO.
Встраивание предложений из BERT используется для извлечения ближайших соседей из нейронной базы данных RETRO. Затем они добавляются к входным данным языковой модели.
Теперь это входные данные для RETRO. Входная последовательность и два ее ближайших соседа из базы данных (и их продолжения).
С этого момента блоки Трансформатор и РЕТРО включают в свою обработку фактическую информацию.
Полученные соседи добавляются на вход языковой модели.
Однако в модели они обрабатываются немного по-другому.
Высокоуровневая архитектура RETRO Архитектура RETRO представляет собой стек кодера и стек декодера.
RETRO Transformer состоит из стека кодера (для обработки соседей) и стека декодера (для обработки входных данных).
Энкодер состоит из стандартных блоков энкодера Transformer (самообслуживание + FFNN).
Насколько мы можем судить, RETRO использует кодер, состоящий из двух блоков кодировщика Transformer. Стек декодера чередует два типа блоков декодера:
- Блок декодера стандартного трансформатора (ATTN + FFNN)
- Блок декодера RETRO (ATTN + Chunked Cross Attention (CCA) + FFNN)
Три типа блоков-трансформеров, составляющих РЕТРО.
Начнем с рассмотрения стека кодировщика, который обрабатывает извлеченные соседи, в результате чего получаются матрицы KEYS и VALUES, которые позже будут использоваться в механизме внимания (для справки см.
Трансформатор в картинках ).
Стек кодировщика обрабатывает выбранные соседи, в результате чего получаются матрицы KEYS и VALUE. Блоки декодера обрабатывают входной текст так же, как GPT. Он применяет внутреннее внимание к входному токену (причинно, поэтому обращает внимание только на предыдущие токены), а затем передает его через уровень FFNN.
Входная последовательность проходит через стандартный блок декодера, содержащий уровни внутреннего внимания и FFNN. Только после достижения декодера РЕТРО мы начнем включать извлеченную фактическую информацию.
Каждый третий блок, начиная с 9, является блоком RETRO (что позволяет его входным данным обслуживать соседей).
Итак, слои 9, 12, 15.32 являются блоками РЕТРО.
Входная последовательность доходит до блока декодера РЕТРО и начинается поиск информации в базе данных.
Таким образом, на этом этапе модель может найти необходимую дату в извлеченной информации для завершения входной последовательности.
Блок декодера RETRO извлекает информацию от ближайших соседей, используя Chunked Cross-Attention.
Предыдущие работы Дополнение языковых моделей методами извлечения информации — активно развивающееся направление исследований.
Некоторые из предыдущих работ в этой области включают в себя:
- Улучшение моделей нейронного языка с помощью непрерывного кэша
- Обобщение посредством запоминания: языковые модели ближайших соседей
- См.
Поисковая расширенная генерация блог от Meta AI и лекция Джеки Чи Кит Ченга по этой теме Использование внешних знаний в системах распознавания естественного языкаSPALM: адаптивные полупараметрические модели языка
- СПАЛМ: Адаптивные полупараметрические языковые модели
- ДНР: Плотный поиск проходов для ответов на вопросы открытой области
- REALM: Предварительное обучение языковой модели с расширенным поиском
- ФиД: Использование поиска отрывков с генеративными моделями для ответов на вопросы открытого домена
- ДПДГ: Комплексное обучение устройства чтения и извлечения нескольких документов для ответа на вопросы открытого домена
- БлендерБот 2.0: Генерация диалогов, дополненных Интернетом
- Оригинальный автор — Джей Аламмар
- Перевод – Смирнова Екатерина
- Редактирование и верстка – Шкарин Сергей
-
Более Эффективная Защита Ip-Телефонов Snom
19 Oct, 24 -
Выбор Правильного Dns
19 Oct, 24 -
Трагическая История. Алгоритм Rsa
19 Oct, 24 -
Выбор Размера
19 Oct, 24