借助小语言模型,高效 Arm 计算赋能定制化 AI 未来

时间:2024-07-09来源:Arm

随着我们逐步迈入人工智能 (AI) 的世界,小体量模型愈发具有大优势。

在过去的一年多里,大语言模型 (LLM) 推动了生成式 AI 的早期创新浪潮,训练参数量朝万亿级规模迈进,但越来越多的证据表明,无限制地扩展 LLM 并不具备可持续性。至少来说,通过此方式来发展 AI 所需的基础设施成本过于高昂,仅有少数企业可以承受。此类 LLM 需要消耗大量算力和电力,运营成本不菲。这些项目将带来沉重的财务和资源负担,例如 GPT-4 的训练成本至少为一亿美元。

除此之外,这些 LLM 的开发和部署过程也相对复杂。剑桥大学的一项研究 [1] 指出,企业将花费超过 90 天来部署单一的机器学习 (ML) 模型。漫长的周期阻碍了快速开发和迭代实验的步伐,而这在 AI 技术飞速发展的领域却又至关重要。

综合考虑以上因素和其他挑战,AI 的开发重心正逐渐转向小语言模型 (Small Language Models, SLM),有时或称小型 LLM,从而借助其效率更高、资源需求更少,以及更易于定制和控制等优势来解决多项挑战。相比于生成较复杂或精细的内容,SLM(例如 Llama、Mistral、Qwen、Gemma、Phi-3 的小规模参数版本)在执行对话、翻译、摘要和分类等较简单的集中任务时,效率更高,其训练过程也仅需消耗较少的电力。

这有助于开发者构建具有多模态功能的生成式 AI 解决方案,用于处理和生成文本、图像和音频等不同媒体形式的内容。

Llama 3 等基础模型可以利用特定上下文数据进一步微调,以专注于特定应用领域,如医学科学、代码生成或其它专业知识领域。结合这些较小体量 LLM 的可及性,这些应用让生成式 AI 更为普及,并让不具备 GPU 集群的应用开发者也可获得 AI 功能,进而开辟了新的应用和用例。

与此同时,诸如量化等底层优化技术也是提高模型效率的有效方式。量化技术通过对神经网络权重进行更低精度计算,可以缩减模型大小。量化可以将 16 位浮点数压缩为 4 位整数,进而大幅降低了内存和计算需求,对准确度也仅有细微影响。例如,应用这一方法后,原本拥有 70 亿参数的 Llama 2 模型可从 13.5 GB 缩减至 3.9 GB,130 亿参数版本可从 26.1 GB 缩减至 7.3 GB,700 亿参数模型可从 138 GB 缩减至 40.7 GB。这项技术提高了这些轻量级模型的运行速度,还降低了软件运行成本,尤其是在 CPU 上的软件运行成本。

结合更高效、性能更强大的 Arm CPU 技术,这些软件进展使规模更小、效率更高的 语言模型能够直接在移动设备上运行 ,从而提高性能、保护隐私并优化用户体验。

llama.cpp 等专用框架也促进了 SLM 的兴起。与 PyTorch 等通用框架相比,llama.cpp 专注于优化 CPU 推理的性能,能在通用硬件上更快速、更高效地执行基于 Llama 的模型。这种可及性为广泛部署提供了新的可能,而无需依赖专门的 GPU 资源,从而使 LLM 能够服务于更广泛的用户群体和应用。

那么,硬件在其中又扮演了什么角色呢?

以 Arm 的方式来体现效率的价值

Arm Neoverse CPU 通过 Neon 和 SVE 等 SIMD 指令提升 ML 处理进程,尤其是用以加速通用矩阵乘法 (General Matrix Multiplications, GEMM),这是一种涉及神经网络内部复杂乘法的核心算法。在过去几代产品中,Arm 不断在其 Neon 和 SVE2 引擎中引入 SDOT (Signed Dot Product) 和 MMLA (Matrix Multiply Accumulate) 等功能指令,进而增强关键的 ML 算法。这有助于提高广泛部署的服务器 CPU 效率,如 AWS Graviton 和 NVIDIA Grace,以及近期宣布投入量产的 Microsoft Cobalt 和 Google Axion 

