尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Taiga-S1模型架构完全拆解:3层Transformer如何为每个CAD命令打分(1.2M参数全解析)

Taiga-S1模型架构完全拆解:3层Transformer如何为每个CAD命令打分(1.2M参数全解析) 人工智能AI Agent机器学习【免费下载链接】taiga-s1项目地址https://ai.gitcode.com/hf_mirrors/shhivv/taiga-s1点击查看免费下载Taiga-S1 是一个仅含1.2M 参数的 CAD 模型它跑在 FreeCAD 里逐条命令地构建 3D 零件。核心思想是把用分成两层由规划器Planner决定做什么而这个极小的 Taiga-S1 作为System 1快速决策层负责每一步用什么命令做。每一步它都会读取 FreeCAD 的实时状态特征树、当前选择、草图约束、工作台然后从当前可用的命令中为每个 CAD 命令打一个分选出得分最高的那条继续执行。整个推理约1 毫秒/步纯 CPU 就能跑不需要大模型、不需要视觉、不需要截图。一、它解决什么问题传统做法是直接用大语言模型LLM驱动 GUI但 LLM 慢、贵、且每一步都要反复读屏幕。Taiga-S1 换了一个思路输入一个目标描述有序的特征列表如40×30×10 平板 → (10,0) 处 Ø6 孔 → 环形阵列 ×6 → 顶部倒圆角加上零件的粗略尺寸包围盒、体积估算值即可。运行每步读取 FreeCAD 的实时会话状态从运行时提供的当前可用命令列表里打分、选最高分。覆盖范围FreeCAD PartDesign 工作流——草图矩形/圆/六边形、拉伸、凹槽、孔、旋转体、线性/环形阵列、镜像、倒圆角、倒角、抽壳。数值参数直接来自目标模型只负责选哪条命令。也就是说它不是生成器而是一个动作打分器next-action model。二、架构全貌3层编码器 2层解码器从 config.json 可以完整还原模型骨架参数值作用width128模型隐层宽度决定整个模型的粗细heads4每个注意力层的注意力头数enc_layers3编码器层数编码会话状态与目标dec_layers2解码器层数候选命令在此与状态做注意力ff384前馈网络宽度3×128dropout/id_dropout0.1 / 0.1常规 dropout 与 ID 特化的 dropouttemperature2.554输出概率的校准温度见下文打分流程可以概括为一句话stateFreeCAD 实时快照 goal有序特征列表 actions当前可用命令 → 3 层 Transformer 编码状态与目标 → 2 层解码器每个候选命令对状态 当前活跃目标项做注意力 → 每条命令得到 1 个分数输出 {命令: 概率}按分排序整个流程没有视觉模块——状态全部来自 FreeCAD 的结构化信息特征树、选择集、草图约束、工作bench 名这也正是它能跑到 1ms 的原因。三、四个关键设计为什么小模型也能举一反三Taiga-S1 最有意思的地方不在参数量而在四个为长度泛化length generalization服务的设计。训练时目标最多只有 5 个特征但它能完成 11 个特征约 55 条命令的验证集全部 100 个目标以及 95% 的 17 特征目标。README.md 的消融实验给出了答案1️⃣ 训练期随机位置 IDpos_mode: randpos_table: 48Transformer 靠位置编号理解第几步。如果位置表只有 48 个槽位而推理时零件有 55 条命令模型就会遇到从没见过的编号而崩溃。Taiga-S1 在训练时随机采样位置编号参考 Ruoss et al. 2023 的方法让模型见过超出表的编号长目标才不会翻车。2️⃣ 耦合序数ordinal: trueord_table: 12目标列表第k项与特征树里第k个特征共享同一个序数索引。这样我现在做到哪一步了就变成一个明确的信号模型不用去猜。3️⃣ 模块化的完成策略pointer: donemodular: true不是全局判断做完了吗而是每个目标项各自问一句我做完了吗模型只对第一个没完成的项采取行动。这个设计是让最长目标在所有随机种子下都稳定可靠的关键。4️⃣ 分解式特征类型 类型 dropouttype_dropout: 0.15特征类型被拆成类别嵌入 类型嵌入两部分训练时随机丢掉 15% 的类型信息迫使模型学会没见过的特征组合也能配对——实测在训练中从未出现过的组合上仍有 90–100% 的正确构建率。另外还有两个细节值得注意invariant_numerics: true对数值做不变性处理模型不因坐标绝对值不同而迷惑temperature: 2.554输出概率经过校准calibrated在 5573 个留出样本上 ECE 仅 0.027分数可以当真用。四、结果如何正确构建率与抗错误能力目标长度正确构建率注入 20% 随机动作后1–5 个特征同训练集100%93–100%11 个特征约 55 条命令100%90%13 / 15 / 17 个特征100 / 100 / 95%–未见过的特征组合90–100%94–97%正确的标准很严格最终实体与目标体积 IoU ≥ 0.99且无多余对象。每行是 100 个全新合成目标FreeCAD 1.1 环境。更关键的是纠错能力把 20% 的动作替换成随机操作后模型能察觉损坏、撤销并重做最终仍有 86–100% 的零件成功完成——对 agent 来说能自我恢复比从不犯错更实用。逐步动作准确率相对教师策略为99.8%。五、训练是怎么做的数据24k 段无头headlessFreeCAD 脚本化建模会话约59 万步决策。脚本化教师在每一步标注正确命令并混入随机错误让模型学会恢复。方法先监督学习再做两轮DAgger——模型自己驱动 FreeCAD教师只纠正它走错的地方。校准用 11300 个状态、256 段会话拟合出温度 2.554存入 config.json。模型权重文件为 model.safetensorssafetensors 格式许可证见 LICENSEMIT。六、如何快速上手使用只需四行核心逻辑加载预训练模型 → 包装成策略对象 → 传入状态/目标/可用动作 → 拿到按概率排序的命令字典from freecad_s1.model.net import from_pretrained from freecad_s1.rollout import Policy model from_pretrained(shhivv/taiga-s1) policy Policy(model, devicecpu) probs policy.score(state, goal, actions) # {命令: 概率}最优在前 next_command next(iter(probs))三个输入分别是stateFreeCAD 会话快照由配套的运行时freecad_s1.runtime提供goal有序特征列表 零件粗略尺寸估算即可actions当前可用命令来自运行时的valid_actions()。它还能通过本地 socket 直接驱动真实的 FreeCAD GUI 实时建件。七、总结Taiga-S1 证明了一件事在结构化的桌面应用里1.2M 参数的 3 层 Transformer 就足够承担下一步做什么这个高频决策。它的四件套——随机位置 ID、耦合序数、模块化完成策略、类型 dropout——都是为长度泛化服务的小而精的设计。项目作者下一步要把同样思路搬到没有脚本 API 的应用上改用操作系统的无障碍树accessibility tree作为接口值得期待。赞分享人工智能AI Agent机器学习【免费下载链接】taiga-s1项目地址https://ai.gitcode.com/hf_mirrors/shhivv/taiga-s1点击查看免费下载相关推荐llama-68m架构拆解仅2层Transformer的小模型如何实现完整LLaMA架构llama 68m架构拆解仅2层Transformer的小模型如何实现完整LLaMA架构 llama 68m 是一个仅 6800 万参数、只有 2 层 Tra人工智能大模型基础模型CliRelay执行器架构完全拆解200文件的executor如何为每个上游账号选路CliRelay执行器架构完全拆解200文件的executor如何为每个上游账号选路 CliRelay 是一个自托管的 AI 网关它把 Claude Co四层架构拆解CLI-Anything 如何把命令做成一门语言四层架构拆解CLI Anything 如何把命令做成一门语言 当 AI 第一次学会用命令行时人类花了几十年沉淀的软件生态突然有了新的读者——不是人人工智能AI AgentAI 技能/插件CLI工具调用上一篇终极揭秘CodeIndexer混合搜索技术如何通过BM25向量搜索提升40%效率下一篇SaramaGo语言Apache Kafka客户端库全面解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表