0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Arm Neoverse N2實現(xiàn)自動語音識別技術(shù)

Arm社區(qū) ? 來源:Arm社區(qū) ? 2024-11-15 11:35 ? 次閱讀

作者:安謀科技 (Arm China) 高級軟件產(chǎn)品經(jīng)理 楊喜樂

自動語音識別 (Automatic Speech Recognition) 技術(shù)已經(jīng)深入到現(xiàn)代生活的方方面面,廣泛應(yīng)用于從語音助手、轉(zhuǎn)錄服務(wù),到呼叫中心分析和語音轉(zhuǎn)文本翻譯等方面,為各行各業(yè)提供了創(chuàng)新解決方案,顯著提升了用戶體驗。

隨著機器學(xué)習(xí) (ML) 和深度學(xué)習(xí)最新進展,自動語音識別技術(shù)的精密性已經(jīng)達到一個新的高度?,F(xiàn)在,自動語音識別軟件可以非常準(zhǔn)確地理解各種口音、方言和說話風(fēng)格。FunASR 是阿里巴巴達摩院開發(fā)的一款先進的開源自動語音識別工具包。它為開發(fā)和部署自動語音識別系統(tǒng)提供了一套全面的工具和模型。

FunASR 兼容 CPUGPU 計算。雖然 GPU 為訓(xùn)練深度學(xué)習(xí)模型提供了出色的性能,但 CPU 在邊緣側(cè)和數(shù)據(jù)中心服務(wù)器中更為普遍,并且更適合模型推理。因此,F(xiàn)unASR 可以在 CPU 上進行高效的自動語音識別推理,并能在 GPU 加速不可用的情況下(如成本限制、功耗限制或缺乏可用性等),依然能夠順利部署。

Arm Neoverse N2 是一款專為云和邊緣計算設(shè)計的高性能 CPU 處理器。它可以支持包括人工智能 (AI) 和 ML 在內(nèi)的多種云工作負載,并增加了 SVE2、Bfloat16 (BF16) 數(shù)據(jù)格式和 MMLA 等 AI 功能。

SVE2 使開發(fā)者能夠操作更大的數(shù)據(jù)向量,提升并行處理能力和執(zhí)行效率,這對于 AI 模型訓(xùn)練和推理階段涉及的大量數(shù)學(xué)計算尤為重要。

BF16 是一種較新的浮點格式,專為 AI 和 ML 應(yīng)用而設(shè)計。它提供與 32 位浮點數(shù)相同的動態(tài)范圍,但僅占用 16 位存儲空間,有效縮小了模型尺寸,并顯著提升了計算效率。

MMLA 是 Armv8.6 中的一個架構(gòu)特性。它為 GEMM 運算提供了顯著加速。GEMM 是 ML 中的一種基本算法,對兩個輸入矩陣進行復(fù)雜的乘法運算,得到一個輸出。

Arm 此前推出了 Arm Kleidi 技術(shù),這是一套專為開發(fā)者設(shè)計的賦能技術(shù),旨在增強 Arm Neoverse、Arm Cortex 等 Arm 平臺上的 AI 性能。Kleidi 技術(shù)廣泛涉及從框架到高度優(yōu)化的算子庫,再到充滿活力的獨立軟件供應(yīng)商 (ISV) 生態(tài)系統(tǒng),全面覆蓋了 AI 開發(fā)的關(guān)鍵環(huán)節(jié)。

在本文中,我們將分享在基于 Neoverse N2 的阿里巴巴倚天 710 平臺上部署 FunASR 推理過程及基準(zhǔn)測試方法。同時,我們將通過啟用 Arm Kleidi 技術(shù)進行對比分析,重點介紹與其他基于 CPU 和 GPU 的平臺相比,在倚天 710 CPU 上運行 FunASR 推理在性價比方面的主要優(yōu)勢。

基準(zhǔn)測試設(shè)置

軟件版本:

Ubuntu 22.04(64 位)

PyTorch v2.3.0

pip install funasr==0.8.8

