r0b0tlab/qwen3.8-max-glm5.2-kimi-k3-distillation

Dataset

252

stars

3

commits

Aug 2, 2026

updated

distillation
multi-teacher
multi-turn
reasoning
sft
tool-use

README

Multi-Teacher Distillation Dataset (57,937 traces)

A quality-filtered, deduplicated, multi-teacher SFT corpus combining traces from three frontier models across math, code, reasoning, instruction-following, tool-use, science, long-context, multilingual, and creative dialogue domains.

Teachers

TeacherProviderTraces
Qwen3.8-Max-PreviewAlibaba Cloud Model Studio48,283
GLM-5.2Z.AI Coding Plan5,307
Kimi Code K3Moonshot AI (Kimi)4,347

Quick Start

from datasets import load_dataset

# Default config — rebalanced sampling weights
ds = load_dataset("r0b0tlab/qwen3.8-max-glm5.2-distillation-51389", "sft_balanced")

for batch in ds["train"]:
    messages = batch["messages"]       # list of {role, content, reasoning_content, tool_calls, trainable}
    tools = batch["tools"]             # list of tool definitions
    weight = batch["sampling_weight"]  # float — use in WeightedRandomSampler
    # ... feed to your trainer with responses-only loss masking

Each message in the messages list has this structure:

{
    "role": "assistant",               # system | user | assistant | tool
    "content": "The answer is 30.",    # final text output
    "reasoning_content": "Buzz and...",# chain-of-thought (empty for non-reasoning turns)
    "tool_calls": [],                  # [{id, type, function: {name, arguments}}]
    "tool_call_id": "",                # for tool-role messages
    "name": "",                        # optional tool name
    "trainable": True                  # True only on assistant turns
}

Native GLM-4.7-Flash training (pre-tokenized)

Skip the chat template entirely — input_ids and labels are already computed:

import pyarrow.dataset as ds

table = ds.dataset(".../data/glm47_native", format="parquet")

# Each row:
#   input_ids:          list[int] — exact token IDs from GLM-4.7-Flash tokenizer
#   labels:             list[int] — same length, -100 on non-assistant tokens
#   total_tokens:       int
#   assistant_tokens:   int       — count of labels != -100
#   mask_method:        str       — "prefix-differential" or "structural-redaction"
#   renderer_revision:  str       — pinned tokenizer version

# Train with standard causal LM loss:
#   loss = CrossEntropyLoss(model(input_ids), labels, ignore_index=-100)

Tool-use / agent training

ds = load_dataset("r0b0tlab/qwen3.8-max-glm5.2-distillation-51389", "sft_tools")
# 5,909 rows with real tool-call trajectories (not JSON-in-content)

# Then RL on deterministic tool tasks:
rl = load_dataset("r0b0tlab/qwen3.8-max-glm5.2-distillation-51389", "rl_tool_prompts")
# prompt_messages_json + tools_json + reward_contract_json

Dataset Summary

MetricValue
Total traces57,937
Train / Validation / Test52,205 / 2,872 / 2,860
Teachers3 (Qwen3.8-Max, GLM-5.2, Kimi K3)
Domains9 normalized + 16 raw
Configs (Parquet views)24
Exact retokenizationPASS · 0 mask failures · 3 tokenizers
Max tokens (GLM)56,428
SplitsTemplate-cluster-grouped · deterministic · zero leakage

Build pipeline

Base dataset (52,083) ── freeze + inventory
                         ├── K3 supplement: 4,354 accepted → 694 already in base → 3,660 new
                         ├── Qwen V4 production: 2,131 accepted + 70 canary
                         └── raw merge upper bound: 57,944
                         ↓
                    normalize → quality filter → deduplicate
                         ↓
                    57,937 canonical rows (7 near-dups removed)
                         ↓
                    capability taxonomy → mixture analysis → sampling policies
                         ↓
                    exact retokenization (GLM/Qwen/Llama) → 24 training configs

Domain Distribution

Normalized domains

DomainRows%
Math15,07226.0%
Code14,71925.4%
Reasoning10,46318.1%
Instruction8,52414.7%
Agent Tools5,95210.3%
Long Context1,2632.2%
Science8441.5%
Dialogue6641.1%
Multilingual4360.8%

