BLOOM — это модель преобразователя с открытым доступом, состоящая только из декодера и состоящая из 176B параметров, разработанная совместно сотнями исследователей с целью демократизации передовой технологии LLM. Обученный на корпусе ROOTS, охватывающем различные языки, BLOOM демонстрирует высокую производительность в различных тестах, особенно после тонкой настройки многозадачности.

Набор обучающих данных

BLOOM обучен на корпусе ROOTS, составной коллекции из 498 наборов данных Hugging Face объемом 1,61 терабайта текста, охватывающих 46 естественных языков и 13 языков программирования.

Большая часть корпуса была составлена ​​совместно участниками семинаров и исследовательскими коллективами, в результате чего был создан «Каталог большой науки», содержащий 252 источника на разных языках, по крайней мере, по 21 источнику на каждую языковую категорию, дополненный местными веб-сайтами и набором данных по языкам программирования. Также был включен снимок OSCAR Common Crawl за февраль 2021 года, составляющий 38% корпуса, чтобы удовлетворить требования к объему данных.

Каталог был дополнительно дополнен набором данных по языкам программирования, собранным из коллекции данных GitHub в Google BigQuery, из которой затем были дедуплицированы точные совпадения.

Предварительная обработка данных

Получение исходных данных

  • Получение исходных данных включало сбор текстовых данных из различных текстовых источников.
  • Источники данных включали наборы данных НЛП, файлы PDF, записи веб-сайтов и файлы Common Crawl WARC.
  • Текст был извлечен и обработан из наборов данных ответов на вопросы, обобщения и диалогов.
  • PDF-файлы из архивов, таких как французский репозиторий научных статей, были очищены и обработаны.
  • Текст был извлечен из 192 записей веб-сайтов из каталога и 456 географически разнесенных веб-сайтов.
  • Были разработаны новые инструменты для извлечения текста из HTML в файлах Common Crawl WARC.
  • Полезные текстовые данные были найдены и извлечены из всех URL-адресов, присутствующих на 539 веб-сайтах.

Качественная фильтрация

  • Текст, полученный из различных источников, содержал элементы неестественного языка, такие как ошибки предварительной обработки, SEO-страницы и спам (в том числе порнографический).
  • Были определены показатели качества для фильтрации неестественного языка и определения высококачественного текста.
  • Высококачественный текст определяется как «написанный людьми для людей» без учета содержания и грамматики.
  • Индикаторы были адаптированы к конкретным потребностям каждого языка свободно говорящими, корректируя параметры и поддерживая списки терминов.
  • Каждый отдельный источник был проверен вручную, чтобы определить, какие индикаторы были наиболее эффективными в обнаружении неестественного языка.
  • Для помощи в оценке воздействия показателей использовались инструменты визуализации.

Дедупликация и снижение конфиденциальности

  • Для удаления почти повторяющихся документов были предприняты два шага дедупликации.
  • Личная информация (PII), такая как номера социального страхования, была идентифицирована из версии корпуса OSCAR.
  • Версия OSCAR считалась источником наибольшего риска для конфиденциальности.
  • К идентифицированным личным данным применялось редактирование на основе регулярных выражений, даже если были некоторые ложные срабатывания.

Запрашиваемые наборы данных

Точная настройка многозадачных подсказок включает в себя обучение языковой модели с помощью смеси задач с использованием подсказок на естественном языке, как продемонстрировал T0 (часть BigScience), который показал высокую производительность задач с нулевым результатом после тонкой настройки. T0 использовал подсказки из Общедоступного пула подсказок (P3), коллекции из более чем 2000 подсказок, охватывающих более 170 наборов данных для различных задач, исключая вредоносный контент. Инструментарий с открытым исходным кодом под названием Promptsource облегчает создание подсказок. BLOOMZ, созданный на основе BLOOM посредством тонкой настройки многозадачности, получил многоязычные возможности нулевого выстрела с помощью xP3, расширенного набора данных, охватывающего 46 языков и 16 задач, с как межъязыковыми, так и одноязычными подсказками, в том числе с машинным переводом (xP3mt) и добавленными метаданными.

Модельная архитектура

Для исходной архитектуры Transformer было предложено несколько модификаций, таких как альтернативные позиционные вложения и новые функции активации. Таким образом, после серии экспериментов по оценке преимуществ каждой из этих модификаций BLOOM приняла два архитектурных отклонения:

Позиционное внедрение ALiBi Вместо добавления позиционной информации на слой внедрения ALiBi напрямую снижает показатели внимания в зависимости от того, насколько далеко находятся ключи и запросы. Хотя ALiBi изначально был мотивирован своей способностью экстраполировать на более длинные последовательности, он также привел к более плавному обучению и лучшей производительности в дальнейшем даже при исходной длине последовательности, превосходя как обученные, так и ротационные встраивания.

Embedding LayerNorm В предварительных экспериментах по обучению модели параметров 104B добавление дополнительной нормализации слоя сразу после слоя внедрения значительно улучшило стабильность обучения. Несмотря на то, что это наказывает нулевое обобщение, BLOOM обучается с помощью нормализации слоя внедрения.

Токенизация

Проектными решениями при обучении токенизатора часто пренебрегают в пользу настроек «по умолчанию». Однако разнообразный характер обучающих данных BLOOM требует тщательного выбора дизайна, чтобы гарантировать, что токенизатор кодирует предложения без потерь.

Проверка Эффективность токенизатора подтверждается путем сравнения его плодовитости с существующими одноязычными токенизаторами, причем высокая рождаемость потенциально указывает на снижение производительности последующих многоязычных токенизаторов.

Размер словарного запасабольшой размер словарного запаса снижает риск чрезмерной сегментации, особенно для языков с ограниченными ресурсами. Выбранный размер словаря в 250 680 токенов также соответствует эффективности графического процессора и требованиям тензорного параллелизма.

BPE на уровне байтовТокенизатор — это изученный токенизатор подслов, обученный с использованием алгоритма кодирования пар байтов (BPE).

Нормализация Нормализация Unicode, хотя и не сильно влияет на рождаемость (0,8%), но ухудшает общность модели, например, приводя к тому, что ²² и 22 кодируются одинаково.

Предварительный токенизатор Предварительная токенизация преследует две цели: создание первого разделения текста (обычно с использованием пробелов и знаков препинания) и ограничение максимальной длины последовательностей токенов, создаваемых алгоритмом BPE. Используемое правило предварительной токенизации представляло собой следующее регулярное выражение:

который разделяет слова на части, сохраняя при этом все символы и, в частности, последовательность пробелов и разрывов строк, которые имеют решающее значение для языков программирования. Избегаются англоориентированные разделения, распространенные в других токенизаторах (например, разделение вокруг ’nt или ’ll), а также по числам и цифрам.

Обучение

Предварительная тренировка

Шесть вариантов BLOOM были обучены с использованием конкретных гиперпараметров, определенных на основе экспериментальных результатов и предыдущих исследований больших языковых моделей.

Точная настройка многозадачности

Точно настроенные модели BLOOMZ сохраняют архитектуру BLOOM и корректируют гиперпараметры, черпая вдохновение из T0 и FLAN. Скорость обучения рассчитывается путем удвоения минимальной скорости предварительно обученной модели и глобальной корректировки. Меньшие варианты используют четырехкратное увеличение размеров пакетов для повышения пропускной способности во время точной настройки 13 миллиардов токенов, при этом стабилизация производительности происходит в диапазоне от 1 до 6 миллиардов токенов.

Контрастная точная настройка

Контрастная точная настройка с использованием рецепта SGPT Bi-Encoder привела к разработке двух высококачественных моделей встраивания текста: SGPT-BLOOM-7.1 Bmsmarco24 для многоязычного поиска информации и SGPT-BLOOM-1.7B-nli25 для многоязычного семантического текстового сходства (STS). . Кроме того, бенчмаркинг продемонстрировал универсальность этих моделей для интеллектуального анализа битового текста, переранжирования и извлечения признаков в последующих задачах классификации.

Оценка

Оценки сосредоточены на настройках с нулевым и малым количеством выстрелов. Цель — сравнить BLOOM с существующими LLM в реалистичных сценариях использования. Представлены результаты по задачам SuperGLUE, машинного перевода, суммирования, генерации кода и представления.

Подсказки были разработаны людьми до выпуска BLOOM без уточнения с использованием моделей. Предназначены для моделирования реалистичных результатов с нулевым или однократным выстрелом для новых пользователей. Несколько подсказок для каждой задачи, созданных с помощью Promptsource, с существенным разнообразием по длине и стилю. По каждому запросу проводятся экспертные оценки для повышения качества и согласованности.

Для краткости эта статья будет посвящена только тесту SuperGLUE.

  • Задачи следования (BoolQ и CB) демонстрируют стабильную производительность выше случайной вероятности для определенных моделей (BLOOM, T0, OPT, GPT-J).
  • Средняя производительность по подсказкам в других задачах близка к случайной случайности, что указывает на то, что успех отдельных подсказок обусловлен в первую очередь статистической изменчивостью.
  • Модель T0 отличается высокой производительностью, но ее нельзя напрямую сравнивать с другими моделями из-за уникальной точной настройки.
  • Переход от нулевого к однократному уменьшает вариативность между подсказками и моделями, что приводит к небольшому и непоследовательному увеличению производительности.

  • BLOOM демонстрирует большее улучшение производительности по сравнению с другими моделями (например, OPT) при переходе от режима «нулевого выстрела» к режиму «однократного выстрела».
  • BLOOM, даже при частичном обучении английскому языку, соответствует или превосходит OPT в одноразовой настройке конкретных задач.
  • Модели большего размера (более 2 миллиардов параметров) демонстрируют минимальное улучшение производительности как для семейств моделей OPT, так и для BLOOM.
  • Многоязычность не мешает BLOOM выполнять задачи только на английском языке в режиме нулевого выстрела, о чем свидетельствует его конкурентоспособность с OPT-175B при выполнении различных задач.

Бумага

BLOOM: многоязычная языковая модель открытого доступа с 176 параметрами 2211.05100

Хотите получить больше информации?

Не упустите возможность изучить другие интересные темы из этой серии. Просто нажмите здесь и откройте для себя новейшие исследования!

Подпишитесь на еженедельные обновления!