TGViewer
Техножнец Техножнец @technojnec · 5.71K subscribers
Post #4523 4.94K
Я строю языковую модель с нуля - вместе со всем стеком под ней

Обычно «сделал свою модель» означает: взял PyTorch, взял Llama-архитектуру, взял HuggingFace-токенизатор и обучил веса. Я пошёл другим путём - у меня свой каждый этаж этого здания, и это главная особенность проекта.

PromeTorch - мой тензорный фреймворк, написанный с нуля на C++17 и CUDA: около 93 тысяч строк. Свой тензорный движок, свой автоград на сто с лишним backward-функций, свои CUDA-кернелы, оптимизаторы, загрузчики данных, сериализация. Это не обёртка над PyTorch - это параллельная ему реализация, где я контролирую всё: от аллокатора памяти до порядка суммирования градиентов.

> Когда что-то ломается - я чиню не конфиг, а строку в кернеле. Когда что-то медленно - профилирую собственное ядро и ускоряю его: за один день выжал x12 скорости тренировки (chunked-параллельный скан, слияние гейтинга прямо в кернел, TF32/BF16-пути на тензорных ядрах).

PIR - моя архитектура. Это линейная рекуррентная сеть с диагональным селективным сканом - родственник Mamba, RWKV и HGRN, но собственной конструкции: состояние обновляется как

h(t) = g*h(t-1) + v*sigma(gate)


где забывающий гейт g модулируется контентом вокруг зашитого «спектра памяти» - разные каналы забывают с разной скоростью, от считанных токенов до сотен. Сверху - RoPE-позиции, SwiGLU и RMSNorm.

Ключевое отличие от трансформера: никакого внимания и никакого KV-кэша. Стоимость генерации токена - константа: не растёт с длиной контекста ни по времени, ни по памяти. На инференсе вся «оперативная память» модели - 40 векторов состояния по 640 чисел.

Почему это перспективно: трансформер платит за каждый токен перечитыванием всей истории, а PIR несёт историю в сжатом состоянии. Это дешёвый деплой на скромном железе - и здесь вторая особенность проекта: кросс-платформенность, доказанная делом.

Одна и та же архитектура у меня тренируется и работает на NVIDIA A100, на российском Эльбрусе (4x8С2, VLIW-архитектура E2K, из которого я выжал 92% теоретического пика SGEMM) и на нейроускорителе NM Card. Русская модель, обученная на русских текстах моим собственным BPE-токенизатором, на отечественном железе, на собственном фреймворке - вертикаль полностью суверенна: от байтов корпуса до сэмплера.

Что уже сделано, честными цифрами:

- претрейн 117M-параметровой PIR на 2.14 миллиарда токенов русского корпуса - loss 9.8 -> 2.43 за 28 часов на одной A100, целиком на PromeTorch, без PyTorch вообще
- инструктный SFT с loss-маской и выученным EOS-токеном - модель отвечает на вопросы и сама останавливается
- диалоговая версия ведёт мультитёрн-беседу
- параллельно тот же движок исполняет чужие GGUF-модели (Qwen, Gemma, Mistral, DeepSeek) со скоростью до 109 токенов/с на A100 и до 11 токенов/с на Эльбрусе - в разы быстрее llama.cpp на том же железе

И третье - исследовательская прозрачность. Владея каждым слоем, я не гадаю, а измеряю: когда генерация стала распадаться на длинных ответах, я вскрыл модель, померил фактическую память каждого гейта, нашёл перекос спектра в короткую сторону и конструктивную ошибку в разбивке диапазонов - и теперь чиню архитектуру по данным, а не по интуиции.

Такой уровень контроля недоступен в принципе, когда стек чужой.

Куда это ведёт: линейные рекуррентные модели — один из главных фронтиров после трансформеров, и я вхожу в него не потребителем чужих библиотек, а владельцем полного цикла.

Дальше — удлинение памяти состояния, масштабирование и перенос тренировки крупных версий на кластеры отечественных процессоров.

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

Не забывайте поддерживать канал:

🦆🦆🦆
Поддержать канал: ТБАНК
Поддержать канал: ЮМАНИ
Поддержать канал: PAYPAL paperfunkrecordings@gmail.com
Поддержать канал: USDT(trc20) TTk8CqGF9dd4avQcSPDwDF5z3jMcCxGqqT
Поддержать канал: BITCOIN bc1q9ajp3p72xukrvqscm847psmsn948pr8jc5snt7
  • 🔥 56
  • 👏 9
  • ❤ 8
  • 👍 6
  • 🕊 1
More from @technojnec
  1. Oct 1, 2026Denis 3D продолжает развиваться потихонечку. Я не откладываю свои проекты навсегда, всего-…
  2. Oct 1, 2026video post
  3. Sep 29, 2026Это прикольный подход. Одобряю очень!
  4. Sep 29, 2026Q-164M и Q-U-164M — новые модели от Q-Project, обучены с нуля на одной GPU. Q-164M — 164.6…
  5. Sep 29, 2026Комментариев нет, т.к. все пошли повторять 😃
  6. Sep 29, 2026ROTOR: память с четырьмя часами Языковая модель без attention · 33.6M параметров · с нуля…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →