Андрей Карпаты только что выпустил один из самых "безумных" репозиториев, которые он когда-либо писал — NanoChat. Это система, похожая на ChatGPT, созданная с нуля, минималистичная, но полная, которая учит вас, как обучать и запускать свою собственную LLM менее чем за 100 долларов. С всего лишь ~8 тыс. строк чистого кода, она охватывает все: токенизатор (на Rust), предобучение на FineWeb, промежуточное обучение на SmolTalk, SFT на MMLU / GSM8K / HumanEval, опциональное RL через GRPO, эффективный вывод с KV кешем + предзаполнение/декодирование и веб-интерфейс в стиле ChatGPT. (1/n)
В восторге от выпуска нового репозитория: nanochat! (это один из самых безумных, что я когда-либо писал). В отличие от моего предыдущего аналогичного репозитория nanoGPT, который охватывал только предварительное обучение, nanochat — это минимальная, с нуля, полностековая обучающая/инференсная система простого клона ChatGPT в одном коде с минимальными зависимостями. Вы запускаете облачный GPU, запускаете один скрипт, и всего через 4 часа вы можете общаться со своим собственным LLM в веб-интерфейсе, похожем на ChatGPT. Он весит ~8,000 строк довольно чистого кода для: - Обучения токенизатора с использованием новой реализации на Rust - Предварительного обучения трансформера LLM на FineWeb, оценки CORE-метрики по ряду показателей - Обучения на разговорах пользователь-помощник из SmolTalk, вопросах с множественным выбором, использовании инструментов. - SFT, оценка модели чата по мировым знаниям с множественным выбором (ARC-E/C, MMLU), математике (GSM8K), коду (HumanEval) - RL модели по желанию на GSM8K с "GRPO" - Эффективного инференса модели в движке с KV-кэшем, простым предзаполнением/декодированием, использованием инструментов (интерпретатор Python в легковесном песочнице), общение с ней через CLI или веб-интерфейс, похожий на ChatGPT. - Написания одного отчета в формате markdown, подводящего итоги и геймифицирующего весь процесс. Даже при стоимости всего ~$100 (~4 часа на узле 8XH100) вы можете обучить маленький клон ChatGPT, с которым можно немного пообщаться, и который может писать истории/стихи, отвечать на простые вопросы. Примерно через ~12 часов он превосходит метрику CORE GPT-2. При дальнейшем увеличении до ~$1000 (~41.6 часов обучения) он быстро становится гораздо более связным и может решать простые математические/кодовые задачи и проходить тесты с множественным выбором. Например, модель глубиной 30, обученная в течение 24 часов (это примерно равно FLOPs GPT-3 Small 125M и 1/1000 от GPT-3), достигает 40 баллов на MMLU и 70 на ARC-Easy, 20 на GSM8K и т.д. Моя цель — собрать весь "сильный базовый" стек в один целостный, минимальный, читаемый, хакерский, максимально форкабельный репозиторий. nanochat станет завершающим проектом LLM101n (который все еще разрабатывается). Я думаю, что он также имеет потенциал вырасти в исследовательский инструмент или бенчмарк, подобный nanoGPT до него. Это ни в коем случае не законченный, настроенный или оптимизированный проект (на самом деле, я думаю, что там, вероятно, есть много легкодоступных улучшений), но я думаю, что он находится на таком уровне, что общий скелет достаточно хорош, чтобы его можно было выложить на GitHub, где все его части могут быть улучшены. Ссылка на репозиторий и подробный обзор быстрого запуска nanochat находятся в ответе.
Вы можете запустить GPU, выполнить скрипт и получить своего собственного чат-бота, который будет общаться примерно за 4 часа. Карпати говорит, что модель за $100 уже может писать стихи и истории и превосходит GPT-2 по CORE; $1000 приближает её к GPT-3 Small 125M FLOPs с 40 + MMLU и 70 + ARC-Easy баллами. Цель состоит в том, чтобы создать единый, читаемый, хакерский репозиторий, который объединяет полный "сильный базовый конвейер": преемник nanoGPT и основу для его предстоящего курса LLM101n.
Даже с небольшим бюджетом результаты удивляют. • Запуск за $100 (8×H100, 4 часа): обходит GPT-2 на CORE, может писать стихи и короткие рассказы. • Запуск за $1000 (≈24 часа, GPT-3 Small 125 M FLOPs, 1/1000 масштаб): – MMLU 40 + – ARC-Easy 70 + – GSM8K 20 + это настоящая мини-трубопроводная система исследовательского уровня.
Когда кто-то спросил, можно ли использовать NanoChat для обучения личной LLM (на заметках в Notion, данных о здоровье и т. д.), Карпати охладил этот энтузиазм: "Это не лучший репозиторий для этого... Рассматривайте эти микро-модели как очень маленьких детей; им не хватает сырого интеллекта их более крупных кузенов." Если вы дообучите их на личных данных, вы можете получить "милое подражание", которое имитирует ваш стиль письма, но это все равно будет небрежно. 🪿
Почему персонализация сложна Чтобы создать по-настоящему персонализированную модель, вам нужно: • Подготовить качественные базовые данные • Сгенерировать множество синтетических данных (сложных + разнообразных) • Провести дообучение на мощной открытой LLM (например, Tinker) • Возможно, смешать с большими данными предварительного обучения, чтобы сохранить общую интеллектуальность Это все еще область исследований сегодня, а не проект на выходные.
Более широкая картина Карпати рассматривает NanoChat как новый nanoGPT—минималистичный, но полный фреймворк, который может стать стандартной основой для исследований LLM, совместной работы сообщества и образования. Сейчас он не полностью оптимизирован, но архитектура надежна—готова для вкладчиков на GitHub, чтобы продвигать его вперед, модуль за модулем.
Показать оригинал
4,6 тыс.
15
Содержание этой страницы предоставляется третьими сторонами. OKX не является автором цитируемых статей и не имеет на них авторских прав, если не указано иное. Материалы предоставляются исключительно в информационных целях и не отражают мнения OKX. Материалы не являются инвестиционным советом и призывом к покупке или продаже цифровых активов. Раздел использует ИИ для создания обзоров и кратких содержаний предоставленных материалов. Обратите внимание, что информация, сгенерированная ИИ, может быть неточной и непоследовательной. Для получения полной информации изучите соответствующую оригинальную статью. OKX не несет ответственности за материалы, содержащиеся на сторонних сайтах. Цифровые активы, в том числе стейблкоины и NFT, подвержены высокому риску, а их стоимость может сильно колебаться. Перед торговлей и покупкой цифровых активов оцените ваше финансовое состояние и принимайте только взвешенные решения.