14 January 2026

Understanding and Mitigating Numerical Sources of Nondeterminism in LLM Inference

๐Ÿ’กLLM ์ถ”๋ก ์€ ๊ณ„์‚ฐ ๊ณผ์ •์—์„œ์˜ ์˜ค์ฐจ๋กœ ์ธํ•˜์—ฌ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ! โ‡’ ์ •๋ฐ€๋„ ๊ด€์ ์—์„œ ์žฌํ•ด์„, ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ๋‹ฌ๋ผ์ง€๋Š”์ง€, ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š”์ง€?๊ณ„์‚ฐ ๊ณผ์ •์—์„œ์˜ ๋ฌธ์ œ๋‹ˆ๊นŒ, ๊ณ„์‚ฐ ๊ณผ์ •์—์„œ๋งŒ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋ณด๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋‹๊นŒ?โ‡’ ์‹คํ—˜ ๊ฒฐ๊ณผ, ๊ทธ๋ ‡๋‹ค!

Understanding and Mitigating Numerical Sources of Nondeterminism in LLM Inference

Review

๋‹‰๋„ค์ž„ ํ•œ์ค„ํ‰๋ณ„์  (0/5)
์ฐฐ๋‚˜์‹ค์ œ๋กœ LLM ๋Œ๋ ค๋ณด๋ฉด, ๋Œ๋ฆด ๋•Œ๋งˆ๋‹ค ๋‹ฌ๋ผ์ง€๋Š” ๊ฒŒ ๋ณด์ด๊ธด ํ•จ. ์ด๋ ‡๊ฒŒ ๊ตฌ์ฒด์ ์œผ๋กœ ์™œ ๋ฐœ์ƒํ•˜๋Š”์ง€๋ฅผ ๋ฐํžˆ๋Š” ๊ฒƒ์€ ์ •๋ง ์–ด๋ ต์ง€๋งŒ, ๋…ผ๋ฌธ์  ๊ด€์ ์—์„œ๋Š” ์ •๋ง ์ข‹์€ ๋ฐฉํ–ฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•จ. ์ด๋Ÿฐ ์—ฐ๊ตฌ ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ฒŒ ๋œ ๋…ผ๋ฌธ์ด์ง€๋งŒ, ๋…ผ๋ฌธ ์ž์ฒด์ ์œผ๋กœ ๋ดค์„ ๋•Œ๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ณผ ์•„์ด๋””์–ด๊ฐ€ ์—„์ฒญ ๋“œ๋ผ๋งˆํ‹ฑํ•˜๋‹ค๊ณ  ๋ณด๊ธด ์–ด๋ ค์šธ ๊ฒƒ ๊ฐ™์Œ. ๊ฒฐ๊ตญ LLM์„ ์“ฐ๊ณ  ํ™œ์šฉํ•˜๋Š” ์ž…์žฅ์—์„œ ์ด ์ •๋„ ์˜ค์ฐจ๋Š” ๊ฐ๋‹นํ• ๋งŒํ•œ ์ˆ˜์ค€์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ.4.0
์™€์‚ฌ๋น„๊ฝƒ๊ฒŒ๋ž‘๊ธฐ์กด์—๋Š” LLM ์ถ”๋ก  ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ํ˜„์ƒ์„ '๊ทธ๋Ÿฐ ํ˜„์ƒ์ด ์žˆ๋‹ค' ์ •๋„๋กœ๋งŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ด๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ž˜ ๋ถ„์„ํ•œ ๋“ฏ. LLM๋„ high-level๋กœ ๋ณด๋ฉด ์‚๊นŒ๋ป”์ฉํ•œ reasoniong๋Šฅ๋ ฅ ๋“ฑ๋“ฑ์„ ๋ณด์—ฌ์ฃผ์ง€๋งŒ ์‚ฌ์‹ค ๊ทผ๋ณธ์ ์œผ๋กœ๋Š” ๊ฑฐ๋Œ€ํ•œ ๊ณ„์‚ฐ์‹œ์Šคํ…œ์ด๋ผ๋Š”๊ฒƒ์„ ๋‹ค์‹œํ•œ๋ฒˆ ์ƒ๊ธฐ์‹œ์ผœ์ฃผ๋Š”๊ฒƒ ๊ฐ™๋‹ค3.8
๋ฉ”๊ฐ€์ปคํ”ผ์ปดํ“จํ„ฐ์˜ ์˜ˆ๋ฏผํ•จ, ๋ฏผ๊ฐ๋„??๋ฅผ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ์–ด๋А์ •๋„ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๋”” ๋””์ฝ”๋”ฉ์˜ ๊ฒฝ์šฐ์—๋„ ์ถœ๋ ฅ์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฑด ์ƒˆ์‚ผ ๋†€๋ž๋‹ค3.5
์š”๋ฆฌ๊ดด๋ฌผ๋ญ”๊ฐ€ ๋…ผ๋ฌธ ์ž‘์„ฑ guideline์— ๋“ค์–ด๊ฐˆ๋ฒ•ํ•œ ๋‚ด์šฉ..? ๊ณต์ •ํ•œ ๋น„๊ต๋ฅผ ์œ„ํ•ด์„œ ๋™์ผํ•œ ์ •๋ฐ€๋„๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๋Š”๊ฑธ ๊ฐ•์กฐํ•œ ๋…ผ๋ฌธ์ด๋‹ค. ๊ณ„์‚ฐ๋งŒ FP32๋กœ ๋ฐ”๊พธ๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ฝค ์ค„์ธ๊ฑฐ๋Š” ์œ ์˜๋ฏธํ•œ ๊ฒฐ๊ณผ์ด๋‹ค. ์ถ”ํ›„ ์–‘์žํ™” ๋ชจ๋ธ์—๋„ ์ ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์„ ๋“ฏ3.9
์ƒˆ์šฐ๊นก์ €์žฅ์€ ์ •๋ฐ€๋„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•ด๋„ ๊ณ„์‚ฐ ๋•Œ ์ •๋ฐ€๋„ ๋†’๊ฒŒ ํ•˜๋ฉด ๋” ์ •ํ™•ํžˆ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒŒ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ด๊ฐ€ ๋˜๋ฉด์„œ๋„ ์•ˆ๋œ๋‹ค.. ์‹ ๊ธฐํ•˜๋‹ค. ์ˆ˜์น˜ ๋“ฑ์„ ์–ธ์–ด๋ชจ๋ธ์ด ๋‹ค๋ฃจ๊ฒŒ ํ•  ๋•Œ ํŠนํžˆ ์ ์šฉํ•  ์ˆ˜ ์žˆ์–ด๋ณด์ธ๋‹ค3.9
์•ˆ์„ฑ์žฌ์—ฐ๊ตฌ์ž๋“ค์€ ์ข…์ข… ์ฐฝ์˜์ ์ธ ์ ‘๊ทผ์„ ์ž์‹ ์˜ background(์ˆ˜ํ•™, ์‹ฌ๋ฆฌํ•™, etc.)์—์„œ ๋Œ์–ด์˜ค๋Š”๋ฐ, ์ด ์—ฐ๊ตฌ๋Š” ์ •๋ง ๋‹ด๋ฐฑํ•œ computer scientist๊ฐ€ ์“ด ๋А๋‚Œ์ด ๋‚˜๋„ค์š”. ์ƒ์กด์ž…๋‹ˆ๋‹ค4.3
๊ณ ๊ตฌ๋งˆ๋ง›๋„๋ฆฌ์šฐ๋ฆฌ๊ฐ€ LLM์œผ๋กœ ์‹คํ—˜ํ•  ๋•Œ ํ‘œ์ค€ํŽธ์ฐจ๋ฅผ ๊ผญ ๋„ฃ์–ด์•ผ ํ•˜๋Š” ์ด์œ ! GPT3๊ฐ€ ๋‚˜์™”์„ ๋•Œ ๋ถ€ํ„ฐ ๊ถ๊ธˆํ–ˆ๋˜ ๋‚ด์šฉ์„ ์ž˜ ๊ผฌ์ง‘์–ด์„œ ๋ณด์—ฌ์ค€ ๋…ผ๋ฌธ. ์ฆ๋ช…ํ•˜๊ธฐ์—๋Š” ๋งŽ์€ ์ฒด๊ณ„์„ฑ๊ณผ ๋…ผ๋ฆฌ์„ฑ์„ ์š”ํ•ด์„œ ๋ˆ„๊ตฐ๊ฐ€๋Š” ํ•ด์ฃผ๊ธธ ๋ฐ”๋ž€ ์—ฐ๊ตฌ๋ผ ์žฌ๋ฐŒ๊ฒŒ ์ฝ์—ˆ๋‹น 4
์Šคํƒ€๋ฒ…์ŠคLLM์˜ ์ถ”๋ก  ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ํ˜„์ƒ์„ ์ˆ˜์น˜ ํ˜„์ƒ์˜ ๊ด€์ ์—์„œ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ๋กœ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ •๋ฐ€๋„์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ์–‘์ƒ์„ ๋ณด์ด๋Š”๋ฐ ๊ทธ๋Ÿผ ๋‹ค๋ฅธ ๋…ผ๋ฌธ์˜ ์‹คํ—˜ ๊ฒฐ๊ณผ๋„ ์ •๋ฐ€๋„์— ๋”ฐ๋ผ ์ •ํ™•ํ•˜๊ฒŒ ๋น„๊ต๋ฅผ ํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.4.1

