IE-Code-30B

面向交互式教学内容生成的教育大模型
An Educational LLM for Interactive Instructional Content Generation

🤗 Model  |  📊 Edu-Interact Dataset  |  🧪 Edu-Eval Benchmark  |  📄 Paper


简介

IE-Code-30B(Interactive Education Code)是一个面向 K-12 交互式教学内容生成 的领域专用大模型。与主要以文本对话进行知识讲解的教育大模型不同,IE-Code-30B 将教学内容生成建模为一个“运行后质量可观测”的多模态约束优化问题:模型输出被视为可在浏览器中运行的教学程序(HTML/JS/CSS),其质量只有在代码可执行、页面可渲染、交互行为可达、且交互过程服务于教学目标时才真正成立。

模型以稀疏混合专家(MoE)架构的 Qwen3-30B-A3B-Coder 为基座,通过 “SFT 冷启动 + GRPO 强化学习” 两阶段训练,使其具备将自然语言教学意图转化为高保真交互式 HTML 教学素材的能力,可覆盖知识讲解、动态演示、参数探究与即时反馈等关键教学交互模式。

核心特性

  • 交互式富媒体生成:直接生成可在 Web 端运行的 HTML5/JavaScript 交互式教学页面(参数滑块、动态图示、Canvas 仿真、即时反馈组件等),而非静态图文或线性讲解。
  • 多模态层级化奖励对齐:融合代码可执行性(L1)、教学/科学逻辑(L2)、视觉渲染质量(L3)与交互响应(L4)的层级奖励,并引入隐式交互引导(Potential Bonus)缓解冷启动、反作弊正则化(Anti-Hacking)抑制“表面交互堆砌”的奖励投机。
  • 高效 MoE 架构:总参数约 30.5B,单次推理仅激活约 2.4B 参数,兼顾生成质量与推理/部署成本。
  • 自带自动化评测体系:配套 Edu-Eval 基准与级联评估管线,将“可执行、可渲染、可交互、可教学”转化为可计算的结构化指标。

模型信息

项目 说明
基座模型 Qwen3-30B-A3B-Coder(MoE)
总参数 / 激活参数 30.5B / 2.4B
训练范式 两阶段:SFT 冷启动 → GRPO 强化学习
训练数据 Edu-Interact($\mathcal{D}{SFT}$ 10k + $\mathcal{D}{RL}$ 4k)
评估器(Judge) Qwen3-VL-235B(多模态联合评分)
输出格式 HTML / JavaScript / CSS 单页交互式教学应用
适用学段 K-12(小学、初中、高中)
覆盖学科 数学、语文、英语、物理等核心学科

性能表现

在独立基准 Edu-Eval(600 条与训练数据严格互斥的零样本指令)上,采用四层多模态评估体系(L1 语法 / L2 逻辑 / L3 视觉 / L4 交互)的对比结果:

模型 总分 语法 (L1) 逻辑 (L2) 视觉 (L3) 交互 (L4)
DeepSeek-v3.2-0122 43.9 34.8 65.0 70.3 46.0
Gemini-3-pro-preview 48.9 44.0 66.7 59.4 55.0
Qwen3-235B-Instruct 52.8 45.5 71.0 67.9 56.4
Qwen3-Coder-30B-Instruct(基座) 55.0 46.9 65.3 64.3 64.8
IE-Code-30B (Ours) 63.1 49.6 61.4 74.9 77.7

快速开始

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "IE-Code-30B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto",
)

instruction = "为初中物理设计一个交互式教学页面:用滑块调节摩擦系数,实时观察小车在斜面上的运动状态变化。"

messages = [
    {"role": "system", "content": "你是一个交互式教学内容生成助手,输出可在浏览器中运行的 HTML/JS 教学页面。"},
    {"role": "user", "content": instruction},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)

outputs = model.generate(**inputs, max_new_tokens=8192, temperature=0.7, top_p=0.8)
html = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)

# 将模型输出的 HTML 保存后用浏览器打开即可
with open("lesson.html", "w", encoding="utf-8") as f:
    f.write(html)

建议将生成结果保存为 .html 文件在现代浏览器中打开;页面依赖的外部 CDN 资源需保证网络可访问。

Downloads last month
35
Safetensors
Model size
31B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Septend/IE-code-30B

Finetuned
(67)
this model