讯飞云AI平台架构之路

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音大概通过100次请求响应完成
GLOBAL INTERNET ARCHITECTURE CONFERENCE
第一代服务的核心架构
• 和常规互联网服务架构不一样的地方就 是为了管理高密集计算引擎而做的负载 均衡组件
语音数据流图
应用
启 动
初始化
语音交互
SDK
数据收集 更新下发
支 撑
接入负载
/ 策略配置

• •
AI服务 平台
数据 模型
深度学习 平台
为什么不能做一个服务平台里的TensorFlow呢?
系统逻辑架构
• • • •

• •
流式编排

• • •



• •
语音翻译的调度实践
AI Link平台的思考
互联网
移动互联网
物联网
智能物联网
物联网通信技术的发展与AI技术的广泛应用 将推动智能物联网走向浪潮之巅
http/2 -> Http/1.1
upstream
接入网关的演进


• • • •




• •


• •
流量爆涨带来的质量问题
• •
• •




• •
全链路日志

• •

• • •
• 日志跟踪2.0 • 基于Google Dapper原理,实现了调用 链的结构化描述
埋点的一些实践案例
日志埋点要细到什么程度才能让Boss有安全感?



业务
务 业务配置
资源更新 引擎
接入选择 发起业务
登录服务
业务加载 参数更新 引擎选择
创建实例 加载资源
流式音频交互
结果呈现
数据预处理
结果缓存 多引擎调度 业务处理
识别处理
识别结果 语义&业 务处理
高密集计算引擎调度架构演进



• 业务-节点1 业务-节点2
• Round-Robin
ASR引擎 节点1
101
91
81
71
61
total cpu usage usr total cpu usage idl total cpu usage hiq
total cpu usage sys total cpu usage wai total cpu usage siq
231 241 251 261 271
221 232 243 254 265 276
• 应用层内存,静态对象内存为 10M*512B= 5GB
• TCP协议栈内存分配相对复杂,有压 力模式,粗略估算10M*(4K+4K)= 80G
• 心跳时,应用层0内存分配 • 动态消息时,4KB内存池
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 251 261 271

• •

• •
• •
用户级个性化定制



• • •
• • •
• 问题
• 极大增加了调度的复杂性
• 某个分段都是热点用户 • 无法很好的适配弹性伸缩的运 Seg
维体系
A
A
A
B
业务-节点
B
1
1.获取uid-123的可用
计算引擎节点
node
1 1 1 2 2
2.调用计算引擎
负载均衡节 点
DB
ASR引擎 节点1
0
120 100
80 60 40 20
0
11
21
31
1
41
12
51
23
net
188
177
166
155
144
133
122
111
100
89
78
67
56
net/total recv
wenku.baidu.comcpu
net/total send
210
199
45
34
221
211
201
191
181
171
161
151
141
131
121
111
ASR引擎 节点2
2.获取个性化资源
ASR引擎 节点3
一级缓存 一级缓存 一级缓存
3.获取个性化资源 OSS
接入网关的演进

• • •


• •

• •




• •
穿透 性强
好用
速度快
省流量
接入网关的演进


• • • •

• •


• •
这样的实现支持不了Server Push
client
Http/1.1 -> http/2 nginx
全双工接入通道
• 上下行分离,全异步化处理 • 上行只做数据上传 • 下行只做异步响应or Server Push
• 几个关键的Id标识 • did : 设备唯一标识 • up_router_id : 上行路由ID, 用于将数据路由到服务调度层节 点 • down_router_id : 下行路由ID, 用于数据路由到
C10M下行网关
• 内部路由
• 静态对象池是基于递增ID
• 基于ID的对象路由信息+其他辅助校验唯一性信息
• 基于ID的路由内部查询效率为 O(1)
• 基于对象池可以有效的防止野指针的情况
• Push
• Pipelining消息处理
• 消息零拷贝
• Proxy
• 消息缓冲队列防雪崩
• Pipelining高速转发 • 消息零拷贝
• 问题:当前一些日志跟踪对 异步系统的支持并不好
AIUI系统的挑战与未来

• •


• •