pip install modelscope==1.10.0

模型:speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch

請確保系統(tǒng)上安裝了 PyTorch 和相關(guān)的 python 庫[1],如果在 Arm 平臺上運行,可使用 Arm 在 docker 倉庫中提供的 PyTorch docker 鏡像[2],以便進行快速評估。

1對環(huán)境進行初始化并導(dǎo)入所需的依賴項

export OMP_NUM_THREADS=16

export DNNL_VERBOSE=1

import torch

import torch.autograd.profiler as profiler

import os

import random

import numpy as np

from funasr.tasks.asr import ASRTaskParaformer as ASRTask

from funasr.export.models import get_model

from modelscope.hub.snapshot_download import snapshot_download

<< 滑動查看 >>

2下載并配置模型

Paraformer 是阿里巴巴達摩院在 FunASR 開源項目中開發(fā)的一款高效自動語音識別模型,旨在提高端到端語音識別系統(tǒng)的魯棒性和效率。該模型基于 Transformer 架構(gòu),并融入了多項創(chuàng)新,以提升其在語音識別中的性能。為了進行基準(zhǔn)測試,我們將使用魔搭社區(qū)中的 FunASR paraformer 模型[3]。

model_dir = snapshot_download('damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch', cache_dir='./',revision=None)

#set the radom seed 0

random.seed(0)

np.random.seed(0)

torch.random.manual_seed(0)

model, asr_train_args = ASRTask.build_model_from_file(

'damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/config.yaml','damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pb' ,'damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/am.mvn' , 'cpu')

model = get_model(model, dict(feats_dim=560, onnx=False, model_name="model"))

<< 滑動查看 >>

3使用性能分析器運行以獲取模型推理結(jié)果

推理運行十次迭代以獲得平均結(jié)果。

batch = 64

seq_len = 93

dim = 560

speech = torch.randn((batch, seq_len, dim))

speech_lengths = torch.tensor([seq_len for _ in range(batch)], dtype=torch.int32)

with torch.no_grad():

with profiler.profile(with_stack=True, profile_memory=False, record_shapes=True) as prof:

for _ in range(10):

model(speech, speech_lengths)

print(prof.key_averages(group_by_input_shape=True).table(sort_by='self_cpu_time_total', row_limit=200))

<< 滑動查看 >>

使用 BF16 Fast Math 內(nèi)核加速推理

作為 Arm Kleidi 技術(shù)的一部分,Arm Compute Library (ACL) 通過利用 BF16 MMLA 指令,提供了優(yōu)化的 BF16 通用矩陣乘法 (GEMM) 內(nèi)核。這些指令在 Neoverse N2 CPU 中得到支持,并且從 PyTorch 2.0 版本開始便通過 oneDNN 后端集成到了 PyTorch 中。ACL 中的 Fast Math GEMM 內(nèi)核可以高度優(yōu)化 CPU 上的推理性能。

要啟用 Fast Math GEMM 內(nèi)核,請在運行推理之前設(shè)置以下環(huán)境變量:

$ export DNNL_DEFAULT_FPMATH_MODE=BF16

我們發(fā)現(xiàn),在基于 Neoverse N2 的倚天 710 平臺上啟用 BF16 Fast Math 內(nèi)核后,與默認的 FP32 內(nèi)核相比,性能提高了約 2.3 倍。

694d5720-9d84-11ef-93f3-92fbcf53809c.jpg

性能比較

我們還比較了 FunASR paraformer 模型在倚天 710 和阿里云其他同等級別云實例上的性能*。

Arm Neoverse N2(倚天 710):

ecs.c8y.4xlarge (16 vCPU + 32GB)

第 4 代英特爾至強“Sapphire Rapids”:

ecs.c8i.4xlarge (16 vCPU + 32GB)

第 4 代 AMD EPYC“Genoa”:

ecs.c8a.4xlarge (16 vCPU + 32GB)

*使用 armswdev/pytorch-arm-neoverse:r24.07-torch-2.3.0-onednn-acl docker 鏡像的倚天 710[2],適用于英特爾 Sapphire-Rapids 和 AMD Genoa 的官方 PyTorch v2.3.0

我們發(fā)現(xiàn),基于 Neoverse N2 的倚天 710,搭配 BF16 Fast Math 內(nèi)核,使得 paraformer 自動語音識別模型的推理性能較同等級別的 x86 云實例有高達 2.4 倍的優(yōu)勢。

698c17da-9d84-11ef-93f3-92fbcf53809c.jpg

在實際推理部署中,成本是 AI 部署的主要考慮因素之一,對技術(shù)的實現(xiàn)和采用有很大的影響。為全面了解 CPU 和 GPU 平臺上自動語音識別推理部署的總體擁有成本 (TCO),我們將 NVIDIA A10 GPU 也納入對比分析中。得益于 Neoverse N2 出色的性能和能效,倚天 710 平臺相較于同等級別 x86 實例和 GPU 平臺,展現(xiàn)出更高的成本效益,這一點也體現(xiàn)在了阿里云倚天 710 實例更普惠的定價上。

69925ad2-9d84-11ef-93f3-92fbcf53809c.png

從基準(zhǔn)測試結(jié)果來看,倚天 710 在自動語音識別推理部署的 TCO 方面具有顯著優(yōu)勢,其性價比較同等級別 x86 和 GPU 平臺高出 3.5 倍。

699b8e54-9d84-11ef-93f3-92fbcf53809c.jpg

結(jié)論

基于 Arm Neoverse N2 的阿里巴巴倚天 710 具有 BF16 MMLA 擴展等特定 ML 功能,為采用 Arm Kleidi 技術(shù)的 FunASR paraformer 模型提供了出色的推理性能。開發(fā)者在倚天 710 上構(gòu)建自動語音識別應(yīng)用可實現(xiàn)更高性價比。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229811
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9094

    瀏覽量

    367540
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10863

    瀏覽量

    211746
  • 語音識別
    +關(guān)注

    關(guān)注

    38

    文章

    1739

    瀏覽量

    112656
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8418

    瀏覽量

    132628

原文標(biāo)題:Arm Neoverse N2 平臺上利用 Arm Kleidi 技術(shù)實現(xiàn)自動語音識別卓越性價比

