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

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

Поддержать канал: https://yoomoney.ru/fundraise/1C86E2DGIU9.250819
Download Telegram
TrueKAN (Kolmogorov-Arnold Network). Архитектурная альтернатива обычным нейросетям, построенная на теореме Колмогорова-Арнольда о представлении функций. Вместо фиксированных активаций учит сами активации, раскладывая их по базисам. В моём варианте базисы это полиномы Чебышева. Тема свежая, 2024-2025 год.

.down слой. Внутри FFN две линейные операции: .up расширяет размерность сигнала (например с 1024 до 4096), .down сжимает обратно (с 4096 до 1024). В моём коде проблема была именно в .down части TrueKAN, где сигнал перед сжатием проходил через tanh и насыщался.

Dimensions (размерности). Каждый скрытый сигнал в модели это вектор из чисел. У меня длиной 1024 числа. «52-90% размерностей залипали» = из этих 1024 чисел 500-900 всегда оказывались равны почти единице, то есть вели себя как константа а не как осмысленный сигнал.

Hidden state (скрытое состояние). Внутренний сигнал который течёт от слоя к слою. На входе закодированный текст, дальше каждый слой что-то с ним делает, на выходе предсказание следующего слова. Hidden state norm это длина этого вектора — насколько он большой численно.

Residual stream (остаточный поток). Главная магистраль сигнала в трансформере. Каждый слой не заменяет предыдущее состояние, а добавляет к нему свой вклад. Как накопительный счёт: кладёшь понемногу с каждого слоя, к концу модели там итоговая информация. Норма residual stream должна расти умеренно. У меня в V9 раздувалась в 7 раз.

━━━━━━━━━━━━━━━━━━━━

⚠️ ПАТОЛОГИИ

Attention sink (сток внимания). Патологическое поведение, когда механизм внимания залипает на одном токене (обычно первом) и смотрит туда всегда, независимо от контекста. Модель как бы «сливает» своё внимание в один угол откуда оно уже не возвращается. Из-за этого она перестаёт видеть остальной текст нормально.

Saturation (насыщение). Когда функция упирается в свой предел и перестаёт различать разницу во входе. Как передержанная фотография, где белое стало просто белым и деталей уже не видать. Tanh saturation в моей модели убивал FFN: функция становилась константой, слой выдавал одно и то же независимо от входа.

Tanh (гиперболический тангенс). Математическая функция которая любое число сжимает в диапазон от минус единицы до плюс единицы. Форма похожа на растянутую букву S. Проблема: если подать слишком большое число, tanh почти упирается в единицу и перестаёт чувствовать разницу между 5 и 50. Это и есть saturation.

Norm inflation (раздувание нормы). Когда длина сигнала растёт от слоя к слою бесконтрольно. К последним слоям сигнал становится настолько большим численно, что мелкие осмысленные колебания тонут в нём. Градиенты при этом тоже взрываются, обучение ломается.

Gradient (градиент). Направление в котором надо подвинуть параметры модели чтобы ошибка уменьшилась. На каждом шаге тренировки считают градиенты, параметры сдвигаются чуть-чуть по ним. Если градиенты становятся слишком большими («взрываются»), сдвиги получаются бешеные и модель расколбашивает.

━━━━━━━━━━━━━━━━━━━━

🛠 МЕТОДЫ ЛЕЧЕНИЯ

Bias (смещение). Маленькая константа, которую добавляют в нейросети к вычислениям чтобы дать модели дополнительный параметр для настройки. В большинстве мест оно полезно. В конкретном случае в моём attention перед RoPE оказалось вредным.

RMSNorm (Root Mean Square Normalization). Процедура которая приводит длину вектора к стандартному размеру без изменения направления. Как если бы взял стрелку и нормировал её до единичной длины, оставив направление. Ставят перед активациями и слоями чтобы сигнал не раздувался и не сжимался непредсказуемо.

Learnable parameter (обучаемый параметр). Число в модели, которое изначально случайное, но во время тренировки подстраивается градиентным спуском под задачу. pretanh_scale у меня это 48 таких чисел, по одному на каждый .down слой. Они учатся сами подбирать масштаб сигнала перед tanh чтобы не уходил в saturation.
👍15🔥72🕊1
Clip, clipping (обрезка). Операция «если число больше порога — сделай его равным порогу, иначе оставь как есть». hidden_clip_norm=1000 значит: длина residual stream не может быть больше 1000, если пытается — режем. Грубый но эффективный способ предотвратить инфляцию.

━━━━━━━━━━━━━━━━━━━━

🏭 MoE (СМЕСЬ ЭКСПЕРТОВ)

MoE (Mixture of Experts). Архитектура в которой вместо одного большого FFN стоит несколько маленьких (у меня четыре на каждый MoE слой), и специальный маршрутизатор (gate) для каждого токена выбирает кого задействовать. Идея: разные эксперты специализируются на разных типах данных, модель эффективнее использует свои параметры.

Expert (эксперт). Один из подмодулей MoE слоя. Маленькая отдельная сеть, которая обрабатывает только часть токенов, направленных к ней маршрутизатором. У меня 4 эксперта на слой, 8 слоёв используют MoE — итого 32 эксперта в модели.

Dead expert (мёртвый эксперт). Эксперт к которому маршрутизатор перестал отправлять токены. Получает нулевую нагрузку, не обучается, висит мёртвым грузом параметров. Классическая болезнь MoE: возникает когда во время тренировки рано образуется «любимчик» куда всё валится, а остальные атрофируются.

MoE collapse (коллапс). Когда несколько экспертов умирают и модель по факту использует лишь часть заявленных. Вместо 4 работают 2, или 1. Теряется весь смысл MoE архитектуры.

Load balance / load balancing loss (балансировочная функция). Дополнительная штрафная функция во время тренировки, которая наказывает модель если она грузит экспертов неравномерно. У меня было 0.01 (слабый штраф), увеличил до 0.05 (в 5 раз сильнее). Теперь модель активно стремится нагружать всех поровну.

Auxiliary loss (вспомогательная функция потерь). Это и есть load balancing loss в контексте MoE, другое название. Основная функция потерь считает насколько правильно модель предсказывает следующее слово. Вспомогательная добавляет к ней штраф за дисбаланс экспертов.

Gate (гейт, маршрутизатор). Маленькая сеть внутри MoE слоя которая для каждого токена решает к какому эксперту его отправить. Смотрит на токен, выдаёт вероятности для каждого эксперта, выбирает самого вероятного.

Gumbel noise (шум Гумбеля). Особый вид случайности который добавляют в gate во время тренировки. Эффект: gate не всегда выбирает самого сильного эксперта, иногда случайно отправляет токен к более слабому. Это мешает раннему «жадному коллапсу» где один эксперт захватывает всё, и даёт всем экспертам шансы получить сигнал в начале обучения.

━━━━━━━━━━━━━━━━━━━━

🎛 ГЕНЕРАЦИЯ И ИСПОЛЬЗОВАНИЕ

Inference (вывод, работа модели после тренировки). Когда модель уже обучена и просто используется: принимает запрос, выдаёт ответ. В противоположность training (тренировке). «Inference-патчи» это попытки починить модель постфактум, во время её работы, не меняя архитектуру и не переобучая.

Temperature, `temp=0.3` (температура). Параметр генерации текста. Когда модель выбирает следующий токен у неё есть вероятности всех вариантов. Температура это ручка: низкая (`0.1–0.3`) — всегда самое вероятное, детерминировано, но залипает на шаблонах. Высокая (`0.8–1.2`) — больше случайности, креативнее, но может нести пургу. `temp=0.3` это «слегка разнообразно, но консервативно».

Emergent phenomenon (эмерджентное явление). Свойство которое возникает как бы само собой в больших нейросетях, не закладывалось специально. В литературе attention sink часто называют emergent. Я утверждаю что нет — он не emergent, а архитектурно вынужденный через кривой порядок операций.

━━━━━━━━━━━━━━━━━━━━

💻 ЖЕЛЕЗО И ПРОЦЕСС

