260814 Writer Model
Qwen/Qwen3.5-9B๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฏธ์ธ ์กฐ์ ํ ํ๊ตญ์ด ๋
ผ์ฆ์ ๊ธ ํ๊ฐ ๊ทผ๊ฑฐ ์์ฑ
๋ชจ๋ธ์
๋๋ค. ๋ด์ฉ(content), ๊ตฌ์ฑ(organization), ํํ(expression) ์ ์๋ฅผ ์
๋ ฅ๋ฐ์
๊ฐ ์ ์์ ๋ถํฉํ๋ ํ๊ตญ์ด ํ๊ฐ ๊ทผ๊ฑฐ๋ฅผ ์์ฑํฉ๋๋ค.
ํ๊ตญ์ด ์ค๋ช
๋ชจ๋ธ์ ์ญํ
์ด ์ฒดํฌํฌ์ธํธ๋ ์ ์ ์์ธก ๋ชจ๋ธ์ด ์๋๋ผ ํ๊ฐ ๊ทผ๊ฑฐ ์์ฑ๊ธฐ(writer) ์ ๋๋ค. ๋ฐ๋ผ์ ๋จ๋ ์ผ๋ก ์ฌ์ฉํ๊ธฐ๋ณด๋ค๋ ๋ค์ ์์์ ํ์ดํ๋ผ์ธ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- ์์ scorer๊ฐ ๋ ผ์ฆ์ ๊ธ์ ๋ด์ฉ, ๊ตฌ์ฑ, ํํ ์ ์๋ฅผ ์์ธกํฉ๋๋ค.
- ์์ธก ์ ์์ ์๋ฌธ์ ์ด writer์ ์ ๋ ฅํฉ๋๋ค.
- writer๊ฐ ์ ๋ ฅ๋ ์ ์๋ฅผ ์ ์งํ๋ฉด์ ๊ฐ ์์ญ์ ๊ตฌ์ฒด์ ์ธ ํ๊ตญ์ด ํ๊ฐ ๊ทผ๊ฑฐ๋ฅผ ์์ฑํฉ๋๋ค.
์ ์ฒด ์์คํ
์ content, organization, expression์ ๋
๋ฆฝ์ ์ผ๋ก ํ๋จํ ํ๋์
์์ JSON ๊ฐ์ฒด๋ฅผ ์ถ๋ ฅํด์ผ ํฉ๋๋ค. ๊ฐ ์์ญ์๋ 1~5์ ์ ์ ์ ์์ ํ๊ตญ์ด ๊ทผ๊ฑฐ๊ฐ
ํฌํจ๋์ด์ผ ํฉ๋๋ค.
ํ๊ฐ ๊ฒฐ๊ณผ
์ด ๋ชจ๋ธ์ ํ๋ก์ ํธ์ 400๊ฐ ๊ธ ๊ฒ์ฆ ํ๋กํ ์ฝ์์ 4.3926์ ํ๊ฐ ๊ทผ๊ฑฐ ํ์ง ํ๋ก์ ์ ์๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. 2026-08-10 ๊ธฐ์ค, ๋์ผํ ํ๊ฐ ์ค์ ์ผ๋ก ์ธก์ ํ writer ์ค ๊ฐ์ฅ ๋์ ๊ฒฐ๊ณผ์ด๋ฉฐ ๋ค ๊ฐ์ง ์ธ๋ถ ๊ธฐ์ค์์ ๋ชจ๋ ๊ธฐ์กด SFT writer๋ณด๋ค ๋์์ต๋๋ค.
| ๋ชจ๋ธ | ์ข ํฉ | ์์ญ ์ ํฉ์ฑ | ์ ์-๊ทผ๊ฑฐ ์ผ๊ด์ฑ | ๊ตฌ์ฒด์ฑ | ์๋ฌธ ์ถฉ์ค์ฑ |
|---|---|---|---|---|---|
| GRPO Think B (์ด ๋ชจ๋ธ) | 4.3926 | 4.877 | 3.960 | 4.070 | 4.663 |
| SFT writer | 4.3039 | 4.737 | 3.930 | 4.027 | 4.521 |
| DPO-B writer | 4.2728 | 4.785 | 3.835 | 3.946 | 4.526 |
| Qwen3.5-9B base | 4.2473 | 4.808 | 4.018 | 3.873 | 4.290 |
์ธ๋ถ ์ธก์ ์ ๋ณด:
- ํ๊ฐ ๋์: 400๊ฐ ๊ธ
- candidate ์์ฑ ์ฑ๊ณต: 399/400 (99.75%)
- judge ์ ์ ์๋ฃ: 398/400 (99.5%)
- ์ ํํ ๊ด์ธก ์ข
ํฉ ์ ์:
4.392587939698492 - judge ์ค์ : thinking ํ์ฑํ,
max_tokens=8192, ์คํจ ์ ์ 0 ์ฒ๋ฆฌ
์ด ์์น๋ ํ๋ก์ ํธ์ ๋ก์ปฌ Qwen3.6-35B judge ํ๋ก์ ๊ฒฐ๊ณผ์ด๋ฉฐ, ๋ํ ๊ณต์
๋ฆฌ๋๋ณด๋ ์ ์๊ฐ ์๋๋๋ค. ๋ชจ๋ธ์ ์ ์ ์์ธก ์ ํ๋(RMSE/Spearman)๋ฅผ ๋ํ๋ด๋
์์น๋ ์๋๋๋ค. ์ด ๋ชจ๋ธ์ scorer๊ฐ ์๋๋ผ writer์ด๋ฏ๋ก ์ ์ ์ ํ๋๋ ์์ scorer์
์ํด ๊ฒฐ์ ๋ฉ๋๋ค.
ํ์ต ๊ณ๋ณด์ ์ฃผ์์ฌํญ
Qwen3.5-9B
-> writer-qwen-f0 (SFT)
-> writer-dpob-think (DPO-B)
-> writer-grpo-think (GRPO)
-> writer-grpo-think-b (GRPO warm restart, ์ด ์ฒดํฌํฌ์ธํธ)
๊ณผ๊ฑฐ GRPO ์คํ์๋ ๋ํ ๊ท์ ์ ํ์ฉ๋ ๋ผ๋ฒจ ํ๋ จ ๋ฐ์ดํฐ๊ฐ ์ฌ์ฉ๋์์ต๋๋ค. ๋ค๋ง ๋น์ score-conditioning ๊ณ๋ณด๋ ์์ ํ fold-isolated OOF ๋ฐฉ์์ด ์๋์์ต๋๋ค. fold 0 ์ ์ฉ ์ ์ ํ์ผ์ด ์ ๋ฌ๋๋ฉด์ ๊ธฐ์กด trainer๊ฐ folds 1~4์์ ๋ฐ์ฌ๋ฆผ๋ ํ๋ จ ๋ผ๋ฒจ๋ก fallbackํ์ต๋๋ค. ์ด ์ฒดํฌํฌ์ธํธ๋ ํด๋น ํ๊ณ๋ฅผ ๋ช ์ํ ์ํ๋ก ๋ณด์กดํฉ๋๋ค.
English summary
This is a score-conditioned Korean essay-evaluation rationale writer fine-tuned
from Qwen/Qwen3.5-9B. It is not a standalone scorer. An upstream scorer must
provide content, organization, and expression scores, and the writer generates
Korean rationales consistent with those supplied scores.
The checkpoint achieved a 4.3926 rationale-quality proxy score on the project's 400-essay validation protocol. This was the strongest measured writer under the same protocol as of 2026-08-10. It is a local judge-proxy result, not an official leaderboard score or a score-prediction metric.
The historical GRPO run used competition-permitted labeled training data, but its score-conditioning lineage was not fully fold-isolated OOF. A fold-0-only score artifact caused the legacy trainer to fall back to rounded training labels for folds 1-4. The checkpoint is shared with that limitation disclosed.
๊ณต์ ๋ฐ ๋ค์ด๋ก๋ / Sharing and download
์ด ์ ์ฅ์๋ ๊ณต๊ฐ Hugging Face Git ์ ์ฅ์์ ๋๋ค. ์ ์ฅ์ ์ฃผ์๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฒด ๋ชจ๋ธ์ ๋ด๋ ค๋ฐ์ ์ ์์ต๋๋ค.
Hugging Face CLI (๊ถ์ฅ / recommended)
hf download davemaxuellkr/260814-writer-model \
--local-dir 260814-writer-model
Git clone
๋ชจ๋ธ ๊ฐ์ค์น๋ ๋์ฉ๋ Xet ๊ฐ์ฒด๋ก ์ ์ฅ๋์ด ์์ผ๋ฏ๋ก Git Xet์ ๋จผ์ ์ค์นํ๊ณ ํ์ฑํํด์ผ ํฉ๋๋ค.
git xet install
git clone https://huggingface.co/davemaxuellkr/260814-writer-model
cd 260814-writer-model
Clone ํ SHA256SUMS๋ฅผ ์ฌ์ฉํด ๊ฐ์ค์น ๋ฌด๊ฒฐ์ฑ์ ํ์ธํ ์ ์์ต๋๋ค.
sha256sum --check SHA256SUMS
The repository is public and Git-backed. Share its Hugging Face URL directly, or use the Hugging Face CLI or Git Xet commands above to download the complete 19.3 GB checkpoint.
Serving with vLLM
export CUDA_VISIBLE_DEVICES=0
export VLLM_USE_DEEP_GEMM=0
export VLLM_MOE_USE_DEEP_GEMM=0
vllm serve davemaxuellkr/260814-writer-model \
--served-model-name writer-best \
--port 8001 \
--gpu-memory-utilization 0.42 \
--max-model-len 16384 \
--additional-config '{"gdn_prefill_backend":"triton"}'
ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ์์ฑ ์ค์ / Generation settings:
temperature=0top_p=1seed=42max_tokens=512- stop strings
Q:andUser: - thinking disabled
Native inference contract / ์๋ณธ ์ถ๋ก ๊ณ์ฝ
์ด writer๋ prompt ์์ด ๋จ๋ ํธ์ถํ๋ ๋ชจ๋ธ์ด ์๋๋๋ค. ์ธ๋ถ scorer๊ฐ ํ์ ํ ์ธ ์ ์์ ์๋ ๊ณต๊ฐ prompt๋ฅผ ํจ๊ป ์ ๋ฌํด์ผ ํ์ตยทํ๊ฐ ์์ ์ ๋ ฅ ๊ณ์ฝ์ ์ฌํํ ์ ์์ต๋๋ค. scorer์ scorer ๊ฐ์ค์น๋ ์ด ์ ์ฅ์์ ํฌํจ๋์ด ์์ง ์์ต๋๋ค.
- ์ ์ฒด inference ์๋ด
- System prompt
- Score-conditioned user template
- ์ถ๋ ฅ JSON schema
- vLLM HTTP inference ์์
- ํ๊ฐ ๋น์ parser ๋์
์ ๋ ฅ ์ ์๋ ๋ค์ ์์์ ํ์์ผ๋ก ์ ๋ฌํฉ๋๋ค.
์ด ๊ธ์ ์ ์๋ ์ด๋ฏธ ํ์ ๋์๋ค. ๋ด์ฉ 3์ , ๊ตฌ์ฑ 4์ , ํํ 3์ ์ด๋ค.
์ถ๋ ฅ์ rationale-only flat object๊ฐ ์๋๋ผ ๋ค์ nested JSON์ ๋๋ค.
{
"content": {"rationale": "๋ด์ฉ ์ ์ ๊ทผ๊ฑฐ", "score": 3},
"organization": {"rationale": "๊ตฌ์ฑ ์ ์ ๊ทผ๊ฑฐ", "score": 4},
"expression": {"rationale": "ํํ ์ ์ ๊ทผ๊ฑฐ", "score": 3}
}
score๋ writer๊ฐ ์๋ก ์์ธกํ ๊ฐ์ด ์๋๋ผ ์
๋ ฅ ์ ์๋ฅผ ๋ณต์ฌํ ๊ฐ์
๋๋ค. ํตํฉ
์์๋ ์ธ๋ถ final scorer์ ์ ์๋ฅผ authoritative value๋ก ์ ์งํ๊ณ writer์์๋
rationale๋ง ์ถ์ถํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
The checkpoint needs the published system prompt and score-conditioned user template to
reproduce its native behavior. It expects externally supplied scores and emits nested
content, organization, and expression objects containing an echoed score and a
generated Korean rationale. See INFERENCE.md for the exact vLLM request, parser, and
the historical no-retry/no-repair behavior.
Integrity
๊ฐ์ค์น ํ์ผ์ SHA-256 ํด์๋ SHA256SUMS์ ๊ธฐ๋ก๋์ด ์์ต๋๋ค.
SHA-256 digests for the weight files are provided in SHA256SUMS.