0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

借助Arm Neoverse加速Hugging Face模型

Arm社区 来源:Arm社区 2024-09-02 10:44 次阅读

作者:Arm 基础设施事业部高级产品经理 Ashok Bhat

人工智能 (AI) 有望触及并改变我们生活的方方面面。如今,包括医疗保健、金融、制造、教育、媒体和运输等在内的各行各业都在利用 AI 进行创新。它们通过运行复杂的 AI 工作负载来提高生产力,改善消费者决策,提升教育体验等,而这些都需要消耗大量算力和数据中心电力。

如今,数据中心已经非常耗电,而随着 AI 部署的扩大和底层基础模型规模的扩展,耗电量只会继续增加。面对这一挑战,Arm 力求在不增加能耗的情况下提高 AI 能力。随着生成式 AI 和基础模型的普及,专用计算硬件的可用性及其高成本给部署带来了困难。与此同时,大模型需要消耗大量资源,加剧了原有的问题。随着小语言模型和量化等技术的兴起,开发者开始考虑针对机器学习 (ML) 使用 CPU。规模较小的模型不仅效率高,而且可以针对特定应用进行定制,因此部署起来更切合实际,成本效益也更高。

Arm 基于 Neoverse 的最新 CPU 平台为云数据中心提供高性能、高能效的处理器。借助 Arm Neoverse,云服务提供商能够灵活地定制芯片并优化软件与系统,以应对要求苛刻的工作负载,同时获得出色的性能和能效。正因如此,所有主要的云服务提供商均采用了 Neoverse 技术来设计其计算平台,从而满足开发者对 AI 和 ML 等各种云工作负载的需求。

Hugging Face 中的热门开源模型可在 CPU 上高效、高性能地运行。模型的部署是一项耗时且极具挑战性的任务,通常需要精通 ML 和底层模型代码的专业知识。Hugging Face Pipeline 将复杂的代码抽象化,使开发者能够使用 Hugging Face Hub 中的任何模型进行推理。开发者在构建 AI 应用和项目时,借助 Arm 平台赋能的云实例,可受益于云基础设施资源的便利性,实现高能效并节省成本。

面向 ML 的 Neoverse CPU 的关键特性

长期以来,CPU 得益于只需使用单指令就能同时处理多个数据点,进而能够实现数据级并行和性能提升,这种技术被称为单指令流多数据流 (SIMD)。Arm Neoverse CPU 支持 Neon 和可伸缩矢量扩展 (SVE) 等先进的 SIMD 技术,能够加速 HPC 和 ML 中的常见算法

通用矩阵乘法 (GEMM) 是 ML 中的一种基本算法,它对两个输入矩阵进行复杂的乘法运算,得到一个输出。Armv8.6-A 架构新增了 SMMLA 和 FMMLA 指令,可在宽度为二或四的阵列上同时执行这些乘法运算,从而将取指周期缩短 2 至 4 倍,将计算周期缩短 4 至 16 倍。诸多基于 Arm 架构的服务器处理器均含有这些指令,包括 AWS Graviton3、Graviton4、NVIDIA Grace、Google Axion 和 Microsoft Cobalt。

在许多用例中,这些关键特性可为 ML 带来诸多优势,其中包括:

图像分类:这是监督学习的一种形式,可将特定标签或类别分配给整个图像。

对象检测:这是在图像或视频中定位对象实例的计算机视觉技术。

自然语言处理:这是一种 AI 形式,可赋予机器阅读、理解和推导人类语言含义的能力。

自动语音识别:这是一种 ML 形式,可将人们的语音内容转换为文本。

推荐系统:这是利用数据向用户推荐项目或内容的 ML 算法。

小语言模型 (SLM):这是大语言模型 (LLM) 的精简版,其架构更简单、参数更少,训练所需的数据和时间也更少。

凭借这些 ML 推理能力,基于 Arm Neoverse 平台的 AWS Graviton3 处理器在性能方面比上一代 AWS Graviton2 处理器提高了三倍。下面来看一个情感分析用例。

