TGViewer
КПД КПД @quant_prune_distill · 3.49K subscribers
Post #539 2.67K
🔬 Метод

Процедура жадного декодирования в LLMах на каждом шаге выбирает токен с наибольшей вероятностью, и, казалось, бы должна быть полностью детерминированной. Выдавать один и тот же ответ на разных размерах батча, GPU. Но не тут то было…

Корень зла в том, что арифметические операции в конечной точности не ассоциативны из-за точности округления:

(a + b) + c вообще говоря не a + (b + c)


Исполняться они могут в разном порядке, что и приводит к недетерминированным выходам.

Для FP32 проблема стоит еще не так остро из-за большой мантиссы, но для BF16 c 7 битами мантиссы эффект может быть вполне осязаемым.

Дабы оценить разброс в зависимости от экспериментальной конфигурации, авторы подготовили 12 конфигураций: 2 типа GPU, распараллеливанием на 2 и 4 GPU и 3 варианта размера батча и для каждого из них посчитали метрики на бенчах.

🧪Эксперименты

Рассматривают 2 ризонящие модели:
- DeepSeek-R1-Distill-
- Qwen-7B, DeepSeek-R1-Distill-Llama-8B
и 2 неризонящие:
- Qwen2.5-7B-Instruct
- Llama-3.1-8B-Instruct

И замеряют на всяком там AIME и LiveCodeBench.

И обнаруживают следующее:

📌 При жадном декодировании разброс для BF16 довольно нетривиален - 1%, а то и 5-9% для ризонящих моделей. Для FP16 разброс меньше, и для FP32 еще меньше. Примечательно, что для дистиллов дипсика разброс даже для FP32 иногда нетривиален.
📌 Средняя выходная длина может очень сильно варьироваться от конфигурации. До 9000 токенов на AIME.

Авторы присматриваются к вероятностям логитов моделей и замечают, что зачастую разница между top-1 и top-2 невелика. В особенности, для рассуждающих моделей. И изменения последнего значащего бита может быть достаточно, что изменить предсказание следующего токена.

💡 Выводы

Учитывая приведенные выше нюансы, авторы утверждают, что для хорошей воспроизводимости необходимо инферить в более высокой точности, что, конечно, потребует больших вычислительных затрат, но, мол, куда деваться. Дабы не хранить чекпоинт в FP32 весь в памяти, предлагается держать его в исходной точности, а затем делать upcast в FP32 на лету.

Мораль такова - эффект от конечной точности LLM вполне весомый, и если нужно выбить соту - вполне рабочая стратегия шатать размер батча и железо для инференса 😅.
  • 🔥 9
  • ❤ 2
  • 😁 2
  • 👍 1
More from @quant_prune_distill
  1. Oct 7, 2026А еще есть красивая демка
  2. Oct 7, 2026⚙️ Метод MMD есть мера различия между двумя распределениями P, Q. Задается некоторый полож…
  3. Oct 7, 2026🧠 Representation-Space MMD for Diffusion Language Models 📄 Статья Первое, что приходит в…
  4. Oct 7, 2026А вообще, можно энкодить все на языке brainfuck и иметь Тьюринг-полную систему.
  5. Oct 7, 2026Jev не генеративен, потому что он не выбирает следующий токен, а выбирает один из варианто…
  6. Oct 6, 2026Совпадение? Не думаю!
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →