Техножнец
1.81K subscribers
1.19K photos
222 videos
12 files
419 links
Канал моих увлечений и поделок. Все ,что я делаю и выкладываю здесь - делается с любовью.

Поддержать канал: https://tbank.ru/cf/8Xnajl01ehm

Поддержать канал: https://yoomoney.ru/fundraise/1C86E2DGIU9.250819
Download Telegram
Первые результаты SFT (PIR 220-250m)

Промпт: Explain how vaccines work to someone who is afraid of needles.

Ответ:

...the vaccine is a highly effective way to prevent future infections from spreading further than others in the same age group... immunization program provides immunity and protection against infectious diseases like hepatitis B and influenza.


Перевод:

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


Тут нет перепутанных сущностей. Vaccine → immunity → infectious diseases → hepatitis B, influenza. Всё в домене.
Но "afraid of needles" часть вопроса проигнорирована полностью.


Вывод: Модель попадает в домен, но не отвечает на ВЕСЬ вопрос. Частичное понимание.
👀4🤔1👌1
🔥4🥰1
Привет, синтеты! 👋

Большой апдейт по RUKALLAMA — русскоязычная LLM на архитектуре KAN. Работа идёт несколько недель, расскажу что было сделано.


📁 Отправная точка: BASELINE.txt


Монолит на 3000+ строк — полный training pipeline SplineGPT для Colab. Архитектура: KAN-слои вместо Linear, MoE (Mixture of Experts), RoPE позиционные эмбеддинги, токенизатор с ёфикацией. Всё в одном файле. Первая задача — разбить на модули и сделать это production-ready.



🐌 Проблема KAN: скорость

Оригинальный B-spline KAN был в 17 раз медленнее MLP. Cox-de Boor рекурсия для сплайнов — красивая математика, но GPU её ненавидит.


🔬 59 файлов экспериментов, 30 коммитов

Перепробовал всё. CUDA kernel для B-spline — ускорение 2.3x, но всё ещё медленно. Triton KAN — 1.6x быстрее MLP, но это оказался не настоящий KAN, а просто MLP с learnable activation. FastKAN с PReLU — та же история. RBF, Swish, Fourier варианты — все провалились как истинные KAN реализации.



🎯 Ключевой инсайт: что такое НАСТОЯЩИЙ KAN

Теорема Колмогорова-Арнольда требует функцию φ_{i,j}(x_i) на КАЖДОМ ребре графа. Не общую активацию, а уникальную функцию для каждой пары вход-выход. Это критично для аппроксимации сложных функций — MLP даёт 33% R² на sin(20x)*cos(15y), а правильный KAN должен давать 99%+.



🤖 Консультация GEMINI 3 PRO PREVIEW

Задал вопрос: можно ли ускорить TRUE KAN до скорости MLP? Ответ: ДА. Проблема не фундаментальная, а в memory bandwidth. Решение: Chebyshev базис вместо Fourier (рекуррентная формула T_n = 2x*T_{n-1} - T_{n-2} это один fma такт GPU), fused CUDA kernel (basis вычисляется в регистрах, не пишется в память), low-rank факторизация коэффициентов.



⚡️ TrueKAN: 6 версий до успеха


V1 Fourier — 4x медленнее MLP. V2 Chebyshev — 6x медленнее (Python loop). Vectorized — 5.7x. CUDA Fused — 4.3x. CUDA+LowRank R=8 — 0.92x от MLP. Финально: TRUE KAN на 8% БЫСТРЕЕ чем MLP при 99.77% R² на сложных функциях.



🏗 REALKAN: полная архитектура

Заменил ВСЕ линейные слои на TrueKAN. Тесты Attention: TrueKAN бьёт Linear на -4.5% loss при равных параметрах. Отдельная проблема — mode collapse когда KAN shared между головами. Решение от Gemini: per-head KAN через ModuleList + LayerNorm before tanh.



🔤 Токенизатор RUKANIZER

Обучил BPE на 50K токенов с SentencePiece backend. Встроенная ёфикация — загрузил словарь на 19,052 слова из OpenRussian.org. "Еж пошел в лес" автоматически становится "Ёж пошёл в лес". Тесты: 100% exact reconstruction, 100% ёфикация, скорость 636K chars/s, сжатие 4.1x — вдвое лучше tiktoken на русском тексте.



⚡️ Flash Attention

На Windows не компилируется из исходников. Нашёл pre-built wheel на HuggingFace (lldacing/flash-attention-windows-wheel) для точной конфигурации Python 3.12 + PyTorch 2.6 + CUDA 12.4. Установка за секунды. Ускорение обучения 1.43x.



🚀 Сейчас

SplineGPT 581M параметров учится на A100-40GB. Датасет: 767 русских книг + 56K инструкций = 45M токенов. 25 эпох, 1.14B токенов прогонит. Telegram бот шлёт метрики каждые 500 шагов. ETA ~3 дня.



Итого

От монолита к модульной системе. От KAN в 17x медленнее MLP до KAN быстрее MLP. Поехали! 🔥
50👍114😁1
Работа с датасетом для RUKALLAMA 📚


📦 Источник

Начал с коллекции "RUKALLAMA 1 DATASET FINEST" — 767 книг по 8 предметным областям. Алгебра, геометрия, тригонометрия, арифметика, естественные науки, история с обществознанием, филология, прикладные навыки. Советские и российские учебники, задачники, методички.



🗂 Структура

Каждая книга содержит restored_text.txt (OCR-текст после восстановления) плюс папку instructions/ с четырьмя типами инструкций: dialog (вопрос-ответ), basic (пошаговые инструкции), multistep (многошаговые решения), problem (задачи с решениями). Инструкции генерировались из контекста книг.



🐛 Проблемы исходных данных


OCR-артефакты: повторяющиеся символы (аааааааааа), множественные точки, битые переводы строк. URL и email адреса из сносок. Дублирующиеся строки между книгами (цитаты, определения). Мусорные паттерны типа "стр. 123", "рис. 45", ISBN.



🧹 Инструменты очистки

Написал три скрипта. dataset_analyzer.py — сканирует структуру, ищет артефакты, проверяет когерентность инструкций с книгами, считает статистику. dataset_cleaner.py — регулярки для URL/email, ограничение повторов символов до 3, нормализация пробелов и переносов, дедупликация через MD5-хэши строк длиннее 30 символов. prepare_training_data.py — полный пайплайн: очистка + форматирование инструкций + объединение в один файл для pretrain + токенизация.



📝 Форматы инструкций

dialog (58%): "Вопрос: ...\nОтвет: ..." — самый частый формат.
basic (13%): "Инструкция: ...\n\nШаги:\n- ..." — пошаговые руководства.
multistep (13%): "Задача: \n\nРешение:\n1. ..." — решения задач.
problem (16%): "Проблема: ...\n\nРешение:\n1. ..." — проблемы и их анализ.



Результат очистки

all_texts.txt — 291 MB чистых текстов книг.
all_instructions.jsonl — 51 MB инструкций с метаданными.
all_mixed.txt — 330 MB всё вместе для pretrain (не раздельно SFT, а единый поток).
train_tokens.bin — 92 MB токенизированных данных (46M токенов).



📊 Статистика

767 книг, 56,442 инструкции, 315 MB текста после очистки. Удалено: тысячи URL, сотни email, десятки тысяч дублирующихся строк. Сжатие токенизатором 4.1x — лучше чем tiktoken на русском.



💎 Чистые данные — основа качественной модели.
👍92
Целый зоопарк моделей. Так и выиграем. RUKALLAMA теперь мозг!
5
Неужели я навожу порядок в своём бардаке и выуживаю то, что нужно. Это тяжелый навык научной работы, который мне пришлось осознать. Наверное, так работали в мощных лабах когда на срочный заказ или огромный поток что-то шло и ты просто не вылезал из исследований...НАВЕРНОЕ!

Я понятия не имею.



ВСЁ! Теперь проект РНБ! Больше откладывать нельзя!
У меня там трудности. Отчет дам чуть позже. Спасибо, что смотрите.
🔥72
Хотел отдельно выразить вам благодарность за ваши донаты - ещё раз. Я продолжаю использовать эти суммы для обучения и , конечно же, часть отложена на запуск крупного кластера. Сейчас в конкурентной борьбе посмотрим чья моделька выиграет и будет лучше на данных конкретных и уже будем выбирать какая из них полетит на кластер и крупнейший датасет для неё.

МОДЕЛЬ НА 1МЛРД ПАРАМЕТРОВ - В ПУТИ!
МОДЕЛЬ НА 220-250МЛН ПАРАМЕТРОВ - В ПРОЦЕССЕ ЗАНОВО SFT
RUKALLAVA V2 (REALKAN) - В ПРОЦЕССЕ (Loss 10.3 был 11.6 - работает, скорость в 18 раз быстрее, чем была = великолепно)

