跳到主要內容
AI News HubLIVE
站內改寫2 分鐘閱讀

在 Rust 中端到端訓練語言模型:一份經驗報告

文章摘要

作者獨自用純 Rust 完成約 0.4B 引數、孟加拉語優先的語言模型端到端預訓練,租用 GPU 花費 164 美元。論文更重要的貢獻是給出 Candle 與 Burn 作為訓練後端的失敗分類,並提出可捕獲六類靜默失敗的梯度流驗證方法;作者結論是 Rust 目前還不足以勝任訓練,但適合端側推理服務。

來源arXiv Computational Linguistics作者: Arif Adito
在 Rust 中端到端訓練語言模型:一份經驗報告
回報錯誤

更正管道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

這篇 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 目前還不是訓練語言模型的有競爭力場所,但它可能是服務語言模型的好地方。

展開要點與分析

文章情報

工程師進階

要點

  • 以 164 美元租用 GPU,無團隊、無 PyTorch、訓練路徑無 Python,在純 Rust 中完成端到端預訓練。
  • 記錄 Candle 五個缺陷和 Burn 三個缺陷,包括靜默不產生梯度的融合核,以及多十億引數規模下訓練中途段錯誤。
  • 提出“梯度流仲裁器”:一次前向/反向傳播即斷言所有可訓練引數獲得有限且非零梯度,可推廣到任意框架。
  • 0.4B 孟加拉語優先模型的每 token 負對數似然為 0.93,隨機初始化對照為 12.60;英語常識選擇題僅達隨機水平;孟加拉文分詞肥力陷阱從約 1.4 字元/token 修復到約 4.1。

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。