Dammi FP32 o dammi la morte? Sfide e soluzioni per il ragionamento riproducibile
Give Me FP32 or Give Me Death? Challenges and Solutions for Reproducible Reasoning
June 11, 2025
Autori: Jiayi Yuan, Hao Li, Xinheng Ding, Wenya Xie, Yu-Jhe Li, Wentian Zhao, Kun Wan, Jing Shi, Xia Hu, Zirui Liu
cs.AI
Abstract
I Large Language Model (LLM) sono ormai fondamentali in vari ambiti e hanno dimostrato prestazioni impressionanti. Tuttavia, il progresso si basa sul presupposto che i punteggi dei benchmark siano sia accurati che riproducibili. Dimostriamo che la riproducibilità delle prestazioni degli LLM è fragile: modifiche alla configurazione del sistema, come la dimensione del batch di valutazione, il numero di GPU e la versione della GPU, possono introdurre differenze significative nelle risposte generate. Questo problema è particolarmente evidente nei modelli di ragionamento, dove piccole differenze di arrotondamento nei token iniziali possono propagarsi in catene di pensiero divergenti, influenzando infine l'accuratezza. Ad esempio, con precisione bfloat16 e decodifica greedy, un modello di ragionamento come DeepSeek-R1-Distill-Qwen-7B può mostrare una variazione fino al 9% nell'accuratezza e una differenza di 9.000 token nella lunghezza della risposta a causa di differenze nel numero di GPU, nel tipo e nella dimensione del batch di valutazione. Rintracciamo la causa principale di questa variabilità nella natura non associativa dell'aritmetica in virgola mobile con precisione numerica limitata. Questo lavoro presenta la prima indagine sistematica su come la precisione numerica influisca sulla riproducibilità nell'inferenza degli LLM. Attraverso esperimenti accuratamente controllati su vari hardware, software e impostazioni di precisione, quantifichiamo quando e come le uscite del modello divergono. La nostra analisi rivela che la precisione in virgola mobile, sebbene cruciale per la riproducibilità, è spesso trascurata nelle pratiche di valutazione. Ispirati da ciò, sviluppiamo una pipeline di inferenza leggera, denominata LayerCast, che memorizza i pesi con precisione a 16 bit ma esegue tutti i calcoli in FP32, bilanciando efficienza di memoria e stabilità numerica. Il codice è disponibile all'indirizzo 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.