Files
ModelHub XC 6b090cd37b 初始化项目,由ModelHub XC社区提供模型
Model: visproj/proofkit-distilled-qwen0.5b
Source: Original Platform
2026-07-18 16:15:03 +08:00

91 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: apache-2.0
base_model: Qwen/Qwen2.5-0.5B-Instruct
library_name: transformers
pipeline_tag: text-generation
language:
- en
tags:
- proofkit
- distilled
- sft
- build-small-hackathon
- work-sample
datasets:
- visproj/proofkit-distill-qwen0.5b
---
# ProofKit Qwen 0.5B — distilled (merged)
`Qwen/Qwen2.5-0.5B-Instruct` **distilled** from the ProofKit gpt-oss-20b teacher
([`visproj/proofkit-gpt-oss-20b-lora`](https://huggingface.co/visproj/proofkit-gpt-oss-20b-lora)).
Sequence-level (data) distillation: the teacher's completions over ProofKit's prompts
([`visproj/proofkit-distill-qwen0.5b`](https://huggingface.co/datasets/visproj/proofkit-distill-qwen0.5b))
are used to SFT the student (LoRA, 3 epochs), then merged to standalone weights.
The **GGUF build of this model**
([`visproj/proofkit-distilled-qwen0.5b-gguf`](https://huggingface.co/visproj/proofkit-distilled-qwen0.5b-gguf))
is what the ProofKit Space serves through llama.cpp — free on CPU. This merged
Transformers copy is the source for that conversion and for evaluation.
## Evaluation (post-fix, 3-judge panel)
Mean score (0100) on 15 held-out prompts, graded by Claude Opus 4.7, GPT-5.5, and a
local Qwen-3B (`gpt-oss experts` is a deliberately *un-retrained* stale control):
| model | Claude | GPT-5.5 | Qwen-3B | **Avg** |
|---|---:|---:|---:|---:|
| gpt-5.5 (frontier ceiling) | 94.6 | 95.6 | 90.8 | **93.7** |
| gpt-oss attn (retrained teacher) | 82.0 | 66.8 | 81.4 | **76.7** |
| **qwen-0.5b distilled (served)** | 79.0 | 68.6 | 82.2 | **76.6** |
| **qwen-0.5b direct 7k (served)** | 78.6 | 64.4 | 82.0 | **75.0** |
| gpt-oss experts *(stale control)* | 67.6 | 68.6 | 81.8 | **72.7** |
| qwen-3b base | 62.1 | 67.1 | 80.5 | **69.9** |
| gpt-oss base | 55.4 | 53.8 | 68.2 | **59.1** |
| qwen-0.5b base | 36.5 | 44.5 | 67.9 | **49.7** |
Both served retrained 0.5Bs beat the stale control and every untuned base across all
three judges, and the distilled 0.5B ≈ ties its own 20B teacher.
## Limitations
- 0.5B capacity; prompt-format-frozen (see below). A purpose-built ProofKit component.
## About ProofKit
[ProofKit](https://huggingface.co/spaces/visproj/proofkit) is a work-sample generator for job seekers — it turns a target
role, background, and skills-to-prove into a realistic, **clearly-fictional**
practice work sample (a role-specific challenge, a guided builder, a readiness
review, and a recruiter-ready portfolio packet). Built for the Hugging Face **Build
Small Hackathon** (Backyard AI track). Integrity rules are load-bearing: outputs
never claim real employment, metrics are labeled hypothetical, and exports carry an
ethical disclosure.
### The ProofKit model family
| Repo | What it is |
|---|---|
| [`visproj/proofkit-qwen0.5b-7k`](https://huggingface.co/visproj/proofkit-qwen0.5b-7k) | Qwen2.5-0.5B fine-tuned directly on the 7k set (Transformers) |
| [`visproj/proofkit-gpt-oss-20b-lora`](https://huggingface.co/visproj/proofkit-gpt-oss-20b-lora) | gpt-oss-20b LoRA — the distillation **teacher** |
| [`visproj/proofkit-distilled-qwen0.5b`](https://huggingface.co/visproj/proofkit-distilled-qwen0.5b) | Qwen2.5-0.5B distilled from the teacher (merged) |
| [`visproj/proofkit-distilled-qwen0.5b-gguf`](https://huggingface.co/visproj/proofkit-distilled-qwen0.5b-gguf) | GGUF of the distilled student (llama.cpp — **served**) |
| [`visproj/proofkit-sft`](https://huggingface.co/datasets/visproj/proofkit-sft) | SFT dataset (synthetic, license-safe) |
| [`visproj/proofkit-distill-qwen0.5b`](https://huggingface.co/datasets/visproj/proofkit-distill-qwen0.5b) | Distillation dataset (teacher completions) |
### A note on training data (the "static responses" fix)
An earlier version of these models produced repetitive, input-ignoring drafts. The
root cause was **synthetic-data leakage**: the dataset rendered the example *user
answers* and the *target* from the same template slots, so the model learned
`target = template` instead of `target = f(input)`. The fix — **faithfulness anchors**
(a distinctive token shared by the answer and the target) + **seeded per-example
variation** across every task, then a full-chain retrain — is what these current
weights reflect.
### Prompt format is a frozen contract
These 0.5B models were trained on the **exact** prompt shapes from ProofKit's
`prompt_formats.py`. They only behave well when prompted in that format; reworded or
free-form prompts push them off-distribution. They are purpose-built components of the
ProofKit app, not general chat models.