A100. Видеокарта Nvidia для машинного обучения, одна из самых популярных для тренировки моделей. Стоит в районе $10,000–15,000. У меня она одна, на ней тренируются все мои модели.

Speed, `7359 tok/s` (скорость, токенов в секунду). Сколько токенов модель обрабатывает за секунду на тренировке. Показатель эффективности кода на конкретном железе. Для 853M модели с MoE и KAN на A100 это нормально — не выдающееся но и не медленное.
👍164🕊1
PID (Process ID, идентификатор процесса). Номер процесса в операционной системе Linux. «PID 52935 живой» означает что процесс тренировки не упал и не завис, продолжает работать. Проверка что серверная работа за ночь не сломалась.

━━━━━━━━━━━━━━━━━━━━

🏛 ОРИЕНТИРЫ В ИНДУСТРИИ

Llama, Mistral. Две самые известные открытые серии больших языковых моделей: от Meta и от французской компании Mistral AI соответственно. Индустриальный стандарт архитектуры. Если какая-то деталь «как в Llama» — значит проверенная годами работа.

Open-source. Открытый исходный код. Модель которую любой может скачать, посмотреть, использовать. В противоположность закрытым моделям типа GPT-4, Claude или Gemini, где ты можешь только отправлять запросы через API.

Architectural vs post-factum (архитектурный vs пост-фактум). Architectural fix = починка в самом строении модели, требует переобучения. Post-factum fix = попытка залепить проблему уже обученной модели через модификации inference, без переобучения. Мой вывод поста: post-factum костыли не работают на архитектурных багах.

━━━━━━━━━━━━━━━━━━━━
👍161🕊1
Синтеты, это для своих.

Этот пост специально для тех кто активно занимается подобными исследованиями, и для тех кто никогда подобным не занимался. Для тех кто хочет двигаться дальше чем просто "работка с модельками". Дальше чем файнтюны на готовых стеках. Тех кто хочет делать красиво - исходя из более низких абстракций, с понимания как это устроено изнутри.

━━━━━━━━━━━━━━━━━━━━

📓 Здесь я веду свой журнал как Техножнец.

Исключительно из любви к этой работе и подобным исследованиям. Да, со стороны для спеца ультра-уровня это может выглядеть как мазохизм. Но только в ограниченных условиях и выстрадано когда своими силами - появляется понимание ценности того, что пройдено.

Надутая гордость не имеет места на фоне такой тяжёлой работы. Сил остаётся лишь на анализ и взаимодействие с самым ценным вокруг - с людьми.

━━━━━━━━━━━━━━━━━━━━

💸 Бабки, бабки.

Грязная зелёная бумажка, призванная всего лишь обслуживать нас - а по факту управляет. Люди откидывают когнитивные рамки потребления сообществ ради своих целей. Убирают денежные рамки - и тут же вставляют туда ту же самую консюмерскую логику. Поэтому и теряются в океане лжи, непонимания и отсутствия рефлексии.

━━━━━━━━━━━━━━━━━━━━

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

Это должен быть безбрежный океан. Планета рефлексии. Где ты в первую очередь анализируешь свои шаги.

━━━━━━━━━━━━━━━━━━━━

🧠 Сообщество призвано обогатить мозг, заставить его шевелиться.

Я обогащаю прежде всего свой мозг - начни с себя, всегда. Но мне не стрёмно делиться с вами. Всё что я прохожу через @technojnec - это открытый журнал. И пусть он таким остаётся.

━━━━━━━━━━━━━━━━━━━━

Техножнец всё делает на свои средства. 🥶
Если есть желание поддержать его, то вот ссылки: 🫡

Поддержать канал: ТБАНК
Поддержать канал: ЮМАНИ
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥26👍953👌1🕊1🤝1🤗1
👍26🕊1
Это лишь часть весов ⚖️. Сейчас будет чистка 🧹. Каждый раз ощущение, что удаляю нечто...полуживое... ох уж эти когнитивные искажения 🧠.
👍16👻3👨‍💻22🕊1
Opencraft - обновление.

Процедурный мир!

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

