搞深度学习的人,应该感谢“祖师爷”Geoffrey Hinton在2012年的尝试。
那一年9月30日,Hinton团队上传了AlexNet在ImageNet视觉识别挑战赛的成绩:
15.3%的错误率,比第二名低了10.8个百分点之多!
之所以能出现如此巨大的飞跃,是因为Hinton团队使用了GPU进行AI运算加速,让神经网络AlexNet的实现成为可能,开启了深度学习大爆发的时代。
那一篇论文的引用量如今已超过8万次,成为深度学习领域引用最高的论文。
Hinton彻底带火了GPU,带火了以计算机视觉为主的医疗AI。连Hinton本人也对AI辅助医疗技术将会迅速成熟充满了信心。
但是,Hinton可能万万没想到,现在搞医疗AI的人,尤其是落地部署和使用医疗AI的人,却做出了一个违背“祖师爷”的决定:
用CPU来做医学影像领域的辅助诊断推理。
医学影像领域,为何要用CPU?
从AlexNet诞生算起,GPU加速技术已发展近十年。为何医疗AI还要选择CPU呢?
能不能落地是一个非常重要的原因。
要知道,用AI辅助医疗诊断不过才出现几年时间,大多数医疗机构可能还没有做好全面迎接医疗AI的准备。
作为最终用户的医院或医疗机构使用AI,与从事AI技术或应用研发的企业推进医疗AI的研究有很大的不同。
从事医疗AI研究的公司和机构,可以快速升级到最新的硬件,用GPU加速AI训练。
但在真正使用医疗AI的医院里,频繁升级硬件的难度很大,如果在过去的服务器中加入GPU之类的AI加速硬件,就势必改造系统,不仅增加成本,也会带来更复杂的部署和应用难题。
倘若能用既有的、基于CPU的硬件架构高效、经济、快捷地进行AI医疗的辅助诊断推理,何乐而不为呢?
一方面,医院无需明显增加系统和人力等成本,也无需大幅修改硬件部署,就能让先进的AI应用更快地部署和投入实战,真正让医疗AI普惠到每个患者。
另一方面,在医学影像AI方面,既有的CPU平台,尤其是英特尔主打企业计算任务的至强(Xeon),也已经做好了准备,自然也就被热心于医疗AI实践的用户们看中了。
那么,问题来了,在GPU原本擅长的领域,CPU的能力真的可以胜任吗?
是时候抛弃对CPU的偏见了
事实证明,只要软硬件配合得当,CPU一样可以实现出色的AI应用效果,尤其是进行准确、快速的AI推理。性能优化到位的话,在这方面的表现就可与GPU相媲美。
举例来说,从去年开始影响全球的新冠肺炎疫情,对医疗机构的快速诊断能力提出了严峻的挑战。国内专注医疗AI应用开发的汇医慧影,就在这个关键时期推出了专攻新冠肺炎CT辅助诊断场景的AI应用系统,而且使用的就是第二代英特尔至强可扩展处理器与英特尔OpenVINO工具套件这一软硬件组合。
结果是,OpenVINO帮助AI模型更好地利用了CPU集成的深度学习加速技术,与新冠肺炎筛查相关的肺部CT影像分析场景,在20秒内就能完成一个数据样本的推理。
除了性能上的提升外,英特尔至强CPU+OpenVINO工具套件,在加速之余也保证了AI模型的诊断精度不变。
其实早在数年前,浙江大学和德尚韵兴就曾与英特尔公司合作,用至强CPU和英特尔的软件优化工具开发过深度学习模型,用于在临床分析甲状腺的超声波影像。
△ 使用深度学习进行的甲状腺结节检测和定性诊断(右)
这种AI辅助诊断的准确度,当时就已经比中国甲等医院的放射科医生至少高出10%。
当然,这并不是说医学影像AI应用会取代医生,而是让影像科医生在辅助下能有更高的工作效率,也可以让经验丰富的医生专注于更复杂的病例。
当然,CPU也仅仅是AI计算硬件中的一种,而非唯一的选择。可它越来越受到医疗AI领域的青睐,必然有更为深刻的原因:
那便是惠民。
CPU让AI医疗更普惠
将“AI+CPU模式”推广到医学影像中,结果就是AI技术更容易落地,被推广,因为用CPU做AI可以减少异构带来的问题,开发和部署的门槛低、上手快。
在国内,许多AI医疗辅助诊断案例也实实在在地说明,用CPU做AI确实降低了医院的成本负担,让经费、人才和资源有限的医院也能用上先进的AI模型。
这些AI模型对不同的医院和患者可是一视同仁的,它让社区医院也能具备和大医院相近的辅助诊断精度,患者也不必因为一些小病赶去大医院,尤其是外地的大医院,从而有望从技术层面上解决老百姓“看病远、看病难、看病贵”的问题。
另一家AI医疗企业江丰生物也发现,目前医疗机构的信息化系统,基本都基于英特尔架构的服务器构建,如果加装GPU将耗费高昂的成本。
通过与英特尔的合作,江丰生物基于至强CPU和深度学习技术开发了结核分枝杆菌智能筛查系统,巧妙利用英特尔CPU多核、大内存的特性,采用多实例异步并发进行处理,最终性能提升到原来的11.4倍。
要知道,目前我国每年新增结核病患者约90万例,属于全球结核病高负担国家之一;但同时我国肺结核患者的治疗成功率又达90%以上,治疗手段已经非常先进。
这说明,问题出在结核病的筛查手段上。
英特尔与江丰生物的合作,就是利用更易于使用的CPU,开发出快速检测病理切片图像的AI方案,大大地提升了医疗机构病理检测的生产力。
这种方案能够保持86.8%的检测准确率,以及88.9%的涂片级分级准确率,80秒内即能完成单例涂片的数字化扫描和涂片定量分级。
△ 结核分枝杆菌辅助筛查技术路线图
江丰生物还基于至强CPU和深度学习技术开发了宫颈液基细胞学筛查系统,宫颈癌是一种女性常见的生殖道恶性肿瘤,在全球女性的恶性肿瘤疾病中,宫颈癌发病率高居第二位。
这个项目在3万多例宫颈液基细胞学数字图像的标注数据上,搭建了目标检测深度学习框架。利用至强CPU和大内存的优势,解决了训练图像尺寸受GPU显存资源约束的问题。用比GPU训练图像尺寸大5倍的图块训练得到的可疑细胞检测模型,综合MAP接近0.43,比用GPU训练得到的模型涨点接近5%。
△ 宫颈液基细胞学筛查系统-技术路线图
江丰这些医疗AI创新成果在落地时,也体现了选择CPU平台的好处——模型的部署和使用都非常方便,从三级医院至基层医院都能快速推广落地。
这样,就能在极大程度上消除病理科医生水平差异带来的问题,病患也能通过AI及时获得更精确的诊断,以及相配套的治疗方案。
CPU做AI计算,它很难吗?
虽然已经有了很多实例,目前仍然有许多人对CPU做AI抱有疑虑。
而这些疑虑,主要集中在计算速度和生态系统这两点上:
例如:CPU做AI计算,训练和推理速度是不是太低了?又比如:同时,AI生态,对GPU架构的支持好像更多哟。
但英特尔,早已为CPU在AI行业的应用,做好了软硬件两手准备。
一方面,针对AI应用的算力和数据加速,英特尔早从数年前就开始布局,从硬件架构上对AI推进了三方面的优化:
在2017年发布的第一代至强可扩展处理器上,导入支持AVX-512高级矢量扩展技术,让CPU单位时间内能处理更多浮点运算任务,用以加速高精度的AI应用;
在2019年发布的第二代至强可扩展处理器上,基于AVX-512技术扩展出了英特尔深度学习加速(DL Boost)技术,支持INT8加速,主攻推理加速;
2020年发布的面向四路和八路服务器的第三代至强可扩展处理器时,为这项技术增添了BF16加速能力,从而兼顾推理和训练的加速;
在2019年推出傲腾持久内存,兼具接近DRAM内存的高性能,以及DRAM内存所不具备的容量、价格和数据非易失优势,让基于CPU的AI系统可以将更大体量的数据缓存在距离CPU更近的地方,加速训练和推理。
△ 英特尔傲腾持久内存200系列
时间到了2021年,上述这些产品已经演进到最新的面向单路和双路系统的第三代至强可扩展处理器,它采用进一步优化的全新微架构,基于10纳米制程工艺生产,并可搭配性能进一步提升的第二代傲腾持久内存。据测试,它在AI性能(INT8实时推理吞吐量)上已能达到第二代至强可扩展处理器的1.74倍。
面向多路服务器的第三代至强可扩展处理器,推理和训练性能也分别可达到上一代产品的1.9倍和1.93倍。
这些测试结果也是新款至强CPU与英特尔AI优化软件工具搭档的成果,与硬件的创新几乎同步,英特尔在软件上主要干了这些事儿:
推出可优化CPU上AI应用性能的基础软件工具oneDNN;
将oneDNN融入Tensorflow和Pytorch等AI框架,将它们改造成面向英特尔架构优化的AI框架;
推出可以在大数据平台上开展AI应用,将大数据与AI无缝对接的Analytics Zoo;
发布集成各种英特尔架构优化能力,更易部署且对图像识别、语义分割、单眼深度估计等几乎所有CV应用提供优化的OpenVINO。
顺带一提,现在连OpenCV都支持调用OpenVINO后端了。(真香!)
如今看来,用CPU做AI,确实没啥可担心的——
甚至在医疗AI行业,这还是个更好的选择。
大概,就连当年积极将GPU引入医疗AI行业的Hinton,也没预料到会是这幅景象:
如今的CPU,正在医疗AI领域大放异彩。