Авторы: Аби Арьян (@goabiaryan), Энди МакМахон (@electricweegie)

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

Большие языковые модели (LLM) — это модели машинного обучения, обученные на большом количестве текстовых данных для создания текста, похожего на человеческий, или выполнения задач, связанных с языком. Эти модели предназначены для понимания и генерации текста таким образом, который имитирует шаблоны и структуры человеческого языка, и их можно рассматривать как следующее поколение после более традиционных возможностей обработки естественного языка (NLP).

LLM можно обучать с использованием различных методов, таких как рекуррентные нейронные сети (RNN), модели на основе преобразователей, такие как GPT-4, или другие архитектуры глубокого обучения. Модели обычно работают, обучаясь в несколько этапов, первый из которых включает в себя «маскирование» разных слов в предложениях, так что модель должна узнать, какие слова должны быть правильно вменены, или предоставить слова или предложения и попросить модель правильно предсказать следующие элементы этих последовательностей. Теперь последние LLM могут также включать другие нейронные сети как часть более широкой системы, которые по-прежнему часто называют частью LLM, которые представляют собой «модели вознаграждения» (RM)[1], которые действуют для выберите выходной ответ из базовой модели, который лучше всего соответствует отзывам людей. Эти модели вознаграждения обучаются с использованием обучения с подкреплением с обратной связью от человека (RLHF), процесса, который может потребовать тысяч часов от экспертов в предметной области, обеспечивающих обратную связь с потенциальными результатами LLM.

Что такое большие языковые модели?

Многие традиционные языковые модели представляют собой статистические модели, используемые в НЛП, которые могут назначать вероятности элементам в последовательности слов или токенов на целевом языке. Подумайте, если бы у нас была языковая модель, обученная английскому языку, ее можно было бы использовать для предсказания следующего слова в предложении с учетом предыдущих слов. Например, если мы вводим в языковую модель «я иду в», она может предсказать следующее слово как «магазин» с высокой вероятностью. Эти модели можно обучать с использованием различных методов, включая RNN, LSTM, преобразователи и другие.

LLM — это подмножество языковых моделей, предназначенных для создания больших объемов текста, похожего на человеческий, с помощью обучения за несколько шагов[2].

Эти модели могут генерировать текст, который является контекстуально релевантным, связным и неотличимым от текста, созданного человеком. Резкий рост производительности и появление новых возможностей у LLM по мере того, как они обучались на огромных объемах данных, привели к тому, что термин «масштаб — это все, что вам нужно» стал разговорным практическим правилом в некоторых частях сообщества машинного обучения. Это насмешливая ссылка на классическую статью Google «Внимание — это все, что вам нужно», но она отражает важное наблюдаемое явление. Эта идея, по сути, отражает то, что по мере того, как мы продолжаем масштабировать все больше и больше данных и все больше и больше сетей[3], мы будем продолжать видеть те же улучшения производительности, которые были до сих пор. Будет ли это поведение масштабирования плато или нет, является открытым вопросом исследования.

Архитектура большой языковой модели (LLM)

Архитектура LLM зависит от конкретной реализации. Однако большинство LLM используют архитектуру на основе преобразователя, которая представляет собой архитектуру глубокого обучения, впервые представленную в статье «Внимание — это все, что вам нужно» в 2017 году. Преобразователи стали доминирующей архитектурой для крупномасштабных языковых моделей из-за их способности обрабатывать долгосрочные зависимости и более эффективно собирать контекстную информацию. Они также изначально масштабируемы, поскольку обработка различных токенов может выполняться параллельно, что стало ключевым фактором для организаций, создающих эти модели, которые готовы инвестировать в более крупные вычислительные ресурсы.

Преобразователи работают, обрабатывая последовательность входных токенов (слов, символов и т. д.) и вычисляя представление для каждого токена, которое фиксирует его значение в контексте всей последовательности. Это достигается с помощью механизма, называемого самостоятельным вниманием, который позволяет модели взвешивать важность каждого маркера в последовательности при вычислении его представления. Механизм внутреннего внимания позволяет преобразователю фиксировать долгосрочные зависимости и изучать контекстно-зависимые представления каждого токена.

