GLM-130B Открытая предварительно обученная модель с двумя языками

GLM-130B Предварительно обученная модель с открытой доступностью на двух языках

Фреймворк GLM-130B – это двуязычная предобученная модель естественного языка с более чем 130 миллиардами параметров, способная генерировать текстовые результаты как на английском, так и на китайском языках. Фреймворк GLM-130B представляет собой попытку предоставить модель естественного языка на базе более чем 100 миллиардов параметров в открытом доступе и обсудить, как предварительное обучение моделей такого масштаба может быть осуществлено, поскольку на данный момент обучение модели такого масштаба часто сопровождается проблемами, такими как расхождение и скачки потерь.

В этой статье мы рассмотрим фреймворк GLM-130B, который пытается разработать метод эффективного предварительного обучения моделей естественного языка с сотнями миллиардов параметров. Мы более подробно рассмотрим принципы работы и архитектуру фреймворка GLM-130B, а также процесс обучения и выбор дизайна, которые не только помогают повысить эффективность, но и обеспечивают стабильность. Первоначальные эксперименты, проведенные для проверки работы фреймворка GLM-130B на широком спектре английских испытательных наборов, показали, что модель GLM-130B значительно превосходит существующую передовую модель GPT-3.

Введение в фреймворк GLM-130B

Большие модели естественного языка, способные работать в условиях запуска с несколькими примерами и без примеров, особенно те, которые имеют более 100 миллиардов параметров, представляют собой привлекательные законы масштабирования, из которых фреймворк GPT-3 один из самых успешных фреймворков, который обеспечивает значительное повышение производительности по сравнению с предшественником – фреймворком BERT. Однако, несмотря на популярность фреймворка GPT-3 и его широкое применение, процесс обучения и сам фреймворк GPT-3 в некотором смысле остаются непрозрачными для публики. Кроме того, эмпирическое перечисление всех возможных дизайнов для обучения моделей естественного языка более 100 миллиардов параметров вычислительно недоступно, что делает еще более критической необходимость разработки метода предварительного обучения для фреймворков LLM большого масштаба.

Вышеперечисленный факт делает критической ценность раскрытия работы и процесса обучения крупномасштабных фреймворков LLM высокого качества, таких как GPT-3, и с учетом этических аспектов фреймворк GLM-130В представляет собой попытку предварительно обучить точную и открытую модель LLM с более чем 100 миллиардами параметров. В ходе попытки разработки GLM-130B команда разработчиков GLM-130B обнаружила, что предварительное обучение фреймворка LLM большого масштаба часто сопровождается широким набором проблем инженерного и технического характера в терминах стабильности, эффективности и сходимости.

Для более конкретизации, GLM-130B является двунаправленным и двуязычным плотным фреймворком, состоящим из более чем 130 миллиардов параметров, предобученных на более чем 400 миллиардах токенов на кластере из 96 узлов NVIDIA DGX-A100 GPU в течение почти двух месяцев. Кроме того, вместо архитектуры в стиле GPT, фреймворк GLM-130B использует алгоритм общего языкового моделирования GLM с целью использовать его задачи авторегрессии с заполнением пустыми значениями и преимущество двунаправленного внимания. В следующей таблице приведено сравнение фреймворка GLM-130B с другими моделями с более чем 100 миллиардами параметров, включая фреймворки GPT, BLOOM-176B и OPT-175B.

Инженерные и концептуальные разработки, заложенные в фреймворк GLM-130B, опережают почти все фреймворки LLM крупномасштабного масштаба, включая GPT-3 и PaLM 540B с более чем 500 миллиардами параметров во многих случаях и на широком спектре испытательных наборов. На следующей диаграмме показано сравнение производительности фреймворка GLM-130B с моделями с более чем 100 миллиардами параметров, и, как видно, фреймворк GLM-130B имеет значительно меньшую токсичность и предвзятость в сравнении со своими аналогами.

Наконец, GLM-130B разработан таким образом, чтобы позволить как можно большему числу разработчиков проводить исследования на фреймворках с более чем 100 миллиардами параметров, и для этого фреймворк GLM-130B использует два подхода. Во-первых, вместо использования более 175 миллиардов параметров, как BLOOM и OPT, фреймворк GLM-130B использует 130 миллиардов параметров, потому что размер модели поддерживает вмешательство даже на одиноком сервере A100. Во-вторых, требования к графическим процессорам для запуска фреймворка GLM-130B меньше, чем у других фреймворков LLM, и это достигается путем квантизации исходного фреймворка с использованием точности INT4. Квантование INT4, используемое фреймворком GLM-130B, повышает производительность при сохранении незначительного снижения производительности.

GLM-130B : Архитектура

Индуктивное смещение модели машинного обучения описывается ее архитектурой, и неудивительно, что разработчики не могут исследовать различные архитектурные решения для больших языковых моделей из-за вычислительной доступности и целесообразности. С этим в виду, давайте рассмотрим архитектуру GLM-130B.

Масштабные языковые модели, такие как PaLM, GPT и другие, имеют более 100 миллиардов параметров и построены на традиционной архитектуре GPT для авторегрессивного языкового моделирования только декодера. С другой стороны, архитектура GLM-130B исследует возможность использования двунаправленной общей языковой модели или GLM, модели на основе трансформера, которая стремится использовать авторегрессивную заполнение пустот в качестве цели обучения. Вкратце, для заданной последовательности текста фреймворк GLM выбирает текстовые фрагменты, которые затем заменяются одним маскировочным токеном.

Двунаправленное внимание общей языковой модели над неискаженными или не заполненными контекстами отличает архитектуру GLM-130B от подхода в стиле GPT, который использует однонаправленный подход. Более того, чтобы поддерживать как генерацию, так и понимание данных, фреймворк GLM объединяет две стратегии коррупции, каждая из которых указывается особым уникальным маскировочным токеном.

  • [MASK] : [MASK] – это стратегия коррупции, которая использует короткие пропуски в предложениях, суммарная длина которых составляет определенный процент от ввода.
  • [gMASK] : [gMASK] – это стратегия коррупции, которая использует случайные пропуски в конце предложения с контекстами префикса.

Подход, принятый фреймворком GLM, позволяет фреймворку достичь точности более 80% при моделировании нулевого результирования LAMBADA и превосходит как PaLM 540B, так и фреймворк GPT-3.

Нормализация слоя

Одной из основных проблем, с которыми сталкиваются разработчики при обучении фреймворка LLM, является его нестабильность обучения, и использование соответствующей нормализации слоя (LN) может помочь с обучением LLM. Фреймворк GLM-130B использует подход Post-LN благодаря его производительности на задачах нижестоящих.

FFN и позиционное кодирование

Feedforward нейронные сети (FFNs) и позиционное кодирование – два подхода, принятые фреймворком GLM-130B для достижения высокой производительности и стабильности обучения.

Настройка предварительного обучения

Предварительные обучающие задачи фреймворка GLM-130B включают не только многозадачное обучение для небольшого количества токенов, но и самообучающуюся GLM для авторегрессивного заполнения пропусков, с надеждой на то, что такой подход поможет фреймворку GLM-130B в слежении за нижестоящими задачами. С учетом этого, предварительная настройка фреймворка GLM-130B выглядит следующим образом.

Самообучение заполнения пропусков

Как уже упоминалось, фреймворк GLM-130B использует две стратегии коррупции, а именно [MASK] и [gMASK], и одна из этих стратегий применяется независимо к каждой отдельной обучающей последовательности по очереди. Для заполнения пропусков стратегия [MASK] маскирует последовательности пробелов в 30% обучающей последовательности, длины которых составляют до 15% от входа и следуют распределению Пуассона. Для остальных 70% последовательности префикс каждой последовательности остается в качестве контекста, а стратегия [gMASK] помогает маскировать остальную часть, а длина маскировки затем выбирается с помощью равномерного распределения.

Многозадачное предварительное обучение с инструкциями

Было отмечено, что многозадачный подход к предварительному обучению моделей может привести к лучшим результатам, чем настройка дообучения, чтобы улучшить перенос задач в условиях нулевого режима. Впоследствии фреймворк GLM-130B предлагает использовать наборы данных с предустановленными инструкциями, включая генерацию языка, понимание и извлечение информации во время предварительного обучения.

По сравнению с другими подходами для передачи задачи без учителя, использующими многозадачное обучение с подробностями, подход обучения с предварительно указанными инструкциями Multi-Task, за которым следует фреймворк GLM-130B, составляет всего 5% от общего количества токенов, и он устанавливается во время предварительного обучения в попытке предотвратить нарушение других возможностей фреймворка LLM или другими словами, безусловную свободную генерацию.

3D Параллельная стратегия

Существуют две практики для обучения моделей большого масштаба с миллиардами параметров, тензорная параллельность и параллельность данных. В попытке минимизировать использование графического процессора и обработать огромные требования графического процессора, фреймворк GLM-130B реализует трехмерную параллельную стратегию, объединяющую стратегию модели с параллельной моделью, параллельностью данных и тензорной параллельностью.

GLM-130B: Стабильность обучения

Стабильность обучения является важным фактором при определении качества LLM и сильно зависит от количества токенов, через которые он проходит. Кроме того, важно установить компромисс между стабильностью и эффективностью в отношении форматов чисел с плавающей точкой с учетом вычислительных ограничений. Например, числа с плавающей точкой с низкой точностью повышают вычислительную эффективность, но часто приводят к обрушению обучения из-за ошибок недостатка и переполнения.

Смешанная точность

В попытке повысить точность обучения и снизить использование памяти, фреймворк GLM-130B следует общей практике использования смешанной точности, то есть FP16 для прямого и обратного проходов, а FP32 для основных весов и состояний оптимизатора. Как и другие популярные LLM-фреймворки, включая BLOOM-176B и OPT-175B, в этапе обучения фреймворка GLM-130B с использованием стратегии смешанной точности возникают частые пиковые потери, и частота этих потерь склонна увеличиваться по мере продолжения обучения модели. Кроме того, разработчики сталкиваются с основными проблемами при масштабировании трансформаторов.

