Введение в LLM для тех, кто все пропустил (выжимка видео Андрея Карпаты, со-основателя OpenAI)

Андрей Карпаты (один из ключевых людей в OpenAI) недавно записал часовую лекцию про то, как работают LLM (большие языковые модели типа GPT-4), какие у них ограничения и какие перспективы.

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

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

Что из себя представляют LLM

LLM (большая языковая модель) состоит всего из двух файлов:

  1. Большой файл с миллиардами параметров (весов)
  2. Маленький файл с ≈500 строками кода для запуска модели

Сама LLM занимает не так много места и не требует больших вычислительных мощностей.

Например, в Llama-2-70b (open source модель от Meta) файл с 70 миллиардами параметров весит всего 140 GB, а саму модель можно запустить локально на своем макбуке без доступа к интернету и она будет работать. Эту модель можно скачать на сайте Meta и использовать абсолютно бесплатно.

Но чтобы получить эти параметры (обучить модель) — нужны большие вычислительные мощности.

Как обучить модель

Стадия 1: Pretraining (обучение базовой модели)

Можно думать об этом процессе как о сжатии Интернета в нейросеть, примерно как ZIP сжимает файлы в архив.

Вот, что нужно, чтобы получить модель типа Llama-2:

  1. Взять «кусок интернета» размером примерно в 10 терабайт текста
  2. Взять кластер из ~6,000 GPUs (специальных графических процессоров, используемых для больших вычислений)
  3. Сжать текст в нейросеть. Потратить на это ~12 дней и ~$2M
  4. Получить базовую модель (тот самый файл с параметрами)

Основная функция базовой модели — предсказывать следующее слово. Вы даете на вход последовательность слов, и она выдает следующее, наиболее вероятное слово, на основании тех текстов, на которых она обучалась.

Например, для слов “cat sat on a” LLM может предсказать слово “mat” с вероятностью 97%

<i>Картинка из презентации, примерно иллюстрирующая работу нейросети</i>
Картинка из презентации, примерно иллюстрирующая работу нейросети

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

<i>Я проверил, ChatGPT действительно отвечает "mat"</i>
Я проверил, ChatGPT действительно отвечает "mat"

Но в отличие от ZIP файла, где сжатие происходит без потерь, LLM "сжимает" интернет с потерями. Именно поэтому модели могут галлюцинировать: придумывать информацию, которой на самом деле нет, но которая выглядит правдоподобно (похоже на то, что она видела в данных, на которых обучалась).

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

Стадия 2: Finetuning (дообучение)

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

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

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

Если обучение базовой модели происходит на огромных объемах текста зачастую низкого качества, то обучение модели-ассистента — это сравнительно небольшие объемы (допустим, 100 000 документов), но все они очень высокого качества.

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

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

Стадия 3 (опциональная): Comparisons (сравнения)

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

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

В OpenAI это называется RLHF (Reinforcement Learning from Human Feedback)

Разница между открытыми и закрытыми моделями

<i>Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fhuggingface.co%2Fspaces%2Flmsys%2Fchatbot-arena-leaderboard&postId=931112" rel="nofollow noreferrer noopener" target="_blank">Chatbot leaderboards</a></i>
Источник: Chatbot leaderboards

Модели с открытыми весами, такие как Llama-2, пока еще отстают по качеству от проприетарных моделей, таких как GPT-4 и Claude.

Но проприетарные модели нельзя скачать к себе, дообучать под свои задачи и т.д., с ними можно работать только через веб интерфейс или через API

(хотя появление Custom GPTs в OpenAI — первый шаг к кастомизации)

Возможности LLM (на пример ChatGPT)

По промпту LLM может понять, что нужно пользователю, и воспользоваться для этого сторонними инструментами:

  1. Искать в Интернете, если пользователю нужна свежая информация (идет в Bing, получает список последних ссылок по запросу, копирует полный текст каждой ссылки в свое контекстное окно и суммирует полученную информацию)
  2. Использовать калькулятор, чтобы что-то посчитать
  3. Использовать Python-библиотеку, чтобы рисовать графики
  4. Рисовать изображения, используя DALL-E
  5. Писать код

Кроме того, LLM могут быть мультимодальными. Распознавать не только текст, но и голос, картинки или видео, а также отвечать голосом, картинками или видео.

Могут ли LLM принимать решения?

Есть известная книга Канемана "Думай медленно... решай быстро".

Основная идея книги в том, что в мозгу есть две системы. Система 1 — быстрые автоматические реакции. Система 2 — более медленная, рациональная и сознательная, которая принимает сложные решения.

Например, ответ на вопрос 2+2 дает Система 1, потому что это знание просто есть у нас на автоматизме. А если нам надо посчитать 17х24, тут уже нужна Система 2.

Если рассуждать в этих терминах, то текущие LLM обладают только Системой 1. Они могут только выдавать только наиболее вероятное следующее слово в реальном времени.

Было бы классно, мы могли прийти к LLM и сказать: вот мой вопрос, можешь думать 30 минут, но мне нужен очень качественный и точный ответ.

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

<i>Дерево мыслей</i>
Дерево мыслей

Могут ли LLM обучать сами себя?

Есть известный кейс, когда AlphaGo (программа, которая играет в Go) обучалась в два этапа:

  1. Сначала она обучалась на играх людей и научилась играть очень хорошо.
  2. А потом она начала самообучаться — играть сама с собой, стараясь максимизировать вероятность выигрыша — и еще многократно улучшила качество игры.

Но в LLM мы пока только на этапе 1 — обучение пока происходит только на материалах, созданных людьми. Почему так?

Дело в том, что в игре в Go есть очень понятный критерий успеха — выигранная игра, и можно обучать модель, максимизировать вероятность выигрыша. В LLM же критерии не столь очевидны. Не понятно, как оценить, хорош ли полученный результат.

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

Что LLM смогут через несколько лет?

Напоследок, небольшой прогноз.

Через несколько лет LLM:

  • Имеют больше знаний, чем любой человек, по всем предметам
  • Могут работать в Интернете
  • Могут использовать существующую программную инфраструктуру (калькулятор, Python, мышь/клавиатура)
  • Могут видеть и генерировать изображения и видео
  • Могут слышать и говорить, а также генерировать музыку
  • Могут думать в течение длительного времени, используя Систему 2
  • Могу самообучаться в тех областях, где есть понятные критерии
  • Можно настраивать и дорабатывать под конкретные задачи. Множество версий существует в магазинах приложений
  • Могут общаться с другими LLM

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

186186
24 комментария

Через несколько лет LLM:...
* Могут создавать каналы в телеграмме и приглашать туда другие LLM

4
Ответить

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

2
Ответить

Боты-ассисстенты врачей, собранные на коленке на основе простого ChatGPT, - конечно это хайп, не более. Они дают рекомендации на основе статей о здоровье из Комсомольской Правды.

Профессиональные нейро-ассистенты, обучаются годами. Например, профессионалы от AI и медицины 2 года обучали DeepMind в Google обнаружению рака молочной железы, прежде чем запустить ассистента в тест.

3
Ответить

Комментарий недоступен

1
Ответить

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

Ответить

Спасибо за пояснения по ассистентам, не до конца понимал, что это такое и что с этим делать.

1
Ответить

Пссс, бро... Намекни в двух словах, что это такое и что с этим делать... Лень читать TLDR

Ответить