Stochastic activations __Maria Lomeli, Matthijs Douze, Gergely Szilvasy, Loic Cabannes, Jade Copet, Sainbayar Sukhbaatar, Jason Weston, Gabriel Synnaeve, Pierre-Emmanuel Mazaré, Hervé Jégou__ Статья: https://arxiv.org/abs/2509.22358 Есть ещё на свете люди, продолжающие копаться в низких уровнях (на этот раз активации)! Но привязывают всё равно к LLM. Так необычно во введении читать, что функция активации -- это то, что внутри LLM между двумя линейными слоями в FFN блоке. Мы раньше всегда это проще объясняли, на примере одного нейрона… Авторы предлагают стохастические активации. Я сначала по названию подумал, что речь будет несколько про другое, что будет какая-то хитрая функция с рандомом, ну как RReLU (randomized rectified linear unit, где для отрицательной части выбирался рандомный небольшой линейный коэффициент), но оказалось, что они предлагают случайно выбирать между SILU и RELU (что конечно тоже можно рассматривать как стохастическую функцию, но здесь стохастика вынесена на более высокий уровень), и у этого подхода есть свои плюсы. RELU (=max(x, 0)) как известно был хорош, помог быстро продвинуть всю область где-то в районе AlexNet, когда оказалось, что с ним учится сильно быстрее, чем с дифференцируемой классикой типа сигмоид и гиперболических тангенсов. Проблема с RELU была в том, что если активация в зоне отрицательного аргумента, то там нулевой градиент и она оттуда не выберется. Как раз поэтому сети с RELU также естественным образом демонстрировали тенденцию к разреженности, что в свою очередь хорошо, если железо более эффективно умеет перемножать разреженные матрицы (но такое появилось сильно не сразу, да и для подобного паттерна разреженности это может быть непросто). SILU (Sigmoid Linear Unit, оно же swish, =xσ(x)), особенно в сочетании с гейтами (SwiGLU), стабильно бил RELU по качеству, но не давал разреженности. Возможно, что бил как раз потому, что у RELU градиенты нулевые были в большом количестве случаев, и это не давало сети хорошо учиться. Был и миллион других функций. Из относительно недавнего, например, Adaptive SwisH (ASH, https://arxiv.org/abs/2210.11672), со стохастическим сэмплингом внутри. Где-то идейно рядом с разреженностью также лежит Dropout, включая structured варианты типа LayerDrop (упоминали тут https://t.me/gonzo_ML/2845). Вопрос далее классический: как адресовать ограничения RELU, сохранив все его преимущества? Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому ещё дородности Ивана Павловича — я бы тогда тотчас же решилась. Предлагаются два подхода: 1) Swi+FT -- файнтюнинг активаций: обучаешь LLM с одной активацией (более качественной), потом заменяешь на RELU и файнтюнишь. Если точнее, то при обучении для первых `1 − α` от общего числа шагов выбирается хорошая активация (SILU например), а затем переключаемся на вторую (RELU). Значение `α` обычно в районе 5-10%, иногда пробуют 20%. На инференсе тоже оставляем вторую активацию. Нет никаких прогревов оптимизатора, его параметры не переинициализируются, но применяется косинусное расписание, где learning rate плавно уменьшается до 0.01 от своего пикового значения. Поскольку SILU и RELU похожи (одинаковые асимптоты и значение в нуле), то проблемы не возникает. Есть спайк на лоссе в момент переключения, но он быстро уходит. 2) StochA -- собственно стохастические активации: случайно выбираются активации из заданного набора, либо в трейне, либо в тесте. Здесь используется бернуллиевская (бинарная) случайная величина `ω ∼ Bernoulli(p)`, так что с вероятностью `p` выбирается одна функция, и `1-p` -- другая. Это, кстати, тоже напоминает дропаут активаций (хоть дропаут и для другой цели), так как получается что с заданной вероятностью мы выбираем функцию, которая занулит отрицательный аргумент. Альтернативная стратегия -- случайно выбирать между identity (y=x) и нулевой функцией (y=0) с вероятностью, заданной сигмоидой, что в матожидании даёт SILU. На практике работает не очень.
Stochastic activations Maria Lomeli, Matthijs Douze, Gergely Szilvasy, Loic…
Из этого канала
- #4071Обучают dense декодеры с GQA, RMSNorm + pre-norm, RoPE. Модели 1.5B и 3B.…
Обучают dense декодеры с GQA, RMSNorm + pre-norm, RoPE. Модели 1.5B и 3B. Оптимизатор AdamW. Токенизатор Llama3, словарь 128k + 256 зарезервированных токенов.
- #4086Новую архитектуру подвезли! ‘Dragon Hatchling’ (BDH) построена на принципах…
Новую архитектуру подвезли! ‘Dragon Hatchling’ (BDH) построена на принципах распределённых графовых моделей мозга, при этом есть GPU-friendly имплементация.
- #4089Прикольная свежая работа от Superintelligence Labs, включая Руслана…
Прикольная свежая работа от Superintelligence Labs, включая Руслана Салахутдинова.
- #4069Вот наконец и продукт доехал Introducing Tinker: a flexible API for fine-tuning…
Вот наконец и продукт доехал Introducing Tinker: a flexible API for fine-tuning language models.
- #4068Что-то интересное Ring-1T-preview: Deep Thinking, No Waiting The first 1…
Что-то интересное Ring-1T-preview: Deep Thinking, No Waiting The first 1 trillion open-source thinking model https://huggingface.co/inclusionAI/Ring-1T-preview