ChatPaper.aiChatPaper

Дайте мне FP32 или дайте мне смерть? Проблемы и решения для воспроизводимого рассуждения

Give Me FP32 or Give Me Death? Challenges and Solutions for Reproducible Reasoning

June 11, 2025
Авторы: Jiayi Yuan, Hao Li, Xinheng Ding, Wenya Xie, Yu-Jhe Li, Wentian Zhao, Kun Wan, Jing Shi, Xia Hu, Zirui Liu
cs.AI

Аннотация

Крупные языковые модели (LLM) стали неотъемлемой частью различных областей и продемонстрировали впечатляющие результаты. Однако прогресс основывается на предпосылке, что оценки на бенчмарках являются как точными, так и воспроизводимыми. Мы показываем, что воспроизводимость производительности LLM хрупка: изменение конфигурации системы, такой как размер пакета для оценки, количество GPU и версия GPU, может привести к значительным различиям в генерируемых ответах. Эта проблема особенно заметна в моделях, ориентированных на рассуждения, где незначительные различия в округлении на ранних этапах могут каскадно приводить к расходящимся цепочкам рассуждений, что в конечном итоге влияет на точность. Например, при использовании точности bfloat16 с жадным декодированием модель рассуждений, такая как DeepSeek-R1-Distill-Qwen-7B, может демонстрировать до 9% вариации в точности и разницу в 9000 токенов в длине ответа из-за различий в количестве GPU, их типе и размере пакета для оценки. Мы связываем коренную причину этой изменчивости с неассоциативным характером арифметики с плавающей запятой при ограниченной численной точности. Данная работа представляет первое систематическое исследование того, как численная точность влияет на воспроизводимость в процессе вывода LLM. С помощью тщательно контролируемых экспериментов на различных аппаратных, программных и точностных настройках мы количественно определяем, когда и как выходные данные модели расходятся. Наш анализ показывает, что точность с плавающей запятой, хотя и критична для воспроизводимости, часто игнорируется в практике оценки. Вдохновленные этим, мы разработали легковесный конвейер вывода, названный LayerCast, который хранит веса в 16-битной точности, но выполняет все вычисления в FP32, балансируя между эффективностью использования памяти и численной стабильностью. Код доступен по адресу https://github.com/nanomaoli/llm_reproducibility.
English
Large Language Models (LLMs) are now integral across various domains and have demonstrated impressive performance. Progress, however, rests on the premise that benchmark scores are both accurate and reproducible. We demonstrate that the reproducibility of LLM performance is fragile: changing system configuration such as evaluation batch size, GPU count, and GPU version can introduce significant difference in the generated responses. This issue is especially pronounced in reasoning models, where minor rounding differences in early tokens can cascade into divergent chains of thought, ultimately affecting accuracy. For instance, under bfloat16 precision with greedy decoding, a reasoning model like DeepSeek-R1-Distill-Qwen-7B can exhibit up to 9% variation in accuracy and 9,000 tokens difference in response length due to differences in GPU count, type, and evaluation batch size. We trace the root cause of this variability to the non-associative nature of floating-point arithmetic under limited numerical precision. This work presents the first systematic investigation into how numerical precision affects reproducibility in LLM inference. Through carefully controlled experiments across various hardware, software, and precision settings, we quantify when and how model outputs diverge. Our analysis reveals that floating-point precision -- while critical for reproducibility -- is often neglected in evaluation practices. Inspired by this, we develop a lightweight inference pipeline, dubbed LayerCast, that stores weights in 16-bit precision but performs all computations in FP32, balancing memory efficiency with numerical stability. Code is available at https://github.com/nanomaoli/llm_reproducibility.
PDF152June 12, 2025