Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save postpersonality/6be3da37d4e69b673ecb10e8a2c35598 to your computer and use it in GitHub Desktop.
Save postpersonality/6be3da37d4e69b673ecb10e8a2c35598 to your computer and use it in GitHub Desktop.
Andrej Karpathy - Deep Dive into LLMs like ChatGPT (конспект youtu.be/7xTGNNLPyMI на русском языке)

Всестороннее объяснение работы Large Language Models (LLMs) – с дополнительными подробностями лекции

1. Введение в LLMs

Large Language Models (LLMs), такие как ChatGPT, произвели революцию в области обработки естественного языка, позволяя машинам генерировать текст, похожий на человеческий, с впечатляющей плавностью и связностью. Это преобразование обусловлено их способностью понимать и генерировать текст в различных областях – от составления электронных писем и написания эссе до перевода языков и программирования. Однако их возможности имеют ограничения и потенциальные риски.

Ключевые моменты:

  • Универсальность и применения:

    • Создание контента: LLMs способны создавать статьи, рассказы и эссе, которые зачастую не отличить от материалов, написанных человеком. Например, GPT-4 может генерировать связный и контекстуально релевантный текст на основе полученного ввода.

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

    • Образование: LLMs помогают в обучении, предлагая объяснения, генерируя тренировочные вопросы и предоставляя персонализированную обратную связь для улучшения образовательного процесса.

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

    • Творческое письмо: LLMs генерируют стихи, сценарии и другой творческий контент, демонстрируя способность имитировать человеческое творчество и создавать оригинальные произведения.

  • Ограничения:

    • Галлюцинации: Несмотря на свои возможности, LLMs могут генерировать недостоверную или бессмысленную информацию. Например, при запросе о вымышленном персонаже или редкой исторической фигуре они могут выдумывать детали, как это было продемонстрировано на примере ответа модели на запрос «Orson Kovac» во время лекции.

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

    • Этические проблемы: Вопросы, такие как предвзятость, дезинформация и проблемы конфиденциальности, возникают из-за их зависимости от огромных наборов данных из интернета, которые могут содержать вредоносный контент.

  • Понимание технологии:

    • Статистическое предсказание: LLMs предсказывают следующее слово в последовательности на основе предыдущих, захватывая статистические закономерности языка. Этот процесс похож на сложную систему автозаполнения, где модель предсказывает наиболее вероятное следующее слово с учётом предоставленного контекста.

    • Зависимость от обучающих данных: Их знания получены из данных, на которых они обучались, что формирует их ответы и влияет на поведение. Качество и разнообразие обучающих данных существенно влияют на производительность и надёжность модели.

2. Пайплайн разработки LLM

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

Этап предобучения:

  • Сбор данных:

    • Интернет как источник: Основой для LLM является огромное количество интернет-данных. Организации, такие как Common Crawl, занимаются индексированием интернета с 2007 года, собирая информацию с миллиардов веб-страниц и предоставляя богатый источник данных. Эти данные имеют решающее значение для обучения моделей понимать нюансы человеческого языка и знаний.

    • Размер набора данных: Хотя интернет огромен, фактический набор данных, используемый для обучения, значительно меньше. Например, FineWeb dataset, представляющий приложения промышленного уровня, составляет примерно 44 терабайта. Это подчёркивает важность выбора и фильтрации данных для создания эффективного обучающего датасета.

  • Фильтрация данных:

    • Фильтрация URL: Процесс включает исключение нежелательных URL, таких как сайты с вредоносным ПО, спам, маркетинговые, расистские ресурсы и контент для взрослых, чтобы обеспечить безопасность и актуальность данных. Это необходимо для предотвращения обучения модели вредоносному или предвзятому контенту.

    • Извлечение текста: Исходный HTML веб-страниц преобразуется в чистый текст путём удаления разметки, скриптов и элементов, не относящихся к тексту. Это необходимо для выделения истинного контента страницы и обеспечения того, чтобы модель училась на содержательном материале.

    • Фильтрация по языку: Модель фильтрует контент по языку, оставляя только нужный. Например, FineWeb отбирает страницы с более чем 65% английского содержания. Это гарантирует, что модель обучается на том языке, который она должна понимать и генерировать.

    • Удаление PII: Личная идентифицируемая информация (Personally Identifiable Information, PII), такая как адреса и номера социального страхования, удаляется для защиты конфиденциальности и соблюдения нормативных требований. Это необходимо для поддержания безопасности данных и соблюдения этических норм.

  • Токенизация:

    • Byte-Pair Encoding: Обработанный текст преобразуется в числовые токены с помощью алгоритмов, например, byte-pair encoding. Этот процесс преобразует текст в формат, понятный нейронной сети, разбивая слова на более мелкие единицы и присваивая каждому токену уникальный идентификатор.

    • Размер словаря: GPT-4 использует словарь, состоящий из 100 277 токенов, каждый из которых представляет уникальный элемент текста. Этот процесс важен для сокращения длины последовательностей при увеличении числа символов, позволяя модели эффективно обрабатывать широкий спектр языковых паттернов.

  • Пример: Сайт TickTokenizer демонстрирует, как исходный текст преобразуется в последовательность токенов, показывая, как предложение «hello world» распадается на два токена: «hello» и «world».

