知乎热榜 ( ) • 2024-03-22 12:29
到处挖坑蒋玉成的回答

其实主要差距在硬件本身,软件反而没啥。大模型场景大家都是直接用pytorch的,并不会手写CUDA算子,所以你完全可以绕过CUDA直接支持pytorch。现在torch_npu的适配就是这样的,你import torch_npu之后后面的XX.cuda()会自动变成调用NPU执行计算。目前软件方面主要是两个,其一是其他的一些周边库需要适配,例如vllm,TRT等,另一个是模型结构需要对NPU做算子亲和性优化。当然这两个事情都好办,毕竟包子有肉不在褶上,目前真正用的底层基础库和模型结构一共就那么有限的几种,适配成本可控,基本上做一次就差不多够了。

我们自己的算法中台目前已经对910B做了测试,基本上跟华为方面宣称的性能一致——典型模型的收敛性验证都可以正常通过,做过NPU算子亲和性优化之后,GLM,百川等典型模型,平均每卡相当于A100的80%,没优化直接跑的模型相当于A100的50%。