Русская Википедия:Большая языковая модель

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

Характеристики

Хотя термин «большая языковая модель» не имеет формального определения, он обычно относится к моделям глубокого обучения, имеющим количество параметров порядка миллиардов и более[2]. БЯМ — это модели общего назначения, которые превосходно справляются с широким спектром задач, в отличие от обучения одной конкретной задаче (например, анализу настроений, распознаванию именованных сущностей или математическим рассуждениям)[1][3]. Несмотря на обучение на простых задачах, таких как предсказание следующего слова в предложении, нейронные языковые модели с достаточным обучением и подсчётом параметров схватывают большую часть синтаксиса и семантики человеческого языка. Кроме того, большие языковые модели демонстрируют значительные общие знания о мире и способны «запоминать» большое количество фактов во время обучения[1].

Архитектура и обучение

В БЯМ чаще всего использовалась архитектура трансформера, которая с 2018 года стала стандартной техникой глубокого обучения для последовательных данных (ранее наиболее распространёнными были рекуррентные архитектуры, такие как модели с долгой кратковременной памятью). БЯМ обучаются без учителя на неаннотированном тексте. Трансформер при генерации вывода слева направо обучается максимизировать вероятность, назначенную следующему слову в обучающих данных, с учётом предыдущего контекста. В качестве альтернативы БЯМ может использовать двунаправленный трансформер (как в примере BERT), который присваивает распределение вероятностей по словам, имеющим доступ как к предыдущему, так и к последующему контексту[4]. В дополнение к задаче прогнозирования следующего слова или «заполнения пробелов» БЯМ могут быть обучены вспомогательным задачам, которые проверяют их понимание распределения данных, таких как прогнозирование следующего предложения (NSP), в котором представлены пары предложений и модель должна предсказать, появятся ли они рядом в обучающем корпусе текстов[4].

Самые ранние БЯМ обучались на корпусах, содержащих порядка миллиардов слов. Первоначальная версия GPT была обучена в 2018 году на BookCorpus, состоящем из 985 миллионов слов. В том же году BERT прошёл обучение на сочетании BookCorpus и английской Википедии, что соответствовало 3,3 миллиарда словам[4]. С тех пор учебные корпуса для БЯМ увеличились на порядки, достигнув сотен миллиардов или триллионов токенов[4].

Обучение БЯМ требует больших вычислительных ресурсов. Исследование 2020 года оценило стоимость обучения модели с 1,5 миллиардами параметров (на 1-2 порядка меньше, чем уровень техники в то время) в 1,6 миллиона долларов[5].

Анализ 2020 года показал, что возможности нейронных языковых моделей (измеряемые функцией потерь при обучении) плавно увеличивались по степенному закону от количества параметров, количества обучающих данных и вычислений, используемых для обучения[6][7]. Эти связи были проверены в широком диапазоне значений (до семи порядков), и не наблюдалось затухания отношения на верхнем конце диапазона (в том числе для размеров сети до триллионов параметров)[7].

Применение к последующим задачам

В период с 2018 по 2020 год стандартный метод использования БЯМ для конкретной задачи NLP заключался в тонкой настройке модели с дополнительным обучением для конкретной задачи. Впоследствии обнаружилось, что более мощные БЯМ, такие как GPT-3, могут решать задачи без дополнительного обучения с помощью методов «подсказки», в которых решаемая задача представляется модели в виде текстовой подсказки, возможно, с некоторыми текстовыми примерами подобных задач и их решений[1].

Тонкая настройка

Тонкая настройка — это практика модификации существующей предварительно обученной языковой модели путём её обучения (под наблюдением) конкретной задаче (например, анализ настроений, распознавание именованных объектов или маркировка частей речи). Это форма передаточного обучения. Обычно это включает введение нового набора весов, связывающих последний слой языковой модели с выходными данными последующей задачи. Исходные веса языковой модели могут быть «заморожены», так что во время обучения изучается только новый слой весов, соединяющий их с выходными данными. В качестве альтернативы исходные веса могут получать небольшие обновления (возможно, с замороженными более ранними слоями)[4].

Подсказка

В парадигме подсказок, популяризированной GPT-3[3] решаемая проблема формулируется с помощью текстовой подсказки, которую модель должна решить, предоставляя завершение (посредством статистического вывода). В «подсказке с несколькими выстрелами» подсказка включает небольшое количество примеров похожих пар (задача и решение). Например, задача анализа тональности маркировки тональности рецензии на фильм можно вызвать следующим образом[3]:

Review: This movie stinks.
Sentiment: negative

Review: This movie is fantastic!
Sentiment:

Если модель выдаёт «положительно», значит, она правильно решила задачу. В подсказках с «нулевым выстрелом» примеры решения не предоставляются[5][8]. Примером с нулевой подсказкой для задачи с ответом на вопрос может быть «Кто написал книгу „Происхождение видов“?».

Было показано, что малая производительность БЯМ позволяет достигать конкурентоспособных результатов в задачах обработки естественного языка, иногда превосходя предыдущие современные подходы к точной настройке. Примерами таких задач NLP являются перевод, ответы на вопросы, задачи с ограничениями, расшифровка слов и использование нового слова в предложении[8]. Создание и оптимизация таких подсказок называется инжинирингом подсказок и в настоящее время является активной областью исследований.

Список больших языковых моделей

Список больших языковых моделей
Название Дата релизаШаблон:Efn Разработчик Число параметровШаблон:Efn Размер корпуса текстов ЛицензияШаблон:Efn Примечания
BERT 2018 Google 340 миллионов[9] 3,3 миллиарда слов[9] Шаблон:Yes[10] Ранняя и влиятельная языковая модель[1].
GPT-2 2019 OpenAI 1,5 миллиарда[11] 40GB[12] (~10 миллиардов токенов)[13] Шаблон:Yes[14] Универсальная модель на базе трансформенной архитектуры.
GPT-3 2020 OpenAI 175 миллиардов[5] 499 миллиардов токенов[13] Общедоступный веб-API Доработанный вариант GPT-3, получивший название GPT-3.5, стал общедоступным через веб-интерфейс под названием ChatGPT в 2022 году[15].
GPT-Neo Март 2021 EleutherAI 2,7 миллиарда[16] 825 GiB[17] Шаблон:Yes[18] Первый из серии бесплатных альтернатив GPT-3, выпущенных EleutherAI. GPT-Neo превзошёл модель GPT-3 аналогичного размера в некоторых тестах, но был значительно хуже, чем самая большая GPT-3[18].
GPT-J Июнь 2021 EleutherAI 6 миллиардов[19] 825 GiB[17] Шаблон:Yes Языковая модель в стиле GPT-3.
Claude[20] Декабрь 2021 Anthropic 52 миллиарда[21] 400 миллиардов токенов[21] Закрытая бета Fine-tuned for desirable behavior in conversations[22].
GLaM (Generalist Language Model) Декабрь 2021 Google 1,2 триллиона[23] 1,6 триллиона токенов[23] Шаблон:No Модель с разреженной смесью экспертов (Шаблон:Lang-en), что делает её более дорогой для обучения, но более дешёвой для выполнения логического вывода по сравнению с GPT-3.
LaMDA (Language Models for Dialog Applications) Январь 2022 Google 137 миллиардов[24] 1,56T слов[24] Шаблон:No Специализируется на генерации ответов в разговорах.
Megatron-Turing NLG Октябрь 2021[25] Microsoft and Nvidia 530 миллиардов[26] 338,6 миллиарда токенов[26] Шаблон:No Стандартная архитектура, но обученная на суперкомпьютерном кластере.
GPT-NeoX Февраль 2022 EleutherAI 20 миллиардов[27] 825 GiB[17] Шаблон:Yes На базе архитектуры Megatron.
Chinchilla Март 2022 DeepMind 70 миллиардов[28] 1,3 триллиона токенов[28][29] Шаблон:No Модель с уменьшенным количеством параметров, обученная на большем количестве данных.
PaLM (Pathways Language Model) Апрель 2022 Google 540 миллиардов[30] 768 миллиардов токенов[28] Шаблон:No Направлена на достижение практических пределов масштаба модели.
OPT (Open Pretrained Transformer) Май 2022 Meta 175 миллиардов[31] 180 миллиардов токенов[32] Некоммерческое исследованиеШаблон:Efn Архитектура GPT-3 с некоторыми адаптациями Megatron.
YaLM 100B Июнь 2022 Яндекс 100 миллиардов[33] 300 миллиардов токенов[34] Шаблон:Yes 75% текста, использованного при обучении, написано на русском языке[34].
BLOOM Июль 2022 Коллаборация под управлением Hugging Face 175 миллиардов[6] 350 миллиардов токенов (1,6TB)[35] Шаблон:Yes По сути — GPT-3, но обучена многоязычному корпусу текстов (30% английский, исключая языки программирования).
AlexaTM (Teacher Models) Ноябрь 2022 Amazon 20 миллиардов[36] 1,3 триллиона[37] Общедоступный веб-API[38] Двунаправленная архитектура «последовательность к последовательности».
LLaMA (Large Language Model Meta AI) Февраль 2023 Meta 65 миллиардов[39] 1,4 триллиона[39] Некоммерческое исследованиеШаблон:Efn Обучена на большом корпусе из 20 языков, чтобы добиться лучшей производительности с меньшим количеством параметров[39].
GPT-4 Март 2023 OpenAI Нет данныхШаблон:Efn Нет данных Общедоступный веб-API Доступна для пользователей ChatGPT Plus. Microsoft подтвердила, что в Bing Chat используется модель GPT-4[40].
StableLM Апрель 2023 Stability-AI 7 миллиардов[41] 800 миллиардов[41] Исходный код: Apache 2.0[41]

Источники

Комментарии
Примечания

Шаблон:Примечания

  1. 1,0 1,1 1,2 1,3 1,4 Ошибка цитирования Неверный тег <ref>; для сносок Manning-2022 не указан текст
  2. Ошибка цитирования Неверный тег <ref>; для сносок extracting не указан текст
  3. 3,0 3,1 3,2 Ошибка цитирования Неверный тег <ref>; для сносок emergent не указан текст
  4. 4,0 4,1 4,2 4,3 4,4 Ошибка цитирования Неверный тег <ref>; для сносок jm не указан текст
  5. 5,0 5,1 5,2 Ошибка цитирования Неверный тег <ref>; для сносок Wiggers не указан текст
  6. 6,0 6,1 Ошибка цитирования Неверный тег <ref>; для сносок bigger-better не указан текст
  7. 7,0 7,1 Ошибка цитирования Неверный тег <ref>; для сносок kaplan-scaling не указан текст
  8. 8,0 8,1 Ошибка цитирования Неверный тег <ref>; для сносок few-shot-learners не указан текст
  9. 9,0 9,1 Ошибка цитирования Неверный тег <ref>; для сносок bert-paper не указан текст
  10. Шаблон:Cite web
  11. Ошибка цитирования Неверный тег <ref>; для сносок 15Brelease не указан текст
  12. Шаблон:Cite web
  13. 13,0 13,1 Шаблон:Cite web
  14. Шаблон:Cite web
  15. Ошибка цитирования Неверный тег <ref>; для сносок chatgpt-blog не указан текст
  16. Шаблон:Cite web
  17. 17,0 17,1 17,2 Шаблон:Cite arxiv
  18. 18,0 18,1 Ошибка цитирования Неверный тег <ref>; для сносок vb-gpt-neo не указан текст
  19. Шаблон:Cite web
  20. Шаблон:Cite web
  21. 21,0 21,1 Шаблон:Cite arxiv
  22. Шаблон:Cite arxiv
  23. 23,0 23,1 Ошибка цитирования Неверный тег <ref>; для сносок glam-blog не указан текст
  24. 24,0 24,1 Ошибка цитирования Неверный тег <ref>; для сносок lamda-blog не указан текст
  25. Шаблон:Cite web
  26. 26,0 26,1 Ошибка цитирования Неверный тег <ref>; для сносок mtnlg-preprint не указан текст
  27. Шаблон:Cite conference
  28. 28,0 28,1 28,2 Ошибка цитирования Неверный тег <ref>; для сносок chinchilla-blog не указан текст
  29. Шаблон:Cite arxiv
  30. Ошибка цитирования Неверный тег <ref>; для сносок palm-blog не указан текст
  31. Шаблон:Cite web
  32. Шаблон:Cite arxiv
  33. https://yandex.ru/company/news/2022-06-23
  34. 34,0 34,1 GitHub - yandex/YaLM-100B: Pretrained language model with 100B parameters
  35. Шаблон:Cite web
  36. Шаблон:Cite web
  37. Шаблон:Cite arxiv
  38. Шаблон:Cite web
  39. 39,0 39,1 39,2 Ошибка цитирования Неверный тег <ref>; для сносок llama-blog не указан текст
  40. Шаблон:Cite web
  41. 41,0 41,1 41,2 Шаблон:Статья