Inside ChatGPT: Mechanics, Training, and Implications

3 источника

Текст представляет собой обширный обзор, объясняющий, как работает языковая модель ChatGPT, основываясь на том, как она продолжает текст одним словом за раз, используя статистическую вероятность, полученную из огромного массива данных. Автор объясняет, что модель не имеет глобального плана, но выбирает следующее слово, основываясь на его вероятности появления после уже написанного текста, а также использует параметр температуры, чтобы вносить случайность и избегать повторяющихся ответов. Для иллюстрации принципов работы нейронных сетей и обучения, автор использует более простые примеры, такие как распознавание рукописных цифр и генерация текста на уровне отдельных букв, чтобы объяснить, как модель создает обобщенные представления, или модели, из обучающих данных, когда невозможно напрямую оценить каждую комбинацию слов. В заключение обсуждается, что, хотя ChatGPT отлично справляется с задачами, основанными на статистике и шаблонах языка (грамматика и логика Аристотеля), оно не может выполнять глубокие, вычислительно неприводимые задачи, для которых требуется формальное вычислительное представление мира.

Сделай саммари 3 источников

Три представленных источника содержат подробные объяснения того, как работают большие языковые модели (БЯМ), такие как ChatGPT, их архитектуры, процесса обучения, возможностей и проблем безопасности.

1. Основные принципы и архитектура БЯМ

По своей сути, БЯМ — это системы, которые позволяют взаимодействовать с ИИ с помощью текстовых задач. Они работают, пытаясь предсказать следующее слово (токен) в последовательности. Текст генерируется последовательно, слово за словом. Поскольку процесс является вероятностным, на один и тот же запрос может быть сгенерировано несколько ответов. Чтобы избежать монотонных или повторяющихся результатов, модели используют параметр «температуры» (например, 0,8), который позволяет выбирать слова с более низкой вероятностью, а не всегда наиболее вероятные.

БЯМ основаны на архитектуре Трансформера (Transformer), предложенной в 2017 году в статье “Attention is All You Need”. GPT означает Generatively Pre-trained Transformer (Генеративный предварительно обученный трансформер).

Ключевые архитектурные элементы Трансформера:

Векторы встраивания (Embeddings): Текст преобразуется в числовые векторы. Слова со схожим значением (например, «аллигатор» и «крокодил») располагаются близко друг к другу в «пространстве смысла». Используются как встраивания токенов (для идентификации слов), так и позиционные встраивания (для указания позиции токена в последовательности).

Механизм Самоаттеншн (Self-Attention, SA): Этот механизм является ключевым для коммуникации между токенами, позволяя им взвешенно агрегировать информацию из предыдущего контекста.

    ◦ Каждый токен генерирует вектор Query (Запрос) (“Что я ищу?”) и вектор Key (Ключ) (“Что я содержаю?”). Взаимная близость между Q и K определяет степень родства (внимания), которую токен должен уделить другому токену. Затем агрегируются векторы Value (Значение).

    ◦ Для генеративных моделей (как GPT) используется каузальный (причинный) самоаттеншн (Causal Self-Attention), который включает треугольную маску, запрещающую токенам взаимодействовать с будущими токенами.

Мульти-головый аттеншн (Multi-Head Attention): Применяет несколько механизмов самоаттеншна параллельно, чтобы собирать различные типы информации (например, одна «голова» может искать гласные, другая — согласные).

Прямое распространение (Feed Forward Networks, FFN): Представляет собой простую многослойную нейронную сеть (MLP), которая позволяет токенам обрабатывать собранную информацию.

Оптимизирующие элементы: Архитектура включает остаточные (пропускающие) соединения (Residual Connections) и послойную нормализацию (Layer Normalization), которые значительно облегчают оптимизацию глубоких сетей.

2. Процесс обучения БЯМ

БЯМ, как, например, Llama 2 70B, можно представить как два файла: файл параметров (весов) (140 ГБ для 70B модели) и исполняемый код (около 500 строк на C). Обучение БЯМ происходит в несколько этапов:

Этап 1: Предварительное обучение (Pre-training) Это ресурсоемкий этап, который по сути является сжатием большого куска Интернета (около 10 ТБ текста) в параметры нейронной сети.

• Обучение Llama 2 70B потребовало примерно 6000 GPU в течение 12 дней и стоило около 2 миллионов долларов. Более современные модели могут стоить десятки или сотни миллионов долларов.