Делаю дальше. Потом видосик покажу со звуками уже.
👍29🔥5🕊1🦄1
Синтеты, у меня к вам важное сообщение.

Готовы ли вы, получив задание в определённом чате, потратить собственные средства и время на создание качественных и необходимых датасетов для сегмента больших языковых моделей (LLM) в России?

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

Данные будут грамотно, точно и на высоком уровне переведены на русский язык с помощью настроенного фреймворка LLM.


Такие вещи должны как-то хоститься. А значит это, что часть участников сможет использовать собственное оборудование, другие — подписку на Google Colab и будут вручную следить ( у кого на что хватит спецификации).

Кнопки "сделать красиво" не будет. Тут нужны люди, которые непосредственно разбираются в теме.
Репозиторий будет открытым для всех - стараться будем для сообщества и , вообще, для социума.

При получении достаточного количества подтверждений от активных синтетов будет создан чат, и всем ответившим будет предоставлена ссылка в личку от Техножнеца. Будущее развития датасетов в России планируется решать самостоятельно.

Лично я заебался ждать
1🔥62👍104🤔4🕊1
🫡20👍8🔥6🕊1
Доброе "утро"...
🤝9🫡2
Мы с Claude дизайнеры...лол.

На самом деле пробую кое-что интересное и создаю клёвы скиллзы ему.
👍18🕊1
Сегодня добавлю в чат участников, там будут разделы. Все, кто отписался - поговорим с вами лично.
👏12🕊1
щас кое что буду выкладывать, поджигая жопы, а некоторых очень радуя. комьюнити начнётся здесь...это будет Github проект, который многие ждут...много раз писал об этом. как думаете, что это?
👍185🕊11
Квоты ИИШКИ , наконец-то, пополнены.

Жду наплыва маркетолог советчиков 😃 (с совершеннолетним стажем)
👍27🕊1
Прогрев происходит лютейший...
👏28🔥13🦄2👍1🕊1
Синтеты, коротко.


28 апреля выступаю на конференции СПИСОК-2026 в СПбГУ. Это всероссийская научная конференция по проблемам информатики, математический факультет.

Три доклада:

1. TrueKAN - чебышёвские KAN-слои в языковой модели на 853 миллиона параметров. Суть: взял сети Колмогорова-Арнольда, которые все считали непрактичными (в 12 раз медленнее MLP), переделал базис на полиномы Чебышёва K=3 с low-rank факторизацией - получил на 38% быстрее стандартного nn.Linear. Модель RUKALLAMA V9 обучена на одном A100 за $125 и показывает лучший результат среди русскоязычных моделей на PARus (MERA).

2. Методология построения русскоязычного корпуса из учебной литературы. 767 учебников, собственный токенизатор RUKANIZER (4.33x компрессия, 100% реконструкция, лучше всех русских токенизаторов в 8 из 9 доменов), автоматическая ёфикация 19,052 словоформ.

3. PromeTorch - прототип фреймворка для тренировки нейросетей на отечественных VLIW-ускорителях NM Card Mini и NM Quad (НТЦ Модуль). 93,000 строк C++/CUDA/Python, 35 опкодов, полный цикл обучения on-card. 705 tok/s на 16 ядрах.

Тезисы приняты, статус - на рассмотрении.

Если кто в Питере 28-го - заходите. Конференция открытая. (вроде бы как)

spisok.math.spbu.ru/2026/
🔥578🕊1
Мне часто коллеги и люди понимающие в маркетинге, в прогреве и так далее говорят, что есть определённые часы для постинга. а я вот думаю, что если тебе реально интересно что-то, то ты просто подписан и каждый день проверяешь любимый источник твоей той самой инфы.

В общем - я почти допилил PromeTorch. Я всё это время его делал. Особенно много траханья сексом было с моделькой кастомной под Эльбрус. Чуть мозг не вскипел. Кстати про неё:

PIR, 250m BPE (Rukanizer - свой токенизатор, которы у Rukallama) + 2gb датасет русский.

Генерации у модельки слабые + я не разогнал PromeTorch до нужного уровня. Надоело его делать - надо выдохнуть немного...
👍36💯1253🤔1🕊1