TL; DR

๐Ÿ’ก

LLM ์ถ”๋ก ์€ ๊ณ„์‚ฐ ๊ณผ์ •์—์„œ์˜ ์˜ค์ฐจ๋กœ ์ธํ•˜์—ฌ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ! โ‡’ ์ •๋ฐ€๋„ ๊ด€์ ์—์„œ ์žฌํ•ด์„, ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ๋‹ฌ๋ผ์ง€๋Š”์ง€, ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š”์ง€?

๊ณ„์‚ฐ ๊ณผ์ •์—์„œ์˜ ๋ฌธ์ œ๋‹ˆ๊นŒ, ๊ณ„์‚ฐ ๊ณผ์ •์—์„œ๋งŒ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋ณด๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋‹๊นŒ?โ‡’ ์‹คํ—˜ ๊ฒฐ๊ณผ, ๊ทธ๋ ‡๋‹ค!

Summary

  • ๋ถ€๋™ ์†Œ์ˆ˜์ ?
    • sign(๋ถ€ํ˜ธ): 0/1 (์–‘/์Œ)
      • Range(์ง€์ˆ˜,E): ์ˆ˜์˜ ๋ฒ”์œ„(์ž๋ฆฟ์ˆ˜)
      2E2^E
      • 18.875 โ‡’ ์ด์ง„์ˆ˜ ํ‘œํ˜„ (10010.111)
      • ์†Œ์ˆ˜์  ์•ž์œผ๋กœ 4์ž๋ฆฌ ๋Œ๊ณ  ์˜ค๊ธฐ (1.0010111) * Range(4)
      • ์ด๊ฑธ fp 32๋กœ ํ‘œํ˜„?
        • 0 00000100 00101110000000000โ€ฆ
    • Precision(๊ฐ€์ˆ˜)
      • ์‹ค์ œ ์ˆ˜ ํ‘œํ˜„

    ์ฆ‰, precision์ด ํฌ๋‹ค? โ‡’ ํ‘œํ˜„๋ ฅ์ด ์ข‹๋‹ค!

    range๊ฐ€ ํฌ๋‹คโ‡’ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ/์–ธ๋”ํ”Œ๋กœ์šฐ๊ฐ€ ์ค„์–ด๋“ ๋‹ค!

    Mixed Precision Training (ICLRโ€™2018) โ‡’ ์œ ๋ช…ํ•จ!

  • Rounding Error?
    • ์ปดํ“จํ„ฐ๋Š” ๋ฐ˜์˜ฌ๋ฆผ ํ•จ.(์ •ํ™•ํžˆ ์ €์žฅํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ)
    • ๊ทธ๋ž˜์„œ ์ตœ์†Œํ•œ์˜ ์˜ค์ฐจ๋Š” ์–ธ์ œ๋‚˜ ์กด์žฌํ•จ.โ‡’ Rounding error

