Введение в 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%

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

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

Я проверил, 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)

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

Источник: 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 минут, но мне нужен очень качественный и точный ответ.

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

Дерево мыслей

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

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

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

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

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

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

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

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

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

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

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

0
24 комментария
Написать комментарий...
Доктор Шкутко

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

Ответить
Развернуть ветку
Владимир Кича

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

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

Ответить
Развернуть ветку
Alexey Bulgakov

Как ни странно, бот с личностью врача — достаточно понятная техническая задача, поскольку существуют качественные, структурированные данные, на которых можно обучать модель. В России это стандарты медицинской помощи, есть такие же от ВОЗ, плюс доступно много другой справочной информации. В этих данных есть простой алгоритм анамнез - диагноз - терапия. Более того, в автоматизации работы с этими данными нет ничего нового: они используются в системах помощи принятия решения, которые встроены в многие медицинские информационные системы и давно используются врачами.

А дальше можно обсуждать, как использовать этот бот, ведь он не проведёт осмотр, специализированные обследования, не выпишет рецепт, не оформит больничный лист и пр. Плюс есть этическая парадигма.

Я думаю, это вопрос эволюции восприятия, в 2018 году государство и сообщество врачей телемедицину даже не воспринимали серьёзно, прошло 5 лет и она в каждый утюг встроена.

Ответить
Развернуть ветку
Доктор Шкутко

Почитал. Крутые ребята и делали нечто фантастическое, правда последние новости датируются 2018 годом. Есть ощущение, что тема не полетела и регуляторы забраковали стартап

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Артур Маслов

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

Ответить
Развернуть ветку
Доктор Шкутко

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

Ответить
Развернуть ветку
AntonK
Через несколько лет LLM:

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

Ответить
Развернуть ветку
Paul Borodin

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

Ответить
Развернуть ветку
дед Мазай и санитары

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

Ответить
Развернуть ветку
Paul Borodin

Автоматизация чатов поддержки, первое что в голову пришло

Ответить
Развернуть ветку
Aleksander N

Магия 👆🏻😂

Ответить
Развернуть ветку
Maga fon

если гигачат от сбера выдает данные от 19 года, о чем это говорит?

Ответить
Развернуть ветку
Виталий Скоробогатов

О том, что это самый настоящий прогресс

Ответить
Развернуть ветку
Maga fon

Они же вроде в этом году типа учили?

Ответить
Развернуть ветку
Vishna Savadhu
Ответить
Развернуть ветку
Maga fon

как я понял, калькулятор работает из коробки , в системе1 и ничего больше уже не нужно дополнительного?

Ответить
Развернуть ветку
Alexey Pisarevsky
Автор

Нет, калькулятор — внешний инструмент. Сама LLM не умеет почти ничего считать

Ответить
Развернуть ветку
Maga fon

Уравнения тоже калькулятор решает? Разрабам зачем в арифметику упарыватся, это же не профильно?

Ответить
Развернуть ветку
Dmitry Usov

LLM по сути обычный сжатый jpeg файл с потерями https://cdoblog.ru/chatgpt-eto-razmytyj-jpeg-v-internete/

Ответить
Развернуть ветку
Alex Lapen

Просто нужно спокойно подождать, когда все наиграются. Одни заработают быстрых денях, другие понасмотрятся красивых картинок и понапишутся стишков и всякой чепухи. Как уже было много раз в истории открытий. Да с той же обычной лампочкой! Кому-то был нужен свет, а кому-то - электрический стул. Кто-то делал батареи, а кто-то -генераторы. А кто-то был - Тесла (не авто). И вот тогда...Уверен, настоящая работа над AI - не вот это всё...Уж слишком быстро выкатывают новые фичи и апгрейды. Слишком много подражателей. Тарифов, планов и всяческих пияров. Поэтому пока спокойно наблюдаем. Делаем выводы. Замечаем тенденции. Спокойно. "А Вы, Шура, пилите-пилите..".

Ответить
Развернуть ветку
Anton Okhrimenko

Чо, программистов то когда заменят?

Ответить
Развернуть ветку
Василий Торопин

Алексей, спасибо большое за потраченное время и силы! Коротко, понятно и очень интересно!

Ответить
Развернуть ветку
Алексей

После всех статей про LLM для меня остаётся непонятным, как модель определяет смысл, что именно мне нужно сделать, особенно, если это касается кода.

Ответить
Развернуть ветку
21 комментарий
Раскрывать всегда