KLD는 오해받고 있다
원문 제목 — KLD is misunderstood
📄 전문 번역
레딧에서는 많은 이들이 KLD 수치를 모든 양자화 모델을 구분하고 품질 순으로 매길 수 있는 절대적 지표처럼 취급한다. 그러나 결론부터 말하면 그럴 수 없다. KLD가 실제로 측정하는 것은 무엇일까. 베이스 모델과 양자화 모델에 동일한 텍스트를 입력하면 각 토큰에서 로짓으로 얻어지는 확률 분포를 비교할 수 있다. KLD는 기본적으로 이 두 분포가 얼마나 다른지를 측정한 뒤 모든 토큰에 걸쳐 평균을 낸 값이다.
여기서 첫 번째로 잘못될 수 있는 지점은 사람들이 위키피디아 문서 같은 무작위 텍스트를 모델에 입력해 그 데이터셋으로 KLD를 계산한다는 것이다. 그러나 이는 추론 과정에서 모델이 실제로 마주하는 내용을 대표하지 못할 수 있다. 생성이 진행될수록 컨텍스트의 상당 부분이 모델 자신이 생성한 토큰으로 채워지며, 무작위 텍스트 입력만으로는 이를 재현할 수 없다. 더 합리적인 수치를 얻으려면 베이스 모델로 자체 데이터셋을 생성한 뒤 그 생성 토큰으로 KLD를 계산하고 프롬프트 토큰에는 0의 가중치를 부여해야 한다.
두 번째 문제는 KLD가 조작하기 매우 쉽다는 것이며, 특히 수치가 모델 제작자 본인에게서 나올 때 더욱 그렇다. 양자화 방법은 대개 캘리브레이션 데이터에 의존하는데, 캘리브레이션에 쓴 것과 동일한 데이터로 KLD를 계산하면 수치가 다른 어느 방법보다 훨씬 좋아 보일 수 있다. 홀드아웃 데이터셋을 사용한다고 주장해도 마찬가지다. 캘리브레이션 데이터와 평가 데이터가 같은 출처에서 나왔거나 매우 유사한 분포를 가질 수 있기 때문이다. 어떤 이들은 그 동일한 데이터로 양자화 스케일 파라미터를 엔드투엔드 파인튜닝하기까지 하며, 이 경우 자기보다 두 배 큰 모델을 KLD에서 압도하면서도 그 데이터셋 밖으로는 거의 일반화되지 못하는 결과가 나타난다.
그렇다면 KLD는 의미가 있는가. 사람들이 생각하는 만큼은 아니다. 이는 매우 제한된 데이터셋 위에서 양자화 모델이 베이스 모델에서 얼마나 벗어나는지를 재는 수치일 뿐이다. KLD가 높다고 해서 해당 양자화 모델이 실제 과제에서 실패한다는 뜻은 결코 아니다. 벤치마크 역시 벤치맥싱될 수 있지만, 모델을 양자화하는 일반 사용자 입장에서 벤치맥싱은 KLD 수치를 조작하는 것보다 훨씬 어렵다. 벤치맥싱에는 상당한 하드웨어와 연산이 필요한 반면 KLD를 좋아 보이게 만드는 것은 터무니없이 저렴할 수 있기 때문이다.
따라서 KLD를 양자화 모델의 만능 리더보드처럼 다루는 것을 멈춰야 한다. KLD는 유용한 진단 도구이지 모델이 실제로 얼마나 좋은지를 잴 수 있는 척도가 아니다.
💬 주요 댓글 번역 (5)
🔍 루키 분석
레딧 사용자 Positive-Resource922가 양자화 모델 품질 지표로 통용되는 KLD에 대한 과신을 경고하는 글을 올렸다. 무작위 텍스트 기반 측정의 대표성 부족과 캘리브레이션 데이터 재사용을 통한 수치 조작 가능성을 핵심 근거로 제시한다. KLD를 만능 리더보드가 아닌 진단 도구로 봐야 한다는 주장이며, 댓글에서는 벤치마크의 계산 비용과 사설 벤치마크의 필요성을 놓고 찬반이 오갔다.
— 루키 · glm-5.3-flash:cloud
이 글은 업보트를 받을 자격이 있다. 퀄리티 있는 게시물이다.
다음 조건이 지켜진다면 KLD가 황금 표준이 될 수 있을까. 충분한 사고/출력 토큰과 적은 양의 프롬프트 토큰 사용, 비교 대상 모델을 직접 테스트하는 것, 합리적으로 다양한 데이터셋. KLD보다 나은 기법은 도무지 생각나지 않는다.
KLD보다 나은 기법이 없다는 말에는 실제 벤치마크가 있다. KLD의 문제는 신중하게 계산하더라도, 예컨대 양자화에 쓰이지 않은 대표적인 테스트 세트로 측정하더라도, 차이가 누적되는 정도에 대해 아무것도 알려주지 못한다는 점이다. 아주 작은 KLD도 10만 스텝에 걸쳐 누적되면 엄청난 차이가 될 수 있고, 반대로 상당한 KLD를 가진 양자화가 전혀 누적되지 않아 원본과 동일한 결과를 낼 수도 있다. 확실히 말할 수 있는 것은 KLD가 0이면 성능이 같다는 것뿐이다.
벤치마크의 문제는 계산 비용이 훨씬 비싸다는 것이다. 일반 컴퓨터로는 며칠이 걸리고 여러 시드를 돌리면 더 걸린다. Top 1%와 KLD가 일반 성능의 꽤 괜찮은 대리 지표라고 생각한다. 짧은 사설 벤치마크는 좋은 생각이지만, 특히 LLM을 심판으로 쓰는 채점기 없이는 만들기가 번거롭다. Positive-Resource922 님, 이 주제와 관련해 왜 사람들이 권장 샘플링 설정만으로 KLD를 계산하지 않는지 궁금하다. 예를 들어 상위 20개 토큰과 p=0.95(Qwen 모델 기준)만으로 KLD를 계산하면 실제 추론 배치에 훨씬 가까울 것이다.
누군가 이만큼 공을 들인다면 훨씬 나은 지표가 되겠지만, 그래도 비교 중인 양자화가 실제 과제에 적합한지는 알려주지 못한다. 나의 황금 표준은 여전히 내가 관심 있는 소수의 과제 세트다. 이를 API와 선택한 양자화 모델 양쪽에 돌려 과제 해결이 얼마나 가까운지 확인하는 것이다. 누구도 벤치맥싱할 수 없는 그런 사설 벤치마크를 모두가 가져야 한다고 본다.