Motivation

  • LLM ์ถ”๋ก ์€ ์ผ๊ด€๋œ ํ‰๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•œ๊ฐ€?
    • Greddy decoding (temperatre ๋“ฑ 0์œผ๋กœ ์„ค์ • ํ›„) + fixed seed โ‡’ ์žฌํ˜„ ๊ฐ€๋Šฅ?

    โ‡’ ์‹ค์ œ๋กœ๋Š” ์‹œ์Šคํ…œ ์„ค์ • ์กฐ๊ธˆ๋งŒ ๋ฐ”๊ฟ”๋„ ๊ณ„์† ๋‹ฌ๋ผ์ง„๋‹ค.

  • ๊ฐ LLM์˜ ํ‰๊ฐ€๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์œผ๋‹ˆ, ๋ฏฟ์„์ˆ˜๋„ ์—†๋‹ค. (์šฐ์—ฐ์ผ ์ˆ˜ ์žˆ๋‹ค)
    • ๋ฌผ๋ก , 10% ์ด์ƒ ์ฐจ์ด๋‚˜๋ฉด ๊ทธ๋Ÿฌ๋ ค๋‹ˆ ํ•  ์ˆ˜ ์žˆ์Œ. but, 1%, 2% ์ฐจ์ด๋ผ๋ฉด?
  • ๋˜ํ•œ, reasoning ๋ชจ๋ธ์—์„œ๋Š” ๋” ํฐ ์ฐจ์ด๋ฅผ ๋ถˆ๋Ÿฌ์˜ด.
    • 5๋‹จ๊ณ„ ์ถ”๋ก ์—์„œ, 1๋‹จ๊ณ„์—์„œ ๋ฏธ์„ธํ•˜๊ฒŒ ๋‹ฌ๋ผ์ง€๋ฉด ? โ‡’ ๋‚˜๋น„ํšจ๊ณผ์ฒ˜๋Ÿผ ์ฐจ์ด๊ฐ€ ์ฆํญ๋  ์ˆ˜ ์žˆ์Œ

