要搞AI,存储,通信,计算三者缺一不可。幻方的软件架构优化三大核心技术,正好与其一一对应。

梁文峰说,我们缺的从来都不是钱,而是高端芯片。

幻方官网显示,2022年,公司员工“一只平凡的小猪”一个人就向捐助了1.38亿。你说,这是钱的事吗?

 

为了突破卡脖子,幻方选择了搞AI的另一条路:从软件架构突破。理解了这个战略方向,就不难理解幻方核心技术突破点了。

 

要搞AI,存储,通信,计算三者缺一不可。

幻方的软件架构优化三大核心技术,正好与其一一对应。

 

  • 存储模块,核心技术:3FS
  • 通信模块,核心技术:hfreduce
  • 计算模块,核心技术:hfai.nn

 

杀手锏一:3FS

 

(1) 3FS是什么?

一个用C++写的高性能分布式文件系统。

 

(2) 幻方为什么要搞3FS?

AI训练与推理的业务需求,传统分布式文件系统已经难以满足:

  • 海量数据顺序读(语料输入);
  • 检查点(分步骤重算);
  • 顺序写(模型参数保存);
  • 随机读(特征查询);

 

任何脱离业务的架构设计都是耍流氓。既然已有的分布式文件系统无法满足需求时,幻方就说,那我自己重写一个。

 

(3) 重写后的3FS有多牛逼?

  • 读:8T/s
  • 写:500G/s
  • IO响应:18亿次/s
  • 集群使用率:96%
  • GPU使用率:85%

 

这个项目已开源,感兴趣的同学可在git查看细节。

 

杀手锏二:hfreduce

 

(1) hfreduce是什么?

一个高性能多卡并行通信工具。

 

本质上hfreduce相当于PyTorch中的DistributedDataParallel(DDP),只不过使用CPU做加法运算以计算总梯度,而不是调用其他的集体通信库(CCL),传递梯度到不同的显卡上,再各自计算总梯度。

 

(2) 幻方为什么要搞hfreduce?

还是那句话,任何脱离业务的架构设计都是耍流氓。幻方AI之所以采用CPU来做加法运算,计算总梯度,是因为幻方的主要AI场景是金融行为分析、自然语言处理、生物分子结构预测等。

 

在这些场景中,基本是数据规模大而模型大小适中。换句话说,在A100显卡40G的显存中,完全可以装得下一个完整的模型和批次样本数据。因此,模型的加速主要是依赖大量的数据并行,让尽可能多的显卡参与训练,再同步梯度。

 

(3) hfreduce达到什么效果?

如上图所示,对比传统通信方案,训练速度提高了多少,不用我多说了吧。

 

杀手锏三:hfai.nn

 

(1) hfai.nn是什么?

幻方AI深度学习算子。

 

(2) 幻方为什么要搞hfai.nn?

深度学习框架的流行(如PyTorch,Tensorflow等)极大方便了我们研发设计各种各样的AI模型,而在实际落地的环节中,模型代码往往面临着性能、准确度、资源等各种各样的问题。

 

幻方自研了一系列AI基础设施:3FS,hfreduce之后,同样需要对Pytorch框架进行了深度优化,结合自身集群特点与自身业务特点,对一些常用的AI算子重新研发,提升效率,于是,就有了hfai.nn。

 

幻方按照PyTorch框架风格,在hfreduce的基础上进行进一步封装,使用方法和PyTorch的DDP基本相同,但性能与表现明显比后者更好。

 

(3) hfai.nn达到什么效果?

 

最重要的三个算子:

①LSTM(长短期记忆网络)

画外音:记住重要的,忘记无关的,核心是根据重要性打分。

训练性能提升8倍。

 

②Attention(注意力机制)

画外音:动态关注当下最相关的,核心是QKV。

训练性能提升40%+,推理性能提升30%+。

 

③LayerNorm(归一化)

画外音:把数据拉到均值0,方差1的标准范围。

训练性能提升88%。

 

总结

幻方软件架构三大核心技术,对于幻方的发展,对于deepseek的发展,至关重要。在幻方的官网,在最显眼的地方,是这么描述的:

 

思路,比结论更为重要。

文章来自:51CTO

Loading

作者 yinhua

发表回复