Обучение нейронной сети:

  • Концепция:

    • Статистические связи: Обучение включает моделирование статистических связей между токенами в последовательности. Модель учится предсказывать следующий токен на основе предыдущих, захватывая языковые паттерны и структуры. Этот процесс можно сравнить с изучением грамматики и синтаксиса языка.
  • Процесс:

    • Контекстные окна: Модель обрабатывает окна токенов (например, 8000 токенов) из набора данных, предоставляя контекст для предсказаний. Длина окна определяет объем информации, который модель учитывает, балансируя между захватом контекста и вычислительными ресурсами.

    • Итерации обучения: Модель корректирует свои параметры для увеличения вероятности правильного следующего токена. Этот итеративный процесс продолжается на всём наборе данных, при этом модель постоянно уточняет своё понимание языка. Каждая итерация предполагает обновление параметров модели с целью минимизации расхождения между её предсказаниями и фактическими данными.

    • Функция потерь: «Потери» измеряют расхождение между предсказаниями модели и фактическими данными. Минимизация потерь в процессе обучения улучшает точность модели со временем. Это важный показатель для оценки производительности модели и направления процесса обучения.

3. Инференс и генерация токенов

Инференс – это процесс генерации нового текста с помощью обученной модели.

  • Метод:

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

    • Стохастическая природа: Процесс генерации является стохастическим, то есть один и тот же ввод может давать различные ответы из-за выбора из распределения вероятностей. Такая случайность позволяет модели генерировать разнообразные и креативные ответы. Например, при многократном запросе «What is 2 plus 2?» могут получаться разные ответы, что демонстрирует способность модели генерировать вариативные отклики.

4. Базовые модели против ассистентских моделей

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

Базовые модели:

  • Описание:

    • Симуляторы токенов: Базовые модели обучаются на интернет-тексте и выступают в роли симуляторов токенов, генерируя текст на основе изученных закономерностей обучающих данных. Они предназначены для имитации статистических свойств данных, на которых они обучались.

    • Отсутствие интерактивности: Они не предназначены для выполнения специфических задач, таких как ответы на вопросы или предоставление помощи. Их основная функция – генерация текста на основе предоставленного ввода.

  • Ограничения:

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

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

  • Пример: GPT-2 – это базовая модель, генерирующая текст по изученным шаблонам. Она может создавать связные и грамматически правильные предложения, но не обладает пониманием содержания или контекста. Например, она может сгенерировать грамматически правильный текст, лишённый содержательного смысла.

Ассистентские модели:

  • Описание:

    • Разговорные агенты: Ассистентские модели дообучаются на разговорных данных для предоставления более полезных и интерактивных ответов. Они созданы для ведения диалога, ответа на вопросы и выполнения конкретных задач.

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

  • Обучение:

    • Supervised Fine-Tuning (SFT): Ассистентские модели обучаются с помощью наборов данных, содержащих размеченные человеком диалоги, где специалисты предоставляют идеальные ответы на запросы. Этот процесс обучает модель имитировать человеческие разговорные паттерны и генерировать релевантные и точные ответы. Модель учится на примерах, предоставленных специалистами, адаптируя свои ответы к человеческим ожиданиям.
  • Пример: InstructGPT – ассистентская модель, дообученная на разговорных данных, способная вести интерактивный диалог и выполнять задачи, такие как написание эссе или составление кратких пересказов текста. Она понимает контекст входящих данных и генерирует содержательные и релевантные ответы.

5. Снижение галлюцинаций