Source breakdown (top 20)

SourceRows
Evol-Code8,098
MetaMathQA6,267
CodeAlpaca5,586
tulu-35,395
glm5.2-agent-tool-synthetic5,307
SciQ3,947
NuminaMath-CoT2,870
CommonssenseQA2,816
OrcaMath2,319
Qwen3.8-Max V4 Supplement2,201
Dolly1,710
QASC1,682
K3 strict_instruction1,026
K3 grounded_long_context978
ARC-Easy971
K3 science_logic_data844
K3 math_formal720
GSM8K640
MATH/algebra578
OpenBookQA574

Capability Mixture

Capability% of rowsSOTA floorStatus
Reasoning-bearing84.6%>=30%PASS (over-indexed for generalist)
Tool-use (real trajectories)10.3%>=13%Below floor — mitigated by sft_balanced weights
Long-context (exact GLM >=4096 tokens)2.9%>=4%Below floor
Science19.5%>=4%PASS
Multilingual0.8%>=5%Below floor
Single-turn86.7%<=65%Above ceiling — mitigated by sft_balanced weights

Under sft_balanced sampling weights, the effective mixture at training time shifts:

CapabilityWeighted % under sft_balanced
Tools37.5%
Single-turn55.9% (under ceiling)
Long-context5.0% (clears floor)
Reasoning90.4%
Science19.9%

Configs (24 Parquet views)

Training configs

ConfigRowsUse case
sft_balanced57,937Default generalist SFT — rebalanced sampling weights
sft57,937Uniform weights (no rebalancing)
sft_reasoning48,986Reasoning-only (chain-of-thought traces)
sft_reasoning_specialist48,986Same rows, specialist weighting
sft_final57,937Final-content only (reasoning stripped)
sft_instruction_final8,524Instruction-following, final-only targets
sft_tools5,909Real tool-call trajectories
sft_agent5,909Multi-turn agent traces
rl_tool_prompts5,909GRPO/RLVR tool-use prompts + reward contracts
sft_math15,072Math specialist
sft_code14,719Code specialist
sft_science11,307Science specialist
sft_long_context1,275Long-context (thin — see gaps)
sft_multilingual436Multilingual (thin — see gaps)
sft_dialogue664Multi-turn creative/dialogue

Ablation configs

ConfigRowsIsolates
sft_k3_only4,347Kimi K3 teacher only
sft_qwen_v4_supplement2,201Qwen V4 supplement only
sft_glm_agent5,307GLM-5.2 agent tools only

Infrastructure configs

ConfigRowsContent
canonical57,937Full audit columns (messages, tools, metadata, verifier flags, provenance)
openai_messages57,937OpenAI-compatible message format
prompt_completion_text52,028Text-only prompt/completion (no tool rows)
glm47_native57,937Pre-tokenized: input_ids + labels (GLM-4.7-Flash)
token_stats57,937Exact multi-tokenizer stats per row
smoke256Coverage slice for CI/testing

Column Schemas

sft_balanced / sft / specialist sft_* configs

ColumnTypeDescription
parent_idstringSource lineage ID
idstringStable release row ID
splitstringtrain / validation / test
messageslist[struct]Conversation turns (see Quick Start)
toolslist[struct]Tool definitions (empty if no tools)
sampling_weightfloatWeighted sampling multiplier
sourcestringSource label (e.g., MetaMathQA, k3_math_formal)
domainstringDomain label (e.g., math, code, agent_tool)

glm47_native (pre-tokenized)

ColumnTypeDescription
parent_idstringSource lineage ID
idstringStable release row ID
splitstringSplit label
input_idslist[int32]Exact token IDs from GLM-4.7-Flash
labelslist[int32]Same length as input_ids; -100 on non-assistant tokens
total_tokensint32len(input_ids)
assistant_tokensint32count of labels != -100
mask_methodstringprefix-differential or structural-redaction
sampling_weightfloatSampling weight
sourcestringSource label
domainstringDomain label
renderer_revisionstringPinned tokenizer: zai-org/GLM-4.7-Flash@7dd20894...

token_stats (exact multi-tokenizer)

