Pull to refresh
242.72
Тензор
Разработчик системы СБИС

Обзор по LLM

Reading time10 min
Views12K

В прошлом году(2023) в мире больших языковых моделей(LLM) произошло много нового и интересного. В новостях появились фразы о гонке искусственных интеллектов, а многие именитые IT компании включились в эту гонку. В этой статье вместе рассмотрим как все начиналось, кто сейчас занимает лидирующие позиции в гонке и когда роботы захватят мир.

Дерево развития LLM
Дерево развития LLM

Начало гонки

Когда-то задачи обработки естественного языка(NLP) возлагались на рекуррентные сети. На вход им подавались векторные представления токенов (обычно букв, слов или n-грамов). Такие сети при обработке очередного токена могли учитывать рядом стоящие, что позволяло им, например, подбирать правильные склонения слов, а порой и находить слова, подходящие по смыслу. Такие сети показывали неплохие результаты в машинном переводе и ряде другие задач, но, в целом, не наводили мысль о скором появлении общего искусственного интеллекта(AGI).
Тогда на сцену выходят Attention-слои, которые уже способны захватывать контекст всего входа при обработке токена. На основе этих слоев строится архитектура трансформеров, которые быстро показывают, что способны справляться с задачами NLP намного лучше, чем рекуррентные сети.

Разделение на энкодер и декодер

Схема трансформера из статьи "Attention is all you need"
Схема трансформера из статьи "Attention is all you need"

В оригинальной статье "Attention is all you need" блок трансформера состоял из двух частей: энкодера и декодера. Компания Google решила использовать только энкодер и создала сеть BERT(Bidirectional Encoder Representations from Transformers), а компания OpenAI предпочла использовать только декодер, что привело к появлению первой модели GPT(Generative Pre-trained Transformer). Эти модели называют первыми большими языковыми моделями с 340 и 120 миллионами параметров соответственно. Обе модели обучались на большом количестве данных. Основным датасетом для GPT был Toronto Book Corpus. BERT также использовал этот датасет наряду с английской википедией. Основной вклад этих моделей заключался в том, что они показали перспективность использования большого количества параметров и предобучения на огромном количестве данных.

Разгон на генерации текста

GPT-модели развивались наиболее стремительно. Модель GPT-2 имела до 1.5B параметров и показывала неплохие результаты в генерации текста. В качестве датасета были использованы все тот же Toronto Book Corpus, а также 8M веб-страниц. Эта модель уже могла дополнять строки кода, генерировать текстовые квесты, а также осуществлять задачи, которым она не обучалась: переводить текст, отвечать на вопрос или давать краткое описание текста. Вдохновившись этим успехом OpenAI создала GPT-3 - модель, которая имела около 175B параметров и обучалась, примерно, на 500B токенов (в основном использовался корпус Common Crawl). Эта модель была способна генерировать новости, трудноотличимые от человеческих, являлась отличным подспорьем для написания работ студентами. Также могла справляться с задачами, которые ранее не видела, без какого-либо дообучения. На основе GPT-3 была обучена сначала InstructGPT (модель, которая дообучалась с помощью обучения с учителем и обучения с подкреплением на датасете, созданном OpenAI, и понимает инструкции на естественном языке и следует им, выдавая более подходящую информацию в заданном стиле), а затем и GPT-3.5. По поводу последней OpenAI не давало информации о количестве параметров, хотя Microsoft(OpenAI обучает свои модели на суперкомпьютерной инфраструктуре Microsoft Azure), возможно, проболталась об этом. Так или иначе, на основе GPT-3.5 появился(около года назад) ChatGPT, который снискал себе славу не только тем, что мог генерировать почти человеческие тексты, но и способен поделиться знаниями из самых разных областей(ChatGPT выдает более правдивые ответы, чем предшественники). Также способности к генерации кода у ChatGPT возросли.

Текущее положение лидеров

Гонка не была бы гонкой, если бы в ней присутствовал только OpenAI со своим ChatGPT. Компания Meta выпускает последовательно модели Llama(до 65B параметров) и Llama-2(до 70B параметров). Также выходит модель Vicuna, которая является, по сути, моделью Llama, дообученной на ответах ChanGPT. OpenAI выпускает новую версию GPT-4 с 1.76T параметров, которая способна принимать на вход картинки. Компания X(Twitter) заявляет о выпуске модели Grok-1. Конечно, Google тоже участвует в гонке со своей моделями PALM-2 и Gemini, которые превосходит GPT-4 на некоторых бенчмарках. В России компания Яндекс выпускает модель YandexGPT-2, а Сбербанк презентует Gigachat. И это даже не все модели вышедшие в 2023 году. Кратко остановимся на перечисленных моделях, а также приведём примеры их ответов, которые мы получили, работая над задачей выделения позитивных и негативных аспектов в отзывах.

Llama и Llama-2

Генеративные модели обученные на датасетах из общедоступных источников(Github, Wikipedia, ArXiv) Llama-2 дорабатывалась совместно с Microsoft. Выпущены несколько версий разного размера: 7B, 14B и 70B параметров. Для запуска последней требуется 8 видеокарт (хотя это ограничение можно обойти, если видеопамять позволяет). Обучалась Llama-2 на 512 GPU NVidia A100 в течение 1.7млн GPU-часов. Сама по себе модель мультиязычная, но версии 7B и 14B при генерации текста на русском могут неправильно склонять слова или даже делать вставки на английском. По эффективности модель держится на уровне с ChatGPT, правда, иногда бывает чересчур позитивной.

Пример ошибки:
Запрос: "Составь список позитивных и негативных аспектов, отмеченных в отзыве: Не понравилось. Кассир создал очередь, работала одна . Все очень медленно."
Ответ Llama-2-70B: "Позитивные аспекты:

  • Кассир создал очередь, что указывает на наличие определенной организации и порядка в работе

Негативные аспекты:

  • Не понравилось (общее впечатление от посещения магазина)

  • Работала только одна касса (очевидная недостаточность касс для обслуживания клиентов)

  • Все очень медленно (задержки в обслуживании клиентов, возможное недостаточное количество сотрудников)"

Vicuna

Vicuna является доработанной Llama, а с версии 1.5 основана на Llama-2. Также имеет несколько версий разного размера 7B, 13B и 33B параметров. Как и Llama, отвечая на русском, может вставлять предложения на английском. Обучалась на диалогах с ChatGPT собранных с помощью ресурса ShareGPT на 8 GPU NVidia A100 в течение 1 дня. Модель оценивалась с помощью GPT-4 и показала качество на уровне 90% однако строгих исследований качества не проводилось.

Пример ошибки
Запрос: "Составь список позитивных и негативных аспектов, отмеченных в отзыве: Всё очень вкусно, и напитки и еда! Готовят достаточно быстро. Атмосферное место, в тёплую погоду очень уютно сидеть на улице. Официант Арина очень вежливая и улыбчивая девушка, хорошо и быстро обслужила столик) С удовольствием придём с подругами ещё не один раз)"

Ответ Vicuna-13B: "Посitive sides:

  • Всё очень вкусно, и напитки и еда!

  • Готовят достаточно быстро.

  • Атмосферное место, в тёплую погоду очень уютно сидеть на улице.

  • Официант Арина очень вежливая и улыбчивая девушка, хорошо и быстро обслужила столик.

  • С удовольствием придём с подругами ещё не один раз.

Negative sides:
None mentioned in the review"

ChatGPT(GPT-3.5)

Хотя и уступает первенство новой версии (GPT-4), но все еще остается одним из лидеров среди LLM. Для обучения были использованы 285000 ядер CPU и 10000 ядер GPU. Датасет включал в себя данные из Libgen, Smashwords, Wikipedia, ArXiv и др.

Пример ошибки
Запрос: "Какие позитивные и негативные стороны отмечены в отзыве, составь список. Прекрасный "детский" ресторан: отличный выбор блюд и напитков, как для детей, так и для взрослых; великолепные детские комнаты и уголок на улице; внимательные аниматоры; услужливые и приятные официанты. Чисто, уютно, продумано всё до мелочей: от бахил до автоматических одноразовых накладок на унитаз. Конечно, цены не низкие, но посещение этого ресторана однозначно того стоит."