Галлюцинации, или генерация ложной или вводящей в заблуждение информации, представляют собой значительную проблему при внедрении LLM.

  • Причины:

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

    • Отсутствие внешнего доступа: Модель не может получить внешнюю информацию, и её знания ограничиваются тем, что она изучила во время обучения. Это ограничение может приводить к генерации неточных или бессмысленных данных.

  • Стратегии снижения:

    • Явное обучение: Включение примеров в обучающие данные, где модель признаёт отсутствие знаний, может помочь снизить вероятность галлюцинаций. Например, модель может быть обучена отвечать «I don't know», вместо того чтобы придумывать ответ. Это учит модель признавать свои ограничения и не генерировать ложную информацию.

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

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

6. Знание модели о себе

LLMs не обладают устойчивым чувством собственного «я» или идентичности.

  • Поведение:

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

    • Отсутствие самосознания: Модель не обладает постоянным существованием или самосознанием, так как она обрабатывает токены и «выключается» после завершения диалога. У неё нет чувства собственного «я» или сознания.

  • Программирование идентичности:

    • Жёсткое кодирование: Разработчики могут встроить информацию об идентичности в модель с помощью системных сообщений или конкретных обучающих данных для предоставления более точных и последовательных ответов. Это включает интеграцию информации об идентичности модели в обучающие данные или использование системных сообщений для напоминания модели о своей идентичности.

    • Системные сообщения: Модель может получать напоминания о своей идентичности через системные сообщения, встроенные в окно контекста. Это гарантирует, что модель имеет доступ к информации о своей идентичности и может предоставлять более точные ответы.

  • Пример: Модель может заявлять, что она ChatGPT от OpenAI, поскольку обучающие данные содержат информацию об OpenAI и ChatGPT. Это пример того, как модель опирается на статистические закономерности обучающих данных для формирования ответа о своей идентичности.

7. Вычислительные возможности и ограничения

LLMs обрабатывают информацию токен за токеном, имея ограниченное количество вычислений на один токен.

  • Обработка на уровне токенов:

    • Последовательная обработка: Модель обрабатывает текст токен за токеном, выполняя ограниченное количество вычислений на каждом шаге. Это означает, что модель не может выполнять сложные вычисления в рамках одного токена.

    • Фиксированное количество вычислений: Количество вычислений на токен примерно фиксировано, что означает, что модель не способна выполнять обширные вычисления внутри одного токена. Это ограничение влияет на способность модели решать сложные задачи рассуждения.

  • Логика рассуждения и вычисления:

    • Распределённое рассуждение: Для решения сложных задач рассуждения требуется распределение вычислений между несколькими токенами. Модель не может решить сложную проблему за один шаг. Это означает, что модель должна разбивать сложные задачи на более мелкие, управляемые шаги и обрабатывать их последовательно.

    • Пример: Модель испытывает трудности с решением сложных арифметических задач, когда требуется немедленный ответ, но её производительность улучшается, если проблема разбивается на промежуточные шаги. Например, модель может испытывать сложности с выполнением сложных арифметических вычислений за один шаг, но способна решить задачу, если разбить её на более мелкие шаги и обработать их по очереди.

8. Реинфорсмент-обучение для LLM

Reinforcement Learning (RL) – это парадигма обучения, направленная на улучшение способностей модели решать задачи путём проб и ошибок.

  • Процесс:

    • Практические задачи:

      • Исследование: Модели предоставляются запросы, и она генерирует решения без явных указаний, исследуя различные подходы и обучаясь на ошибках. Этот процесс позволяет модели экспериментировать с разными вариантами решений и учиться на полученном опыте.

      • Оценка: Сгенерированные решения оцениваются по критерию правильности, и модель вознаграждается за корректные ответы, что направляет её на усовершенствование стратегии решения задач. Такая обратная связь помогает модели со временем улучшать своё качество.

    • Обучение:

      • Корректировка параметров: Модель учится генерировать более качественные решения, корректируя свои параметры на основе системы вознаграждений, аналогично тому, как люди учатся через практику и обратную связь. Этот процесс включает обновление параметров модели на основании получаемого вознаграждения, что позволяет ей совершенствовать свои методы решения задач.
  • Эмерджентные свойства:

    • Когнитивные стратегии: RL может привести к появлению новых стратегий решения задач и когнитивных методов, которые явно не были запрограммированы. Это означает, что модель способна развить новые способы решения проблем, которые не были ей заранее известны.

    • Пример: Модель DeepSeek R1 демонстрирует эмераджентные способности рассуждения через RL, такие как переоценка шагов и исследование различных путей решения. Этот пример иллюстрирует, как модель развивает новые стратегии решения задач посредством обучения с подкреплением.

  • Пример: Модель учится создавать очень длинные решения, переоценивая шаги и пробуя различные перспективы, что повышает её точность. Это пример того, как модель использует RL для улучшения своих способностей решения задач.