文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Arm Neoverse家族新增V1和N2兩大平臺,突破高性能計算瓶頸

    Arm 近日公開了Arm? Neoverse V1 和 N2 平臺的產(chǎn)品細節(jié),兩者滿足了基礎(chǔ)設(shè)施應(yīng)用的各種需求。這兩個平臺的設(shè)計旨在解決當(dāng)前正在運行的各種工作負載和應(yīng)用問題,與上一代
    的頭像 發(fā)表于 04-30 16:20 ?9219次閱讀

    ARM Neoverse N2 PMU指南

    參考ENEPERN2號更詳盡的描述。 關(guān)于NEPERVERT N2技術(shù)參考手冊, 請參考Armé EVERTM N2
    發(fā)表于 08-09 06:07

    Arm Neoverse N2汽車硬件技術(shù)概述

    算子系統(tǒng)。RD-N2-Automotive是在RD-N2的基礎(chǔ)上逐步開發(fā)的。 本文件必須與Arm NeoverseTM N2參考設(shè)計(RD-N2
    發(fā)表于 08-10 06:25

    ARM Neoverse?N2軟件優(yōu)化指南

    新宇宙? N2是一款高性能、低功耗的產(chǎn)品,采用Arm?v9.0-a架構(gòu)。此實現(xiàn)支持Arm?v8.6?A之前的所有Armv8-A體系結(jié)構(gòu)實現(xiàn)。
    發(fā)表于 08-11 06:47

    Arm Neoverse N1軟件優(yōu)化指南

    本文檔提供了有關(guān)Neoverse N1管道、指令性能特征和特殊性能注意事項的高級信息。此信息旨在幫助優(yōu)化Neoverse N1軟件和編譯器的人員。有關(guān)
    發(fā)表于 08-11 06:56

    Arm Neoverse? N1 PMU指南

    ARMv8-A。 有關(guān)Neoverse N1的更多詳細說明,請參閱ARM?Neoverse?N1技術(shù)
    發(fā)表于 08-12 07:10

    Arm Neoverse? N2核心加密擴展技術(shù)參考手冊

    Neoverse?N2核心支持可選的ARM?v8.0-A和ARM?v8.2-A加密擴展。 ARM?v8.0-A加密擴展為Advanced S
    發(fā)表于 08-17 07:08

    ARM Neoverse?N1核心技術(shù)參考手冊

    包括一個超標(biāo)量、可變長度、無序的管道。 NeoverseDSU N1核心在Dynamiq?共享單元(?)集群內(nèi)實現(xiàn)。 有關(guān)更多信息,請參閱ARM?Dynamiq?共享單元技術(shù)參考手冊。
    發(fā)表于 08-29 08:05

    ARM Neoverse?N2核心技術(shù)參考手冊

    Neoverse?N2內(nèi)核是一款高性能、低功耗的產(chǎn)品,采用ARM?v9.0-A架構(gòu)。 此實施支持所有以前的ARMv8-A架構(gòu)實施,包括ARM?v8.5-A。 Neoversedsu
    發(fā)表于 08-29 08:12

    ARM Neoverse?N2參考設(shè)計技術(shù)概述

    技術(shù)概述是為經(jīng)驗豐富的硬件和片上系統(tǒng)(SoC)工程師編寫的,他們可能有也可能沒有ARM產(chǎn)品的經(jīng)驗。 這些工程師通常在編寫Verilog和執(zhí)行合成方面有經(jīng)驗,但在集成和實現(xiàn)ARM產(chǎn)品方面
    發(fā)表于 08-29 07:10

    互聯(lián)網(wǎng)巨頭紛紛啟用Arm CPU架構(gòu),Arm最新Neoverse V1和N2平臺加速云服務(wù)器芯片自研

    電子發(fā)燒友網(wǎng)報道(文/黃晶晶)Arm在2018年10月宣布了Neoverse的路線圖,繼2019年Neoverse N1平臺發(fā)布后,今年9月發(fā)布Ne
    發(fā)表于 09-30 14:46 ?1209次閱讀

    Arm推出新一代平臺 Neoverse V2 平臺

    目前,Arm Neoverse家族包括:V系列、N系列以及E系列。就在今年9月,Arm Neoverse迎來新的進展,推出新一代平臺
    的頭像 發(fā)表于 09-26 09:22 ?1453次閱讀

    Arm 更新 Neoverse 產(chǎn)品路線圖,實現(xiàn)基于 Arm 平臺的人工智能基礎(chǔ)設(shè)施

    Neoverse CSS 產(chǎn)品;與 CSS N2 相比,其單芯片性能可提高 50% Arm Neoverse CSS N3 拓展了
    發(fā)表于 02-22 11:41 ?383次閱讀

    Arm發(fā)布新一代Neoverse數(shù)據(jù)中心計算平臺,AI負載性能顯著提升

    據(jù)公開信息顯示,Arm去年推出的Neoverse CSS運算子系統(tǒng)提供了包含處理器設(shè)計的預(yù)驗證平臺,加快了定制SoC上市進程,首發(fā)型號為Neoverse CSS N2
    的頭像 發(fā)表于 02-22 14:48 ?711次閱讀

    ArmArm Neoverse計算子系統(tǒng)(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Neoverse CSS N3代表了Arm計算子系統(tǒng)產(chǎn)品組合的最新進展。 Neoverse CSS V3是高性能V系列產(chǎn)品組合的首款產(chǎn)品,相比其前身
    的頭像 發(fā)表于 04-24 17:53 ?1069次閱讀
    <b class='flag-5'>Arm</b>新<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b>計算子系統(tǒng)(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 <b class='flag-5'>N</b>3