🔥 PromeTorch: Deep Learning Framework с нуля
Сегодня починил критический баг в GPU backward pass и достиг 97.17% точности на MNIST — практически как PyTorch!
Что это?
Цифры
Следующий шаг — оптимизатор, который побьёт Adam.
Сегодня починил критический баг в GPU backward pass и достиг 97.17% точности на MNIST — практически как PyTorch!
Что это?
Полноценный DL фреймворк на C++/CUDA:
🧠 Autograd
⚡️ CUDA на GPU
🔷 Intel MKL на CPU
🎯 Свои оптимизаторы
Баг дня
GPU застрял на 75%, CPU давал 97%.
Причина: tensor.t() менял strides, но не копировал данные. GPU читал память в неправильном порядке.
Решение: одна строчка — .contiguous()
Результат: 75% → 97.17% 🚀
Цифры
PyTorch PromeTorch
Accuracy 97.97% 97.17%
Время 13s 24s
Следующий шаг — оптимизатор, который побьёт Adam.
Зачем?
🔧 Контроль над каждым байтом
📚 Понять DL изнутри
🧪 Свобода экспериментов
✨ Кайф от создания своего
👏10❤2 2❤🔥1
Уважаемые, я тут не шутками занимаюсь, если что.
Месяцами провожу тяжелейшие исследования. Раскалываю своё понимание вопроса и делаю это максимально долго, нудно, муторно и детально. Даёт ли это свои плоды? Сами подумайте...следующий пост, вам о многом расскажет.
Месяцами провожу тяжелейшие исследования. Раскалываю своё понимание вопроса и делаю это максимально долго, нудно, муторно и детально. Даёт ли это свои плоды? Сами подумайте...следующий пост, вам о многом расскажет.
🤝13
🔬 TrueKAN: Первая реализация Kolmogorov-Arnold Network быстрее MLP
Все существующие реализации KAN медленнее MLP в 1.5-30 раз. Это главная причина почему KAN остаются академической игрушкой — красивая теория, непрактичная скорость.
Мой - TrueKAN решает эту проблему.
Что это значит
Что под капотом
Настоящий KAN: learnable φ на каждом ребре графа, не "FastKAN" который по сути MLP с хитрой активацией
Chebyshev polynomial basis вместо B-splines
Low-rank factorization коэффициентов
Fused CUDA kernels: базис считается в регистрах, один проход по памяти
Детали реализации опубликую вместе с кодом.
KAN обещали interpretability + accuracy + efficiency. Первые два уже доказаны в литературе. Efficiency был blocker. Если TrueKAN воспроизводится — это убирает последний барьер для практического применения KAN в продакшене.
Бенчмарки сравнения взяты из github.com/Jerry-Master/KAN-benchmarking — те же условия, те же метрики.
Яндекс, Сбербанк - привет.
Все существующие реализации KAN медленнее MLP в 1.5-30 раз. Это главная причина почему KAN остаются академической игрушкой — красивая теория, непрактичная скорость.
Мой - TrueKAN решает эту проблему.
Бенчмарки (GPU, batch=100, dim=1000)
Данные из github.com/Jerry-Master/KAN-benchmarking и arXiv:
Original KAN — 30x медленнее MLP
EfficientKAN — 9.7x медленнее
Fast-KAN — 2.9x медленнее
ChebyKAN — 2.1x медленнее
SineKAN — 1.78x медленнее (лучший в литературе)
Наши результаты:
TrueKAN R=8 — 0.92x (на 8% быстрее MLP)
TrueKAN dim=2048 — 0.42x (в 2.4x быстрее MLP, training mode)
Что это значит
KAN математически мощнее MLP — это следует из теоремы Колмогорова-Арнольда. На сложных осциллирующих функциях (sin(20x)·cos(15y)) MLP даёт R² = 33%. TrueKAN даёт R² = 99.77% при 21x меньшем количестве параметров.
Проблема была в реализации, не в архитектуре.
Что под капотом
Настоящий KAN: learnable φ на каждом ребре графа, не "FastKAN" который по сути MLP с хитрой активацией
Chebyshev polynomial basis вместо B-splines
Low-rank factorization коэффициентов
Fused CUDA kernels: базис считается в регистрах, один проход по памяти
Детали реализации опубликую вместе с кодом.
Статус
✅ Inference быстрее MLP
✅ Training на паритете/быстрее на больших размерностях
✅ Интеграция в LLM (RealKANGPT, loss curves есть)
⏳ Ablation studies для статьи
⏳ Код — скоро в открытом доступе
Почему это важно
KAN обещали interpretability + accuracy + efficiency. Первые два уже доказаны в литературе. Efficiency был blocker. Если TrueKAN воспроизводится — это убирает последний барьер для практического применения KAN в продакшене.
Бенчмарки сравнения взяты из github.com/Jerry-Master/KAN-benchmarking — те же условия, те же метрики.
Яндекс, Сбербанк - привет.
⚡19👍7🔥1
Техножнец
У меня два варианта быстрых. Я просто выбрал Чебышева...но... Кто знает...может Фурье тоже не промах... Мне как-то к нашему душа больше лежит...всего один WIN...и сразу к этим...к басурманам...наши лучше.
но...сукан...мало того, что он эффективнее т.к. выиграл...хоть и 1 раз...так он, сук, в 1,64 раза быстрее...на огромных инференсах это кость в горле и осознанный bottleneck (бутылочное горлышко)!!!!
Грёбаные рассчёты...ломают всю парадигму и привязку к нашему)))))))))
Грёбаные рассчёты...ломают всю парадигму и привязку к нашему)))))))))
❤4
По сути научный прорыв...Российские Институты...где вы? Как связаться с Курчатовским ? Есть контакты? Го.
👏23👍8🎉2😁1🤯1🥴1
Объединил своих 5 идей по поводу обучения без обратной пропагации. Это п***ц...если получится, то это пролёт в другое пространство.
🔥26👍7❤2🤯2
По РНБ работа кипит! Если раньше из тестов было завалено больше половины, то теперь всего 2%!
Сделал компактинг, длинную память. Работают сложные поиски и компиляции выводов модели с разными уточнениями.
Следующий шаг протестировать кодера, который делает диаграммы и ограничить ему инструкциями и алгоритмами эксплойты.
Далее уже можно отдавать на тесты!
Сделал компактинг, длинную память. Работают сложные поиски и компиляции выводов модели с разными уточнениями.
Следующий шаг протестировать кодера, который делает диаграммы и ограничить ему инструкциями и алгоритмами эксплойты.
Далее уже можно отдавать на тесты!
👍15🔥6🤝3👌1
Привет, синтеты!
Вот итоги:
Модель готова к тренировке:
Следующий шаг — запуск полноценной тренировки на A100.
На фоне сверхвыполненного плана по ускорению и подтверждению научного прорыва в области KAN архитектур, пришло осознание о замене и апгрейде токенизатора.
Вот итоги:
TrueKAN — научный прорыв подтверждён:
- Теорема Колмогорова-Арнольда (1957) впервые работает быстрее MLP
- 0.92x от скорости MLP на inference (на 8% быстрее!)
- 99.98% R² на высокочастотных функциях (MLP даёт 0.15%)
- CUDA-оптимизированные ядра с Chebyshev полиномами
- Все ablation studies пройдены и задокументированы
RUKANIZER_100K_V3 — лучший русский токенизатор:
- 100% reconstruction (ruGPT3 — 97.6%, ruBERT — 33%)
- 4.33 chars/token компрессия (на 10% лучше Сбера)
- Побеждает 14 токенизаторов: ruGPT3, ruBERT, mGPT, FRED_T5, Saiga
- №1 в 8 из 9 доменов (наука, новости, код, литература...)
- Обучен на 11.7 GB русского текста
Модель готова к тренировке:
- ~222M параметров
- 100K словарь
- 53.8M токенов в датасете
- Verified pattern: LayerNorm + Chebyshev + CUDA + JIT
Статистика разработки:
- 133 теста написано и выполнено
- 31 бенчмарк с сохранёнными результатами
- 6 инфографик для визуализации
Следующий шаг — запуск полноценной тренировки на A100.
Держу в курсе.
1🔥22❤5🎉2👍1😁1👌1
Техножнец
Привет, синтеты! На фоне сверхвыполненного плана по ускорению и подтверждению научного прорыва в области KAN архитектур, пришло осознание о замене и апгрейде токенизатора. Вот итоги: TrueKAN — научный прорыв подтверждён: - Теорема Колмогорова-Арнольда…
TrueKAN — почему это важно?
Представьте, что все автомобили в мире ездят максимум 100 км/ч. Так устроены двигатели — физический предел. И вдруг кто-то собирает машину, которая едет 108 км/ч. Причём не на секретном топливе, а на том же бензине.
Так вот: с 1957 года существует математическая теорема (Колмогорова-Арнольда), которая обещает более умные нейросети. Но все реализации были в 2-30 раз медленнее обычных. Красиво на бумаге — бесполезно на практике.
TrueKAN — первая реализация, которая работает быстрее стандарта. Теперь эту математику можно использовать в реальных продуктах.
RUKANIZER — зачем новый токенизатор?
Токенизатор — это как нейросеть "читает" текст. Она не видит буквы, она видит кусочки слов (токены).
Проблема: большинство токенизаторов сделаны для английского. Русское слово "переподготовка" они режут на 5-6 кусков, а английское "retraining" — на 2. Из-за этого русский текст обрабатывается медленнее и хуже.
RUKANIZER обучен на русском языке. Он режет русские слова умнее — в среднем 4.3 буквы на токен (у Сбера — 3.9). Меньше токенов = быстрее работает = дешевле считать.
Что в итоге?
Собираю русскоязычную нейросеть нового поколения:
Архитектура быстрее и умнее стандартной (TrueKAN)
Понимание русского языка лучше существующих решений (RUKANIZER)
222 миллиона параметров — достаточно для полезной работы
Следующий шаг — запустить обучение и посмотреть, как она заговорит.
🔥22⚡5❤3👍2🤓1
Бизнес - не коварный. Бизнес - тупой и эффективный. Это все, что надо знать. Коварный бизнес - плохой бизнес. Тупой бизнес - прекрасный бизнес.
Думать , что все вокруг с точки зрения морали, а не "физики денег" - страшное заблуждение.
Насчёт украсть что-то...
Эффективный бизнес, тупой бизнес. Тупому бизнесу всегда легче взять готовое. Тупому бизнесу легче хранить кадры стопкой и давать им задачи подметать море. Норм практика - ведь главное что?
Эффективность.
0 осуждения. 100 понимания ( как факт)
Думать , что все вокруг с точки зрения морали, а не "физики денег" - страшное заблуждение.
Насчёт украсть что-то...
Эффективный бизнес, тупой бизнес. Тупому бизнесу всегда легче взять готовое. Тупому бизнесу легче хранить кадры стопкой и давать им задачи подметать море. Норм практика - ведь главное что?
Эффективность.
0 осуждения. 100 понимания ( как факт)
💯17👍7
По традиции - если вам приятно меня читать и вы хотите просто выразить благодарность или поддержку проекту "Техножнец", то вот возможность. ❤️
YOOMONEY
Любой банк и СБП
ТГ кошелёк: TTk8CqGF9dd4avQcSPDwDF5z3jMcCxGqqT
1🥰6👍5 1 1
Последние тяжёлые шаги в работе с базой по РНБ.
Огромное количество авто тестов, тыкания в интерфейс, тестирования моделек, создания скриптов со сценариями сложных юзеров и....гребаная база документов. (база отличная)
Просто есть столько способов с ней работать, я ищу золотую середину между хорошо и быстро. Сами понимаете - слишком хорошо = медленно, слишком быстро = падает качество.
А я решаю вопрос за счёт нагрузки на свою тачку, поэтому дрожно быть окей.
Тут кое какой проект на подходе...щас расскажу.
Огромное количество авто тестов, тыкания в интерфейс, тестирования моделек, создания скриптов со сценариями сложных юзеров и....гребаная база документов. (база отличная)
Просто есть столько способов с ней работать, я ищу золотую середину между хорошо и быстро. Сами понимаете - слишком хорошо = медленно, слишком быстро = падает качество.
А я решаю вопрос за счёт нагрузки на свою тачку, поэтому дрожно быть окей.
Тут кое какой проект на подходе...щас расскажу.
🔥12❤5
Обратное распространение ошибки — почему это дорого
Обратное распространение ошибки... что за название вообще? Давайте разберём по словам.
Ошибка — сеть дала ответ, мы сравнили с правильным, получили разницу. Это ошибка.
Распространение — эта ошибка должна "дойти" до каждого параметра сети. Их миллионы. Каждый должен узнать: "это из-за тебя или нет?" Обратное — данные шли слева направо (вход → выход). Ошибка идёт справа налево (выход → вход). Обратно.
Всё. Никакой магии.
Сеть ошиблась → ошибка идёт назад → каждый параметр получает свою долю вины → параметры корректируются.
Теперь почему это дорого:
Память. Чтобы пустить ошибку обратно, нужно помнить всё, что было на прямом пути.
Каждый слой сохраняет свои промежуточные вычисления. Модель 7 миллиардов параметров при обучении съедает 50+ ГБ видеопамяти. При обычном запуске — 14 ГБ. Разница — это всё хранится для обратного прохода.
Вычисления.
Прямой проход — одна операция на слой.
Обратный — две: посчитать вину входа + посчитать вину весов.
Backward ≈ 2x forward.
Очередь.
Прямой проход можно распараллелить.
Обратный — строго по порядку.
Пока не разобрался со слоем 10, не можешь трогать слой 9. Видеокарта ждёт.
Итого:
Обучение = прямой проход + обратный проход ≈ 3x от простого запуска.
Но главная боль — память. Обучить модель стоит в 3-4 раза больше видеопамяти, чем просто её запустить.
Что я хочу сделать:
Предсказывать эти "доли вины" маленькой моделью. Без честного обратного прохода. Если выйдет — обучение станет дешёвым как инференс.
Инфа в следующем посте...
👍14❤2🤔1😱1💯1
KANDAM — предсказание градиентов без вычислений
Мы выяснили, что обратное распространение — это дорого. Память, вычисления, очередь. А что если его не делать вообще?
При обучении новой сети:
Почему KAN:
Если сработает:
Обучение нейросетей станет дешёвым. Не в 3 раза дороже инференса, а почти столько же. Это меняет всё — кто может обучать модели, какого размера, за какие деньги.
Мы выяснили, что обратное распространение — это дорого. Память, вычисления, очередь. А что если его не делать вообще?
Идея:
Градиенты — это не случайные числа. Это траектория. Сеть учится по определённому маршруту: шаг 1, шаг 2, шаг 3... Каждый следующий шаг зависит от предыдущих.
Есть теорема Такенса (1981). Она говорит: если наблюдать за системой достаточно долго, можно предсказать её будущее по прошлому. Не нужно знать все внутренности — достаточно видеть историю.
Что делает KANDAM:
Берём много нейросетей, которые гарантированно обучаются
Записываем всё: как менялся loss, как двигались веса, какие были градиенты!
Получаем тысячи "траекторий обучения"
Тренируем маленькую KAN-модель предсказывать: "если история такая — следующий градиент будет такой"
При обучении новой сети:
Прямой проход → посмотрели loss → спросили у KANDAM "куда двигаться?" → получили предсказанный градиент → обновили веса.
Обратного прохода нет. Памяти под активации не нужно. Вычислений в разы меньше.
Почему KAN:
Градиентный ландшафт — сложная штука. Много пиков, впадин, резких переходов. Обычные сети (MLP) плохо учат такие функции. KAN — хорошо. Мы это доказали в TrueKAN: 99% точности там, где MLP даёт 23%.
Если сработает:
Обучение нейросетей станет дешёвым. Не в 3 раза дороже инференса, а почти столько же. Это меняет всё — кто может обучать модели, какого размера, за какие деньги.
Статус:
Теория сходится. Эксперимент спроектирован. Нужно проверить.
👍13❤5🤯1🤝1