Андрій Карпати щойно випустив один із найбільш «ненависних» репотрієм, які він коли-небудь писав — NanoChat.
Це мінімалістична, але повноцінна система, схожа на ChatGPT, з нуля, яка навчить вас тренуватися та запускати власний LLM менш ніж за 100 доларів.
Маючи лише ~8 тисяч рядків чистого коду, він охоплює все, токенізатор (на основі Rust), попереднє навчання на FineWeb, середній поїзд на SmolTalk, SFT на MMLU / GSM8K / HumanEval, опціональний RL через GRPO, ефективне висновування з кешем KV + попереднє заповнення/декодування та веб-інтерфейс у стилі ChatGPT. (1/п)
Раді випуску нового репозиторію: наночату!
(це одне з найбільш непристойних з усіх, що я коли-небудь писав).
На відміну від мого попереднього аналогічного репозиторію nanoGPT, який охоплював лише попереднє навчання, наночат — це мінімальний, з нуля, повний пайплайн навчання/виведення простого клону ChatGPT в одній кодовій базі з мінімальною залежністю. Ви завантажуєте хмарний графічний процесор, запускаєте один сценарій, і вже через 4 години ви можете розмовляти зі своїм власним LLM у веб-інтерфейсі, схожому на ChatGPT.
Він важить ~ 8,000 рядків досить чистого коду imo, щоб:
- Тренуйте токенізатор за допомогою нової реалізації Rust
- Попередня підготовка Transformer LLM на FineWeb, оцінка балу CORE за кількома показниками
- Midtrain на розмовах між користувачем і помічником зі SmolTalk, питаннях з множинним вибором, використанні інструментів.
- SFT, оцінити модель чату за множинним вибором світових знань (ARC-E/C, MMLU), математикою (GSM8K), кодом (HumanEval)
- RL модель опціонально на GSM8K з "GRPO"
- Ефективне висновування моделі в движку з кешем KV, простим попереднім заповненням/декодуванням, використанням інструментів (інтерпретатор Python у легкій пісочниці), розмова з нею через CLI або WebUI, схожий на ChatGPT.
- Напишіть єдиний табель успішності, узагальнивши та гейміфікувавши всю справу.
Навіть за вартість ~100 доларів (~4 години на вузлі 8XH100) ви можете навчити маленького клона ChatGPT, з яким можна начебто розмовляти, і який може писати історії/вірші, відповідати на прості запитання. Близько ~12 годин перевершує метрику GPT-2 CORE. У міру того, як ви розширюєте масштаб до ~$1000 (~41,6 годин навчання), він швидко стає набагато більш послідовним і може вирішувати прості задачі з математики/коду та проходити тести з множинним вибором. Наприклад, модель глибини 30, натренована протягом 24 годин (це приблизно дорівнює FLOPs GPT-3 Small 125M і 1/1000 GPT-3), потрапляє в 40 секунд на MMLU і 70 секунд на ARC-Easy, 20 секунд на GSM8K і т.д.
Моя мета полягає в тому, щоб зібрати повний стек "strong baseline" в одному цілісному, мінімальному, читабельному, хакерському, максимально розгалуженому репозиторії. Наночат стане підсумковим проектом LLM101n (який все ще знаходиться на стадії розробки). Я думаю, що він також має потенціал перерости в дослідницький джгут або еталон, подібний до наноGPT до нього. Він в жодному разі не закінчений, не налаштований і не оптимізований (насправді, я думаю, що тут, швидше за все, досить багато фруктів, що низько висять), але я думаю, що він знаходиться в такому місці, де загальний скелет досить нормальний, щоб його можна було підняти на GitHub, де всі його частини можна покращити.
Посилання на репозиторій та детальне проходження наночату speedrun – у відповіді.

Ви можете запустити графічний процесор, запустити скрипт і мати власного чат-бота, який спілкується в чаті за ~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):
– ММЛУ 40 +
– ARC-Easy 70+
– GSM8K 20 +
Це справжній міні-трубопровід дослідницького рівня.
Коли хтось запитав, чи можна використовувати NanoChat для тренування персонального LLM (на нотатках Notion, даних про здоров'я тощо), Karpathy облив ідею холодною водою:
"Це не дуже хороший репозиторій для цього... Думайте про ці мікромоделі як про зовсім маленьких дітей; Їм не вистачає чистого інтелекту їхніх більших родичів».
Якщо ви налаштуєте їх на особистих даних, ви можете отримати «миле папугу», яке імітує ваш стиль письма, але це все одно буде неохайно. 🪿
Чому персоналізація – це складно
Щоб створити по-справжньому персоналізовану модель, вам потрібно:
• Підготовка якісних базових даних
• Генерувати тонни синтетичних даних (складні + різноманітні)
• Тонке налаштування на сильному відкритому LLM (наприклад, Tinker)
• Можливо, додайте великі дані перед тренуванням, щоб зберегти загальний інтелект
Сьогодні це все ще територія дослідницького рівня, а не проєкт вихідного дня.
Загальна картина
Карпати бачать у NanoChat новий nanoGPT—
мінімальна, але повна структура, яка може перетворитися на стандартну базу для досліджень LLM, співпраці з громадою та освіти.
На даний момент він не повністю оптимізований, але архітектура надійна — готова для того, щоб учасники GitHub могли просувати її вперед, модуль за модулем.
4,59 тис.
15
Вміст на цій сторінці надається третіми сторонами. Якщо не вказано інше, OKX не є автором цитованих статей і не претендує на авторські права на матеріали. Вміст надається виключно з інформаційною метою і не відображає поглядів OKX. Він не є схваленням жодних дій і не має розглядатися як інвестиційна порада або заохочення купувати чи продавати цифрові активи. Короткий виклад вмісту чи інша інформація, створена генеративним ШІ, можуть бути неточними або суперечливими. Прочитайте статтю за посиланням, щоб дізнатися більше. OKX не несе відповідальності за вміст, розміщений на сторонніх сайтах. Утримування цифрових активів, зокрема стейблкоїнів і NFT, пов’язане з високим ризиком, а вартість таких активів може сильно коливатися. Перш ніж торгувати цифровими активами або утримувати їх, ретельно оцініть свій фінансовий стан.