В дополнение к самоконтролю преобразователи также используют нейронные сети с прямой связью для обработки представлений каждого токена и создания окончательного вывода.

Сколько параметров должна иметь большая языковая модель?

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

Количество параметров в языковой модели напрямую связано с ее сложностью и объемом данных, на которых она обучалась. Как правило, большее количество параметров позволяет изучать более сложные шаблоны, что может привести к повышению производительности при выполнении ряда языковых задач. Однако для обучения более крупных моделей также требуется больше данных и вычислительных ресурсов, что может затруднить масштабирование до очень больших моделей.

Как уже упоминалось, термин «большая языковая модель» не имеет формального определения, но обычно относится к моделям с миллиардами параметров. Например, OpenAI GPT-3 имеет 175 миллиардов параметров, что на сегодняшний день является одной из крупнейших общедоступных языковых моделей. Семейство языковых моделей LLaMA, с другой стороны, предлагает диапазон размеров от 7 миллиардов параметров до 65 миллиардов параметров. Его меньшие модели утверждают, что они соответствуют производительности GPT-3 с точки зрения качества вывода и скорости, но при этом способны работать на одном высококачественном потребительском графическом процессоре.

Таким образом, количество параметров в большой языковой модели может широко варьироваться в зависимости от конкретной архитектуры и реализации, но обычно оно отражает сложность модели и объем данных, на которых она обучалась. Модели с миллиардами параметров могут достигать впечатляющих результатов в ряде языковых задач, но их обучение и использование требуют значительных вычислительных ресурсов.

Вам действительно нужна большая языковая модель?

Вопрос о том, необходима ли большая языковая модель (LLM), требует рассмотрения нескольких моментов. Во-первых, LLM недостаточно обучены, а больше данных и более длительное обучение могут улучшить производительность при выполнении различных задач. Кроме того, затраты на вывод трансформатора примерно линейны с количеством параметров, поэтому меньшие модели дешевле делать выводы, чем большие. Масштабирование до нескольких графических процессоров увеличивает сложность, накладные расходы и затраты, что делает более предпочтительными более мелкие модели. Чтобы привести конкретный пример, обучение и вывод с помощью моделей OpenAI потребовали создания кластера 1024 GPU и разработки оптимизированных конвейеров машинного обучения с использованием параллельных вычислительных сред, таких как Alpa и Ray[10]. Разработка и оптимизация вычислительных кластеров такого масштаба выходит за рамки возможностей большинства организаций.

Еще одним узким местом LLM являются данные. Одним из подходов к созданию дополнительных данных является использование цепочки рассуждений, как описано в Huang et al. бумага. Однако важно отметить, что высокое качество данных действительно имеет значение, и эксперименты постоянно показывают, что дедупликация данных существенно повышает производительность.

Доступ к высококачественным данным был назван потенциальным фактором, который приведет к остановке развития LLM и может сломать парадигму масштаб — это все, что вам нужно. Проблема заключается в том, что после того, как вы уже прошли обучение на большинстве доступных корпусов, создается недостаточно новых высококачественных данных для использования в более новых, более крупных моделях. Фактически, Вильялобос и др. предполагают, что уже к 2026 году у нас закончатся высококачественные языковые данные, включающие книги, научные статьи, Википедию и некоторый другой отфильтрованный веб-контент. доступный пул данных с контентом, созданным LLM, так что возникает цикл обратной связи, когда выходные данные LLM подаются в качестве входных данных. Это может привести к увеличению негативных эффектов, таких как галлюцинации.

Кроме того, сложно реконструировать оптимальные вычисления без переобучения модели. В статье Chinchilla[4] делается попытка определить оптимальный размер модели и количество токенов для обучения LLM при заданном бюджете вычислений.