• • •
• Android有没有可能成为发展为智能交互 系统的“浏览器”?
• 智能交互系统的“前后端”如何标准化? • 智能交互系统的应用开发平台能否做到
微信小程序平台水平?
NLP的突破
第二代平台
• •
讯飞云AI平台架构之路
科大讯飞
语音云从0到1的在线服务量增长
• 什么是语音云:
• 依托于语音及其他人机交互能力, 将用户意图与应用行为自然便捷 地关联起来,从而满足用户多样 化交互需求的服务通道
• 让语音像水电一样方便接入
• 语音云流量的特点:
• 流式会话 • 通常一次服务中语音2~5秒 • 为了实时性要求,一次服务中的
流式编排调度
• 流式编排 • 消息总线 • 服务扩展
架构思想与技术选型
• •

• • • •

• •
用户响应时间量化的复杂度
• 云+端时间拟合 • 语音尾静音以及云端VAD • 全双工的持续交互,会导致持
续语音识别出多段识别结果
梳理清全链路,并结合埋点,形 成量化优化闭环,用户响应时间 由2~3秒下降到1秒
25
20
15
10
5
Concurrent
0
-50
0
50 100 150 200 250 300
性能定标测试



• •



如何精细化调度?
计算引擎负载均衡
业务-节点1
1.获取可用计 算引擎节点
负负载节负节载均点载节均点衡点均衡衡
2.调用计算引擎
0.实时上报当前并 发量以及警戒水位
A节ASR节AS点引R节AS点引R1节AS擎点引节R1S擎点引R1擎点引1擎N擎
C10M下行推送网关进程架构
• 并发模型
• 基于epoll的多线程Eventloop • 多Eventloop间的notify机制,将锁粒
度降到最低 • 32核下,平均每Eventloop下连接数
为320K • 30秒心跳下,平均每Eventloop下
10Kqps
• 内存
• 基于动态请求内存池和静态对象缓存 池
0.预热uid-123的资源
ASR引擎 节点2
ASR引擎 节点3
个性化调度的转机
• •
大道至简
• 让调度更加纯粹
• 计算节点无明显状态,更好的适配弹性架构
• 将个性化资源做集中缓存方案,类CDN方案
• 子系统指标更加明确:并发、时延、成功率、缓 存命中率
业务-节点 1
1.调用计算引擎
ASR引擎 节点1
链路盲点上的各种坑


• •

• • •
• 运营商 • 全站HTTPS迫在眉睫
第二代平台架构的前身
• •
定向拾音
语音唤醒
语音识别
回音消除 远场降噪
端点检测
无效拒识
离线命令词 云端听写
纠错
语义理解
对话管理
上下文信息
内容管理
情感
情境
语音合成
AIUI系统边界
• 基于语义理解的技能驱 动交互流程
• 全双工流式交互的难点 • Q:我要听周杰伦的 歌(VAD)烟花易 冷 • A:为你推荐周杰伦 的告白气球 • A:为你播放烟花 易冷
ASR引擎 节点2
计算能力不一样?Weighted Round-Robin
如何做过载保护?如何熔断?
计算密集型应用的性能指标
• • •
• • • • •
Throughput
15000
10000
5000
0
0
50
Concurrent
100
150
200
250




无法轻松的定出指标
35 30
Latency
AIoT的三驾马车
连接
连接万物,互联互 通,打破数据的孤岛
智能
AI赋能,万物智能
AIoT
数据 海量数据处理 智能决策的前提
AI Link平台的未来
万一是在发布会演示,玩砸了怎么办?
• 某日Boss在良好的4G网络下使用输入法,反馈慢,要求彻查 • 收到问题的第一反应就是网络的锅 • 经过日志链排查,确实有一次会话出现了一次慢响应,原因是某个数据报文到服务端慢了 • 通过大量的日志统计分析,显示当时所在基站下的接入成功率正常,排除是大范围接入问 • 通过对该基站的测试,发现确实有极低概率的丢包重传问题 • 为此,整个问题分析结束,分析工期17天! • 于是把从TCP_INFO的采点加入到了日志中,Apache Traffic Server的代码就是这样干的
memory
1E+11 8E+10 6E+10 4E+10 2E+10
0
memory usage used memory usage cach
memory usage buff memory usage free
1
120000000 100000000
80000000 60000000 40000000 20000000
相关文档
最新文档