Idea

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ˆ˜์น˜ ์—ฐ์‚ฐ์˜ ์ฐจ์ด ์•„๋‹๊นŒ?
    • ๋ง์…ˆ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฉด, ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค!
      • GPU ๋ณ‘๋ ฌ๋กœ ์“ฐ๋Š”๋ฐ, ๊ทธ๋Ÿผ ์–ด๋А ์Šค๋ ˆ๋“œ, GPU์— ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ณ , ์–ด๋–ค ์ˆœ์„œ๋กœ ์ฒ˜๋ฆฌ๋˜์–ด์„œ ๊ณ„์‚ฐ๋˜๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€์ง€ ์•Š์„๊นŒ?

Method

  • ์˜ํ–ฅ์„ ๋ฏธ์น ๋งŒํ•œ ๊ฒƒ๋“ค์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ ์‹คํ—˜ํ•ด๋ณด์ž!
    • FP16/BF16/FP32
    • ๋ง์…ˆ ์ˆœ์„œ ๊ฒฐ๊ณผ ์ฐจ์ด
    • attention, softmax, logit ๊ณ„์‚ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” rounding error
  • ์–ด๋–ป๊ฒŒ?
    • ์กฐ์ž‘
      • GPU ๊ฐœ์ˆ˜
      • GPU ์ข…๋ฅ˜(A100 vs L40s)
      • batch size
      • precision format
    • ๊ณ ์ •
      • ๋ชจ๋ธ
      • prompt
      • decoding strategy(greedy)
  • ํ•ด๊ฒฐ์ฑ…?
    • LayerCast
      • FP32๋Š” ๋„ˆ๋ฌด ๋น„์‹ธ๊ณ , BF/FP16์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.
    • ์˜ค์ฐจ๊ฐ€ ์–ธ์ œ ์ƒ๊ธฐ๋Š”๊ฐ€?
      • ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ €์žฅ์€ ๋ฌธ์ œ ์—†์Œ! โ‡’ ๊ณ„์‚ฐ ๊ณผ์ •์—์„œ์˜ ๋ฌธ์ œ
    • BF16 ์œ ์ง€
      • Weight ์ €์žฅ
    • FP32
      • Activation, Attention, Softmax, logits, Accumulation (๊ณ„์‚ฐ ๋•Œ๋งŒ FP32๋กœ)

Experiment

  • Greedy decoding๋„ ์žฌํ˜„ ๋ถˆ๊ฐ€๋Šฅ
    • ์ถœ๋ ฅ token์ด ์‹ค์ œ๋กœ ๋‹ฌ๋ผ์ง„๋‹ค!

  • precision(์ •๋ฐ€๋„) ๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก, ๋” ๋งŽ์ด ๋‹ฌ๋ผ์ง„๋‹ค.(๋น„๊ฒฐ์ •์„ฑ์ด ์ปค์ง„๋‹ค)
  • Reasoning ๋ชจ๋ธ์ด ํŠนํžˆ ์ทจ์•ฝํ•˜๋‹ค.
    • ํ‘œ์ค€ ํŽธ์ฐจ๊ฐ€ ๋” ํผ!
  • ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ FP32 ์ˆ˜์ค€์˜ ์•ˆ์ •์„ฑ ์ œ๊ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค(์ œ์•ˆ ๋ฐฉ๋ฒ•๋ก )
    • LayerCast๋ฅผ ํ†ตํ•ด ์•ˆ์ •

Categories

research