tiangai100-sensevoice-funasr & tiangai100-whisper
天数智芯 天垓100 语音识别
该模型测试框架在天垓100加速卡上,适配 sensevoice 和 whisper 大类下的模型,将语音信号转换为文本。
SenseVoice 是由 FunAudioLLM 开发的一款开源音频处理模型,是阿里巴巴通义实验室推出的语音技术框架的核心模型之一,为高效、准确的多语言语音识别和音频分析工具。 该 sensevoice 测试框架支持 Sensevoice-Small 和 Sensevoice-Large 模型。
whisper 模型是 OpenAI 发布的一个通用语音识别模型,具有多语言支持、多任务学习等特点,采用编码器 - 解码器的 Transformer 结构。 该whisper测试框架支持tiny、base、small、medium、large、large-v2、large-v3等。
sensevoice 模型测试服务原理
通过 AutoModel (funasr 库提供的一个自动模型加载工具)加载 SenseVoice 模型,然后用 model.generate(...) 调用模型进行语音识别,其中 generate 是模型封装好的接口,内部实现了完整的语音识别流程。
whisper 模型测试服务原理
pipeline 为 Hugging Face transformers 库提供的高层 API ,用于快速构建特定任务的处理管道。pipeline 内部封装了语音预处理(如特征提取)、模型推理、结果后处理(如文本解码)等步骤,简化了语音识别的调用流程。代码中调用 pipeline 自动完成从音频数据到文本的转换。
如何使用 sensevoice 和 whisper 测试框架
代码实现了一个接收音频数据并返回识别文本的语音识别 HTTP 服务,并基于 corex:3.2.1 基础镜像,将该 HTTP 服务重新打包成 docker 镜像,通过 k8s 集群sut容器去请求这个 HTTP 服务。
sensevoice 和 whisper 语音识别模型测试服务请求示例
import requests
# 服务健康检查
response = requests.get(f"{sut_url}/health")
print(response.status_code, response.text)
# 服务地址(根据实际部署情况修改IP和端口,端口为80)
url = f"{sut_url}/recognition"
#url = "http://localhost:80/recognition"
# 读取音频文件(需是服务支持的格式,如wav等)
with open("audio.wav", "rb") as f:
audio_data = f.read()
# 请求参数(可选,指定语言,如中文为'zh')
params = {
"language": "zh" # 支持的语言代码需参考whisper模型的支持列表
}
# 发送POST请求
response = requests.post(
url,
data=audio_data, # 音频数据放在请求体中
params=params # 参数放在URL查询字符串中
)
# 请求体(data 参数)需要传入二进制音频数据
# 语言参数(language)是可选的,默认值为 en(英语)
# 支持的语言代码可参考 whisper 模型的官方文档(如中文是 zh,日语是 ja 等)
# 确保音频文件格式被模型支持(whisper 通常支持 wav、mp3 等常见格式)
# 解析响应结果
if response.status_code == 200:
result = response.json()
print("识别状态:", result["RecognitionStatus"])
print("识别结果:", result["DisplayText"])
else:
print("请求失败,状态码:", response.status_code)
成功时返回 JSON 格式的响应
{
"RecognitionStatus": "Success",
"DisplayText": "识别到的文本内容"
}
天垓100 SenseVoiceSmall 模型测试结果
测试方式为在 天垓100 加速卡和 Nvidia A100 上对同一段音频(约10s)进行语音识别任务,获取运行时间
| 模型类型 | 模型名称 | 天垓100运行时间/s | Nvidia A100运行时间/s |
|---|---|---|---|
| sensevoice | SenseVoiceSmall | 0.2 | 0.06 |
天垓100 whisper-tiny 模型测试结果
测试方式为在 天垓100 加速卡和 CPU 上对同一段长音频(约9120s)进行语音识别任务,获取运行时间,1-cer指标
| 模型类型 | 模型名称 | 天垓 A100对比CPU加速比 | 天垓 A100 1-cer | CPU 1-cer |
|---|---|---|---|---|
| whisper | whisper-tiny | 3.24x | 0.792 | 0.794 |