ЦОДы на вечной мерзлоте
37 subscribers
24 photos
6 videos
1 file
10 links
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
Модель BerryLM от RWB вошла в топ-3 бенчмарка MERA

В основном русскоязычном рейтинге дообученная компанией большая языковая модель BerryLM-XL выдала результаты, сопоставимые с GPT-5.4 и Opus 4.6, и в итоге заняла третье место. Еще одна LLM из семейства моделей RWB, BerryLM-v2, сейчас на 5-ом месте рейтинга.

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

Хорошие места в бенчмарках – это здорово, но когда модель при этом еще и действительно работает в продуктах с миллионами пользователей – это уже интереснее.

Лидерборд: mera.a-ai.ru/ru/text/leaderboard
🏆8🤡4🔥3🗿1
Включил комментарии для стикеров с клоунами
1
bf16 для DFlash: где matmul живёт, а softmax — нет

DFlash — block-diffusion draft: параллельно предсказывает блоки по 16 токенов, внимание через FlexAttention, loss — cross-entropy по огромному словарю.

Веса в bf16 — нормально. Проблема в другом: на каждом шаге DFlash делает два тяжёлых редукшена (softmax-подобных), и bf16 там систематически теряет точность.

> Экспонента с мантисой вышли покурить.
> Вернулись — а softmax уже другой.


1. FlexAttention + разреженная block-causal маска

512 draft-блоков. Каждый видит только:
— контекст до своего anchor (~половина последовательности)
— 16 своих draft-токенов

Остальное в маске. Видимых KV-позиций ~30–35% — экстремальная разреженность.

Softmax в Flash/FlexAttention считается онлайн: бежит max m, сумма l, перескалировка через exp(m_old − m_new). В bf16 (7 бит мантиссы ≈ 3 десятичных цифры) эти перескалировки округляются. Чем агрессивнее маска — тем меньше «коррекций» и тем сильнее дрейф.

> Маска выкинула 67% KV.
> Ядро сделало меньше перескалировок.
> bf16 округлил — и attention уже не тот.


PyTorch upstream ([#163588](https://github.com/pytorch/pytorch/issues/163588)): bf16 + маска → до нескольких % ошибки; fp32 → <0.001%.

2. Cross-entropy по словарю ~164k

CE = −z_y + log Σ exp(z_j) — log-sum-exp по 163 840 logits на каждый draft-токен.

Суммировать 164k экспонент в bf16 — прямой путь к ULP-ошибкам и редким NaN. PyTorch для log_softmax/CE давно аккумулирует в float — не из прихоти.

> 164 тысячи exp на один токен.
> Мантисса на семь бит.
> Кто-то из них обязан потеряться — вопрос только, когда это станет NaN.

Что делаем

Не «переходим на fp32-тренинг». Точечно:
→ FlexAttention: q, k, v в fp32, output cast обратно в bf16
→ CE: logits.float() перед cross_entropy

Matmul и веса — bf16. Редукции — fp32. Стандартный приём для LLM; RMSNorm в DFlash уже так работает.

> fp32 не на всё — fp32 только там, где exp, max и sum решают судьбу градиента.

Мораль

Когда тренируешь draft с block-sparse attention и большим словарём — смотри не на distributed, а на редукции. Экспонента тут не декорация: softmax и CE буквально живут на exp, max и sum.

DFlash собирает оба болевых места в одном forward. fp32 на этих двух участках — не перебор, а минимально необходимая страховка.


Кто найдет ошибки — тот молодец. Ему за это ничего не будет
4🤡3🗿31
Ладно. Единственно важная математика сегодня — это расчет бенза на поездку до дачи и обратно
3🤡22
Forwarded from RWB делает ML
Почему нельзя взять одну большую LLM и использовать её везде?

На практике каждая продуктовая задача предъявляет свои требования: например, к качеству, latency и стоимости инференса. Поэтому в RWB развивается не одна модель, а целое семейство BerryLM.

Узнали у Матвея Сапрыкина, AI Assistants Models Tech Lead, как оно устроено ⚙️

@rwb_delaet_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8552🤡1🗿1