- BrainTools - https://www.braintools.ru -

Потратил полгода на обучение своей ии с нуля, вот что вышло

Последние полгода я обучал свою небольшую нейросеть с нуля на одной rtx 4060. Сжег кучу времени, перебрал кучу данных и в итоге дошел до версии 2.1 — это крошечная LLM всего на 260 млн параметров.

Зачем вообще было это делать? Мне просто стало интересно, можно ли научить такую микроскопическую нейронку (а более большую я обучить и не мог) хоть какой‑то логике [1].

Что в итоге вышло:

  • Во‑первых, она умеет считать по разрядам. Она может считать большие числа, которые другие модели того же размера считают неверно.

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

(после файн тюнинга она стала считать немного хуже, так что может ошибаться в длинных примерах. В будущих версиях ошибки [2] будут исправлены.)
  • Во‑вторых, она умеет разбивать слова по буквам, считать количество букв в словах. Например, может сказать сколько букв «r» в слове «strawberry».

Потратил полгода на обучение своей ии с нуля, вот что вышло - 2
Потратил полгода на обучение своей ии с нуля, вот что вышло - 3
(в длинных словах могут быть ошибки, также если сформулировать запрос иначе может не понять что сделать)

(в длинных словах могут быть ошибки, также если сформулировать запрос иначе может не понять что сделать)
  • Ну и базово понимает русский, английский и французский. Может переводить простые фразы и поддерживать простой диалог.

Потратил полгода на обучение своей ии с нуля, вот что вышло - 5

что под капотом:

  • Архитектура: Llama 3 (20 слоев, размерность 1024, 16 голов). Контекст 4096, словарь 16384.

  • На претрейне скормил ей 11.8 млрд токенов (батч 512k).

  • На SFT ушло больше 16.5 млн токенов качественной синтетики, которую я сам генерировал через Gemma 4, Qwen 3.5 и DeepSeek v4.

Немного о процессе обучения [3] и данных: Обучать с нуля даже 260М модель на домашней RTX 4060 (с её 8 ГБ видеопамяти) — то еще удовольствие. Чтобы впихнуть невпихуемое, пришлось повозиться с размером батча (накапливал градиенты) и оптимизаторами. Сам претрейн занял у меня около 3 недель. Изначально модель должна была быть немного больше, на ~300м параметров, но из‑за того что не хватало памяти [4] был включен gradient_checkpoint, который замедлял обучение, чтобы ускорить его я отрезал нейросети 4 слоя (изначально было 24) и продолжил учить намного быстрее.

Отдельная история — это данные. Для базового обучения (11.8 млрд токенов) я взял википедию на ru/en/fr, датасет culturaX, Cosmopedia и код. А чтобы научить её нормально считать и бить слова по буквам, я сгенерировал скриптом поразрядную математику [5] и спеллинг в формате ChatML и учил ее считать и писать так сразу еще на претрейне. В предыдущих версиях я на претрейне давал ей сырые примеры, без формата чата, и в итоге после файнтюнинга когда формат менялся она ломалась и считала неверно.

Для файнтюнинга я не брал готовые датасеты, а сгенерировал свои при помощи локальной Gemma 4, Qwen 3.5, и для сложных запросов Deepseek 4 flash по апи. На сбор и генерацию данных в сумме ушло около месяца.

Модель можно запустить через Lm Studio, как чат версию так и базовую модель.

Название модели: dpp‑gptV2.1 Pro.

Ссылка на чат версию: https://huggingface.co/dikiyplayerpig/dpp‑gpt‑V2.1-Pro-260m [6]

Ссылка на base версию (просто продолжает текст): https://huggingface.co/dikiyplayerpig/dpp‑gpt‑V2.1-base-260m [7]

Кстати, сейчас я обучаю flash версию на ~90м параметров. Она почти в 3 раза меньше, посмотрим сможет ли она считать. Буду очень рад любым советам и критике от тех, кто глубоко шарит в ML и обучении моделей. Если у вас есть идеи, как лучше фильтровать датасеты, оптимизировать процесс или улучшить математику у таких малюток — добро пожаловать в комменты!

График лосса. Во время обучения (оно длилось больше 3 недель) данные немного менялись, из за этого есть скачки и просадки лосса. Примерно на 23000 шаге начался файн тюнинг.

График лосса. Во время обучения (оно длилось больше 3 недель) данные немного менялись, из за этого есть скачки и просадки лосса. Примерно на 23 000 шаге начался файн тюнинг.
Лучший стих, написанный dpp-gpt. (обычно рифмы нет вообще).

Лучший стих, написанный dpp‑gpt. (обычно рифмы нет вообще).
Потратил полгода на обучение своей ии с нуля, вот что вышло - 8

Оговорюсь: изначально я написал этот пост для Пикабу, но там сугубо технические детали мало кому интересны. Поэтому решил прийти в Песочницу Хабра, чтобы получить реальный фидбек и советы от профильного сообщества.

Автор: dikiyplayerpig

Источник [8]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/31980

URLs in this post:

[1] логике: http://www.braintools.ru/article/7640

[2] ошибки: http://www.braintools.ru/article/4192

[3] обучения: http://www.braintools.ru/article/5125

[4] памяти: http://www.braintools.ru/article/4140

[5] математику: http://www.braintools.ru/article/7620

[6] https://huggingface.co/dikiyplayerpig/dpp‑gpt‑V2.1-Pro-260m: https://huggingface.co/dikiyplayerpig/dpp-gpt-V2.1-Pro-260m

[7] https://huggingface.co/dikiyplayerpig/dpp‑gpt‑V2.1-base-260m: https://huggingface.co/dikiyplayerpig/dpp-gpt-V2.1-base-260m

[8] Источник: https://habr.com/ru/articles/1049464/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1049464

www.BrainTools.ru

Rambler's Top100