Ответ: "Позитивные стороны:
— Отличное меню для детей и взрослых;
— Великолепные детские комнаты и уголок на улице;
— Внимательные аниматоры;
— Услужливые и приятные официанты;
— Чистота и уют в ресторане;
— Продуманность всего до мелочей: от бахил до автоматических одноразовых накладок на унитаз.
Негативные стороны:
— Цены могут быть немного высокими;
— Некоторые блюда и напитки могут быть не доступны для заказа по меню или иметь ограниченный выбор."

GPT-4

GPT-4 - пока самая большая модель от OpenAI - 1.76T параметров. Количество параметров снова увеличено на порядок. Такими темпами через пару итераций GPT модели будут обладать 100+T параметров, что сопоставимо с человеческим мозгом (87B нейронов и у каждого в среднем 1000 связей). Превосходит предыдущие модели, как в качестве генерируемого текста, так и в написании кода. Явно является одним из фаворитов гонки ИИ. ChatGPT также может использовать эту модель в качестве базовой.

Grok-1

Grok-1 - модель выпущенная недавно компанией Илона Маска и еще не открытая для широкой аудитории. Заявляется, что модель превосходит Llama-2-70B, хотя имеет всего 30B параметров. Также сообщается что эта модель наделена остроумием и в ней присутствует бунтарский дух.

PALM-2

PALM-2 - модель от компании Google, также не открытая, пока, для большинства пользователей. По сравнению с моделью PALM в новой модели уменьшенное число параметров (было до 540B), улучшенная архитектура и улучшенная поддержка многоязычности (как в естественных языках, так и в языках программирования). Google создала модели 4 размеров, самая маленькая из которых может работать на мобильном телефоне.

Gemini

Gemini - совсем недавно вышедшая мультимодальная модель от Google. Является следующей итерацией развития модели PALM-2. Доступна через Web-интерфейс и показывает очень хорошие результаты (превосходит GPT-4 по многим бенчмаркам). Созданы модели трех версий: Ultra, Pro и Nano. Версия Ultra самая большая, работает на TPU. Версия Pro оптимизирована под продажу. Версия Nano тренировалась дистилляцией из более больших версий модели Gemini. Она создана для работы на устройствах и имеет два варианта: Nano-1(1.8B параметров) и Nano-2(3.25B параметров).

Пример ошибки
Запрос: "Какие позитивные и негативные стороны отмечены в отзыве, составь список. Шли за качественной едой, к которой привыкли в костромской Избушке. Тут совсем другое - лапша была дико пересолена, обменял на борщ, он был не такой соленый. Все блюда были пересолены, салат с душком и стек весь. Поели с трудом..."

Ответ: "Позитивные стороны:
Гость ожидал получить качественную еду
Негативные стороны:
Все блюда были пересолены
Салат с душком и стек весь"

YandexGPT-2