典型的 LLM 管线可划分为两个阶段:

第一阶段:提示处理,准备模型的输入数据,目的是提高响应速度。

第二阶段:词元 (Token) 生成,一次创建一段文本,重点在于吞吐量和可扩展性。

在聊天、风格转换、总结生成和内容创建等不同应用中,提示大小、词元生成以及对于速度、质量需求之间的优先级会有所不同。交互式聊天优先考虑快速响应,风格转换强调输出质量,总结生成需要平衡全面性和及时性,而内容创建则侧重于生成大量优质素材。

简而言之,语言模型是否有效,取决于能否根据快速交互、高效摘要、高质量写作和大量内容创作输入处理等任务需要,精细调整其输入处理和文本生成。

Llama 3 在 AWS Graviton3 上的性能表现

为了评估 Neoverse CPU 执行 LLM 任务的效率,Arm 软件团队和合作伙伴对 llama.cpp 中的 int4 和 int8 内核进行了优化,以利用基于 Arm 架构的服务器 CPU 中较新的指令。团队使用经过 int4 量化并具有 80 亿参数的 Llama 3 模型,对 AWS r7g.16xlarge 实例进行了性能测试,该实例搭载了 64 个基于 Arm 架构的 Graviton3 核心并配置了 512 GB RAM。

测试结果如下:

提示处理:经过 Arm 优化,每秒处理的词元数提高了三倍;在更大的批次大小时,有小幅性能提升。

词元生成:经过 Arm 优化,吞吐量提高了两倍,有助于更高效地处理更大的批次大小。

AWS Graviton3 在单个和批量处理场景中均达到了新兴行业共同要求的针对交互式 LLM 部署的 100ms 延迟目标。即使是在 2019 年推出的 Graviton2 上,也能在 100ms 延迟目标内运行多达 80 亿参数的 LLM。

与当前一代 x86 实例相比,AWS Graviton3 在提示处理和词元生成方面的性能高了三倍。

成本效益:Graviton3 实例的价格低于 Sapphire Rapids 和 Genoa。Graviton3 的单位价格词元生成数量高了三倍,是采用和扩展 LLM 经济高效的理想之选。

想要详细了解该性能测试,尽请关注 Arm 社区的后续文章!

灵活且价格经济

基于 CPU 的云实例为开发者提供了灵活、经济、快速的开发起点,使其能够轻松在应用中部署规模较小的专用 LLM。Arm 在自身的架构中引入了多项关键功能,显著提升了 LLM 的性能。得益于此,与其他服务器 CPU 相比,广泛部署且基于 Neoverse 平台的服务器处理器(如 AWS Graviton3)不仅能提供业界领先的 LLM 性能,还能为更多应用开发者降低采用 LLM 的成本门槛。

具体来说,仅需两分钱左右就可以在两秒钟内处理完本篇推文,并在不到一秒钟内生成简短摘要。

Arm 一直处于推动向 SLM 发展的前沿,我们深切认识到了这一趋势的潜力,并已准备好迎接这一转变。深深根植于 Arm DNA 的高效和出色性能的 CPU 广受市场赞誉,能在不会影响质量或性能的前提下,无缝运行 AI 工作负载。

较大规模的语言模型在短短一年多的时间对科技行业和整个社会产生了深远影响,短时间内必然不会消失。

 

即使是 OpenAI 首席执行官 Sam Altman 也已看到了即将发生的变化。他表示:大模型时代将告一段落,未来的重点将转向专用和定制模型。只有根据客户和特定领域的数据对这些模型进行优化调整,才能真正释放其价值潜能。

 

随着定制化难度降低和必要性提升,SLM 正借此东风展翅高飞,占据其市场位置。

 

正如 AI 初创公司 Hugging Face 首席执行官 Clem Delangue 表示,多达 99% 的用例都可以使用 SLM 来解决,他预计 2024 年将是 SLM 绽放的一年。

 

我们即将迎来的小语言模型将大有可为!

关键词: Arm

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版