利用 Hugging Face Pipeline 进行情感分析

情感分析是一项重要的 AI 技术,它能找出文本中的情绪和观点。企业可以利用该技术来理解客户的想法,评估用户对品牌的看法,并制定营销决策。但是,要想高效运行情感分析模型,对计算资源的要求非常高。本文将深入探讨 Arm Neoverse CPU 如何加快情感分析,带来更快且更有成效的 AI 驱动的洞察。

具体来说,我们将着重于如何在 Arm Neoverse CPU 上使用 pytorch.org 提供的默认 PyTorch 软件包来加速 NLP PyTorch 模型(BERT、DistilBERT 和 RoBERTa)。我们将使用 Hugging Face Transformer 情感分析 Pipeline 来运行这些模型

Hugging Face Transformer 通过 Pipeline 这一强大工具来简化预训练模型的使用。这些 Pipeline 可在后台处理复杂问题,让开发者能够专注于解决实际问题。例如,如果你想要分析一段文本的情感,只需将该文本输入 Pipeline。它将进行正面或负面的情感分类,你无需担心模型的加载、分词等其他技术细节。

这段代码使用 Pipeline 来检查用户所输入文本的情感。它在后台使用 Hugging Face Model Hub 中的现成模型。

代码

wKgaombVJraAfHYlAAA6i2yywfs469.jpg

输出

wKgZombVJtSAEwRWAAAgUP4IDvw231.jpg

你还可以使用模型参数来指定所选模型。

pipe = pipeline("sentiment-analysis", model=”distilbert-base-uncased”)

在现有应用中添加情感分析时,需要考虑延迟问题。对于实时用例而言,响应时间少于 100ms 通常被视为瞬时响应。但对于具体需求而言,更长的延迟有时也可接受。

AWS Graviton 处理器的性能

我们选取了两篇评论,一篇较短(使用 BertTokenizer 分词后,有 32 个词元),另一篇较长(使用 BertTokenizer 分词后,有 128 个词元),并在 AWS Graviton2 (c6g) 和 AWS Graviton3 (c7g) 上进行了基准测试。

如下图所示,对于短篇评论的情感分析,AWS Graviton2 (c6g) 和 AWS Graviton3 (c7g) 仅使用四个虚拟 CPU (vCPU) 就达到了理想的 100ms 实时延迟目标。

wKgaombVJuiAQipVAACUvTQAND0975.jpg

对于较长评论的情感分析,启用了 BF16 的 AWS Graviton3 (c7g) 可使用四个 vCPU 达到理想的实时延迟目标。与使用 Arm Neoverse N1 CPU 的上一代 c6g 实例相比,基于 Neoverse V1 的 c7g 实例性能可提升三倍之多。

wKgZombVJvGAXyX0AACsWc1E-yo216.jpg

基准测试设置

我们对以下 AWS EC2 实例进行了基准测试:

使用 Arm Neoverse N1 CPU 的 c6g.xlarge 实例

使用 Arm Neoverse V1 CPU 的 c7g.xlarge 实例

各实例均有四个 vCPU。我们通过以下软件对实例进行设置:

Ubuntu Server 22.04 LTS (HVM) - ami-0c1c30571d2dae5c9(64 位 (x86))和 ami-0c5789c17ae99a2fa(64 位 (Arm))

PyTorch 2.2.2

Transformers 4.39.1

并按照以下设置步骤操作:

1.sudo apt-get update

2.sudo apt-get install python3 python3-pip

3.pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

4.pip3 install transformers

有关安装过程的详细信息,请参阅《Arm PyTorch 安装指南》。除了该指南外,《在 AWS Graviton 处理器上实现 PyTorch 推理性能调优》中也提供了一些针对 Arm 平台的调优参数。(链接见文末)

为了进行基准测试,我们在所有平台上启用了 BF16 快速数学内核,如下所示。在 AWS Graviton3 上,这使得 GEMM 内核能够使用硬件中提供的 BF16 MMLA 指令。

export DNNL_DEFAULT_FPMATH_MODE=BF16

