nerkyor/Qwen3.8-27B-Coder390-EfficientThink-Opus5.5-GPT6Astra-Grok4.7-DSV4Pro-K3-SFT-RLOO-MTP-DFlash2
Qwen3.8-27B Coder390 EfficientThink — 반복 추론과 답변 누락을 줄인 파인튜닝 모델
Qwen3.8-27B를 여러 차례 SFT와 RLOO로 파인튜닝해, 답을 구한 뒤 추론을 반복하다 응답 한도에 도달하는 문제를 줄인 모델입니다. 같은 평가 프로토콜에서 FP8 점수는 GPQA 178/198, MMLU 450/500, LCB 90/100이며, 추측 디코딩 방식에 따라 RTX PRO 6000에서 요청당 약 180 tok/s를 기록했습니다.
- 주제
AI 요약
nerkyor가 Qwen3.8-27B 기반 모델에 여러 차례 Supervised Fine-Tuning(SFT)과 RLOO를 적용해 공개했습니다. 학습 목표는 답을 이미 구했는데도 ‘Wait’, ‘Actually’와 함께 같은 풀이를 되풀이하다 생성 한도까지 도달하고 최종 답변을 내놓지 않는 문제를 줄이는 것입니다. 필요한 긴 추론은 억제하지 않고, 쓸모없는 반복과 빈 답변을 줄이는 데 초점을 맞췄습니다.
학습 데이터와 보상
문제마다 추론 경로 8개를 생성하고, 정답과 오답이 모두 있는 그룹만 학습에 남겼습니다. 전부 정답인 그룹은 제외했습니다. 정답 경로가 0개 또는 1개인 그룹 27곳에는 검토한 짧은 교사 경로를 추가해 가장 짧은 오답 경로와 바꿨습니다. 최종 RLOO 데이터는 172개 그룹, 1,376개 경로로 구성했고 정답 경로 859개, 오답 경로 517개, 빈 답변 68개를 포함했습니다.
보상은 오답 경로에만 길이별 패널티를 줍니다. 24K 토큰 미만의 정답은 +1.05, 긴 정답은 +1.0입니다. 24K 미만 오답은 -0.2, 24K~48K 오답은 -0.5, 48K 이상 오답은 -0.7을 받습니다. 94K 한도까지 생성하고도 오답을 내면 -0.9, 답변이 비면 -1.0입니다. 따라서 긴 정답 풀이 자체를 벌점 대상으로 삼지는 않습니다.
평가 결과와 종료 문제
원본 Qwen3.8-27B FP8은 GPQA 177/198, MMLU 444/500, LiveCodeBench(LCB) 83/100을 기록했습니다. Coder390 정적 FP8은 각각 178/198, 450/500, 90/100입니다. 같은 100K 컨텍스트 평가에서 GPQA의 94K 생성 한도 도달 횟수는 4회에서 1회로, LCB는 13회에서 3회로 줄었습니다. 원본 LCB의 한도 도달 13건은 모두 실행 가능한 코드가 없는 답변이었습니다.
BF16, 동적 FP8, 정적 FP8은 GPQA 178점과 LCB 90점으로 같았습니다. MMLU는 445~450점 범위로 달랐으며, 게시자는 이를 정밀도 차이보다 샘플링 변동으로 설명합니다. NVFP4 양자화 모델은 크기를 줄이는 대신 점수가 일부 낮아지거나 달라집니다. 예를 들어 W4A16은 GPQA 170, MMLU 439, LCB 91점이고 W4A4는 167, 440, 92점입니다. 혼합 정밀도 W4A4-W8A8은 172, 442, 88점입니다. LCB 최고점은 NVFP4 W4A4의 92점입니다.
모델 파일과 실행 환경
저장소에는 BF16, 정적 FP8 Block128, NVFP4 세 종류 외에도 NInfer, INT8, INT4, GGUF Q2~Q8 계열이 있습니다. 텍스트와 이미지·동영상을 처리하는 멀티모달 구성을 제공하며, SGLang에서 패치 없이 불러오는 경로를 테스트했습니다. FP8 패키지는 vLLM에서도 기본 실행을 확인했습니다. 다만 지원 런타임은 패키지별로 다릅니다. 예를 들어 INT8과 INT4는 vLLM용이고, .ninfer 파일은 NInfer 엔진에서만 읽을 수 있습니다.
추측 디코딩 선택지도 두 가지입니다. 동봉한 DFlash2 draft와 모델의 BF16 Multi-Token Prediction(MTP) 헤드는 함께 쓰는 방식이 아니라 서로 선택해 사용합니다. SGLang과 RTX PRO 6000 Blackwell 환경에서 FP8 모델은 DFlash2 사용 시 동시 요청 1개에서 요청당 중앙값 180.3 tok/s, 동시 요청 8개에서 집계 646.3 tok/s를 기록했습니다. 같은 환경에서 MTP는 각각 91.1 tok/s, 380.3 tok/s였고, 추측 디코딩을 쓰지 않으면 동시 요청 1개에서 45.6 tok/s였습니다. 이 속도는 32K 컨텍스트와 4,096토큰 생성 한도로 측정했으며, 다른 엔진과 설정의 수치와 직접 비교하기 어렵습니다.
Hugging Face 반응
댓글이 없습니다.
원문: Hugging Face / 번역·요약: Trawling