Стоит отметить, что модель, обученная на очень небольшом количестве токенов, может быть «оптимальной для вычислений», но она не идеальна для приложений. В целом, спекулятивная выборка может быть многообещающим направлением исследований для оптимизации вычислений при декодировании больших языковых моделей. Ключевая идея спекулятивной выборки состоит в том, чтобы ввести случайность в процессе генерации для изучения альтернативных возможностей и улучшения разнообразия и качества генерируемых выборок. В традиционных методах выборки, таких как жадная выборка, модель генерирует выборки, выбирая наиболее вероятный результат на каждом этапе. Спекулятивная выборка направлена ​​на преодоление этого ограничения путем введения контролируемой случайности в процессе выборки. Вместо выбора наиболее вероятного результата на каждом шаге модель рассматривает несколько возможностей и выборок из распределения вероятностей. Это распределение обычно получается из выходных вероятностей, предсказанных моделью. Включая случайность, спекулятивная выборка[5] побуждает модель исследовать альтернативные пути и создавать более разнообразные выборки. Это позволяет модели учитывать результаты с меньшей вероятностью, которые все еще могут быть интересными или ценными. Это помогает охватить более широкий спектр возможностей и генерировать результаты, выходящие за рамки типичных, более вероятных выборок.

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

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

Сжатие модели

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

Чтобы преодолеть эту проблему, исследователи разработали различные методы сжатия моделей, чтобы уменьшить размер LLM при сохранении их производительности. Одним из таких методов является квантование[7], которое уменьшает количество битов, используемых для представления весов и активаций в модели. Например, вместо того, чтобы использовать 32 бита для представления значения веса, квантование может уменьшить его до 8 бит, что приведет к уменьшению размера модели. Квантование после обучения (PTQ) — один из самых популярных методов, используемых для сжатия LLM. Он включает в себя обучение модели с высокой точностью, а затем квантование весов и активаций для более низкой точности на этапе логического вывода. Это позволяет уменьшить размер модели при сохранении высокой производительности. Поскольку квантование представляет параметры модели целочисленным числом с младшим битом (например, int8), размер модели и задержка во время выполнения выиграют от такого представления int. Одним из важных примеров может быть LLaMA.cpp, который может выполнять вывод модели LLaMa с 4-битным квантованием. Это означает, что он может запускать новую крупноязыковую модель ИИ класса GPT-3 от Meta на вашем ноутбуке, телефоне и Raspberry Pi.

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

Поиск нейронной архитектуры (NAS) — это еще один метод, который включает в себя поиск оптимальной архитектуры для данной задачи. Это позволяет создать меньшую и более эффективную модель, которая хорошо справляется с конкретной задачей.

В целом методы сжатия моделей имеют решающее значение для развертывания LLM в ограниченных средах, таких как устройства меньшего размера с меньшим объемом памяти и ограничениями по вычислительным ресурсам[8]. Исследователи постоянно изучают новые методы уменьшения размера LLM при сохранении их производительности.

Приложения больших языковых моделей

Хотя использование LLM в производстве является относительно новой концепцией, становится ясно, что LLM имеют широкий спектр потенциальных применений в НЛП и смежных областях. Некоторые из наиболее распространенных приложений включают в себя:

  1. Генерация языка: LLM могут генерировать контекстуально релевантный и связный текст в ответ на подсказку или вопрос. Это привело к разработке приложений для генерации языка, таких как чат-боты и виртуальные помощники, которые могут взаимодействовать с пользователями на естественном языке.
  2. Классификация текста: LLM могут классифицировать текст по различным категориям, таким как анализ тональности или моделирование темы. Это может быть полезно в таких приложениях, как мониторинг социальных сетей или модерация контента.
  3. Машинный перевод: LLM могут переводить текст с одного языка на другой, облегчая людям общение на разных языках.
  4. Суммирование текста: LLM отлично подходят для суммирования больших текстов на более мелкие фрагменты, что может помочь пользователям в различных контекстах общения.

Ограничения и потенциальные недостатки

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

  1. Предвзятость данных. Языковые модели обучаются на больших объемах текстовых данных, которые могут содержать искажения и отражать социальные нормы и ценности культуры, в которой были собраны данные. Эти предубеждения могут отражаться в способности модели генерировать язык и понимать язык, а также могут увековечивать или усиливать стереотипы и дискриминацию. Решение этой проблемы требует тщательной обработки обучающих данных и разработки методов обнаружения и устранения предубеждений в языковых моделях.
  2. Воздействие на окружающую среду. Обучение больших языковых моделей требует значительных вычислительных ресурсов, что, в свою очередь, может привести к большому потреблению энергии и воды и выбросам углерода. Отчет об индексе ИИ за 2023 год и статья Лучони и др. показали, что во время тренировочных заездов для многих наиболее эффективных LLM выбросы в 25–500 раз превышали выбросы при полете из Нью-Йорка в Сан-Франциско или до 8 раз превышали средний общий показатель. выбросы автомобиля в течение всего срока службы, включая топливо. Воздействие больших языковых моделей на окружающую среду было предметом обсуждения и беспокойства в сообществе ИИ, и предпринимаются усилия по разработке более энергоэффективных и устойчивых методов обучения.
  3. Ограниченная интерпретируемость. Хотя большие языковые модели могут генерировать впечатляющий и связный текст, может быть сложно понять, как модель достигает определенного результата. Это отсутствие интерпретируемости может затруднить доверие к результатам модели или их аудит, а также может создать проблемы для приложений, где важны прозрачность и подотчетность. Предстоящее регулирование ИИ, такое как закон Европейского Союза об ИИ, вероятно, потребует большей прозрачности и возможности аудита этих моделей, особенно в таких областях, как финансы и здравоохранение. Это будет означать, что вопрос интерпретируемости станет критически важным для многих организаций, стремящихся внедрить LLM.
  4. Ограниченное обобщение. Хотя большие языковые модели могут хорошо справляться с конкретными языковыми задачами, они могут испытывать затруднения при обобщении новых или неизвестных данных[9]. Это может быть проблемой в реальных приложениях, где модель должна работать в динамичной и развивающейся среде с изменяющимся распределением данных.
  5. Этические соображения. Большие языковые модели потенциально могут использоваться в злонамеренных целях, например для создания поддельных новостей, выдачи себя за других лиц или даже для изощренных кибератак. Также существуют опасения по поводу конфиденциальности и безопасности данных при использовании языковых моделей, которые генерируют или обрабатывают конфиденциальную информацию.

Заключение

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

Использованная литература:

  1. Введение в обучение моделям большого языка -ВмллдзозМзЫйНйцы»
  2. Языковые модели — это немногие ученики https://arxiv.org/abs/2005.14165
  3. Гипотеза масштабирования https://lastweekin.ai/p/the-ai-scaling-hypothesis
  4. Обучение вычислительным оптимальным моделям [2203.15556] Обучение вычислительным оптимальным моделям большого языка (arxiv.org)
  5. Спекулятивная выборка Спекулятивная выборка | Джей Моди (jaykmody.com)
  6. Расшифровка LLM с помощью спекулятивной выборки https://arxiv.org/pdf/2302.01318.pdf
  7. Квантование [2002.11794] Train Large, Then Compress: переосмысление размера модели для эффективного обучения и вывода преобразователей (arxiv.org)
  8. Модель — сжатие для предварительно обученных моделей снижает затраты и увеличивает задержку [2303.05378] Более экологично, но мощно: укрощение моделей генерации больших кодов с помощью квантования (arxiv.org)
  9. Трансформеры — модели плохого обобщения Помни о разрыве: оценка временного обобщения в моделях нейронного языка (neurips.cc)
  10. Масштабирование GPU с помощью Alpa и Ray https://opendatascience.com/training-175b-parameter-language-models-at-1000-gpu-scale-with-alpa-and-ray/]