Contains total/assistant token counts for GLM-4.7-Flash, Qwen3-0.6B, and Llama-3.1-8B per row. Key columns: glm47_total_tokens, glm47_assistant_tokens, glm47_loss_ratio, glm47_context_bucket, qwen3_*, llama31_final_*, max_validated_tokens.

canonical (full audit view)

All columns from the schemas above plus: teacher_model, teacher_provider, trace_kind, disposition, ground_truth_json, verifier_passed, family_oracle_passed, reference_agreement, format_score_raw, quality_flags, source_record_hash, prompt_cluster_id, template_cluster_id, dedup_cluster_id, schema_version, source_repository, source_revision, source_license, source_split, source_item_id.

rl_tool_prompts

ColumnDescription
familyTool family (e.g., file_ops, code_debug)
prompt_messages_jsonSystem + user messages (JSON)
tools_jsonTool definitions (JSON)
expected_terminal_oracle_jsonGround-truth answer for reward
reward_contract_jsonReward specification
sampling_weightSampling weight

Token Statistics

All 57,937 rows were retokenized with three pinned tokenizers:

TokenizerRepoRevision
GLM-4.7-Flashzai-org/GLM-4.7-Flash7dd20894a642a0aa287e9827cb1a1f7f91386b67
Qwen3-0.6BQwen/Qwen3-0.6Bc1899de289a04d12100db370d81485cdf75e47ca
Llama-3.1-8B-InstructNousResearch/Meta-Llama-3.1-8B-Instructd10aef7999a2b5ba950ab3974312feeedbfe0b77

GLM-4.7-Flash context bucket distribution:

BucketRows
<= 4096 tokens56,243 (97.1%)
4097-81921,484 (2.6%)
8193-16384127 (0.2%)
16385-3276869 (0.1%)
32769-6553614 (<0.1%)

Loss mask methods: prefix-differential (most rows — prefix-preserving chat template) and structural-redaction (multi-turn tool rows — diff-based mask). Zero mask failures.

Loss Masking

