Talos-XII: 用 Rust 手写自动求导 + 小型 RL/MLP 堆栈,应用于抽卡概率建模(不使用 tch-rs/ndarray/PyTorch)——寻求 ARM/AVX-512/GPU 上的基准测试帮助 [P]
摘要
Talos-XII 是一个专为《明日方舟:终末地》抽卡系统设计的命令行模拟器,完全用 Rust 构建,带有自定义自动求导引擎和小型 RL/MLP 堆栈(无外部机器学习框架)。它使用神经网络进行环境建模和抽卡决策策略,并包含复杂的 SIMD 调度和一个名为 ACHF 的自适应缓存开放实验。
Talos-XII 是一个专为《明日方舟:终末地》抽卡系统设计的命令行模拟器。它不是从静态概率表中采样,而是训练一小套神经网络来建模环境不确定性和抽卡决策策略,然后用它们来回答静态表难以表述的问题——例如,“作为零氪玩家,仅靠免费货币获得概率提升角色的概率是多少?”或“考虑到当前的保底计数,我应该继续抽还是留到下一个卡池?”
模型(首次运行时训练,约30-45秒,然后缓存到磁盘)
• EnvNet — 小型多层感知器,拟合环境噪声/偏差分布,每次模拟采样
• Luck Optimizer — 对32维人工特征向量(保底进度、连续次数、交互项)进行神经优化
• Dueling DQN — 离散的抽/等待决策
• PPO Actor-Critic — 带有MLA(潜在注意力)Transformer用于连续策略
底层一切均为手写,无外部机器学习框架:
• 自定义自动求导引擎(矩阵乘法、二维卷积、池化、归一化、梯度校验反向传播)
• 运行时 SIMD 调度:标量→AVX2→AVX2+FMA→AVX-512,ARM64 上的 NEON
• 使用 Rayon 并行的模拟(笔记本上约 10k+/秒)
• BF16 推理缓存
• 可选 PyO3 桥接(导入 talos_xii as tx),无需 NumPy/PyTorch 即可编写训练脚本
• 142 项测试,跨 Linux/Windows/macOS 的 CI,ARM64 交叉编译,单个静态二进制文件,MIT 许可
我不太确定的部分
有一个我称之为 ACHF(自适应缓存感知超连接)的组件:它通过梯度敏感门将密集路径与剪枝稀疏路径融合,添加流形(Sinkhorn)权重投影,并根据测量延迟在缓存/稀疏/密集执行路径之间切换。灵感大致源自流形约束超连接,但面向不同的场景——在单个二进制文件内、在 CPU 上运行的紧凑型强化学习策略,而非大规模训练。我还不知道速度与精度的权衡在我以外的机器上是否成立。我将其视为一个开放实验,而非结果。
寻求帮助的地方
我只有自己的硬件可用,因此基准测试覆盖范围很小。仓库中有一个自动化的基准测试套件,报告平均值±标准差及95%置信区间、每路径延迟分布(p50/p90/p99)、训练曲线和原始 CSV 文件——说明在 README 中。如果有人愿意在不同的 CPU(AVX-512、ARM NEON)或 GPU 设置上运行它,我将衷心感谢提供的数据——负面结果(ACHF 在你的硬件上没有帮助)与正面结果同样对我有用。
仓库:github.com/zayokami/Talos-XII
独立项目,旨在从头学习 Rust 和机器学习基础。乐于回答任何关于实现细节的问题。
相似文章
@no_stp_on_snek: 我的第二个且迟交的 Build Small 参赛作品。10天,1位开发者:从头构建的 Rust 引擎 + 自定义 GPU 内核 vs vLLM 在 N…
一位开发者从头构建了一个 Rust 推理引擎,带有自定义 GPU 内核,在 Nemotron-30B 解码上优于 vLLM,达到 75.7 vs 57 tok/s,提交至 Build Small 黑客马拉松。
用Rust构建了一个开放的可定制代理循环的Agentic AI系统(TigrimOSR)
宣布TigrimOSR,一个用Rust构建的开源Agentic AI系统,具有可定制的代理循环。
借助智能Rust框架,让预算模型发挥超常表现
Dirge是一个基于Rust的代理框架,通过减少内存占用并智能管理错误、上下文和工具调用,帮助较小的人工智能模型发挥超常表现,缩小与前沿模型的性能差距。
@neural_avb: 用我的 SLM 在本地生成类似 GRPO 的 rollout,并用这个微型 RM 作为评分标准。接下来我将在…
Neural_avb 发布了一个轻量级的 Answer-eq 奖励模型,用于问答任务的强化学习训练,声称与外部评判 LM 的一致性达到 80%,且比 F1/ROUGE/BertScore 更快。
@charles_irl: 在忙碌中竟然错过了这个。很酷的演示!
一位开发者使用自建ML框架,基于Rust后端和CUDA内核,包含Flash Attention和AdamW,从零训练了一个1200万参数的LLM。