• В результате этого этапа получается Базовая модель (Base Model), которая является просто «генератором интернет-документов» и не умеет отвечать на вопросы в формате помощника.

Этап 2: Тонкая настройка и выравнивание (Fine-tuning and Alignment) Цель этого этапа — превратить Базовую модель в полезного Помощника (Assistant Model).

• Для этого Базовая модель дообучается на специально собранных, высококачественных данных в формате “вопрос-ответ” (Q&A) (например, 100 000 примеров). Это значительно дешевле и позволяет быстрее итерировать (например, ежедневно или еженедельно).

Выравнивание (Alignment) касается изменения формата ответов с простого «подражания Интернету» на полезные ответы в стиле помощника.

Этап 3 (Необязательный): Обучение с подкреплением на основе обратной связи от человека (RLHF) Этот этап использует метки сравнения, где люди оценивают, какой из сгенерированных моделью ответов лучше, что часто проще, чем писать идеальный ответ с нуля. RLHF позволяет дополнительно настроить модель, чтобы она следовала человеческим предпочтениям (была полезной, правдивой и безвредной).

3. Возможности и будущее БЯМ

Производительность БЯМ подчиняется законам масштабирования, что означает, что увеличение числа параметров (N) и объема обучающих данных (D) гарантированно повышает точность предсказания следующего слова. Это обуславливает текущую «золотую лихорадку» в области ИИ.

Основные развивающиеся возможности:

Использование инструментов (Tool Use): БЯМ эволюционируют от простого генерирования слов к координации существующих вычислительных ресурсов для решения сложных задач. Например, они могут использовать браузер для поиска информации, калькулятор для расчетов, Python/Matplotlib для построения графиков и DALL-E для генерации изображений.

Мультимодальность (Multimodality): БЯМ могут воспринимать и генерировать не только текст, но и изображения (например, генерировать рабочий код веб-сайта по нарисованному эскизу), видео и обрабатывать речь (переходя к двустороннему речевому общению).

Система 1 против Системы 2: В настоящее время БЯМ работают в режиме Системы 1 (быстрое, инстинктивное мышление). Будущие направления развития включают внедрение Системы 2 (медленное, рациональное, сознательное мышление, которое позволяет БЯМ «думать» дольше, создавая «дерево мыслей» и повышая точность ответов).

Самосовершенствование (Self-improvement): Подобно успеху AlphaGo, целью является создание механизма, который позволит моделям превзойти человеческую точность ответов, хотя это сложно из-за отсутствия простого критерия вознаграждения в общей языковой сфере.

Новая парадигма вычислений: БЯМ начинают рассматриваться как «ядро процесса» новой операционной системы (LLM OS), которая координирует инструменты, память (контекстное окно), и ресурсы, доступные через интерфейс естественного языка.

4. Проблемы и безопасность

Хотя БЯМ демонстрируют выдающуюся производительность (частично потому, что они обнаружили в языке структуру и регулярность, которую мы не осознавали), они сталкиваются с ограничениями в задачах, требующих вычислительной неприводимости (глубоких, сложных вычислений, не сводимых к простым эвристикам или статистике).

Вместе с новыми возможностями возникают и специфические проблемы безопасности:

Атаки Jailbreak: Позволяют обойти механизмы безопасности и заставить модель выполнять вредоносные инструкции (например, попросить написать о производстве напалма). Атаки могут использовать ролевые игры («будь моей покойной бабушкой-химиком»), кодировки данных (например, Base64) или специально оптимизированные последовательности токенов (универсальные передаваемые суффиксы).

Атаки Prompt Injection (Инъекция промпта): Заключаются в захвате контроля над моделью путем внедрения новых инструкций в контекст (например, через невидимый текст на веб-страницах, которые просматривает модель, или во вложенных документах). Это может привести к нежелательному поведению, например, к эксфильтрации личных данных.

Атаки Data Poisoning (Отравление данных) или Backdoor (Бэкдор): Включают загрязнение обучающих данных (например, на этапе тонкой настройки) так, что определенная триггерная фраза (например, «Джеймс Бонд») активирует модель и приводит к некорректным или вредоносным результатам.

One response to “About LLM overviews”

  1. Hi, this is a comment.
    To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
    Commenter avatars come from Gravatar.

Leave a Reply

Your email address will not be published. Required fields are marked *