Two methods, automatically selected per row:

  1. Prefix-differential: The chat template is prefix-preserving (adding a new message doesn't change earlier tokens). Labels are assigned by diffing successive template renders — tokens from assistant messages get their real IDs, all others get -100.

  2. Structural-redaction: For complex multi-turn tool conversations where the template isn't prefix-preserving. Each assistant payload is redacted in a copy of the conversation, and the diff between full and redacted renders identifies assistant tokens.

Both methods guarantee: no user/system/tool content in the loss, no fabricated labels, at least one proven assistant span per row.

Deduplication

Three layers applied:

  1. Exact identity hash — canonical hash of normalized (system, user turns, tools, fixture)
  2. Semantic near-dup — 5-gram Jaccard >= 0.9 using blake2b shingles
  3. Prompt cluster overlap — rows sharing a prompt cluster with base dataset are deduped

Result: 7 near-duplicates removed from 5,861 eligible supplement rows; zero exact duplicates in final set.

Quality Filtering

GateMethod
StructuralRole order, non-empty assistant turns, tool-call/result linkage
Teacher identityK3 rows verified kimi-code/k3; Qwen rows verified qwen3.8-max-preview
Tool trajectoriesReal tool-role results required (no pseudo-tool JSON in content)
Reasoning presenceK3 reasoning_content folded onto assistant messages
ID uniquenessZero duplicate IDs across base + supplements

K3 double-count guard: 694 K3 rows already in base dataset were identified by ID intersection and excluded from supplements (only 3,660 new K3 rows admitted).

Curriculum Recommendations

The curriculum_stages.json in the hub package defines a multi-stage schedule:

StageConfigMethodNotes
Asft_balancedSFT, 1 epochDefault generalist entrypoint
Bsft_tools + sft_agentSFT, 0.5 epochTool/agent specialization
C (optional)sft_reasoning_specialistSFT, 0.5 epoch, low LRDataset is already reasoning-heavy
D (optional)rl_tool_promptsGRPO/RLVRVerifiable tool tasks only

Provenance and License

This dataset is a synthetic research corpus built from teacher model outputs. Each row carries full provenance in the canonical config: source_repository, source_revision, source_license, source_item_id, teacher_model, teacher_provider.

Base dataset rows (52,083) originate from public sources including MetaMathQA (MIT), GSM8K (MIT), SciQ (CC0), ARC (CC-BY-SA), OpenBookQA (CC-BY-SA 4.0), CommonsenseQA (CC-BY-SA), QASC (Apache-2.0), CodeAlpaca, Evol-Code, tulu-3, Dolly, MATH, NuminaMath-CoT, OrcaMath. Supplement rows from K3 (kimi-code/k3) and Qwen V4 (qwen3.8-max-preview) are labeled other; synthetic research corpus.

The repo name retains the historical 51389 from the original v1 release; the actual row count is 57,937.

Known Limitations

  • Tools (10.3%) and long-context (2.9%) are below SOTA floors by inventory. The sft_balanced config uses sampling weights to compensate at train time, but genuine coverage gaps remain until additional generation completes.
  • Multilingual (0.8%) is critically thin; domain-only classification without a language detector means some multilingual content in base instruction rows may not be tagged.
  • Reasoning is over-indexed (84.6%) — appropriate for reasoning-forward students, but generalist trainings should use sft_balanced weights or supplement with non-reasoning data.
  • Single-turn dominates (86.7%)sft_balanced down-weights single-turn to ~56% effective share.
  • Full exact tokenization covers GLM-4.7-Flash, Qwen3, and Llama-3.1. Other tokenizers require applying your own chat template to the sft configs.
  • This package is a local pre-release (rc3). The qualitative review of the compile is in progress.

Citation

If you use this dataset, cite the teacher models and upstream sources that made it possible:

@misc{qwen38,
  title={Qwen3.8-Max-Preview},
  author={Alibaba Cloud},
  year={2026}
}
@misc{glm52,
  title={GLM-5.2},
  author={Z.AI},
  year={2026}
}
@misc{kimi-k3,
  title={Kimi Code K3},
  author={Moonshot AI},
  year={2026}
}
@misc{metamathqa,
  title={MetaMathQA: Bridging Visual and Textual Reasoning},
  author={Yu, Shuo and others},
  year={2024},
  url={https://github.com/meta-math/MetaMath}
}

Contributors

r0b0tlab

3 commits

r0b0tlab/qwen3.8-max-glm5.2-kimi-k3-distillation

Dataset

252

stars

3

commits

Aug 2, 2026

updated

distillation
multi-teacher
multi-turn
reasoning
sft
tool-use

README

Multi-Teacher Distillation Dataset (57,937 traces)

A quality-filtered, deduplicated, multi-teacher SFT corpus combining traces from three frontier models across math, code, reasoning, instruction-following, tool-use, science, long-context, multilingual, and creative dialogue domains.

Teachers

TeacherProviderTraces
Qwen3.8-Max-PreviewAlibaba Cloud Model Studio48,283
GLM-5.2Z.AI Coding Plan5,307
Kimi Code K3Moonshot AI (Kimi)4,347

Quick Start

from datasets import load_dataset

# Default config — rebalanced sampling weights
ds = load_dataset("r0b0tlab/qwen3.8-max-glm5.2-distillation-51389", "sft_balanced")

for batch in ds["train"]:
    messages = batch["messages"]       # list of {role, content, reasoning_content, tool_calls, trainable}
    tools = batch["tools"]             # list of tool definitions
    weight = batch["sampling_weight"]  # float — use in WeightedRandomSampler
    # ... feed to your trainer with responses-only loss masking

Each message in the messages list has this structure:

{
    "role": "assistant",               # system | user | assistant | tool
    "content": "The answer is 30.",    # final text output
    "reasoning_content": "Buzz and...",# chain-of-thought (empty for non-reasoning turns)
    "tool_calls": [],                  # [{id, type, function: {name, arguments}}]
    "tool_call_id": "",                # for tool-role messages
    "name": "",                        # optional tool name
    "trainable": True                  # True only on assistant turns
}

Native GLM-4.7-Flash training (pre-tokenized)

Skip the chat template entirely — input_ids and labels are already computed:

import pyarrow.dataset as ds

table = ds.dataset(".../data/glm47_native", format="parquet")

# Each row:
#   input_ids:          list[int] — exact token IDs from GLM-4.7-Flash tokenizer
#   labels:             list[int] — same length, -100 on non-assistant tokens
#   total_tokens:       int
#   assistant_tokens:   int       — count of labels != -100
#   mask_method:        str       — "prefix-differential" or "structural-redaction"
#   renderer_revision:  str       — pinned tokenizer version

# Train with standard causal LM loss:
#   loss = CrossEntropyLoss(model(input_ids), labels, ignore_index=-100)

Tool-use / agent training

ds = load_dataset("r0b0tlab/qwen3.8-max-glm5.2-distillation-51389", "sft_tools")
# 5,909 rows with real tool-call trajectories (not JSON-in-content)

# Then RL on deterministic tool tasks:
rl = load_dataset("r0b0tlab/qwen3.8-max-glm5.2-distillation-51389", "rl_tool_prompts")
# prompt_messages_json + tools_json + reward_contract_json

Dataset Summary

MetricValue
Total traces57,937
Train / Validation / Test52,205 / 2,872 / 2,860
Teachers3 (Qwen3.8-Max, GLM-5.2, Kimi K3)
Domains9 normalized + 16 raw
Configs (Parquet views)24
Exact retokenizationPASS · 0 mask failures · 3 tokenizers
Max tokens (GLM)56,428
SplitsTemplate-cluster-grouped · deterministic · zero leakage

Build pipeline

Base dataset (52,083) ── freeze + inventory
                         ├── K3 supplement: 4,354 accepted → 694 already in base → 3,660 new
                         ├── Qwen V4 production: 2,131 accepted + 70 canary
                         └── raw merge upper bound: 57,944
                         ↓
                    normalize → quality filter → deduplicate
                         ↓
                    57,937 canonical rows (7 near-dups removed)
                         ↓
                    capability taxonomy → mixture analysis → sampling policies
                         ↓
                    exact retokenization (GLM/Qwen/Llama) → 24 training configs

Domain Distribution

Normalized domains

DomainRows%
Math15,07226.0%
Code14,71925.4%
Reasoning10,46318.1%
Instruction8,52414.7%
Agent Tools5,95210.3%
Long Context1,2632.2%
Science8441.5%
Dialogue6641.1%
Multilingual4360.8%

Source breakdown (top 20)

SourceRows
Evol-Code8,098
MetaMathQA6,267
CodeAlpaca5,586
tulu-35,395
glm5.2-agent-tool-synthetic5,307
SciQ3,947
NuminaMath-CoT2,870
CommonssenseQA2,816
OrcaMath2,319
Qwen3.8-Max V4 Supplement2,201
Dolly1,710
QASC1,682
K3 strict_instruction1,026
K3 grounded_long_context978
ARC-Easy971
K3 science_logic_data844
K3 math_formal720
GSM8K640
MATH/algebra578
OpenBookQA574

Capability Mixture

Capability% of rowsSOTA floorStatus
Reasoning-bearing84.6%>=30%PASS (over-indexed for generalist)
Tool-use (real trajectories)10.3%>=13%Below floor — mitigated by sft_balanced weights
Long-context (exact GLM >=4096 tokens)2.9%>=4%Below floor
Science19.5%>=4%PASS
Multilingual0.8%>=5%Below floor
Single-turn86.7%<=65%Above ceiling — mitigated by sft_balanced weights

Under sft_balanced sampling weights, the effective mixture at training time shifts:

CapabilityWeighted % under sft_balanced
Tools37.5%
Single-turn55.9% (under ceiling)
Long-context5.0% (clears floor)
Reasoning90.4%
Science19.9%

Configs (24 Parquet views)

Training configs

ConfigRowsUse case
sft_balanced57,937Default generalist SFT — rebalanced sampling weights
sft57,937Uniform weights (no rebalancing)
sft_reasoning48,986Reasoning-only (chain-of-thought traces)
sft_reasoning_specialist48,986Same rows, specialist weighting
sft_final57,937Final-content only (reasoning stripped)
sft_instruction_final8,524Instruction-following, final-only targets
sft_tools5,909Real tool-call trajectories
sft_agent5,909Multi-turn agent traces
rl_tool_prompts5,909GRPO/RLVR tool-use prompts + reward contracts
sft_math15,072Math specialist
sft_code14,719Code specialist
sft_science11,307Science specialist
sft_long_context1,275Long-context (thin — see gaps)
sft_multilingual436Multilingual (thin — see gaps)
sft_dialogue664Multi-turn creative/dialogue

Ablation configs

ConfigRowsIsolates
sft_k3_only4,347Kimi K3 teacher only
sft_qwen_v4_supplement2,201Qwen V4 supplement only
sft_glm_agent5,307GLM-5.2 agent tools only

Infrastructure configs

ConfigRowsContent
canonical57,937Full audit columns (messages, tools, metadata, verifier flags, provenance)
openai_messages57,937OpenAI-compatible message format
prompt_completion_text52,028Text-only prompt/completion (no tool rows)
glm47_native57,937Pre-tokenized: input_ids + labels (GLM-4.7-Flash)
token_stats57,937Exact multi-tokenizer stats per row
smoke256Coverage slice for CI/testing

Column Schemas

sft_balanced / sft / specialist sft_* configs

ColumnTypeDescription
parent_idstringSource lineage ID
idstringStable release row ID
splitstringtrain / validation / test
messageslist[struct]Conversation turns (see Quick Start)
toolslist[struct]Tool definitions (empty if no tools)
sampling_weightfloatWeighted sampling multiplier
sourcestringSource label (e.g., MetaMathQA, k3_math_formal)
domainstringDomain label (e.g., math, code, agent_tool)

glm47_native (pre-tokenized)

ColumnTypeDescription
parent_idstringSource lineage ID
idstringStable release row ID
splitstringSplit label
input_idslist[int32]Exact token IDs from GLM-4.7-Flash
labelslist[int32]Same length as input_ids; -100 on non-assistant tokens
total_tokensint32len(input_ids)
assistant_tokensint32count of labels != -100
mask_methodstringprefix-differential or structural-redaction
sampling_weightfloatSampling weight
sourcestringSource label
domainstringDomain label
renderer_revisionstringPinned tokenizer: zai-org/GLM-4.7-Flash@7dd20894...

token_stats (exact multi-tokenizer)

Contains total/assistant token counts for GLM-4.7-Flash, Qwen3-0.6B, and Llama-3.1-8B per row. Key columns: glm47_total_tokens, glm47_assistant_tokens, glm47_loss_ratio, glm47_context_bucket, qwen3_*, llama31_final_*, max_validated_tokens.

canonical (full audit view)

All columns from the schemas above plus: teacher_model, teacher_provider, trace_kind, disposition, ground_truth_json, verifier_passed, family_oracle_passed, reference_agreement, format_score_raw, quality_flags, source_record_hash, prompt_cluster_id, template_cluster_id, dedup_cluster_id, schema_version, source_repository, source_revision, source_license, source_split, source_item_id.

rl_tool_prompts

ColumnDescription
familyTool family (e.g., file_ops, code_debug)
prompt_messages_jsonSystem + user messages (JSON)
tools_jsonTool definitions (JSON)
expected_terminal_oracle_jsonGround-truth answer for reward
reward_contract_jsonReward specification
sampling_weightSampling weight

Token Statistics

All 57,937 rows were retokenized with three pinned tokenizers:

TokenizerRepoRevision
GLM-4.7-Flashzai-org/GLM-4.7-Flash7dd20894a642a0aa287e9827cb1a1f7f91386b67
Qwen3-0.6BQwen/Qwen3-0.6Bc1899de289a04d12100db370d81485cdf75e47ca
Llama-3.1-8B-InstructNousResearch/Meta-Llama-3.1-8B-Instructd10aef7999a2b5ba950ab3974312feeedbfe0b77

GLM-4.7-Flash context bucket distribution:

BucketRows
<= 4096 tokens56,243 (97.1%)
4097-81921,484 (2.6%)
8193-16384127 (0.2%)
16385-3276869 (0.1%)
32769-6553614 (<0.1%)

Loss mask methods: prefix-differential (most rows — prefix-preserving chat template) and structural-redaction (multi-turn tool rows — diff-based mask). Zero mask failures.

Loss Masking

Two methods, automatically selected per row:

  1. Prefix-differential: The chat template is prefix-preserving (adding a new message doesn't change earlier tokens). Labels are assigned by diffing successive template renders — tokens from assistant messages get their real IDs, all others get -100.

  2. Structural-redaction: For complex multi-turn tool conversations where the template isn't prefix-preserving. Each assistant payload is redacted in a copy of the conversation, and the diff between full and redacted renders identifies assistant tokens.

Both methods guarantee: no user/system/tool content in the loss, no fabricated labels, at least one proven assistant span per row.

Deduplication

Three layers applied:

  1. Exact identity hash — canonical hash of normalized (system, user turns, tools, fixture)
  2. Semantic near-dup — 5-gram Jaccard >= 0.9 using blake2b shingles
  3. Prompt cluster overlap — rows sharing a prompt cluster with base dataset are deduped

Result: 7 near-duplicates removed from 5,861 eligible supplement rows; zero exact duplicates in final set.

Quality Filtering

GateMethod
StructuralRole order, non-empty assistant turns, tool-call/result linkage
Teacher identityK3 rows verified kimi-code/k3; Qwen rows verified qwen3.8-max-preview
Tool trajectoriesReal tool-role results required (no pseudo-tool JSON in content)
Reasoning presenceK3 reasoning_content folded onto assistant messages
ID uniquenessZero duplicate IDs across base + supplements

K3 double-count guard: 694 K3 rows already in base dataset were identified by ID intersection and excluded from supplements (only 3,660 new K3 rows admitted).

Curriculum Recommendations

The curriculum_stages.json in the hub package defines a multi-stage schedule:

StageConfigMethodNotes
Asft_balancedSFT, 1 epochDefault generalist entrypoint
Bsft_tools + sft_agentSFT, 0.5 epochTool/agent specialization
C (optional)sft_reasoning_specialistSFT, 0.5 epoch, low LRDataset is already reasoning-heavy
D (optional)rl_tool_promptsGRPO/RLVRVerifiable tool tasks only

Provenance and License

This dataset is a synthetic research corpus built from teacher model outputs. Each row carries full provenance in the canonical config: source_repository, source_revision, source_license, source_item_id, teacher_model, teacher_provider.

Base dataset rows (52,083) originate from public sources including MetaMathQA (MIT), GSM8K (MIT), SciQ (CC0), ARC (CC-BY-SA), OpenBookQA (CC-BY-SA 4.0), CommonsenseQA (CC-BY-SA), QASC (Apache-2.0), CodeAlpaca, Evol-Code, tulu-3, Dolly, MATH, NuminaMath-CoT, OrcaMath. Supplement rows from K3 (kimi-code/k3) and Qwen V4 (qwen3.8-max-preview) are labeled other; synthetic research corpus.

The repo name retains the historical 51389 from the original v1 release; the actual row count is 57,937.

Known Limitations

  • Tools (10.3%) and long-context (2.9%) are below SOTA floors by inventory. The sft_balanced config uses sampling weights to compensate at train time, but genuine coverage gaps remain until additional generation completes.
  • Multilingual (0.8%) is critically thin; domain-only classification without a language detector means some multilingual content in base instruction rows may not be tagged.
  • Reasoning is over-indexed (84.6%) — appropriate for reasoning-forward students, but generalist trainings should use sft_balanced weights or supplement with non-reasoning data.
  • Single-turn dominates (86.7%)sft_balanced down-weights single-turn to ~56% effective share.
  • Full exact tokenization covers GLM-4.7-Flash, Qwen3, and Llama-3.1. Other tokenizers require applying your own chat template to the sft configs.
  • This package is a local pre-release (rc3). The qualitative review of the compile is in progress.

Citation

If you use this dataset, cite the teacher models and upstream sources that made it possible:

@misc{qwen38,
  title={Qwen3.8-Max-Preview},
  author={Alibaba Cloud},
  year={2026}
}
@misc{glm52,
  title={GLM-5.2},
  author={Z.AI},
  year={2026}
}
@misc{kimi-k3,
  title={Kimi Code K3},
  author={Moonshot AI},
  year={2026}
}
@misc{metamathqa,
  title={MetaMathQA: Bridging Visual and Textual Reasoning},
  author={Yu, Shuo and others},
  year={2024},
  url={https://github.com/meta-math/MetaMath}
}

Contributors

r0b0tlab

3 commits