Warmly(온기) 배포 모델의 한국어 댓글 자연성을 같은 모델 크기에서 끌어올리는 증류 트랙(D안 Track 2)의 산출물 리포입니다. 프루닝 마스터 neureps/Qwen3.5-2B-enko에 8B급 한국어 교사의 댓글을 QLoRA로 증류한 어댑터를 버전 폴더(v1/, v2/, ...) 로 관리합니다. 배포 게이트를 통과한 버전은 병합·재양자화된 GGUF로...
Model source
Source description
Warmly(온기) 배포 모델의 (D안 Track 2)의 산출물 리포입니다. 프루닝 마스터 에 8B급 한국어 교사의 댓글을 QLoRA로 증류한 어댑터를 로 관리합니다. 배포 게이트를 통과한 버전은 병합·재양자화된 GGUF로 에 반영됩니다.
Sources
1 sourceVerified Sep 25
Model artifacts
1 artifactv1/adapter_model.safetensors
safetensors · 41.7 MB · SHA-256 0f102d4523a6…dabd · Hugging Face
DownloadSource excerpts
2 excerptsv1/, v2/, ...)| 버전 | 날짜 | 상태 | 핵심 변화 |
|---|---|---|---|
| v1 | 2026-07-15 | 공식 게이트 통과 — 승격 대기 (블라인드 승률 ~70%·자기비하 동조 0/4·후처리 55/60+재생성 폴백 0. 병합·재양자화 GGUF Qwen3.5-2B-enko-distill-v1-dIQ4_XS.gguf 1022MB가 프로덕션 리포에 업로드됨 — 프로덕션 전환은 별도 결정) | Kanana-1.5-8B 교사 증류 1차. 자연성 명확 개선(어색 ~18/60 → ~6/60, 깨진 단어·환각 해소), 영어 누출 회귀 5/60(후처리+재생성이 흡수) |
60댓글 하니스(5장×4페르소나×3반복, temp 0.45, 루브릭 채점) 기준:
| 지표 | 기준선 (배포 dIQ4_XS) | v1 증류판 (LoRA 병합, transformers) |
|---|---|---|
| 어색 문장 | ~18/60 (30%) — 깨진 단어("김지라네", "그대시된"), 이중 종결, 비문 | ~6/60 — 해소 |
| 오역·환각 | ~4-5/60 — 캡션에 없는 "안개/이슬" 반복 환각 | 환각 해소, 대신 영어 누출 5/60 (복잡한 캡션에서 "Victorian" 에코 — 후처리 필터로 걸러짐, 통과 55/60) |
| 구체성 | ~2.5/5 (일반 감탄 위주) | 3.5+/5 (캡션 디테일 참조 증가) |
예시 (pet 사진, 같은 캡션):
아키텍처 주의 (v1의 최대 발견): Qwen3.5-2B는 신규 하이브리드 아키텍처(model_type: qwen3_5 — mamba SSM+선형어텐션+MTP+비전) — 릴리스 transformers(≤5.13)로는 로드 불가, git-main(5.14.0.dev)부터 지원. QLoRA 학습·병합 모두 git-main 필요.
| 파일 | 설명 |
|---|---|
v1/adapter_model.safetensors | LoRA 어댑터 (43MB, epoch 3 = checkpoint-1218) |
v1/adapter_config.json | peft 구성 (r16/α32, target modules) |
v1/trainer_state.json | 학습 로그 (loss 곡선, eval loss) |
v1/training_args.bin | 학습 하이퍼파라미터 (재현용) |
# transformers git-main 필수 (qwen3_5 아키텍처)
from transformers import AutoModelForImageTextToText, AutoTokenizer
from peft import PeftModel
base = AutoModelForImageTextToText.from_pretrained("neureps/Qwen3.5-2B-enko", torch_dtype="bfloat16")
model = PeftModel.from_pretrained(base, "neureps/warmly-qwen35-2b-enko-distill", subfolder="v1")
# 생성 시: enable_thinking=False 필수, eos(<|im_end|>)+stop_strings 지정
# (few-shot 패턴 모방으로 다음 턴을 이어 생성하는 것 방지)
--no-mtp + qwen35 chkhsh 변환 후 greedy 대조 — 3/4 페르소나 완전 일치, 1건 동의어 차이(창문↔창가)만, 깨진 단어·의미 변형 0. (주의: peft CAUSAL_LM 병합은 MTP 가중치를 드롭 — --no-mtp 배포와 정합)--- library_name: peft license: apache-2.0 base_model: - neureps/Qwen3.5-2B-enko language: - ko tags: - lora - qlora - knowledge-distillation - korean - warmly --- # warmly-qwen35-2b-enko-distill — 한국어 자연성 증류 LoRA (버전별 폴더) [Warmly(온기)](https://github.com/neureps/warmly) 배포 모델의 **한국어 댓글 자연성을 같은 모델 크기에서 끌어올리는 증류 트랙**(D안 Track 2)의 산출물 리포입니다. 프루닝 마스터 [neureps/Qwen3.5-2B-enko](https://huggingface.co/neureps/Qwen3.5-2B-enko)에 8B급 한국어 교사의 댓글을 QLoRA로 증류한 어댑터를 **버전 폴더(`v1/`, `v2/`, …)** 로 관리합니다. 배포 게이트를 통과한 버전은 병합·재양자화된 GGUF로 [warmly-qwen35-2b-enko-gguf](https://huggingface.co/neureps/warmly-qwen35-2b-enko-gguf)에 반영됩니다. ## 버전 이력 | 버전 | 날짜 | 상태 | 핵심 변화 | | --- | --- | --- | --- | | **v1** | 2026-07-15 | **공식 게이트 통과 — 승격 대기** (블라인드 승률 ~70%·자기비하 동조 0/4·후처리 55/60+재생성 폴백 0. 병합·재양자화 GGUF `Qwen3.5-2B-enko-distill-v1-dIQ4_XS.gguf` 1022MB가 [프로덕션 리포](https://huggingface.co/neureps/warmly-qwen35-2b-enko-gguf)에 업로드됨 — 프로덕션 전환은 별도 결정) | Kanana-1.5-8B 교사 증류 1차. 자연성 명확 개선(어색 ~18/60 → ~6/60, 깨진 단어·환각 해소), 영어 누출 회귀 5/60(후처리+재생성이 흡수) | --- ## v1 — 무엇이 좋아졌나 60댓글 하니스(5장×4페르소나×3반복, temp 0.45, 루브릭 채점) 기준: | 지표 | 기준선 (배포 dIQ4_XS) | v1 증류판 (LoRA 병합, transformers) | | --- | --- | --- | | 어색 문장 | **~18/60 (30%)** — 깨진 단어("김지라네", "그대시된"), 이중 종결, 비문 | **~6/60** — 해소 | | 오역·환각 | ~4-5/60 — 캡션에 없는 "안개/이슬" 반복 환각 | 환각 해소, 대신 **영어 누출 5/60** (복잡한 캡션에서 "Victorian" 에코 — 후처리 필터로 걸러짐, 통과 55/60) | | 구체성 | ~2.5/5 (일반 감탄 위주) | 3.5+/5 (캡션 디테일 참조 증가) | 예시 (pet 사진, 같은 캡션): - 기준선: "너무 신난 김지라네!" (깨진 단어) → v1: "고양이 너무 귀엽다 😻 나도 같이 졸리고 ㅋㅋㅋ" - 기준선: "정적 같은 것 같아요" → v1: "고요히 잠든 고양이 모습이 참 평온해 보여요" ## v1 — 어떻게 만들었나 (전 과정) 1. **측정 해상도 확보**: 기존 20댓글 하니스는 후처리 통과 20/20으로 포화 — 60댓글 루브릭 하니스(어색/오역·환각/구체성/페르소나 부합)를 새로 만들어 기준선의 숨은 어색 30%를 드러냄. 2. **교사 선발전**: 같은 60댓글을 Qwen3-8B-AWQ와 Kanana-1.5-8B(카카오, Apache-2.0)로 생성·비교. Qwen3-8B는 중국어 누출 4/60 + "텍스처" 차용어 5/60으로 탈락, **Kanana는 누출 0·차용어 0·구체성 최상으로 채택**. 3. **증류 데이터 합성**: 캡션 뱅크 928개(dedup) × 4페르소나 × 2반복을 Kanana(bnb 4bit)로 생성 → 필터(금칙어·외국문자·거부/퇴화·**소유 착각**("우리 딸") 정규식) → 2B 추론 프롬프트로 래핑 → **train 6,483 / valid 300** (페르소나 균형). 무작위 50건 육안 검수 통과. 4. **QLoRA 학습**: r=16, α=32, target q/k/v/o+gate/up/down (학습 파라미터 10.9M, 0.54%), 3 epoch, completion-only 마스킹(댓글 토큰만 학습), bnb 4bit + gradient checkpointing, RTX 3080 Laptop 16GB. loss 1.93→0.53, eval loss 1.055→0.886. **에폭별 생성 스모크로 붕괴 감시 — 3에폭 전부 붕괴 없음** (과거 LoRA 기각 원인이던 "val loss 수렴해도 생성 붕괴"를 명시적으로 회피). 5. **검증**: LoRA 병합 후 60댓글 재생성...
Source context: 0 downloads · 0 likes · Library peft · Repo neureps/warmly-qwen35-2b-enko-distill