绕开CPU和内存,你浏览的内容或来自SSD的推荐

绕开cpu和内存,你浏览的内容或来自ssd的推荐
相信不少人都还记得今年ai芯片公司esperanto发布的千核risc-v处理器et-soc-1,随着这款7nm的芯片于第二季度成功流片返回后,esperanto得以在芯片上运行代码,以及尝试新的应用方向,其中之一就是ai-ssd。在近期举办的三星foundry活动上,esperanto公开了自己ai-ssd的概念模型。
个性化推荐系统的挑战
在我们刷短视频、听歌和浏览社交网络时,一部分内容来自于我们已经关注的用户,但绝大多数来自于推荐系统的推送。推荐系统的准确程度很大程度决定了软件的用户体验,也是如今互联网经济系统的命脉。但这类推荐也往往是服务器上消耗最大的ai处理负载,优化推荐系统可以提高推荐系统的速度,减少在服务器上的成本。
dlrm深度学习推荐模型 / meta
谈到推荐系统就不得不谈到嵌入,嵌入是当下推荐系统中关键的组成部分。尽管每家都有着不同的推荐模型,但或多或少都是采用查找嵌入表的方法来实现分类特征的处理。在这个过程中,嵌入表存储在dram中,而cpu对嵌入表进行操作,这就对内存带宽和内存容量提出了双重挑战。
在内存带宽上,像美团和腾讯等厂商纷纷采用多gpu加速的方式,充分利用gpu的带宽,但这种方式依然需要多个gpu或多个服务器的支持才能解决容量问题。固然厂商也可以选择像hbm这种大带宽的内存方案,但带来的成本提升也是巨大的。
根据meta给出的说法,在facebook社交网站的个性化推荐系统中,大规模的嵌入表可达到百万行以上,导致推荐模型的大小达到10gb左右,一个神经推荐模型中所有嵌入表甚至需要tb级别以上的空间。比如meta旗下的instagram已经在开发10tb的推荐模型,而百度的广告排名模型也达到了10tb。这种级别的容量需求对硬盘来说或许足够,但对于内存来说过于奢侈了。
因此为了解决容量问题,不少人也提出了ssd的存储解决方案,目前传统的ssd虽然可以毫不费力地存储下大规模推荐系统,但读取延迟和带宽都要更差一筹,从而显著降低推理的性能。
专为推荐而生的ssd
esperanto与三星合作开发出了一种ai-ssd的概念模型,来研究将所有嵌入表处理全部移到ssd内部会有怎么样的影响,从而省去推荐系统中经过cpu和dram的环节。三星展示了使用esperanto的et-soc-1芯片与其pm9a3 ssd结合的成果。
在ai-ssd中,所有嵌入表都被存储在ssd里,cpu负责所有的用户数据输入和深度神经网络,而ssd内部的et-soc-1负责嵌入表的查询和交互运算。此外由于选择了这种存内计算的方式,最小化了pcie链路上的数据传输,降低了读写的高延迟,最终的分类数据直接交给cpu生成推荐结果。
ai-ssd带宽性能测试结果 / esperanto
测试环节中,esperanto选用了meta的开源推荐模型dlrm,将ai-ssd与传统的cpu-ssd方式进行对比。在不同的模型配置下,ai-ssd实现了10到100倍的读取带宽提升,而且带宽随着使用核心数的上升还能继续线性提升。
要知道在这次测试中,esperanto最多只用到了四个子节点(minion shire),每个节点只有32个核心。而一整个et-soc-1有34个子节点1088颗核心,如果所有计算单元全部用于ssd的话,提升幅度将达到数百倍以上,十分适合数据中心级别的ssd产品。而et-soc-1的扩展性也可以让它缩减核心数,用于一些边缘端的推荐系统。
拿计算换空间
不过即便用上了ai-ssd,这也是一种增加硬件成本的路线,除了不差钱的大公司会利用这种产品外,一些小的互联网应用可能并不会直接选择更换ssd的方式,如此一来,也就只有继续优化推荐模型一途。
佐治亚理工学院和meta的研究院为dlrm提出了一种张量训练压缩的方式,名为tt-rec。该方法通过将嵌入表分为多个小矩阵相乘的方式进行压缩,进一步降低嵌入表的大小,不过这多出来的计算是肯定躲不掉的额外消耗,好在其评估结果足够优秀。
在kaggle和terabyte数据集的测试训练下,tt-rec分别将数据从2.16gb和12.57gb压缩至18.36mb和0.11gb,整体的大小压缩均在百倍以上,甚至可以做到几乎没有精度损失。而多出来的运算则反映到了训练时间上,分别增加了14.3%和13.9%。因此在实际使用中,必须对内存容量、模型精度和训练时间做出一定的取舍。
小结
尽管从推荐系统配置的角度来说,仍有不少可选的解决方案,但存算一体方面的研究已经全面铺开了。存储市场正在迅速与计算市场发生重叠,像三星、西数和希捷等存储厂商纷纷开始了这块的布局,传统的冯诺依曼架构也将被近数据处理替代。

如何将台式机个人计算机硬连线以始终打开
5G时代陶瓷材料有什么商机?
智慧医疗的黑科技了解一下
大学毕业设计一席谈之四十一 压电信号的睡眠检测算法(11)完善程序
关于超软X射线面密度测量仪的介绍
绕开CPU和内存,你浏览的内容或来自SSD的推荐
电气计算:电阻、电压、导线面积、电缆载计算方法
泰尔终端实验室对多款5G终端进行了测试分析
探秘Agilex FPGA,看懂英特尔的技术创新力
谷歌广告营收高歌猛进,人工智能是推动力
硬核工厂!钢厂远程监管,三维组态监控 HMI
默克高性能材料业务更名为”电子科技”, 持续推进战略转型
c语言max函数在哪个库
晶体振荡器详解:晶体振荡器的定义,晶体振荡器的作用和原理,晶体振荡器的基本分类
ADI公司设计工具:ADISimADC性能指标
一名前端工程师的自述
MCM功率电源模块EMC的研究
一文详细了解实时反射内存网络
罗德与施瓦茨第二届渠道精英训练营圆满结束
特斯拉表示Model Y将和Model 3共享70%的车身零部件