随着生成式 AI 技术得到广泛应用,算力产业正从“计算”迈向“智算”,这一变化给算力产业带来哪些挑战?不同应用场景对算力芯片的运算能力有何需求?如何降低 AI 算力使用门槛?近日,InfoQ《极客有约》邀请到了大禹智芯产品及解决方案负责人余曦老师,为大家分享《从计算到智算,如何降低 AI 算力使用门槛?》。
以下为访谈实录,完整视频参看:https://www.infoq.cn/video/2RLlk4XePkSXUNU4eQIw
姜雨生:欢迎大家来到 InfoQ 极客有约,我是今天的特邀主持人,微软软件工程师姜雨生。本期直播,我们邀请到了大禹智芯产品及解决方案负责人余曦老师来给我们做分享。今天的直播主题是《从计算到智算,如何降低 AI 算力的使用门槛?》。先请余曦老师,给大家做一个简单的介绍。
余曦:大家好,我是余曦,来自大禹智芯。目前,我在公司负责产品和解决方案。非常高兴今天有机会与大家分享我们在 AI 智算中心的经验,包括我个人在这一领域的想法和未来的思考。
我简要介绍一下大禹智芯。我们成立于 2020 年中旬,是国内最早专注于 DPU(数据处理单元)产品的公司之一。我们在技术领域涵盖了底层硬件,包括芯片和 FPGA 逻辑,以及硬件的不同形态,例如网卡。此外,我们拥有一支强大的软件团队,负责将 DPU 上的各种硬件能力整合到我们的 DPU 操作系统中。通过这个操作系统,我们可以开发应用软件,充分发挥底层硬件的性能。
除了完整的 DPU 产品,包括硬件和软件,我们还开发了一些与应用相关的组件,与编排系统集成。这些编排系统包括云环境下广泛使用的 OpenStack 和 Kubernetes 等。在编排系统的基础上,我们还提供了一层服务,面向那些没有自己云管理平台但希望充分利用我们产品的用户。为了满足这一需求,我们开发了一个裸金属服务管理平台,结合了我们改进过的 OpenStack 和 DPU 卡,使用户能够快速将物理服务器转化为云化的裸金属实例。
数据中心变迁历程
姜雨生:您在过去十年间参与了国内多个大型互联网云计算厂商数据中心网络架构的设计和建设,能分享下过去十年数据中心的变迁历程吗?主要可以分为哪几个阶段?
余曦:在过去的十几年里,我一直投身于互联网行业的数据中心领域。我的经历可以大致分为三个阶段。
首先是物理机阶段,这个阶段网络侧的需求相对简单。当时,主要问题是如何在物理机状态下建立一个数据中心,以充分利用物理带宽。在这个阶段,传统的二层生成数协议等都被推翻,以实现带宽的最大化利用。这个物理机时代持续了很长时间。
第二阶段大约在 2012 年到 2014 年之间,即从物理机时代转向了云计算时代。这意味着从物理机向云计算或云数据中心的转变。云数据中心可以分为小型企业级云数据中心和大型大规模云计算中心。从设备厂商的角度来看,可以分为企业级数据中心和大规模数据中心(MSDC),MSDC 主要服务于大型公有云场景。我们的工作主要集中在大规模数据中心这个领域,面临着如何支持从几百台、1000 台规模扩展到数万、十万甚至几十万的台的巨大挑战。
在这个规模扩展的过程中,出现了许多问题。一个重要的变化是,原先与网络相关的功能都集中在数据中心交换机层面,但随着云计算的发展和规模的扩大,所有功能开始下沉到服务器端,通过软件提供。采用软件方式提供这些功能有几个好处:
第一点是关于灵活性和自主性。与硬件相比,软件更具灵活性,能够根据需要实现功能,这使得它更加灵活和自主。
第二点涉及到软件角度与云计算资源的充分耦合。在云计算中,计算、网络和存储是三个关键组成部分。网络是基础,同时也连接了计算和存储。在计算和存储方面,需要快速将它们紧密结合,并且要具备灵活性。然而,这在网络方面面临许多挑战。因此,我们看到许多功能从传统的交换机层面逐渐迁移到主机上来实现。这也是为什么 DPU(数据处理单元)或智能网卡变得非常重要的原因。因为在所有功能下沉到主机后,主机会面临巨大的压力。那么,如何解决这种压力?必须引入一些新的组件来帮助主机处理网络中的复杂流程,特别是在大型云场景中的复杂流程。这就导致了像智能网卡和 DPU 这样的组件在云计算中逐渐崭露头角。
此外,还有一点需要注意的是,在传统的云计算场景下,计算资源主要围绕 CPU 提供。但随着广泛应用和需求的变化,逐渐引入了异构计算组件,包括 FPGA、GPU 以及专门用于特定算法的 AI 芯片。这些组件逐渐融入了云计算场景,与 CPU 一起提供算力,这在过去是非常不同寻常的。同时,这也为现在被称为智算中心和 AI 计算领域的发展提供了雏形。
第三阶段是云计算服务逐渐与智算服务(或异构算力服务)相结合,形成了我们现在所谈论的智算中心。在智算中心内部,有一个重要组成部分,即高性能网络。当我们与客户讨论智算中心时,我们强调从网络的角度看,智算中心实际上分为两个网络:服务网和参数网(或计算网)。
从服务网的角度来看,它通过这个网络将智算中心内部的计算资源,无论是 CPU 的计算能力还是 GPU 或其他异构计算资源,以云服务的形式提供出去。这个网络承载了向智算中心内的云服务提供计算资源的角色。
参数网(或计算网)的主要作用是通过网络建立一个高速通道,以便计算单元之间进行快速的数据交互。这个网络在云计算数据中心的后期阶段主要存在于小规模存储场景中。例如,在国内引入 RDMA(Remote Direct Memory Access)应用时,这个应用主要基于存储场景,后端存储集群通过 RDMA 技术提高吞吐量、降低延迟,从而提高云上云盘的整体性能。当引入这些计算单元后,计算单元也需要一个高性能网络来支持数据传输。因此,高性能网络从存储环境逐渐迁移到了智算中心内的参数网。这实际上是一个演进的过程。
姜雨生:数据中心是算力的最终载体,在算力需求日益增长的当下,传统数据中心面临哪些挑战?我们需要什么样的数据中心?
余曦:参数网(或计算网)现在面临着巨大的挑战,因为这个网络有几个极致的要求。首先是吞吐量必须大,且从微观角度看,它要求吞吐量呈波浪形,但从宏观角度看,它应该一条直线。这意味着网络流量需要一直保持在最大带宽的状态,这是一个挑战。其次,在网络趋于跑满的情况下,仍然需要为上层应用提供良好的传输环境。传输环境涉及两个维度:丢包和延时。不同应用可能对丢包的容忍度不同,有些应用可以接受一些丢包,而有些则需要零丢包。延时也是一个重要因素,因为在数据交互中,任务的开始必须等到上一个阶段的数据交互完成。这意味着等待时间取决于最后一个任务完成的时间,而不是第一个任务完成的时间。因此,尽量减少等待时间,使数据交互在相近的时间内完成,算力单元的能力要求非常高。
这就要求网络在三个方面都要表现出色,即延时、吞吐和规模。然而,传统的 TCP 网络在这三个方面通常表现为一个狭窄腰形状的等腰三角形,延时、吞吐和扩展性的平衡难以达到。现在的挑战是将 RDMA 网络调整成类似的形状,即提高吞吐、降低延时,并改善规模性能。这对所有相关方都是一个巨大的挑战。
最近的市场变化表明,IB(InfiniBand)网络从原来的 HPC(高性能计算)领域突然爆发出来,这部分原因与高性能网络相关。在 HPC 场景下,IB 网络能够满足大型模型场景的需求,因此它受到了关注。然而,现在越来越多的用户,特别是在国内,开始探讨以太网是否能够提供与 IB 相似的性能和能力。
不同场景对算力芯片的运算能力有何需求?
姜雨生:针对不同的应用场景,算力芯片的运算能力需求有何不同?能分享几个算力芯片在实际应用中的案例吗?
余曦:不同的应用场景对算力芯片的运算能力有不同的需求。通常,GPU 的算力能力以 Flops(浮点运算每秒次数)来衡量,而 Flops 可以在多个维度上划分,包括 INT8、FP16 以及不同精度的整数计算(INT16、INT32、INT64 等)。不同厂家可能对这些精度有不同的定义。因此,在选择算力芯片时,不一定需要所有精度都非常强大,只需满足特定应用的需求即可。
在与行业用户进行沟通和交流时,发现不同行业和应用对算法精度和性能要求不同。举例来说,有一家专门做推荐算法的公司,他们的模型训练场景与其他行业完全不同,更轻量化。虽然他们的数据量很大,模型也非常先进,但他们需要的精度更低。这是因为他们的业务要求如此。从推荐算法的角度来看,用户的行为和兴趣可以导致不同的推荐结果,因此他们更注重轻量化的模型。推荐算法是基于用户的先前行为和兴趣来进行的。从法律和法规的角度来看,用户的画像不能太精确,以避免直接关联到特定个人,因为这在法律上通常是不允许的。因此,推荐算法的设计并不一定需要极高的精度,只需要达到所需的效果即可。
在不同领域,比如医疗生物制药领域,不同阶段的计算需求也不同。在医疗生物制药领域,每个阶段需要不同的算力和算法类型。这些需求可以使用不同的集群来处理,类似于流水线的概念。因此,在特定场景下,可以使用特定的算力单元来实现更高效的处理。
一些公司专注于提供特定场景的 AI 算力,而不仅仅是通用的 GPU。他们的逻辑是根据特定场景和需求,为算法提供定制化的算力,以加速计算。虽然在其他方面可能相对较弱,但这种方法在特定应用场景中有着广阔的前景和市场机会。
姜雨生:有数据提到,我国算力利用率仅 30%,大量算力仍处于闲置状态,如何才能提升算力的利用效率?算力产业链的各个相关方需要做哪些工作?
余曦:早在很早以前,一些大型运营商就提出了算力网络或算网融合的概念。这意味着将分散的算力资源联合起来,以便共同提供这些算力资源,并在这一过程中,网络的角色变得非常关键。同时,标识和管理算力资源、调度计算任务也变得至关重要。
运营商和一些边缘计算相关的公司已经在这个领域有了一套有效的算网融合模型和实施方法,可以通过虚拟网络来构建算力网络,并在其上调度不同的算力单元,以提高其利用率。当然,在实现这一目标时,还需要解决一些挑战。举个例子,与云计算领域的情况进行对比。最初,大家都在同一个云上部署应用。后来,人们开始将应用分散在不同的云上,因此出现了多云平台或多云调度的概念。同样,对于算力资源,我们也需要类似的多云平台,将不同的算力资源整合在一起,并提供一种选择不同资源的方式。这将有助于提高整体算力资源的利用效率。
姜雨生:有观众提问,现在的大小模型、网络模型是怎么样的呢?
余曦:对于现在的大小模型和网络模型,实际上主要涉及到网络支撑的算力节点数量。越大的模型需要更多的算力节点,这也会带来对网络的更大挑战。但总体来说,网络的组建逻辑基本相同,只是需要考虑容量更大的交换机、网络拓扑结构等因素。不管是大模型还是小模型,它们对网络的要求都是一致的,主要包括以下三个方面:吞吐量、延迟和可扩展性。这些因素在不同规模的模型中都具有重要意义。
姜雨生:观众提问,研发算力芯片,芯片的质量和稳定性怎么保证?
余曦:我们的公司在算力芯片领域有着不同的专注点。我们的主要工作是集中在网络处理单元上,任务是协助算力芯片进行数据搬迁操作。具体来说,我们的任务是帮助算力芯片快速而高效地将数据从一个地点(点 A)搬移到另一个地点(点 B)。这个领域是我们的专业领域。
从“计算”到“智算”
姜雨生:随着生成式 AI 技术得到广泛应用,算力产业正进入产业“智算”时代,从“计算”到“智算”,最大的变化是什么?如何应对算力需求的变化?
余曦:实际上,最大的变化在于从以 CPU 为主的算力提供服务者,演变为 CPU 周围有各种专业的辅助芯片,例如 GPU、FPGA、AI 芯片等,每个芯片都有自己的专长领域。这些辅助芯片与 CPU 一起组成了一个多样化的算力集群,以多种不同的算力方式提供服务,这就是现在智算中心的基本逻辑。
从我们的角度来看,我们的主要目标是在智算中心中补充整个产品线。我们更专注于网络方面的工作,因此在智算中心的角度来看,我们的任务是将服务网上的工作卸载到 DPU 卡上,以提高处理效率并创建更多的云服务。在参数网络方面,我们正在开发基于 RDMA 的底层网络支持,虽然它不同于传统 RDMA 网络,但我们的实现能够让 RDMA 应用或网络达到更高效的状态,就像之前提到的那个满三角形的状态一样。
姜雨生:当前企业在使用算力时主要存在哪些门槛?怎样才能降低算力的使用门槛?
余曦:当前,在智算中心领域,企业内部搭建一个算力平台的门槛相当高。这种困难可以分为几个层面。首先是基础设施,包括服务器部署、网络部署以及基础环境的调试和优化。这些任务需要大量的人力、物力和精力,而许多企业缺乏专业的基础设施人员,他们更关注应用层面,即如何使用现有的硬件来运行模型进行计算。这是他们擅长的,但他们缺乏底层基础设施的技能。
对我们来说,我们提供了一种成熟的解决方案,利用我们自己的裸金属云解决方案,使客户能够在底层基础设施层面快速构建基于裸金属的算力单元。例如,对于一个典型的 AI 服务器配置,如两台机器、每台机器 8 张 GPU 卡,客户需要快速将其投入使用。除了底层的网络配置外,还需要建立许多服务,例如客户需要能够灵活选择使用多少台机器以及这些机器上的技术环境,如操作系统、CUDA 等。通过我们提供的完整的裸金属云解决方案,客户可以在完成底层物理层的网络配置后,快速实现服务化,从而加速他们的计算工作。
通过这种服务化方式,客户可以像在云计算场景下选择云实例一样,快速启动一台机器或一组机器。在选择过程中,他们可以自由选择操作系统的版本、包含的 CUDA 版本以及各种框架组件等,这些选项都以服务的形式提供。例如,如果客户需要 8 台 8 卡的机器,他们只需在 Web 界面上点击几下,几分钟内就能启动整个服务,完成后可以迅速释放资源,供其他同事或部门使用。这实际上展示了我们现在具备的快速交付的能力,构建了一个称为智算中心的底层基础设施。
姜雨生:大模型时代的到来,会让 AI 芯片市场格局将发生巨变吗?您会用哪几个词来形容当前的行业状态?
余曦:我认为目前国内 GPU 行业正迎来一个巨大的发展机遇。根据我们之前的沟通,国内的 GPU 厂商都非常看好未来的发展前景,并全力以赴开发下一代产品。对于上一代产品或现有产品,它们都存在一些不够满意的方面,例如跨机通信能力和算力、性能覆盖程度等。我们预计,可能在今年年底或明年上半年,国内将涌现出大量新一代的 GPU 产品,这将为国内的技术和算力平台建设增添新动力,这是一个明显的趋势。
姜雨生:有观众提问,听说 AI 的网络用的是 RoCEv2?
余曦:在大规模的 AI 网络部署中,目前是不使用 RoCEv2 的,因为存在一些问题,尤其在 AI 场景下这些问题更加显著。首先,RoCEv2 存在固有的 PFC(Priority Flow Control)问题,在整个 AI 场景下特别明显。具体来说,RoCEv2 在以下两个方面存在问题:
扩展性问题: RoCEv2 无法支持大规模部署,这在大规模 AI 网络部署中成为一个明显的障碍。
PFC 问题:PFC 可能会导致一些问题,例如死锁(DEADLOCK),这些问题妨碍了其扩展性的提升。
因此,目前来看,如果从大规模 AI 网络的实施角度考虑,通常有两种主要途径:
第一种途径: 大型互联网公司内部自主研发以太网协议实现。这种自研实现可以支持非常大规模的 RDMA 网络部署,并且通常包含一些特殊定制的功能。这些公司通常将这些实现视为自家的核心竞争优势,因此对外部是不公开的,你只能看到一些相关的研究论文和借鉴的参考资料,但无法获得具体实现的细节。
第二种途径: 基于英伟达的 InfiniBand(IB)网络。目前,IB 已经被证明可以在大规模 AI 算力网络中提供支持。
因此,包括国内 DPU 制造商在内的行业内企业都计划基于 DPU 实现端到端的高性能网络,该网络基于以太网,但能够提供类似 IB 网络的性能支持。这是当前的主要趋势之一。
姜雨生:有观众提问,大模型训练算力和推理算力消耗量是多少?”
余曦:在讨论大模型的训练和推理时,实际上涉及到两个不同的场景:训练和推理。训练阶段是模型自身在背后进行学习和优化的过程,而推理阶段是将已训练好的模型拿到前端,用于为外部提供服务。
在不同的时代和情境下,训练和推理所需的算力可能存在差异。例如,目前大型模型的训练可能需要数千张卡并耗费大量算力,但一旦训练完成并生成了可用的模型,模型在前端提供推理服务时,算力的消耗可能会因前端的服务需求而变化。
这个问题可以从扩展性和分发性的角度来看待。训练阶段通常需要大量计算资源,但通常是固定的。然而,在推理阶段,算力需求是动态的,并且会随着用户数量的增加而增加。因此,前端推理所需的算力可能会远远超过训练阶段的计算能力。
姜雨生:有观众提问,传统网络转到英伟达的 IB 网络,需要改造什么的么 会影响算力么?
余曦:在传统网络和 InfiniBand(IB)网络之间,一般没有改造的情况,通常是进行全新建设。现在我们主要看到的是全新建设的场景,例如,如果要建立一个智算中心以及智算中心后面的参数网络,通常是从头开始建设,而不是对现有数据中心进行改造。
从两个维度来看,这一决策是有其原因的:
协议不同:传统网络通常使用以太网协议,而 InfiniBand 是一种不同的协议。除非你使用英伟达自家的 Spectrum 芯片环境,它可以进行以太网和 InfiniBand 之间的切换,否则你不能在传统以太网交换机上切换到 InfiniBand 网络。
带宽需求不同:传统环境中,通常的带宽需求不是特别高。例如,在云环境中,大多数情况下使用的是 25G 以太网。然而,在参数网络中,通常以 100G 或 200G 的带宽为起点。如果要实现顶级配置,那么需要使用 400G 网络来支持整个计算过程。因此,在原有的 25G 网络下直接进行改造以支持 200G 或 400G 网络是不现实的,因此需要进行全新建设。
高性能网络对于 AI 智能领域至关重要
姜雨生:大模型的爆发式增长给算力芯片带来哪些挑战?芯片厂商如何才能更好地满足大模型厂商的需求?大禹智芯有哪些实践经验可以分享下?
余曦:这方面的经验主要涉及定制化。就定制化而言,在大模型的场景下,定制化的需求相对较少。因为只要你的支持足够完善,大模型的应用层、中间层(也可以称为中间件层或 API 层)以及底层硬件之间的解耦非常强。这种情况下,在大模型的角度来看,应用层、中间层以及底层硬件之间的明确划分是相当好的。尽管在整个 AI 大模型的运行过程中,这三者之间的协作非常紧密,耦合度很高,但从每一层到每一层的界面角度来看,划分是相当清晰的。
我们主要从底层入手,专注于底层的开发。但我们的目标是为中间层或通信层以及上层应用提供服务,使它们不必感知我们底层所做的工作。尽管在我们底层可能有一套独立的实现,但对于上层应用来说,这些实现是透明的,不需要感知。从这个角度来看,对于那些只关注上层应用的用户来说,他们实际上不太关心底层的实现细节,只要能够达到所需的效果即可。在这种情况下,定制化的功能需求较少。
然而,也存在一些特殊情况,即客户从上到下都关心,并且更加偏向底层的场景,可能会需要一些定制化的功能。但需要指出的是,这些定制化的功能实际上都是围绕着刚才在大模型网络中提到的那三个角,即吞吐量、延迟和扩展性展开的。不同的实现机制可能会在这三个角度上有一些不同的理念。
目前,我们正在与一些头部客户讨论与实现相关的理念,希望能够汲取彼此的长处,将我们的优秀想法输出给这些头部客户,共同建立一个良性的环境,真正打造出一个高性能的算力网络。
姜雨生:对于国内芯片厂商来说,这其中有哪些机遇与挑战?这个过程中,大禹智芯的技术产品策略是否发生了变化?
余曦:我们的产品路线从一开始就是围绕着智算中心的两张网络来制定的。就目前而言,我们在服务网络方面已经处于一个非常成熟的状态,通过 DPU 实现了云服务的底座,这一方面已经准备就绪。现在我们正专注于投入更多的精力和资源,来加强我们所说的“算力网”,也就是背后的计算网络。在此方面,我们已经进行了许多关于算力网络的讨论,而现在我们正全力以赴地投入到算力网络的发展中。
未来的愿景是,通过我们的大禹智芯网卡,能够与国家计算能力布局中的两张网络共同发挥作用。一张网络是服务网络,用于构建智算中心的云底座,另一张网络是参数网络,用于构建智算中心内部的高性能计算网络。这两张网络将协同合作,为未来的计算需求提供支持。
姜雨生:下一步,大禹智芯有哪些技术探索和产品规划?有哪些技术难题是我们在未来需要解决的?
余曦:我们计划在明年上半年推出我们自己的全新算力网络产品。我们对此进行了前期的研发工作。
姜雨生:有专家提到“技术突破是算力发展的根本”,您怎么看?展望未来,我们应该如何更好地推动算力技术的发展和应用?
余曦:在 AI 芯片领域,我们希望国内的芯片制造能力能够有明显突破。目前,AI 领域主要包括计算、存储和网络三个方面。在计算方面,国内已经有一些产品,特别是 CPU 和 GPU。然而,底层芯片性能的提升仍然是关键。这对于像我们这样专注于网络层的 DPU 制造商以及 GPU 制造商来说,都是一个积极的因素。
从技术实现的角度来看,高性能网络对于 AI 智能领域至关重要。数据传输和计算之间的时间占用比例几乎是 1:1,尤其是在处理大型模型时,网络的占比可能更高。因此,提升网络能力将提高智算中心内所有算力单元的使用效率。在这个领域,有一些有趣的网络协议、想法和概念,需要一个有利的环境来实现。这个实现过程需要各方合作,将各自的能力输出,以建立一个有利于实验和创新的环境。解决问题是一个从 0 到 1 的过程,现在我们正在解决 0 到 1 的问题。一旦 0 到 1 的问题解决了,我们可以再看如何解决 1 到 10 的问题,需要哪些步骤和阶段。因此,我们希望有一个领导者,并创造一个培育创新的环境,让国内的合作伙伴能够将他们的想法付诸实践,验证效果,并确定未来的方向。这对于整个行业的发展非常重要。
姜雨生:目前 DPU 行业的就业情况如何?需要哪些方面的人才?
余曦:我们以 DPU 整个的技术栈来看,可以分为四个主要部分:硬件、软件、调度系统和业务平台。
硬件层:硬件层涉及芯片能力,比如做自研芯片或 FPGA 就需要找相对应的团队,像 FPGA 层实现了网络和存储侧的功能,在这之上就是软件层的部署。
软件层:软件层包括操作系统层和内核层的优化以及定制化。此外,还有与开发框架相关的工作,例如 DPDK、SPDK。有这些开发框架开发经验的人才也能在参与到 DPU 这个行业之中。
调度系统:这一层涉及与云服务相关的组件,包括 OVS、VPP、存储组件(如 Ceph 等)。与这些组件相关的团队也可以在 DPU 行业中发挥作用。
业务平台:业务平台层包括与云平台、云管理以及一些开发相关的团队。这些团队可能在开发类似于 OpenStack、K8s 等开源项目以及云平台上的业务平台等方面发挥作用。
所以,从技术栈的角度来看,可以说我们将原本在云上的完整技术栈全部迁移到了 DPU 领域。这意味着无论是从底层硬件到上层的业务平台,都在 DPU 行业有所涉及。
嘉宾介绍
特邀主持:
姜雨生,微软软件工程师,负责微软资讯业务与 GPT 集成,曾负责微软广告团队基础设施搭建与维护工作。
嘉宾:
余曦,大禹智芯产品及解决方案负责人。曾任当当网首席网络架构师、思科大中华区互联网事业部总监、Fungible 中国首席架构师,在数据中心网络、云计算基础设施服务、高性能网络等领域有丰富的实践经验。近 10 年间主要参与了国内各大型互联网云计算厂商数据中心网络架构的设计和建设,见证并参与了国内数据中心从物理机时代向云计算时代发展过程中计算、网络、存储等基础设施的各个发展阶段。
评论