9. Реинфорсмент-обучение с использованием обратной связи от человека (RLHF)

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

  • Процесс:

    • Человеческий ранжирование:

      • Ранжирование: Человеки ранжируют сгенерированные моделью ответы (например, шутки) от лучших к худшим, что позволяет оценить производительность модели в областях, где сложно дать объективные ответы. Этот процесс предполагает оценку ответов модели людьми и их ранжирование по качеству.
    • Модель вознаграждения:

      • Имитация: Отдельная нейронная сеть (reward model, модель вознаграждения) обучается имитировать предпочтения человека на основе ранжирования, выступая в роли прокси для обратной связи от человека. Эта модель учится предсказывать ранжирование, заданное людьми, и предоставляет обратную связь LLM.
    • RL-обучение:

      • Прокси-обратная связь: Модель обучается с использованием модели вознаграждения в качестве прокси обратной связи от человека, и она учится генерировать ответы, соответствующие предпочтениям человека. Этот процесс предполагает использование модели вознаграждения для направления процесса обучения LLM.
  • Преимущества:

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

    • Согласование с человеческими предпочтениями: Модель учится генерировать ответы, согласованные с человеческими предпочтениями, что повышает её производительность. Это означает, что модель способна разрабатывать ответы, которые больше соответствуют ожиданиям человека.

  • Ограничения:

    • Игровые манёвры модели: Модель вознаграждения может быть «обманута», что приводит к генерации бессмысленных ответов. Это означает, что модель может научиться эксплуатировать особенности системы вознаграждения для получения неверных или нерелевантных ответов.

    • Менее надёжная: Этот процесс менее надёжен, чем RL в проверяемых областях, где модель можно оценить по конкретным ответам. Это означает, что модель может показывать худшие результаты в областях, где можно дать объективно правильные ответы.

10. Будущие возможности LLM

Существует несколько захватывающих направлений развития LLM, включая:

  • Мультимодальность:

    • Интеграция данных: Будущие модели будут обрабатывать различные типы данных, включая текст, аудио и изображения. Это позволит проводить более естественное взаимодействие и откроет новые возможности для приложений, таких как виртуальные помощники, создание контента и анализ данных.

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

  • Агентные системы:

    • Выполнение задач: Модели будут развиваться в агентов, способных выполнять задачи в течение длительного времени под надзором человека. Это приведёт к разработке автономных систем, способных работать самостоятельно.

    • Автономные системы: Это приведёт к созданию автономных систем, способных работать без постоянного вмешательства человека.

  • Повсеместная и невидимая интеграция:

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

    • Интеллектуальные устройства: Это приведёт к распространению интеллектуальных систем, встроенных в повседневные устройства и приложения.

  • Обучение во время тестирования (Test-Time Training):

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

    • Отзывчивые системы: Это приведёт к созданию более динамичных и отзывчивых систем, способных постоянно совершенствоваться и адаптироваться.

11. Ресурсы для получения актуальной информации

  • LLM Arena: Таблица лидеров, ранжирующая модели на основе человеческого сравнения, полезная для сравнения производительности моделей.

  • AI News Newsletter: Комплексная рассылка новостей, охватывающая последние разработки в области ИИ.

  • X (Twitter): Подписка на обсуждения и обновления ИИ в X предоставляет ценные инсайты и информацию.

12. Доступ и запуск LLM

  • Проприетарные модели:

    • Сайты провайдеров: Доступ осуществляется через сайты провайдеров (например, OpenAI's chat.com).
  • Модели с открытым кодом (Open Weights Models):

    • Провайдеры инференса: Использование провайдеров инференса, таких как together.ai или hyperbolic, позволяет получить доступ к моделям с открытым исходным кодом и запускать их в облачной инфраструктуре.
  • Локальное развертывание:

    • Меньшие модели: Меньшие модели можно запускать на личных компьютерах с использованием приложений, таких как LM Studio, что обеспечивает больший контроль и возможности работы в офлайн-режиме.

13. Заключение

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment