腾讯联合生态伙伴,共同推动业界首个异构硬件编程模型标准立项!

2024-06-19 13:38:31 浏览数 (2)

前言

近期,由腾讯联合中国移动、中国联通、中国信通院、中国科学院计算技术研究所共同发起,在中国通信标准化协会(CCSA)互联网与应用委员会(TC1)推动异构硬件两项行业标准成功立项。

发展历程与难点

在通用处理器漫长发展过程中,逐渐形成了由编程语言、编译器中间表示、指令集架构等构成的复杂的层次化中间层(indirection)模型,通过引入平台无关的中间抽象,兼容不同下层实现的差异,比如处理指令集架构,形成了非常成功的软件生态,其中典型代表就是Java字节码。因此,程序员在开发应用时,基本只需要面向通用编程语言或接口,无需消耗心智在底层实现复杂性上。

在AI 大模型时代,开发者希望无论新一代的GPU硬件设计如何变化,之前用户编写的软件依然可以在不同的芯片上正确运行,但实际上存在两个突出难点:

硬件层面:新硬件通常依赖私有架构及其配套独有的编程模型,难以用传统ISA抽象。

应用层面:仅依靠编程语言与编程接口,很难通过硬件架构无关的方式有效表达加速需求。

这意味着程序员必须重新编写代码,以适配不同的硬件设计,严重增加开发团队成本

积极的信号

在国际上,高通、谷歌和英特尔等公司参与的UXL基金会(UXL Foundation)正计划开发一套软件和工具,支持多种类型的人工智能芯片,让软件代码能够在任何芯片和硬件上运行,增强开发者使用不同GPU硬件的信心。

这是一个积极的信号,它反映了当前人工智能领域中的一个重要趋势:即对跨平台兼容性和标准化的迫切需求。

标准成功立项

在国内,本次腾讯联合多家单位成功立项的这2项行业标准:《智能算力硬件统一编程模型及范式技术要求》和《智能算力硬件统一虚拟指令集技术要求》。前者为开发者提供一套针对不同硬件的统一编程模型及范式标准;后者将定义一套异构硬件的统一虚拟指令集,对异构高性能加速硬件的运算、处理等基础功能进行一致化约束,实现同一应用程序经过一次编译即可在不同异构硬件上运行和迁移。

为AI 软件在不同硬件芯片上迁移提供标准牵引,提升大模型时代的AI应用开发效率。

落地与兼容性

标准成功立项参考了腾讯海量的实战经验,腾讯大数据自研ABO异构编译器对此探索了完全开放的问题域, 比如,对于典型的数据分析、推荐等神经网络加速场景,ABO在自研芯片落地、GPU加速分析和CPU内置加速器等多环节,实现并验证了该方案的可行性与效果。

同时,展现了其对主流框架、模型格式、以及异构硬件的强大支持能力,包括兼容PyTorch、Tensorflow、ONNX等主流框架及相应的模型格式,支持CPU、GPU以及腾讯自研的紫霄处理器等多种硬件平台,使得业务几乎无需对源码或模型结构进行修改,便能在异构平台上运行,并获得显著的性能提升。

业务实践

在腾讯广告推荐场景中,支持联盟粗排等业务异构芯片生产上线,性能超过了厂商原生方案的30%-140%,精排业务也在上线进行中;

在大模型推理场景中,ABO异构编译器支持多种混元子模型,能够平滑运行在多异构芯片上,有效降低平台架构和应用开发者迁移成本,并成功落地文档、大数据、AI数据通路等多个业务;

在AI领域数据通路场景中,支持自研文生图、文本图片相关性模型运行在NPU、GPU和CPU等混合芯片场景。

0 人点赞