论文

语言的跨栈验证-模型训练:临床微调案例研究

Cross-Stack Validation of Language-Model Training: A Clinical Fine-Tuning Case Study

AI 基础设施可观测性

摘要

神经网络训练存在一个预言机问题:运行可以正常收敛并产生可用的模型,而其下方的软件计算出指定以外的内容。几乎所有此类工作都在一个堆栈上运行,因此很少有任何独立的内容可供检查。我们研究独立实现的训练堆栈是否可以充当整个 微调 管道的差分预言机,而不是先前差分测试目标的运算符和推理路径。我们定义了一个轨迹级协议——一个共享规范、跨越算术、模型加载、数据渲染和学习轨迹的交叉检查点,以及堆栈独立性、编排和语言运行时的分离——并将其应用于 PyTorch 和 numbat 下超过 168,574 个临床问答对的 Qwen3-0.6B 的 LoRA 改编,numbat 是一个用 Zig 编写的独立框架,通过六种语言的 C 接口进行本地驱动。在跨越整个 epoch 的 42 个配对评估中,两个堆栈保留的交叉熵平均相差 0.134%,并且四个实现在 epoch 结束时彼此的误差在 0.15% 之内。比较暴露了单一实现开发遗漏的 17 个错误,其中两个在软件工程方面值得注意。对训练模型影响最大的错误位于数字内核之外:临床文本渲染方式不匹配,导致保留损失 0.15,大约是旁边发现的算术错误的 500 倍。并且四个错误只能通过其内存模型与前两种实现不同的语言来实现:跨线程迁移工作的调度程序、对设备内存视而不见的收集器、需要接口缺乏的原语的所有权规则。实现多样性有多个轴,运行时间是其中之一。