Skip to content

Swap the second teacher from GPT 5.6 Sol to Moonshot Kimi K3 - #50

Open
ai-hpc wants to merge 1 commit into
mainfrom
feat/kimi-k3-teacher
Open

Swap the second teacher from GPT 5.6 Sol to Moonshot Kimi K3#50
ai-hpc wants to merge 1 commit into
mainfrom
feat/kimi-k3-teacher

Conversation

@ai-hpc

@ai-hpc ai-hpc commented Jul 25, 2026

Copy link
Copy Markdown
Member

Replaces the OpenAI GPT 5.6 Sol teacher with Moonshot Kimi K3 (moonshotai/kimi-k3 on OpenRouter, kimi-k3 on yunwu). The pinned teacher pair is now Claude Fable 5 + Kimi K3.

Why Kimi K3 (research)

On the published GPU-kernel-optimization benchmark, Kimi K3 performed competitively with Fable 5 and substantially outperformed GPT 5.6 Sol (and Opus 4.8 / GPT 5.5) at profiling, rewriting, and benchmarking CUDA/Triton kernels — it even ships its own Triton-like compiler, MiniTriton, and produced a kernel ~14.8× faster than optimized PyTorch on H200. For a Triton-kernel dataset generator, that kernel-optimization strength is exactly the axis that matters.

Honest caveat: K3 trails Sol/Fable on general coding, and the 14.8× figure is a single vendor-run benchmark not yet independently reproduced. The swap is justified specifically for the kernel-optimization workload here, not as a blanket "best coder" claim.

Sources: Tom's Hardware, Windows News (14× kernels), OpenRouter model page, Kimi K3 tech blog.

What changed (provenance-correct)

  • Real moonshot provider (not Kimi masquerading as openai), so the manifest's pinned allowed_teachers records the true teacher. MOONSHOT_TEACHER_MODEL = kimi-k3.
  • policy.py / gateways.py: model maps, SUPPORTED_PROVIDERS = {anthropic, moonshot}, yunwu/OpenRouter slugs. Kimi has no -sol-style variant, so the logical/routed slug distinction collapses to one slug; dated OpenRouter build suffixes are still stripped.
  • Env YUNWU_MODEL_OPENAIYUNWU_MODEL_MOONSHOT; sparkproof-yunwu-probe pins kimi-k3.
  • training_cot: recover_openai_winner_cotrecover_moonshot_winner_cot. Kimi returns plaintext reasoning, so the Fable CoT-recovery path is now a rare fallback (docstrings/metadata de-Sol'd; sol_winner_providerwinner_provider).
  • Default providers ["anthropic","openai"]["anthropic","moonshot"] across the CLIs and multi_candidate.
  • Docs: README, CONTRIBUTING, .env.example updated. Historical CHANGELOG entries left intact as an accurate record of past releases.

⚠️ Breaking / coordination

  • gpt-5.6 / gpt-5.6-sol are no longer accepted teacher models — existing Sol bundles will fail verification against the new policy and must be regenerated with the new pair.
  • Cross-repo: SparkDistill's teacher/providers.py must be updated to the moonshot provider key to stay in sync (the policy comment references it).

Tests

355 pass, ruff clean. New test_kimi_k3_replaces_gpt_sol_as_second_teacher locks the swap (Kimi pinned, openai/gpt-5.6-sol rejected). ~24 files re-pointed to the new provider/model.

Kimi K3 (moonshotai/kimi-k3) leads GPT 5.6 Sol at GPU-kernel optimization on the
vendor benchmark (competitive with Fable 5, substantially ahead of Sol; ships its
own Triton-like compiler, MiniTriton), which is exactly what a Triton-kernel
dataset generator wants. Replace the OpenAI Sol teacher with a real "moonshot"
provider so the pinned teacher pair is Fable 5 + Kimi K3, and provenance records
the true teacher.

- policy.py / gateways.py: provider key openai -> moonshot; MOONSHOT_TEACHER_MODEL
  = kimi-k3; OpenRouter moonshotai/kimi-k3, yunwu kimi-k3. Kimi has no -sol-style
  variant so the logical/routed distinction collapses to a single slug; dated
  OpenRouter build suffixes still stripped.
- env YUNWU_MODEL_OPENAI -> YUNWU_MODEL_MOONSHOT; yunwu_probe pins kimi-k3.
- training_cot: recover_openai_winner_cot -> recover_moonshot_winner_cot; the
  Kimi winner usually returns plaintext reasoning, so Fable CoT recovery is now a
  rare fallback (docstrings/metadata de-Sol'd; sol_winner_provider -> winner_provider).
- Default providers ["anthropic","openai"] -> ["anthropic","moonshot"] across CLIs
  and multi_candidate.
- Docs (README, CONTRIBUTING, .env.example) updated; historical CHANGELOG entries
  left intact as an accurate record.

Breaking: gpt-5.6 / gpt-5.6-sol are no longer accepted teachers — bundles must be
regenerated, and SparkDistill's teacher/providers.py must mirror the moonshot key.

Tests: 355 pass; new test_kimi_k3_replaces_gpt_sol_as_second_teacher locks the swap.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant