Актуальні теми
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Раді випуску нового репозиторію: наночату!
(це одне з найбільш непристойних з усіх, що я коли-небудь писав).
На відміну від мого попереднього аналогічного репозиторію 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 – у відповіді.

Репозиторій GitHub:
Набагато більш детальне та технічне керівництво:
Приклад розмови з 4-годинним наночатом за 100 доларів у WebUI. Це... Розважальні :) Більші моделі (наприклад, 12-годинна глибина 26 або 24-годинна глибина 30) швидко стають більш когерентними.

І приклад деяких зведених показників, отриманих за допомогою спідрану за 100 доларів у звіті для початку. Поточна база коду становить трохи більше 8000 рядків, але я намагався, щоб вони були чистими і добре коментованими.
Тепер настає найцікавіша частина - тюнінг і підйом на пагорб.

2,4M
Найкращі
Рейтинг
Вибране