这篇 arXiv 论文由 Arif Adito 于 2026 年 7 月 27 日提交,编号 arXiv:2609.25008,属于计算与语言(cs.CL)方向。作者报告了一次不同寻常的实验:完全依靠自己,用纯 Rust 从零到一端到端预训练一个语言模型,训练路径中既没有 PyTorch,也没有 Python,租用 GPU 的总花费为 164 美元。作者强调,这更像是一项个人成就,而非对社区的建议;论文真正有价值的贡献,是对 2026 年两种主流 Rust 机器学习框架——Candle 和 Burn——作为训练后端(而非推理后端)的系统性失败分类。
作者记录了 Candle 的五个缺陷,其中包括某些融合核在静默状态下完全不产生梯度;也记录了 Burn 的三个缺陷,包括反向传播只能达到理论 GPU 吞吐量约 3%,以及核融合路径在多十亿参数规模下会在训练中途触发段错误。这些缺陷没有一个会主动报错,全部都能通过常规的损失曲线检查而不被发现。为应对这种情况,作者描述了一套验证纪律,核心是一个“梯度流仲裁器”:它只运行一次前向和反向传播,然后断言每一个可训练参数都收到了有限且非零的梯度。这个测试具有通用性,可以移植到任何框架,并帮助作者捕获了六类此类静默失败。
训练得到的模型大约 0.4B 参数,以孟加拉语为优先。它在孟加拉语语言建模上表现出明显信号:每 token 负对数似然为 0.93,而随机初始化的对照模型为 12.60。与此同时,该模型在英语常识多选题上仅达到随机水平,这是刻意采用小规模、孟加拉语加权预算的预期结果——训练数据约 20 亿 token,耗时 54.6 小时,使用一张租用的 H100。作者还报告了孟加拉文字中的“分词肥力陷阱”:朴素的字节级分词把孟加拉语压缩到大约 1.4 字符/token,而英语为 3.9 字符/token,这会静默地颠倒语料库中的语言平衡;修复分词后,孟加拉语达到约 4.1 字符/token。
据作者所知,这是最早有记录的纯 Rust 端到端语言模型预训练运行之一。不过,在这次实验之后,作者把训练迁移到了 PyTorch,只保留 Rust 用于端侧服务。作者的结论是:就个人经验而言,Rust 目前还不是训练语言模型的有竞争力场所,但它可能是服务语言模型的好地方。