LLM 서비스는 엔지니어링인가 예술인가
반복 재현할 수 있어야 엔지니어링이고, 재현이 어려우면 아트라고 배웠습니다.
LLM 서비스에는 사실 비결정론적 요소가 없는데도, 상용 LLM 모델을 동일한 과정을 거쳐서 똑같은 clone으로 산출해 내는 것은 불가능하다고 합니다. 왜 그런지 궁금해서 물어봤습니다.
질문
LLM은 결정론적인가? 즉, 동일한 모델에 동일한 트레이닝을 한 후 동일한 질문을 던지면 결과가 동일한가?
답변
완전히 결정론적(deterministic)일 수도 있고, 아닐 수도 있습니다.
핵심은 “추론(inference) 과정에서 randomness를 넣느냐”에 달려 있습니다.
정리하면:
이론적으로는: 동일한 모델 + 동일한 입력 + 동일한 환경 + 동일한 연산 순서라면 같은 결과를 낼 수 있습니다.
실제 서비스에서는: 보통 확률적 sampling 때문에 결과가 달라질 수 있습니다.
1. LLM은 기본적으로 “다음 토큰의 확률 분포”를 계산한다
예를 들어 모델이:
“오늘 날씨가”
다음에 올 단어 확률을 이렇게 계산한다고 해봅시다.
후보 | 확률 |
|---|---|
좋다 | 0.42 |
맑다 | 0.31 |
춥다 | 0.08 |
LLM은 본질적으로 이런 확률 분포를 매 단계 계산합니다.
그 다음 선택 방식이 두 가지입니다.
2. 결정론적으로 만들 수 있는 경우
Greedy decoding
항상 확률이 가장 높은 토큰만 선택하면 됩니다.
즉:
0.42 → “좋다”
다음 단계도 최고 확률
계속 반복
이 경우:
같은 모델
같은 weights
같은 prompt
같은 시스템 설정
이면 결과는 사실상 동일합니다.
즉, 결정론적 동작이 가능합니다.
3. 하지만 실제 LLM 서비스는 보통 비결정론적이다
왜냐하면 대부분 다음 기법을 씁니다:
temperature sampling
top-k sampling
nucleus sampling(top-p)
예:
“좋다” 42%
“맑다” 31%
이면 랜덤 샘플링으로 둘 중 하나를 뽑을 수 있습니다.
그래서 같은 질문이어도:
한 번은 “오늘 날씨가 좋다”
다른 번은 “오늘 날씨가 맑다”
처럼 달라질 수 있습니다.
4. Temperature의 의미
temperature는 randomness 정도를 조절합니다.
temperature = 0
거의 결정론적
항상 최고 확률 토큰 선택에 가까움
temperature ↑
다양성 증가
창의적 응답 증가
결과 변동성 증가
실무에서는:
코드 생성 → 낮은 temperature
소설/브레인스토밍 → 높은 temperature
를 많이 씁니다.
5. 그런데 temperature=0이어도 완전 동일하지 않을 수 있다
여기서 더 흥미로운 부분이 있습니다.
실제 GPU 환경에서는 다음 때문에 미세한 차이가 생길 수 있습니다:
floating point rounding
병렬 연산 순서
CUDA kernel 차이
distributed inference
mixed precision(FP16/BF16)
LLM은 매우 민감해서:
초반 토큰 확률이 0.5001 vs 0.4999
연산 오차로 순서 뒤집힘
이후 문장 전체가 달라짐
현상이 가능합니다.
즉:
수학적으로는 결정론적이어도,
실제 대규모 GPU 시스템에서는 완전 재현성이 어려울 수 있다
는 것이 현실입니다.
6. 학습(training) 자체는 거의 항상 비결정론적이다
질문에서:
“동일한 모델에 동일한 트레이닝”
이라고 했는데, 여기에도 randomness가 들어갑니다.
예:
weight initialization
data shuffling
dropout
distributed training order
optimizer nondeterminism
그래서:
같은 코드
같은 데이터
로 다시 학습해도 weights가 완전히 동일하지 않을 수 있습니다.
하지만 흥미롭게도:
최종 성능은 비슷하게 수렴하는 경우가 많습니다.
7. 요약
상황 | 결정론적? |
|---|---|
Greedy decoding + 완전 동일 환경 | 거의 예 |
일반 ChatGPT 스타일 sampling | 아니오 |
실제 GPU 대규모 시스템 | 완전한 재현 어려움 |
학습(training) 과정 | 대체로 비결정론적 |
한 문장으로 요약하면:
LLM은 본질적으로 확률 모델이지만, 추론 방식을 제한하면 결정론적으로 동작시킬 수 있다. 다만 실제 대규모 시스템에서는 완전한 재현성이 항상 보장되지는 않는다.