Во-первых, уровень значений основной ветви трансформатора может быть огромным на более глубоких слоях при использовании Pre-LN, и в фреймворке GLM-130B это решается с помощью DeepNorm на основе предварительного привязывания LN, которое обеспечивает ограничение уровня значений во всех моментах времени. Во-вторых, по мере масштабирования модели значения оценок внимания достигают точки, где они превышают диапазон FP16.

Сжатие градиента слоя вложения или EGS

Разработчики, работающие над фреймворком GLM-130B, обнаружили, что норма градиента может выступать в качестве информативного индикатора для обрушений обучения, и обрушение обучения обычно отстает от пика нормы градиента. Причиной этих пиков являются аномальные градиенты слоя вложения, и разработчики обратили внимание на то, что по сравнению с нормой градиента других слоев норма градиента слоев вложения крупнее на несколько порядков и сильно колеблется во время начального обучения фреймворка. Модели зрения также сталкиваются с этой проблемой, и она решается замораживанием слоя проекции патча. Однако такой же подход нельзя применить к LLM, поскольку в языковых моделях нельзя замораживать слои проекции.

GLM-130B: Результаты и производительность

Для оценки производительности GLM-130B для задач на английском языке он использует те же настройки, что и обычные LLM-фреймворки, включая PaLM и GPT-3, а поскольку GLM-130B является двуязычным фреймворком, его также оценивают на нескольких китайских бенчмарках. Производительность фреймворка GLM-130B будет измеряться по нескольким бенчмаркам, включая языковое моделирование, многофункциональное понимание языка или MMLU, бенчмарк за пределами игры в имитацию или BIG-Bench, и оценка понимания китайского языка или CLUE. Итак, приступим.

Языковое моделирование

Тест на моделирование языка на основе GLM-130B фреймворка производится на двух наборах данных: LAMBADA и Pile.

Набор данных LAMBADA используется для тестирования возможностей моделирования последнего слова LLMs, и фреймворк GLM-130B достигает точности нулевого шота 80,2 в двуязычной среде и, таким образом, устанавливает новый рекордный показатель на наборе данных LAMBADA.

С другой стороны, Pile – это тестовый набор, который состоит из серии бенчмарков для языковых моделей. В сравнении с GPT-3 и Jurassic-1 фреймворк GLM-130B достигает лучших результатов на 18 общих тестовых наборах в терминах взвешенных BPBs. Результаты демонстрируют сильные языковые возможности фреймворка GLM-130B, и результаты представлены в таблице ниже.

ММЛУ или Массовое понимание языка при многофункциональности

ММЛУ или Массовое понимание языка при многофункциональности это разнообразный бенчмарк, состоящий из более чем 50 тестов с выбором ответа на вопросы, касающиеся интеллекта и знаний человека, начиная с уровня школы и продолжая до экспертного уровня, и он выпущен после прохода тестового набора Pile, и, таким образом, он служит идеальным тестом для оценки возможностей изучения с малым количеством информации в LLM.

Как видно, в настройках для нескольких снимков (5-снимков), производительность фреймворка GLM-130B приближается к производительности модели GPT-3 после просмотра около 300 миллиардов токенов. Производительность продолжает повышаться при дальнейшем обучении, и когда обучение завершается, фреймворк достигает точности 44,8 после просмотра общего объема 400 миллиардов токенов.

BIG-Bench или Бенчмарк За пределами Игры в Имитацию

BIG-Bench или Бенчмарки За пределами Игры в Имитацию тестируют способности модели в области знаний, рассуждений и здравого смысла. Как показано на следующих рисунках, в режиме нулевого шота фреймворк GLM-130B превосходит фреймворки PaLM 540B и GPT-3 175B, что может быть связано с MIP и двунаправленным контекстным вниманием, способствующим повышению производительности GLM-130B в неизвестных задачах в режиме нулевого шота. Кроме того, с увеличением числа снимков производительность фреймворка GLM-130B также улучшается, превосходя производительность фреймворка GPT-3 в последовательности.

CLUE или Оценка Понимания Китайского Языка

Китайская нулевая производительность GLM-130B оценивается на основе установленных задач бенчмарка NLP, включая CLUE и FewCLUE, и сравнивается с 260B ERNIE Titan 3.0, крупной существующей китайской языковой моделью. Как можно видеть, фреймворк GLM-130B постоянно превосходит фреймворк 260B ERNIE Titan 3.0 в 12 различных задачах и показывает практически на 260% лучшую производительность, чем фреймворк ERNIE на двух абстрактных наборах данных MRC.

Вывод

В этой статье мы рассказали о GLM-130B, двуязычной предварительно обученной большой языковой модели, которая стремится поощрять включительные исследования в области LLM. Архитектура, инженерные и технические работат должны обеспечить сообщество ИИ более глубоким пониманием архитектуры фреймворков LLM, эффективности и стабильности обучения, предварительных целей обучения и доступного вмешательства.