Кто себя лучше проявит (1млрд и 220млн чутка отличаются), тот и полетит в жирный кластер.

Новые навыки для работы с датасетами - разраотано!

Незабываем, что у меня ещё есть грамотные FINETUNE инструкции и целый пайплайн для DPO - дообучения на правильные ответы. УХХ!
👍112🙏1
По РНБ проекту.

Рефакторинг буду делать с нуля. Индексы и данные - великолепны. Мне осталось добить оркестрацию моделей...сложные щи. работаю.
❤‍🔥6🔥63
Синтеты, а теперь про РНБ! 🏛



🎯 Что за проект и почему сейчас тяжело

Суть: AI-поисковик для Российской национальной библиотеки. 170 000+ авторефератов, гибридный поиск, LLM отвечает со ссылками на конкретные страницы. Модель — Qwen3:30b, локально на A100.



Что готово

— Индексация 5.5 млн чанков
— Интеграция с каталогом РНБ (SRU API + локальный MARC на 108 МБ)
— MCP tools для работы с PDF
— Веб-интерфейс с чатом



😤 Почему тяжело?

Каждая попытка сделать что-то серьёзное — ломает систему.

Пытался унифицировать систему уведомлений — переписал 500 строк в main.pyсломалось. Откат.

Добавил новые intents для LLM (саммари, информация о документе) — сломалось. Откат.

Починил пути к PDF файлам + заменил библиотеку для чтения PDF — сломалось. Откат.

Убрал неподдерживаемый параметр из Ollama API — сломалось. Откат.

Попробовал всё сразу "правильно" (11 файлов, 270 строк) — сломалось. Откат.

Оптимизировал поиск с 5 минут до 90 секунд — сломалось. Откат.

Шесть попыток подряд. Каждая — reset к последнему рабочему коммиту.



🔍 В чём проблема?


Система сложная. FAISS + BM25 + Ollama + MCP tools + WebSocket + метаданные из каталога. Когда трогаешь одно — ломается другое. Большие изменения не проходят. Нужно по одной строчке, тестировать после каждой.

А SRU сервер каталога работает только внутри сети РНБ. Локально — только выгрузка в XML. Для боевого режима нужен деплой на их инфраструктуре.

👨‍💻👨‍💻👨‍💻👨‍💻👨‍💻👨‍💻👨‍💻👨‍💻👨‍💻

🐢 Продолжаю копать. Маленькими шагами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7🙏3🫡2😢1👨‍💻1
📊 ГЛАВНОЕ ОТЛИЧИЕ 1 МЛРД ОТ 250M (PIR АРХИТЕКТУРА)

Метрика250M SFT1B PretrainРазвал в мусорПосле ~80 токеновНЕТ"chemistryus France; While;"ПостоянноНЕТГрамматикаЛомаетсяСтабильнаяСвязность2-3 предложения10+ предложений


🔍 ЧТО ВИДНО
250M step 2500:
...which academic history works Brazil chemistryus France; While;
iz-spenz server: http age limits and combined to by David::

1B step 13500:
We need to be more inclusive and better off developing than any other city in the country. We have had to move forward with our home and to meet our communities and provide fresh food for our community and our residents.

1B пишет как человек — бессмысленно, но грамматически и стилистически правильно.

📈 Layer Efficiency
Layer250M1BL02.566.17L15.085.54L21.992.17L31.201.32
1B активнее использует все слои, особенно L0 (2.4x выше).


💡 ВЫВОД
На 8% pretrain 1B уже показывает:


Структурную стабильность
Нет развала в мусор
Связный текст 150+ токенов


После 20B токенов + SFT это должна быть рабочая модель.
👍52
такие дела. продолжаю.
Техножнец
такие дела. продолжаю.
Зачем? Да как...

Если своя база, своя дока удобная. Можешь ядра эффективнее писать если кое какие моменты проработаешь в работе с данными на GPU. Там есть определённые правила "игры" их надо соблюдать.

Без опыта вайбкодинга такой проект сразу скатывается в провал. Контроль нужен адский - иначе = слив токенов.
5
RUKALLAMA обучается,но на чём?

● АНАЛИЗ 70% ДАТАСЕТА:

ДРУГОЕ (33.5% = 93 MB)
Тематики:
- 📚 Советские учебники 1-8 класс (математика, естествознание)
- 🔬 Научпоп: Перельман ("Занимательная математика"), Акимушкин ("Мир животных")
- 🚀 Космос: Клушанцев, Авдеев
- 🏠 Домоводство, кулинария
- 🧩 Занимательные задачи, фокусы


Ключевые авторы:
- Перельман — занимательная наука
- Акимушкин — животный мир
- Фарадей — "История свечи"



ИСТОРИЯ/ОБЩЕСТВОЗНАНИЕ (23.8% = 66 MB)

ГЛАВНОЕ: БСЭ (Большая Советская Энциклопедия) 1-е издание!
57 томов (1926-1947) — это ОГРОМНАЯ часть!


Также:
- Атласы истории (СССР, Средние века)
- Хрестоматии по древнему миру
- История СССР для ВПШ
- "Всемирная история" в 10 томах

Модель выучит: Энциклопедический стиль, исторические факты, научную терминологию


ФИЛОЛОГИЯ (13.5% = 38 MB)

Учебные материалы:
- Азбуки, буквари (1925-1991)
- Грамматика русского языка в иллюстрациях
- Методики обучения


Классики детской литературы:
- Маршак — сказки, стихи
- Чуковский — загадки
- Чехов — "Каштанка"
- Лермонтов — стихотворения
- Пушкин


Словари:
- Фразеологический словарь
- Этимологический словарь
- Литературоведческие термины


ВЫВОД: ЧТО ВЫУЧИТ МОДЕЛЬ
  ┌──────────────────┬─────────────────────────────────────────────────┐
│ Источник │ Что даёт │
├──────────────────┼─────────────────────────────────────────────────┤
│ БСЭ │ Энциклопедический стиль, факты, терминология │
├──────────────────┼─────────────────────────────────────────────────┤
│ Учебники СССР │ Структура "Задача-Решение", педагогический язык │
├──────────────────┼─────────────────────────────────────────────────┤
│ Перельман │ Объяснение сложного простым языком │
├──────────────────┼─────────────────────────────────────────────────┤
│ Детская классика │ Грамотный русский язык, стиль │
├──────────────────┼─────────────────────────────────────────────────┤
│ Грамматики │ Правила языка, нормы │
└──────────────────┴─────────────────────────────────────────────────┘


СИЛЬНЫЕ СТОРОНЫ датасета:

1. Энциклопедичность (БСЭ)
2. Педагогический стиль (учебники)
3. Качественный русский язык (классики)
4. Научпоп объяснения (Перельман)
👍162
Скоро выкачу дешевый сервис, где есть куча ИИ, нет ограничений в токенах (только окно модели) и куча tool use:
рисование, видео генерации, аудио генерации, поиск и даже запуск кода. Всё в виде приятного сервиса на основе Lobe Chat.

Это мой пет проект, который призван демократизировать доступ к современным ИИ и удешевить это дело до копеек буквально. Подписка будет для всех доступна и через бота и по обычной оплате. Назвал сервис "ИИШКА" - уже готова техническая часть. С ней я больше всего колупался, но там есть нюанс (который я раскрою позже).

Ваще было бы неплохо компактинг прикрутить чтобы разговоры были "вечные". Буду держать в курсах.
129👏11🔥9👍2🎉2🍾2🥴1
💾 Checkpoint Step 2500

📉 Train Loss: 6.7521
📊 Val Loss: 5.8807
📈 LR: 3.00e-04
⚡️ Speed: 3,415 tok/s

Тем временем переработанная модель на более эффективные в плане обучения и скорости и памяти КАН блоки продолжает обучаться.
Мне пришлось несколько фиксов на ходу делать, но уже более или менее.

PIR - временный стоп. Жду получки!
👍6
Ух! Количество работы зашкаливает - столько всего сделал. Я подобью все свои результаты за последнее время и продолжу движения далее. У меня там ещё RUKALLAMA предыдущей версии недопилена до конца - а там уже на статью. В общем - этапов много, осмотрюсь, оглянусь.

2, 3 научные статьи я заработал. Выходы на научных руководителей имеются. Хочу вот реализоваться это всё.
🔥18👏5
Только что обнаружил свою главную проблему...я слишком самокритичен...
🤔61🥰1💯1🤨1😨1
По теме системы ИИ В РНБ! Хорошие новости - я нашёл кучу багов. смешно, конечно, получилось. Исправляю))))
👍9🤔33🤝2
🤯21🤔1