扫码打开虎嗅APP
推广
2024-07-18 11:53来源|微信公众号:InfoQ
作者|郑思宇
在某三甲医院的门诊中,汇集了来自各地的病患,医生们正在以最专业的能力和最快的速度进行会诊。期间,医生与患者的对话可以通过语音识别技术被录入到病例系统中,随后大模型 AI 推理技术辅助进行智能总结和诊断,医生们撰写病例的效率显著提高。AI 推理的应用不仅节省了时间,也保护了患者隐私;
在法院、律所等业务场景中,律师通过大模型对海量历史案例进行整理调查,并锁定出拟定法律文件中可能存在的漏洞;
……
以上场景中的大模型应用,几乎都有一个共同的特点——受行业属性限制,在应用大模型时,除了对算力的高要求,AI 训练过程中经常出现的坏卡问题也是这些行业不允许出现的。同时,为确保服务效率和隐私安全,他们一般需要将模型部署在本地,且非常看重硬件等基础设施层的稳定性和可靠性。一个中等参数或者轻量参数的模型,加上精调就可以满足他们的场景需求。
而在大模型技术落地过程中,上述需求其实不在少数,基于 CPU 的推理方案无疑是一种更具性价比的选择。不仅能够满足其业务需求,还能有效控制成本、保证系统的稳定性和数据的安全性。但这也就愈发让我们好奇,作为通用服务器,CPU 在 AI 时代可以发挥怎样的优势?其背后的技术原理又是什么?
AI 时代,CPU 是否已被被边缘化?
提起 AI 训练和 AI 推理,大家普遍会想到 GPU 更擅长处理大量并行任务,在执行计算密集型任务时表现地更出色,却忽视了 CPU 在这其中的价值。
AI 技术的不断演进——从深度神经网络(DNN)到 Transformer 大模型,对硬件的要求产生了显著变化。CPU 不仅没有被边缘化,反而持续升级以适应这些变化,并做出了重要改变。
AI 大模型也不是只有推理和训练的单一任务,还包括数据预处理、模型训练、推理和后处理等,整个过程中需要非常多软硬件及系统的配合。在 GPU 兴起并广泛应用于 AI 领域之前,CPU 就已经作为执行 AI 推理任务的主要硬件在被广泛使用。其作为通用处理器发挥着非常大的作用,整个系统的调度、任何负载的高效运行都离不开它的协同优化。
此外,CPU 的单核性能非常强大,可以处理复杂的计算任务,其核心数量也在不断增加,而且 CPU 的内存容量远大于 GPU 的显存容量,这些优势使得 CPU 能够有效运行生成式大模型任务。经过优化的大模型可以在 CPU 上高效执行,特别是当模型非常大,需要跨异构平台计算时,使用 CPU 反而能提供更快的速度和更高的效率。
而 AI 推理过程中两个重要阶段的需求,即在预填充阶段,需要高算力的矩阵乘法运算部件;在解码阶段,尤其是小批量请求时,需要更高的内存访问带宽。这些需求 CPU 都可以很好地满足。
以英特尔举例,从 2017 年第一代至强® 可扩展处理器开始就利用英特尔® AVX-512 技术的矢量运算能力进行 AI 加速上的尝试;再接着第二代至强® 中导入深度学习加速技术(DL Boost);第三代到第五代至强® 的演进中,从 BF16 的增添再到英特尔® AMX 的入驻,可以说英特尔一直在充分利用 CPU 资源加速 AI 的道路上深耕。
在英特尔® AMX 大幅提升矩阵计算能力外,第五代至强® 可扩展处理器还增加了每个时钟周期的指令,有效提升了内存带宽与速度,并通过 PCIe 5.0 实现了更高的 PCIe 带宽提升。在几个时钟的周期内,一条微指令就可以把一个 16×16 的矩阵计算一次性计算出来。另外,至强® 可扩展处理器可支持 High Bandwidth Memory (HBM) 内存,和 DDR5 相比,其具有更多的访存通道和更长的读取位宽。虽然 HBM 的容量相对较小,但足以支撑大多数的大模型推理任务。
可以明确的是,AI 技术的演进还远未停止,当前以消耗大量算力为前提的模型结构也可能会发生改变,但 CPU 作为计算机系统的核心,其价值始终是难以被替代的。
同时,AI 应用的需求是多样化的,不同的应用场景需要不同的计算资源和优化策略。因此比起相互替代,CPU 和其他加速器之间的互补关系才是它们在 AI 市场中共同发展的长久之道。
与其算力焦虑,不如关注效价比
随着人工智能技术在各个领域的广泛应用,AI 推理成为了推动技术进步的关键因素。然而,随着通用大模型参数和 Token 数量不断增加,模型单次推理所需的算力也在持续增加,企业的算力焦虑扑面而来。与其关注无法短时间达到的算力规模,不如聚焦在“效价比”,即综合考量大模型训练和推理过程中所需软硬件的经济投入成本、使用效果和产品性能。
CPU 不仅是企业解决 AI 算力焦虑过程中的重要选项,更是企业追求“效价比”的优选。在大模型技术落地的“效价比”探索层面上,百度智能云和英特尔也不谋而合。
百度智能云千帆大模型平台(下文简称“千帆大模型平台”)作为一个面向开发者和企业的人工智能服务平台,提供了丰富的大模型,对大模型的推理及部署服务优化积攒了很多作为开发平台的经验,他们发现,CPU 的 AI 算力潜力将有助于提升 CPU 云服务器的资源利用率,能够满足用户快速部署 LLM 模型的需求,同时还发现了许多很适合 CPU 的使用场景:
SFT 长尾模型:每个模型的调用相对稀疏,CPU 的灵活性和通用性得以充分发挥,能够轻松管理和调度这些模型,确保每个模型在需要时都能快速响应。
小于 10b 的小参数规模大模型:由于模型规模相对较小,CPU 能够提供足够的计算能力,同时保持较低的能耗和成本。
对首 Token 时延不敏感,更注重整体吞吐的离线批量推理场景:这类场景通常要求系统能够高效处理大量的数据,而 CPU 的强大计算能力和高吞吐量特性可以很好地满足要求,能够确保推理任务的快速完成。
英特尔的测试数据也验证了千帆大模型平台团队的发现,其通过测试证明,单台双路 CPU 服务器完全可以轻松胜任几 B 到几十 B 参数的大模型推理任务,Token 生成延时完全能够达到数十毫秒的业务需求指标,而针对更大规模参数的模型,例如常用的 Llama 2-70B,CPU 同样可以通过分布式推理方式来支持。此外,批量处理任务在 CPU 集群的闲时进行,忙时可以处理其他任务,而无需维护代价高昂的 GPU 集群,这将极大节省企业的经济成本。
也正是出于在“CPU 上跑 AI”的共识,双方展开了业务上的深度合作。百度智能云千帆大模型平台采⽤基于英特尔® AMX 加速器和大模型推理软件解决方案 xFasterTransformer (xFT),进⼀步加速英特尔® 至强® 可扩展处理器的 LLM 推理速度。
将 CPU 在 AI 方面的潜能发挥到极致
为了充分发挥 CPU 在 AI 推理方面的极限潜能,需要从两个方面进行技术探索——硬件层面的升级和软件层面的优化适配。
千帆大模型平台采用 xFT,主要进行了以下三方面的优化:
系统层面:利用英特尔® AMX/AVX512 等硬件特性,高效快速地完成矩阵 / 向量计算;优化实现针对超长上下文和输出的 Flash Attention/Flash Decoding 等核心算子,降低数据类型转换和数据重排布等开销;统一内存分配管理,降低推理任务的内存占用。
算法层面:在精度满足任务需求的条件下,提供多种针对网络激活层以及模型权重的低精度和量化方法,大幅度降低访存数据量的同时,充分发挥出英特尔® AMX 等加速部件对 BF16/INT8 等低精度数据计算的计算能力。
多节点并行:支持张量并行(Tensor Parallelism)等对模型权重进行切分的并行推理部署。使用异构集合通信的方式提高通信效率,进一步降低 70b 规模及以上 LLM 推理时延,提高较大批处理请求的吞吐。
第五代至强® 可扩展处理器能在 AI 推理上能够取得如此亮眼的效果,同样离不开软件层面的优化适配。为了解决 CPU 推理性能问题,这就不得不提 xFT 开源推理框架了。
xFT 底层适用英特尔 AI 软件栈,包括 oneDNN、oneMKL、IG、oneCCL 等高性能库。用户可以调用和组装这些高性能库,形成大模型推理的关键算子,并简单组合算子来支持 Llama、文心一言等大模型。同时,xFT 最上层提供 C++ 和 Python 两套便利接口,很容易集成到现有框架或服务后端。
xFT 采用了多种优化策略来提升推理效率,其中包括张量并行和流水线并行技术,这两种技术能够显著提高并行处理的能力。通过高性能融合算子和先进的量化技术,其在保持精度的同时提高推理速度。此外,通过低精度量化和稀疏化技术,xFT 有效地降低了对内存带宽的需求,在推理速度和准确度之间取得平衡,支持多种数据类型来实现模型推理和部署,包括单一精度和混合精度,可充分利用 CPU 的计算资源和带宽资源来提高 LLM 的推理速度。
另外值得一提的是,xFT 通过“算子融合”、“最小化数据拷贝”、“重排操作”和“内存重复利用”等手段来进一步优化 LLM 的实现,这些优化策略能够最大限度地减少内存占用、提高缓存命中率并提升整体性能。通过仔细分析 LLM 的工作流程并减少不必要的计算开销,该引擎进一步提高了数据重用度和计算效率,特别是在处理 Attention 机制时,针对不同长度的序列采取了不同的优化算法来确保最高的访存效率。
目前,英特尔的大模型加速方案 xFT 已经成功集成到千帆大模型平台中,这项合作使得在千帆大模型平台上部署的多个开源大模型能够在英特尔至强® 可扩展处理器上获得最优的推理性能:
在线服务部署:用户可以利用千帆大模型平台的 CPU 资源在线部署多个开源大模型服务,这些服务不仅为客户应用提供了强大的大模型支持,还能够用于千帆大模型平台 prompt 优化工程等相关任务场景。
高性能推理:借助英特尔® 至强® 可扩展处理器和 xFT 推理解决方案,千帆大模型平台能够实现大幅提升的推理性能。这包括降低推理时延,提高服务响应速度,以及增强模型的整体吞吐能力。
定制化部署:千帆大模型平台提供了灵活的部署选项,允许用户根据具体业务需求选择最适合的硬件资源配置,从而优化大模型在实际应用中的表现和效果。
写在最后
对于千帆大模型平台来说,英特尔帮助其解决了客户在大模型应用过程中对计算资源的需求,进一步提升了大模型的性能和效率,让用户以更低的成本获取高质量的大模型服务。
大模型生态要想持续不断地往前演进,无疑要靠一个个实打实的小业务落地把整个生态构建起来,英特尔联合千帆大模型平台正是在帮助企业以最少的成本落地大模型应用,让他们在探索大模型应用时找到了更具效价比的选项。
未来,双方计划在更高性能的至强® 产品支持、软件优化、更多模型支持以及重点客户联合支持等方面展开深入合作。旨在提升大模型运行效率和性能,为千帆大模型平台提供更完善的软件支持,确保用户能及时利用最新的技术成果,从而加速大模型生态持续向前。
本文来自微信公众号:https://mp.weixin.qq.com/s/SWnidVCbsu9dxFnwcpqQPg