YandexGPT-2 - отечественная модель, хорошо поддерживающая русский язык, с которой можно поговорить(https://ya.ru/alisa_davay_pridumaem). Тем не менее, модель уступает ChatGPT в некоторых задачах и отказывается отвечать на вопросы, если посчитает их политическими. Модель основана на первой версии YandexGPT, которая в свою очередь основывалась на YaLM (в этой модели было до 100B параметров), которая обучалась больше 2 месяцев на 800 GPU NVidia A100 на датасете, в котором было порядка 1.7Тб данных из различных источников.

Пример ошибки
Запрос: "Составь список позитивных и негативных аспектов, отмеченных в отзыве: Из достоинств — внутри чисто и симпатично. Из-за этого решили заглянуть. Но сразу встретило хамское поведение женщины на раздаче, когда спросили есть ли ещё завтрак (время было 12 с чем-то). Начала возмущаться какой завтрак в это время, в итоге оказалось, что с завтрака все же остались блинчики и запеканка, вот смысл было дерзить, если по факту завтрак был. Блинчики со вкусом дешевого масла, хлеб с плесенью, шоколадный десерт с мелким песочком на зубах, возможно это дешевое какао, не предназначенное для десертов. Сосиска, суп, картошка, напитки были нормальными."
Ответ:"Негативные аспекты:
– Хамское поведение персонала
– Несвежие продукты (блинчики, хлеб)
– Низкое качество десертов
Позитивные аспекты:
– Чистота и уют помещения
– Нормальные вкусовые качества основных блюд и напитков"

GigaChat

GigaChat - ещё один представитель отечественных LLM, который не любит отвечать на некоторые вопросы. Прежняя версия содержала 13B параметров и выглядела слабо по сравнению с аналогами (Llama-2-13B, Vicuna-13B). Новая же версия(29B параметров) показывает значительное улучшение генерируемых ответов.

Пример:
Запрос: "Составь список позитивных и негативных аспектов, отмеченных в отзыве: Очень интересный интерьер в детском стиле. Яано ориентировано на семейный отдых. Светлый зал. Немного тесновато. Много столиков. Большое меню. Очень вкусно. Обслуживание хорошее. Есть детские уголки. Найти заведение немного непросто. Оно не на виду, на улочке в стороне от центральных улиц." Ответ: "Позитивные аспекты: – Интересный интерьер в детском стиле.
-Ориентировано на семейный отдых.
-Светлый зал.
-Большое меню.
-Вкусно.
-Обслуживание хорошее.
-Есть детские уголки.
Негативные аспекты:
-Немного тесновато.
-Найти заведение немного непросто."

Flan-T5 и FRED-T5

Перечисленные ранее модели являются продолжателями идеи декодер-моделей. Однако Google после работы над BERT'ом разработала также энкодер-декодер модель T5(Text-to-Text Transfer Transformer), которая содержала до 11B параметров. Обучалась модель на 1024 TPU v3 на датасете C4 (Colossal Clean Crawled Corpus), который является очищенной версией Common Crawl датасета. Затем Google зафайнтьюнили эту модель, что позволило значительно улучшить качество (так получилась Flan-T5). Исходная T5 модель является англоязычной, но по аналогии с ней был обучен русскоговорящий аналог - ruT5, который затем был переобучен в FRED-T5(до 1.7B параметров) Сбербанком. Обучение происходило на 112 GPU Nvidia А100 на датасете размером около 300Гб очищенных данных.

Пример:
Запрос: "Make a list of positive and negative aspects noted in the review: Didn't like it. The cashier created a queue and was working alone. Everything is very slow."
Ответ Flan-T5: "negative aspects noted: slow"

Процесс обучения

Обучение больших языковых моделей занимает много времени и ресурсов. Обычно процесс обучения делится на два этапа: предобучение(pretrain) и настройка(fine-tuning). На первом этапе модели тренируются без учителя на больших объемах данных. Для этого используются корпуса, состоящие из книг, статей, новостей, Википедии и т.д. Common Crawl один из известных датасетов, содержащий множество текстов с интернет-страниц, который часто используется на этапе предобучения. На этапе настройки используются уже размеченные датасеты, тренирующие модель решать разные задачи. Причем количество таких датасетов может достигать нескольких сотен для одной модели. На русском языке такие датасеты можно найти, например, здесь. Многие компании уделяют особое внимание чистоте данных, на которых обучаются модели, поэтому неудивительно, что в большинстве своем вычищенные данные остаются недоступными, даже если сама модель находится в открытом доступе.

В заключении

Некоторые эксперты полагают, что создание AGI можно ожидать уже в ближайшие 5 лет. Это вполне может оказаться правдой и тому есть несколько предпосылок. Во-первых, вычислительные мощности нейронных сетей начинают сравниваться с человеческими, а модели становятся мультимодальными, позволяя учиться на данных разного вида. Во-вторых, количество должно рано или поздно перейти в качество. Количество LLM и их размеры увеличиваются, качество сгенерированного текста приближается к написанному человеком и есть вероятность, что в обозримом будущем будет достигнут некий рубеж, при котором AGI должен будет создаться просто математически. Конечно, также может оказаться, что для создания АGI нужна особая архитектура нейросети или особое обучение или еще что-то пока нам неизвестное. В-третьих, в компании OpenAI уже упомянули о существовании модели Q*, которая может решать школьные математические задачки, что является еще одним шагом на пути к AGI.

Tags:
Hubs:
Total votes 15: ↑14 and ↓1+17
Comments5

Articles

Information

Website
sbis.ru
Registered
Founded
Employees
1,001–5,000 employees
Location
Россия