GLM-5.1-OpenThoughts3-Distill
收藏资源简介:
# GLM-5.1-OpenThoughts3-Distill Distilled reasoning dataset generated by [GLM-5.1](https://huggingface.co/zai-org/GLM-5.1) from the [OpenThoughts3-1.2M](https://huggingface.co/datasets/open-thoughts/OpenThoughts3-1.2M) prompts, covering Science, Code, and Math domains. ## Dataset Summary | Split | Domain | Original Prompts | Distilled (with response) | Errors | Status | |-------|--------|-----------------|--------------------------|--------|--------| | Science | Physics, Chemistry, Biology, etc. | 100,000 | 56,974 | 13 | ✅ Complete | | Code | Programming, Algorithms | 500,000 | 9,810 | 63,442 | ✅ Complete | | Math | Competition Math, Proof, Algebra | 850,000 | 1,258 | 181,925 | ✅ Complete | Each row contains a user question, the model's chain-of-thought (`thinking`), and the final `response`. ## Data Format ```json { "id": "Science_00000003", "messages": [ {"role": "user", "content": "..."}, {"role": "assistant", "content": "istoire\n\n..."} ], "thinking": "Full chain-of-thought reasoning...", "response": "Final answer / explanation..." } ``` | Field | Description | |-------|-------------| | `id` | Unique identifier (format: `{Domain}_{index}`) | | `messages` | Chat-formatted conversation (user + assistant with inline thinking) | | `thinking` | Extracted chain-of-thought content | | `response` | Extracted final response (separate from thinking) | | `judge_scores` | Quality scores per dimension (1-10), judged by Qwen3.6-35B-A3B | | `category` | Domain classification (science, math, code, etc.) | | `difficulty` | Difficulty level (1=Trivial, 5=Extreme) | ## Generation Details - **Teacher Model**: [GLM-5.1](https://huggingface.co/zai-org/GLM-5.1) ## Quality Evaluation (LLM-as-Judge) We use [Qwen3.6-35B-A3B](https://huggingface.co/Qwen/Qwen3.6-35B-A3B) as judge to evaluate 5 dimensions on a 1-10 scale: | Dimension | Description | Science Avg | Code Avg | Math Avg | |-----------|-------------|-------------|----------|----------| | response_quality | Correctness, completeness, clarity | **8.16** | **8.15** | — | | reasoning_quality | Logic coherence, step completeness | **8.46** | **8.54** | — | | thinking_response_alignment | Consistency between thinking and response | **8.68** | **8.98** | — | | format_compliance | Structure, fluency, no artifacts | **9.81** | **9.46** | — | | instruction_following | Task completion, constraint adherence | **8.97** | **8.44** | — | ### Science Judge Results (full evaluation, n=56,974) - **Overall average**: 8.82 / 10 - **Pass rate** (≥5.0): **91.3%** - Score distribution: 78.5% scored 9-10, 8.7% scored 1-3 ### Code Judge Results (full evaluation, n=9,810) - **Overall average**: 8.72 / 10 - **Pass rate** (≥5.0): **89.4%** - Category distribution: Code 82.4%, Math 7.0%, Reasoning 4.2% ### Math Judge Results (n=1,258, pass≥5.0) - **Overall average**: 8.70 / 10 - **Pass rate**: qualified from 850K raw rows, 1,258 high-quality rows retained ### Difficulty Distribution (Science) | Level | Description | Count | Avg Score | |-------|-------------|-------|-----------| | 1 | Trivial | 1,038 | 9.91 | | 2 | Easy | 9,437 | 9.75 | | 3 | Medium | 25,690 | 9.47 | | 4 | Hard | 17,432 | 7.77 | | 5 | Extreme | 3,377 | 6.18 | ## Data Filtering Each split was filtered using the same pipeline: 1. **Error removal**: Rows with API errors dropped 2. **Thinking-only removal**: Rows where the model placed all content in thinking tags without producing a response were removed. These rows consistently scored below 3/10 on judge evaluation and were not salvageable. 3. **Judge quality gate**: Only rows passing the judge threshold (average score ≥ 5.0) are included in the final dataset | Split | Raw Rows | After Filtering | Retention Rate | |-------|----------|-----------------|----------------| | Science | 100,147 | 56,974 | 56.9% | | Code | 500,000 | 9,810 | 2.0% | | Math | 850,000 | 1,258 | 0.15% | > **Note**: The low retention rates for Code and Math are due to the generation `max_tokens` being insufficient for these domains where reasoning chains are typically very long. A higher `max_tokens` setting would significantly improve retention. ## Usage ```python from datasets import load_dataset ds = load_dataset("Kassadin88/GLM-5.1-OpenThoughts3-Distill", split="science") print(f"Science: {len(ds)} rows") ds = load_dataset("Kassadin88/GLM-5.1-OpenThoughts3-Distill", split="code") print(f"Code: {len(ds)} rows") ds = load_dataset("Kassadin88/GLM-5.1-OpenThoughts3-Distill", split="math") print(f"Math: {len(ds)} rows") ``` Or load directly from JSONL: ```python import json with open("Science.jsonl") as f: for line in f: row = json.loads(line) # row["thinking"] — chain-of-thought # row["response"] — final answer # row["messages"] — full chat format ``` ## Acknowledgments - **[OpenThoughts3-1.2M](https://huggingface.co/datasets/open-thoughts/OpenThoughts3-1.2M)** — The original prompt dataset used for distillation - **[GLM-5.1](https://huggingface.co/zai-org/GLM-5.1)** — The teacher model that generated the reasoning traces and responses - **[Qwen3.6-35B-A3B](https://huggingface.co/Qwen/Qwen3.6-35B-A3B)** — The judge model used for quality evaluation ## Citation ```bibtex @dataset{glm51_ot3_distill, title={GLM-5.1-OpenThoughts3-Distill}, author={Kassadin88}, year={2026}, url={https://huggingface.co/datasets/Kassadin88/GLM-5.1-OpenThoughts3-Distill} } ```



