Об этом проекте
PlanckGPT — это образовательный проект, демонстрирующий, как обучить GPT-подобную языковую модель с нуля на оборудовании потребительского уровня. Модель имеет примерно 540 миллионов параметров и предобучена на примерно 2 миллиардах токенов из набора данных Fineweb-edu, с опциональным этапом чат-финтюнинга с использованием данных Smol-smoltalk.
Проект нацелен на достижение наилучшего соотношения качества и времени обучения, с мягким ограничением в 50 часов обучения. На ноутбуке автора (Intel Core i7 14700HX, 24 ГБ ОЗУ, RTX 5070 Mobile 8GB) предобучение занимает около 28 часов 20 минут, а чат-финтюнинг — примерно 4 часа 10 минут.
Архитектура использует 14-слойный декодер трансформера с 7 головками запросов, 896-мерными эмбеддингами, роторными позиционными эмбеддингами, чередующимися эмбеддингами значений, активацией squared ReLU и RMSNorm. Токенизатор — Tiktoken с кодировкой GPT-2 (размер словаря 50 257). Обучение использует оптимизатор NorMuon для весов трансформера, 8-битный Adam для эмбеддингов, смешанную точность BF16, градиентный чекпоинтинг и torch.compile.
Проект предоставляет скрипты для предобучения, оценки, чат-финтюнинга и инференса. Производительность предобученной модели близка к GPT-2-medium со средним лоссом на валидации ~2,97 на Fineweb-edu. После чат-финтюнинга достигается средний лосс на валидации ~1,13 на Smol-smoltalk. Инференс использует выборку top-k и top-p с KV-кэшем для более быстрой генерации.
Проект вдохновлен modded-nanogpt и nanochat и распространяется под лицензией Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.