MiniMax M2.7 GGUF 조사, 수정 및 벤치마크
MiniMax M2.7 GGUF Investigation, Fixes, Benchmarks
핵심 요약
MiniMax M2.7 GGUF 모델의 NaN 오류 원인을 분석하고 llama.cpp의 오버플로우 문제를 해결한 사례.
- NaN 오류 원인 — GGUF 파일의 21~38%에서 발생하는 NaN 문제를 llama.cpp의 오버플로우로 확인함.
- 모델 수정 완료 — Unsloth에서 해당 문제를 해결한 수정된 M2.7 GGUF 모델을 배포함.
- 벤치마크 분석 — KLD 및 PPL 지표를 통해 다양한 양자화 모델의 성능과 오류 발생 패턴을 비교함.
- CUDA 이슈 — CUDA 13.2 버전에서 발생하는 모델 출력 오류 문제를 확인하고 하위 버전 사용을 권장함.
r/LocalLLaMA 여러분, 안녕하세요. 저희는 MiniMax-M2.7 GGUF가 perplexity에서 NaN을 유발하는 문제에 대해 조사했습니다. 조사 결과, 이 문제는 Hugging Face에 올라온 모든 GGUF 파일의 21%~38%에 영향을 미치고 있습니다(저희 모델뿐만이 아닙니다).
- 다른 유명 커뮤니티 업로더들의 모델 중 38%(10/26)에서 NaN이 발생했고, 하나는 삭제되었습니다(1/4). 저희 모델의 경우 22%(5/23)에서 NaN이 발생했으나, 현재는 수정 완료했습니다.
- 99.9% KLD 및 기타 지표를 실행했을 때는 모두 정상입니다.
- llama.cpp의 오버플로우가 원인임을 밝혀냈습니다.
- PPL, KLD 99.9% 벤치마크도 수행했으며, 왼쪽 하단이 더 좋은 결과입니다.
- 블록 32에서 Perplexity NaN이 발생했으며, 이는 커뮤니티와 다른 양자화 업로더들도 발견한 문제입니다. 또한 블록 311에서도 문제가 발생함을 확인했습니다.
blk.61.ffn_down_exps가 원인임을 발견했습니다. PPL 평가 시 청크 32부터 Q5_K와 Q4_K에서 NaN이 발생합니다. 흥미롭게도 IQ4_XS, IQ3_XXS 및 더 작은 I 양자화 유형에서는 NaN이 발생하지 않습니다.- 더 낮은 비트 양자화(예: Q2_K_XL)에서는 NaN이 발생하지 않았는데 중간 크기 양자화(Q4_K_XL)에서는 발생했다는 점이 매우 혼란스러웠습니다.
- 현재 https://huggingface.co/unsloth/MiniMax-M2.7-GGUF에서 M2.7 양자화 모델을 업데이트하여 문제를 완화했습니다. NaN perplexity의 정확한 원인은 아직 알 수 없지만, 우연이거나 대규모 곱셈으로 인한 오버플로우일 가능성이 가장 높습니다.
어떤 양자화 모델을 테스트했나요?
- https://huggingface.co/bartowski/MiniMaxAI_MiniMax-M2.7-GGUF에서 10/26 NaN 발견(38%): 청크 32 실패(9): IQ3_XXS, IQ3_XS, IQ3_M, Q3_K_M, Q3_K_L, Q3_K_XL, Q4_K_S, Q4_1, Q5_K_S. 후반 실패(1): IQ1_S (청크 311에서 충돌)
- 저희 모델 5/23 NaN 발견(21%): 현재 모두 수정됨 https://huggingface.co/unsloth/MiniMax-M2.7-GGUF: UD-Q4_K_S, UD-Q4_K_M, UD-Q4_K_XL, UD-Q5_K_S, MXFP4_MOE. 모두 블록 32.

