[控场AI]
· 5 分钟阅读· 2,907 字

VKORE:仅推理NPU跑通大模型预训练,损失相关性达0.99

VKORE:仅推理NPU跑通大模型预训练,损失相关性达0.99

VIDRAFT 的 VKORE 让 32 块仅推理 NPU 完成 4600 万参数模型从零预训练,损失相关性达 0.99。

VIDRAFT Lab 公布了一项颠覆性实验:通过软件层 VKORE,一批从未为训练设计的仅推理 NPU 完成了语言模型从零预训练,损失曲线与 GPU 基线的相关性达 0.99。VKORE 通过计算图分解、梯度编排软件化和分布式优化器状态管理,在软件层补齐了 NPU 缺失的反向传播通路、双向高带宽内存访问与分布式通信结构,思路被概括为“NPU-as-CUDA”。不过结果仅停留在 4600 万参数、32 芯片规模,向十亿参数扩展时内存带宽、I/O 吞吐和热负载构成主要不确定性。VKORE 目前尚未公开可用,无 Hugging Face、GitHub 或 API 渠道。

VIDRAFT VKORE 在仅推理NPU上完成预训练

VIDRAFT Lab 公布了一项颇具颠覆意味的实验结果:一块原本只为推理设计的 NPU 阵列,在软件层 VKORE 的调度下,完成了语言模型从零开始的完整预训练,其损失曲线与 GPU 基线的相关性达到 0.99。

这不是微调,也不是蒸馏。梯度计算、权重更新、优化器状态累积——这些被业界默认需要 GPU 或专用训练硬件才能完成的操作,全部发生在一批从未为训练工作负载设计过的芯片上。

VKORE 到底是什么

VKORE 是 VIDRAFT Lab 提出的软件定义训练层,目标是把反向传播和优化器状态管理“翻译”成仅推理 NPU 能够执行的指令序列。

它公开演示的里程碑包含三个关键数字:

  • 4600 万参数的语言模型,从零训练(非微调)
  • 运行在 32 块仅推理专用 NPU 芯片上
  • 与 GPU 训练基线相比,损失相关性 0.99

0.99 的损失相关性意味着 NPU 上的训练轨迹与 GPU 训练在统计上几乎无法区分。对于机器学习工程师来说,这个数字比任何架构图都更有说服力——它说明软件层没有引入会改变训练动力学的系统性偏差。

损失相关性指的是训练过程中两条损失曲线之间的皮尔逊相关系数。两条曲线如果逐步下降的节奏、抖动幅度、收敛拐点都高度一致,相关系数就会接近 1。0.99 意味着在每个训练步上,NPU 侧的损失值与 GPU 侧几乎同步起伏,而非仅仅最终收敛到同一水平。

这一点比“最终 loss 相近”苛刻得多。最终 loss 相近可能来自完全不同的训练动力学——例如一方前期快后期慢、另一方持续匀速。损失相关性 0.99 则要求整条轨迹在统计上不可区分,这通常意味着梯度方向、学习率调度、批量归一化等各环节都没有被软件层引入系统性偏差。因此 ML 工程师通常把这一指标视作判断训练保真度的硬证据。

软件如何补上硬件的缺口

仅推理 NPU 天然缺少三样东西:反向传播的硬件通路、高带宽双向内存访问、以及分布式训练所需的通信结构。VKORE 的思路是在软件层逐一补齐。

具体来说,它的工作方式可以拆成三层:

计算图分解——把标准训练循环中的前向、损失计算、反向和优化器步,拆解为 NPU 原生能执行的算子(矩阵乘法、激活函数、逐元素运算),绕开 CUDA 专有原语。

梯度编排软件化——由于芯片没有专用的反向传播通路,VKORE 通过软件级调度在芯片阵列上管理梯度流动与累积。

分布式状态管理——动量缓冲、方差估计等优化器状态,通过软件协调的内存管理在 32 芯片配置间同步,而非依赖硬件原生的 all-reduce。

VIDRAFT 把这套思路称为“NPU-as-CUDA”:把 NPU 集群当作通用训练底座,用软件补偿硬件没原生具备的能力。这个方向与早期 ML 框架在 GPU 加速成为标准之前对 CPU SIMD 单元的抽象有相似之处,只是方向相反——这次是把专用硬件通过软件向上泛化。

