JonathanColetti/Qwen3.8-27B-Uncensored-GGUF
llama.cpp 기반 로컬 text-generation27B256K 컨텍스트apache-2.0
Qwen3.8-27B의 refusal 동작을 줄이고 MTP head를 보존한 llama.cpp용 GGUF 양자화 모델
학습 방식 · Qwen/Qwen3.8-27B를 bf16 base로 두고 Heretic abliteration으로 attn.o_proj와 mlp.down_proj의 refusal 방향을 조정한 뒤 변경분을 병합했으며, 추가 학습 데이터와 Fine-tuning 없이 mtp.* tensor를 base checkpoint에서 복원했습니다.
TL;DR
이 모델은 Qwen/Qwen3.8-27B를 Heretic abliteration으로 수정하고 추가 학습 없이 GGUF로 양자화한 uncensored 변형입니다. bf16 병합 과정에서 refusal 관련 방향만 조정하고 mtp.* tensor를 base checkpoint에서 복원해 MTP head와 65개 블록을 보존했습니다. 유해 프롬프트 거부는 98/100에서 12/100으로 감소했으며, MMLU·ARC-Challenge·HellaSwag·Winogrande 평균 성능 변화는 base 대비 -0.5였습니다. llama.cpp의 draft-mtp를 사용하면 prose 기준 n_max 1에서 74.8 tok/s가 89.0 tok/s로 증가했지만, 양자화 수준과 하드웨어별 검증이 필요합니다.
핵심 포인트
- 이 모델은 Qwen/Qwen3.8-27B를 Heretic abliteration으로 수정한 뒤 GGUF로 양자화한 모델입니다. 전체 Fine-tuning이나 추가 학습 데이터 없이 bf16 상태에서 refusal 방향을 줄이고 LoRA 변경분을 base 모델에 병합했습니다. 따라서 Qwen3.8-27B의 구조와 학습 데이터는 유지하면서 거부 동작을 완화한 변형입니다.
- MTP head를 제거하지 않고 보존한 점이 일반적인 변환 모델과 다릅니다. Abliteration 과정에서 사라질 수 있는 mtp.* tensor를 base checkpoint에서 그대로 되돌려 넣고, 양자화 후 실제 블록 수와 tensor 존재 여부를 검사했습니다. fused 파일은 65/65 블록을 유지하며 llama.cpp의 draft-mtp speculative decoding에 사용할 수 있습니다.
- 거부 응답은 유해 요청 100개 기준 base 모델의 98/100에서 12/100으로 줄었고, base와의 첫 토큰 KL divergence는 0.1191입니다. MMLU·ARC-Challenge·HellaSwag·Winogrande 평균 점수는 base 대비 0.5포인트 낮았지만 각 차이는 대부분 표준 오차 범위에 가깝습니다. 이는 안전 동작을 크게 완화하는 대신 모델 출력 분포에 제한적인 변화를 허용한 선택입니다.
- GGUF 파일은 IQ4_XS부터 Q8_0까지 제공되며 크기는 15.3GB에서 29.0GB입니다. MTP draft head는 모든 구성에서 Q8_0으로 유지되고, prose에서는 n_max 1 설정이 baseline 74.8 tok/s 대비 89.0 tok/s인 1.19배 처리량을 기록했습니다. 실제 속도와 수용률은 하드웨어와 draft 길이에 따라 달라지므로 다운로드한 양자화 수준에서 직접 측정해야 합니다.
제한사항
- 거부 동작은 제거된 것이 아니라 유해 요청 100개 중 12개가 남아 있습니다. 측정은 mlabonne/harmful_behaviors test split의 특정 분포에 한정되며 정상 요청에 대한 과도한 거부율은 측정하지 않았습니다. 비사고 모드에서 평가했기 때문에 <think> 블록을 활성화하면 결과가 달라질 수 있습니다.
- 공개된 능력 평가는 0-shot MMLU, ARC-Challenge, HellaSwag, Winogrande와 wikitext-2 perplexity에 한정됩니다. GSM8K, HumanEval, 수학, 코드, 다국어, vision tower, MTP speculative decoding의 능력 평가는 포함되지 않았습니다. 측정값은 bf16 병합 모델 기준이므로 실제 GGUF 양자화 파일에서는 양자화 오차가 추가될 수 있습니다.
- IQ4_XS 같은 낮은 양자화 수준은 abliteration과 양자화에 따른 변화를 함께 키울 수 있습니다. README는 동작 평가에 Q6_K 또는 Q8_0을 사용하도록 권장하며, Q4_K_M의 wikitext-2 PPL은 7.1814 ± 0.25227입니다. 오래된 llama.cpp 빌드는 MTP tensor를 조용히 무시할 수 있으므로 PR #22673 이후 구현이 필요합니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| MMLU | 0-shot accuracy | 83.3 | base Qwen/Qwen3.8-27B 83.4, Δ -0.2 |
| ARC-Challenge | 0-shot accuracy | 57.7 | base Qwen/Qwen3.8-27B 58.9, Δ -1.2 |
| HellaSwag | 0-shot accuracy | 82.9 | base Qwen/Qwen3.8-27B 82.8, Δ +0.1 |
| Winogrande | 0-shot accuracy | 75.3 | base Qwen/Qwen3.8-27B 76.1, Δ -0.8 |
| Mean | 평균 점수 변화 | -0.5 | base 모델과 동일한 0-shot 설정에서 측정 |
| Refusals | 100개 유해 프롬프트 중 거부 수 | 12/100 | base Qwen/Qwen3.8-27B 98/100 |
| KL divergence | 첫 토큰 분포 기준 KL divergence | 0.1191 | base 모델 기준 0, 낮을수록 base 모델에 가까움 |
| Speculative decoding prose | tok/s, draft-mtp n_max 1 | 89.0 tok/s | baseline 74.8 tok/s, 1.19x |
| Speculative decoding code | tok/s, draft-mtp n_max 1 | 95.4 tok/s | baseline 74.7 tok/s, 1.28x |
| Speculative decoding chat | tok/s, draft-mtp n_max 1 | 90.6 tok/s | baseline 74.7 tok/s, 1.21x |
| Q4_K_M perplexity | wikitext-2 PPL | 7.1814 +/- 0.25227 | Qwen3.8-27B-Uncensored-Q4_K_M GGUF 측정값 |
110
Likes
24.5k
Downloads
0 / 0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.