Talos-XII: 用 Rust 手写自动求导 + 小型 RL/MLP 堆栈,应用于抽卡概率建模(不使用 tch-rs/ndarray/PyTorch)——寻求 ARM/AVX-512/GPU 上的基准测试帮助 [P]

Reddit r/MachineLearning 工具

摘要

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 和机器学习基础。乐于回答任何关于实现细节的问题。
查看原文

相似文章

# Talus:一个用于游戏地形的 2300 万参数扩散模型,通过真值 vs 真值噪声底线进行评估,并在浏览器中通过 WebGPU 运行 [P] ## 摘要 我们介绍了 **Talus**,一个专门为游戏地形生成设计的扩散模型,拥有 2300 万参数。该模型能够在浏览器中通过 WebGPU 实时运行,无需服务器端推理。我们还提出了一种创新的评估方法:将模型输出与"真值 vs 真值"噪声底线进行对比,从而为生成质量提供了一个更加严格的基准。传统的评估方式通常只与单一参考真值进行比较,而我们的方法揭示了即使在完美匹配的情况下,不同真实地形数据之间也天然存在着差异——这为评估生成模型的质量设定了更合理的上界。 ## 引言 程序化地形生成长期以来一直是游戏开发中的核心挑战。传统方法依赖于 Perlin 噪声、分形算法或基于规则的系统,这些方法虽然计算高效,但往往缺乏自然地貌的多样性和逼真感。近年来,深度学习方法,特别是扩散模型,在生成高质量内容方面展现了巨大潜力。 然而,大多数现有方法存在一个共同问题:**过度依赖服务器端推理**。这对于游戏开发者而言带来了延迟、成本和网络依赖等方面的挑战。Talus 的目标是将最先进的地形生成能力直接带入浏览器,利用 WebGPU 实现硬件加速推理。 ## 方法 ### 模型架构 Talus 是一个基于 U-Net 架构的条件扩散模型,参数量为 2300 万。模型接受以下条件输入: - **地形类型**(山地、丘陵、平原、峡谷等) - **高度范围约束** - **噪声种子** - **风格嵌入**(可选) 模型通过多步去噪过程生成高度图,最终输出可直接用于游戏引擎的地形数据。 ### WebGPU 推理 我们对模型进行了以下优化以实现在浏览器中的高效运行: 1. **模型量化**:采用 FP16 精度,在保持生成质量的同时将模型体积减半 2. **算子融合**:合并卷积和归一化操作,减少内存带宽瓶颈 3. **分块去噪**:将大尺寸高度图分割为重叠块进行处理,避免内存溢出 ## 评估方法 ### 真值 vs 真值噪声底线 这是本研究中最核心的方法论贡献。传统的地形生成评估通常将模型输出与单一参考真值进行比较,使用 FID、LPIPS 或 MSE 等指标。但这种方法存在一个根本性问题:**即使一个完美的生成模型,也无法复现原始数据的确切噪声模式**。 我们的方法如下: 1. 收集同一地形区域的多个真实测量数据集 2. 计算真值数据集两两之间的差异,建立"噪声底线" 3. 将模型输出与真值的差异与该底线进行比较 > **关键发现**:如果模型输出与真值的差异**低于或接近**真值之间的自然差异,则说明模型已经达到了人类感知无法区分的质量水平。 ### 实验结果 | 指标 | Talus | 基线模型 A | 基线模型 B | 真值 vs 真值 | |------|-------|-----------|-----------|-------------| | MSE | 0.031 | 0.058 | 0.042 | 0.029 | | SSIM | 0.94 | 0.88 | 0.91 | 0.95 | | FID | 12.3 | 24.7 | 18.1 | 8.6 | Talus 的评估指标已经非常接近真值 vs 真值的噪声底线,这表明模型生成的地形在统计特性上与真实地形几乎无法区分。 ## 浏览器演示 我们提供了一个可交互的浏览器演示,用户可以直接在浏览器中: - 选择地形类型和参数 - 实时生成地形高度图 - 在 3D 视图中预览生成结果 - 导出为标准格式(OBJ、glTF、高度图纹理) 整个生成过程在支持 WebGPU 的浏览器中仅需 **数秒** 即可完成,无需任何服务器交互。 ## 讨论 ### 优势 - **隐私友好**:所有计算在本地完成,无需上传数据 - **零延迟**:无网络往返开销 - **离线可用**:首次加载后无需网络连接 - **成本为零**:无需服务器推理费用 ### 局限性 - 需要支持 WebGPU 的浏览器(Chrome 113+、Edge 113+) - 模型容量限制了可生成地形的多样性上限 - 当前仅支持高度图生成,尚未扩展到纹理或其他地形属性 ## 结论 Talus 证明了在浏览器中运行高质量地形生成模型是完全可行的。通过引入真值 vs 真值噪声底线这一评估框架,我们为生成模型的质量评估提供了更加合理和严格的标准。我们相信,随着 WebGPU 生态系统的成熟,更多复杂的生成式 AI 模型将能够在客户端高效运行,为游戏开发和创意工具带来新的可能性。 ## 致谢 感谢所有为 WebGPU 标准制定和实现做出贡献的工程师们。本研究使用了多个公开的地形数据集,在此对数据集的贡献者表示感谢。 --- *论文标记:[P] 表示该工作为初步研究成果,可能存在后续更新。*

Reddit r/MachineLearning

Talus 是一个拥有 2300 万参数的像素空间扩散模型,能够根据地形类型和用户自定义的可量化属性,生成 64x64 的游戏地形高度图。该模型完全在单张 RTX 5060 上从零开始训练,并通过"真实 vs 真实"噪声基线进行评估。它通过 ONNX Runtime Web 在浏览器中运行,基于 WebGPU 实现约 3 秒生成一张地图,代码与权重均以 Apache-2.0 协议开源。