FPGA加速超低延迟大并发实时智能语音识别 SpeechtoText(STT) orAutomaticSpeechRecognition(ASR) Natural LanguageProcessing(NLP) TexttoSpeech(TTS) or SpeechSynthesis(SS) Automatic SpeechRecognition Understanding andresponse Speech Synthesis 像人一样与计算机交互 通常有3个阶段,具体取决于所实施的服务级别 ‒STT/ASR自动语音识别将语音转换为文本 ‒NLP自然语言处理去理解文本的语法和上下文 ‒TTS/SS语音合成,用于将输出文本再次翻译成语音 第一步是识别从语音或音频文件输入的音素和单词 ‒英语中约有50个不同音素(语音发出不同的声音) ASR系统的主要构成 ‒特征提取 •识别口语单词的音调、音量和重音 ‒声学建模 •将提取的特征转化为统计参数语音模型,并与其他模型进行比较 ‒语言模型 •使用语法规则和某些声音同时出现的概率来帮助确定哪些单词序列是可能的 ‒分类/评分 •评估输出是否正确(字错误率) •常见的深度学习算法 Listen,AttendandSpell(LAS) RecurrentNeuralNetworkTransducer(RNN-T) Voice/AudioInput ASR Filtering ExtractingAnalyzing ConnectionistTemporalClassification(CTC) Transformermodels “….Tom…is…on…PTO….” ScoredOutput ASR的所有组件都集中在一个模型中 Softmax LinearLayer Joiner TextPredictor AudioEncoder 不需要解码器图(可能很大) 可以在小型的终端设备上实时流式ASR 与模块化(混合)系统相比,模型尺寸要小得多,精度和计算能力相当 构成部分 ‒音频编码器作为声学模型(例如LSTM、Transformer) ‒文本预测器作为语言模型(通常是LSTM) ‒Joiner结合了编码器和预测器的输出 ‒Linearlayer线性层和Softmax产生输出单元上的分布概率 Decoder Encoder 不依赖卷积或递归来生成输出 遵循编码器-解码器结构 ‒编码器将输入序列映射到连续表示序列 ‒解码器接收编码器和上一步的解码器输出,生成输出序列 解决RNN的几个缺点 ‒处理长序列困难 ‒难以并行化 非实时性 ‒对比实时流处理仅适用于离线模型 SpeechtoText(STT) orAutomaticSpeechRecognition(ASR) Natural LanguageProcessing(NLP) TexttoSpeech(TTS) or SpeechSynthesis(SS) Automatic SpeechRecognition Understanding andresponse Speech Synthesis 实时响应的确定性低延迟 字错误率(WER)低,可实现准确回复 高吞吐量,低成本和低能耗 灵活采用最新的深度学习模型 Achronix和Myrtle.ai的ASR解决方案 ASR设备 ‒1UCPU服务器加上Speedster7t1500PCIe加速卡 •可以通过工作站进行本地部署 ‒Myrtle.AI提供的CPU和FPGA应用程序 ‒来自Myrtle.ai的PyTorch中的机器学习再训练库 SoftwareServerFPGACard 与更高级别软件组件相连的简单WebSocketAPI接口 GDDR6容量16GBytes GPIO GDDR6带宽512GB/s QSFP56200GbE QSFPDD400G PCIeGen4x16 WebsocketAPI Thequickbrownfoxjumpsover… CPU Audio WebSocketServer RNN-T 基础产品 ‒通用目的 ‒英文转录 FPGA DecodePre-Processing Inference Server TextProcessing 产品定制 客户可以使用自己的数据集用于 ‒其他语言 ‒特定的词汇 ‒最高的精度 AcceleratorASREncoderASRDecoder 云演示 实时语音ASR的低确定性延迟 ‒与A100GPU相比减少了90%(<60毫秒端到端延时vs250毫秒计算延时) 英语ASR直接可以使用 ‒可针对其他语言和自定义数据集重新训练 吞吐量比CPU高出200倍 每个实例支持最多4000个语音流 与CPU相比,成本和功耗降低20倍以上 可以缩小或移植到更小的FPGA上(比如7t800) ‒当前实施使用4个MAU(ML加速器单元) AchronixASR解决方案比较适合于 处理实时交互语音 ‒非离线或者事后处理 用户想要去处理成百上千条语音流 ‒非单个用户,嵌入式产品 响应速度,低延时对于用户非常重要 ‒低延时对于服务提供商来说是一个关键的指标 Speedster对于低延迟的语音流应用中有着技术上的差异 ‒它可以比其它的方案转录更多的实时语音流 ASR的流模式Streaming和非流模式Non-streaming ‒流模式只能看到句子已经说出来的部分 ‒流模式实时转录说出来的每个词,而不是播客 低延时语音流ASR的应用例子 ‒呼叫联络中心,自动填写表格 ‒视频会议:实时字幕+翻译 ‒语音个人助手 ‒实时字幕 单词,字错误率WER ‒一组转录中的错误百分比 ‒越低的错误率越好, 就像打高尔夫失误越少越好 ‒正确率,我们通常用100-WER%表示 ‒人也不能做到100%的正确率 ‒一般来说ASR系统的错误率WER在 2%到25%之间 ‒大部分的ASRAPI提供商出售的产品大于90%正确率 ASR的WER非常依赖于应用,比如金融,医疗 始终是参考特定的数据集 ‒比如在Earnings-22这个数据集WER为17.6 数据集之间的WER差异比ASR系统之间的WER差异要大 我们的ASR系统的WER要小于10% 早期的采用者可以将他们自己的模型写入加速器 ‒使用他们自己的数据集 ‒加上我们开源的代码库 这个需要用户自己去做 用户通常会有很多数据集去覆盖不同的语言,环境和不同的说话方式。 为每个音频流打开一个websocket接口的连接 将音频流传到服务器,并接收传回的英语转录文本 用户的应用程序可以跑在另外的单独服务器上,甚至可以远程运行 接口和其他现有的ASRAPIs类似 和NvidiaA100对比 ‒延迟降低到1/8 ‒当前的吞吐量提高了7倍 ‒完整产品的吞吐量会提高15倍 Speedster在低延时的语音流场景的表现要优于NvidiaA100 具有小的块大小(Chunksize)的快速响应系统,适用于实时交互式工作 通过具有50M参数RNN-T、60ms块大小的WebsocketAPI ©2023AchronixSemiconductorCorporation.ConfidentialInformation. Copyright©Myrtle.ai2023 演示系统的当前性能 8xStreamsunder50msLatencyBound 与NvidiaA100的延迟数据进行比较 低延时语音流的性能 大型企业呼叫中心 每24小时50,000个呼叫 平均通话时长:5分钟 每分钟的典型成本为0.01美元至0.025美元 每次通话时都会执行ASR 购买和部署基于Achronix的ASR设备的成本 ‒资本支出CAPEX •x86服务器 •加速卡 •软件 •服务器机架 ‒运营支出OPEX •功耗 •数据中心的冷却成本 •托管服务器的空间 •服务器维护 比较 Achronix解决方案 ASR云服务(最低成本) ASR云服务(最高成本) 一天的成本 $2.5k[2] $6.25k[2] 一年的成本 $100k[1] $912k[2] $2.3M[2] 对比云服务的成本减少 5xto20x Notes: 1)CAPEX+OPEX 2)OPEXonly Local Computer Cloud 直接通过云服务访问Achronix的AVL EndUser EdgeDevice 21 与VectorPath卡和带有WebSocket管理器的Myrtle软件捆绑在一起的工作站或服务器 EndUser Localworkstationorserver EdgeDevice Q&A