CUDA 专有原语指的是 NVIDIA 在 CUDA 平台上提供的底层训练算子,例如 cuBLAS、cuDNN、NCCL 中的特定内核,以及依赖 Tensor Core 的融合算子。这些原语与 NVIDIA 硬件绑定,很难直接移植到非 NVIDIA 芯片上。

VKORE 的做法是绕开这一层:把训练循环拆解成矩阵乘法、激活函数、逐元素运算这些几乎所有 NPU 都原生支持的通用算子,再在软件层重新编排它们完成反向传播。这相当于重新发明一套跨硬件可移植的训练指令集,代价是软件复杂度大幅上升、可能损失部分硬件级别的性能优化空间。这一权衡是“NPU-as-CUDA”路线能否在规模上成立的核心变量之一。

基准数据与尚未回答的问题

VIDRAFT 公开的数字集中在一点上:

指标结果
模型规模4600 万参数
硬件32 块仅推理 NPU
训练任务语言模型从零预训练
对比 GPU 的损失相关性0.99

单看这张表,结论很清晰。但覆盖面也坦诚地标出了边界:结果停留在 4600 万参数级别。当模型规模向十亿参数推进时,内存带宽、持续 I/O 吞吐和热负载都会变成更严苛的约束。仅推理优化的芯片很少为大规模训练持续数小时甚至数天的高带宽内存访问而设计。

换句话说,软件抽象能弥补功能缺口,但未必能弥补物理限制。这是 VKORE 这条路线目前最大的未知数,也是判断它能否从演示走向生产的关键。

内存墙指的是当芯片算力增长快于内存带宽增长时,实际性能被内存访问速度而非计算能力卡住的现象。在训练场景下,这一问题尤为突出:反向传播需要保存前向各层的激活值、梯度本身需要读写、优化器状态(如 Adam 的动量与方差)通常占用模型参数数倍的显存。

仅推理 NPU 的设计目标是低延迟、低功耗的单向前向计算,其内存子系统通常针对权重读取优化,而非训练所需的高带宽双向读写。当模型从 4600 万参数扩展到十亿参数级别时,优化器状态的体量会先于算力触及这一瓶颈,成为 VKORE 软件编排难以绕过的物理限制。

现在能用吗

目前 VKORE 和相关预训练框架尚未公开可用。来源报道中没有披露 Hugging Face 仓库、GitHub 链接或 API 端点。

如果 VIDRAFT 后续开放工具,基于其现有公开渠道,最可能的落地位置是 Hugging Face Hub(模型检查点或训练配置)、GitHub(VKORE 软件层或示例训练脚本)、以及兼容 OpenAI 的 API(结果模型的推理访问)。

常见问题

NPU 现在能完全替代 GPU 做训练了吗?

以当前公开证据来看,还不能下这个结论。0.99 损失相关性成立于 4600 万参数、32 芯片的配置。真正的问题是:当模型和数据集规模扩大几个数量级时,VKORE 的软件编排能否维持同等的保真度和吞吐。仅推理硬件的内存墙和热约束是真实的工程挑战,在大规模场景下尚未被公开回应。

“仅推理 NPU”在这个语境下指什么?

指那些为高效执行已训练模型前向传播而设计的芯片——低延迟、低功耗的矩阵运算,面向部署场景。它们通常不具备梯度计算的硬件支持、高带宽双向内存访问模式,以及分布式训练所需的通信结构。VKORE 的贡献是在软件层把这些能力补上,叠加在芯片已有的能力之上。


对于关注训练基础设施演进的人来说,VKORE 的价值不在于“NPU 取代 GPU”这个过于简化的叙事,而在于它提出了一个可验证的问题:训练与推理的硬件边界,有多少是物理决定的,又有多少只是软件栈尚未覆盖的空白?4600 万参数上的 0.99 是一个起点,而非终点。

#VKORE#NPU预训练#VIDRAFT#仅推理NPU#损失相关性#软件定义训练#NPU-as-CUDA
分享:

相关推荐