我们使用了两篇评论,分别是一篇短评论和一篇长评论。

短评论原文:“I'm extremely satisfied with my new Ikea Kallax; It's an excellent storage solution for our kids. A definite must have.”

长评论原文:“We were in search of a storage solution for our kids, and their desire to personalize their storage units led us to explore various options. After careful consideration, we decided on the Ikea Kallax system. It has proven to be an ideal choice for our needs. The flexibility of the Kallax design allows for extensive customization. Whether it’s choosing vibrant colors, adding inserts for specific items, or selecting different finishes, the possibilities are endless. We appreciate that it caters to our kids’ preferences and encourages their creativity. Overall, the boys are thrilled with the outcome. A great value for money.”

我们使用情感分析 Pipeline 对三个 NLP 模型(distilbert-base-uncased、bert-base-uncased 和 roberta-base)进行了评估

对于每个模型,我们均测量短句和长句的执行时间。在基准测试函数中,我们进行了运行 Pipeline 100 次的热身,以确保结果的一致性。接着,我们测量每次运行的执行时间,并计算平均值和第 99 百分位值。

结 论

通过 AWS Graviton3,你只需使用四个 vCPU,就能将情感分析添加到现有应用中,并可满足严格的实时延迟要求。

AWS Graviton3 搭载的 Arm Neoverse V1 CPU 具有 BF16 MMLA 扩展等 ML 特定功能,为 Hugging Face 情感分析 PyTorch 模型提供了出色的推理性能。

欢迎各位开发者使用自己的模型进行尝试。友情提示,根据模型的不同,你可能需要对性能进行微调。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9034

    浏览量

    366620
  • AI
    AI
    +关注

    关注

    87

    文章

    29925

    浏览量

    268221
  • 人工智能
    +关注

    关注

    1791

    文章

    46736

    浏览量

    237293
  • 模型
    +关注

    关注

    1

    文章

    3140

    浏览量

    48672

原文标题:利用 Arm Neoverse 加速热门 Hugging Face 模型

文章出处:【微信号:Arm社区,微信公众号:Arm社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Arm Neoverse V1的AWS Graviton3在深度学习推理工作负载方面的作用

    :区域任务模型想象图像分类Resnet50-v1.5语自然语言处理BERT-大平台我们在三种 AWS EC2 云实例类型上运行,涵盖两代 Arm Neoverse 内核(Arm
    发表于 08-31 15:03

    Arm Neoverse V1 PMU指南

    事件之一时计数发生。 2.1范围 本文档提供了Neoverse V1 PMU事件的高级描述。有参考资料体系结构行为和Neoverse V1微观体系结构行为事件描述。有关Arm架构的更完整描述,请参阅
    发表于 08-09 07:30

    Arm Neoverse V2参考设计版本C技术概述

    ·ARM Neoverse CMN-700 6 x 6网状互连,32MB系统级高速缓存和128MB监听过滤器·八个同时支持CML_SMP和CXL2.0协议的CML链路,用于连接加速器·八个CML链路
    发表于 08-11 07:54

    Arm Neoverse™ N1 PMU指南

    本文档提供了Neoverse N1 PMU事件的高级描述。 对体系结构行为和Neoverse N1微体系结构行为的引用阐明了这些事件描述。 有关ARM架构的更完整描述,请参阅ARM®架
    发表于 08-12 07:10

    Hugging Face获投1500万美元 这个虚拟陪聊朋友会察言观色

    ,Richard Socher,Greg Brockman,Kevin Durant 跟投。 「Hugging Face」是一个在青少年群体中颇受欢迎的聊天机器人应用。用户可以使用该应用程序生成一个虚拟朋友
    的头像 发表于 12-18 17:55 2.7w次阅读

    Hugging Face更改文本推理软件许可证,不再“开源”

    据悉,TGI 已成为 Hugging Face 商业产品(如推理端点)及其商业合作伙伴(如 Amazon SageMaker、Azure 机器学习和 IBM watsonx )的重要组成部分。而 Hugging
    的头像 发表于 07-31 14:42 618次阅读

    NASA 携手 IBM 发布 Hugging Face 平台最大开源地理空间 AI 基础模型

    近日,IBM (NYSE: IBM) 与开源 AI 平台 Hugging Face 共同宣布,基于美国宇航局 ( NASA) 卫星数据构建的 IBM watsonx.ai 地理空间基础模型,现已
    的头像 发表于 08-08 18:15 618次阅读
    NASA 携手 IBM 发布 <b class='flag-5'>Hugging</b> <b class='flag-5'>Face</b> 平台最大开源地理空间 AI 基础<b class='flag-5'>模型</b>

    NVIDIA 与 Hugging Face 将连接数百万开发者与生成式 AI 超级计算

    NVIDIA DGX Cloud 集成到 Hugging Face 平台将加速大语言模型(LLM)的训练和调优,简化了几乎每个行业的模型定制
    发表于 08-09 11:41 196次阅读
    NVIDIA 与 <b class='flag-5'>Hugging</b> <b class='flag-5'>Face</b> 将连接数百万开发者与生成式 AI 超级计算

    NVIDIA 与 Hugging Face 将连接数百万开发者与生成式 AI 超级计算

    NVIDIA DGX Cloud 集成到 Hugging Face 平台将加速大语言模型(LLM)的训练和调优,简化了几乎每个行业的模型定制
    的头像 发表于 08-09 11:38 1079次阅读
    NVIDIA 与 <b class='flag-5'>Hugging</b> <b class='flag-5'>Face</b> 将连接数百万开发者与生成式 AI 超级计算

    Hugging Face被限制访问

    目前尚不清楚 Hugging Face 何时出现访问限制问题。雅虎的报道称,早在今年 5 月起,就已经有用户在 HF 的论坛上抱怨连接问题。另外有报道称,至少从 9 月 12 日起,Hugging
    的头像 发表于 10-22 15:51 1644次阅读
    <b class='flag-5'>Hugging</b> <b class='flag-5'>Face</b>被限制访问

    Hugging Face LLM部署大语言模型到亚马逊云科技Amazon SageMaker推理示例

     本篇文章主要介绍如何使用新的Hugging Face LLM推理容器将开源LLMs,比如BLOOM大型语言模型部署到亚马逊云科技Amazon SageMaker进行推理的示例。我们将部署12B
    的头像 发表于 11-01 17:48 887次阅读
    <b class='flag-5'>Hugging</b> <b class='flag-5'>Face</b> LLM部署大语言<b class='flag-5'>模型</b>到亚马逊云科技Amazon SageMaker推理示例

    ArmArm Neoverse计算子系统(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Arm宣布了两款新的Arm Neoverse计算子系统(CSS),它们基于“迄今为止最好的一代Neoverse技术”。是什么让这些新产品在拥挤的计算技术领域脱颖而出?
    的头像 发表于 04-24 17:53 979次阅读
    <b class='flag-5'>Arm</b>新<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b>计算子系统(CSS):<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b> CSS V3和<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b> CSS N3

    Hugging Face推出开源机器人代码库LeRobot

    AI领域的佼佼者Hugging Face近日宣布重磅推出并全面开源其机器人工具包——LeRobot。这一创新工具包基于史上最大规模的众包机器人数据集,为开发者提供了一个前所未有的平台。
    的头像 发表于 05-09 10:32 539次阅读

    亚马逊云携手AI新创企业Hugging Face,提升AI模型在定制芯片计算性能

    Hugging Face作为一家估值为45亿美元的公司现已成为了众多AI研究员和开发者分享Chatbot和相关软件的核心平台,受到亚马逊、谷歌、英伟达等巨头的青睐。
    的头像 发表于 05-23 14:24 372次阅读

    Hugging Face科技公司推出SmolLM系列语言模型

    7月22日最新资讯,Hugging Face科技公司在语言模型领域再创新高,正式推出了SmolLM系列——一款专为适应多样计算资源而设计的紧凑型语言模型家族。该系列包含三个版本,分别搭
    的头像 发表于 07-23 16:35 270次阅读