快手端侧AI SDK框架
如果无法正常显示,请先停止浏览器的去广告插件。
1. 快手端侧 AI SDK 框架
崇洋铭
AI 架构师
快手 Y-tech
1
2. 2
3. 大纲
• 背景
框架设计
性能优化和配套工具链
• 未来展望
• Q&A
•
•
3
4. “童话公主”特效
“隐身衣”特效
“梵高星空”特效
4
“万物AR”特效
5. 快影智能抠像
智能识物
5
一键出片
6. AI能力架构
业务层 快手 一甜 快影 Snack Kwai Pro
中台层 拍摄 SDK 编辑 SDK 直播 SDK 特效 SDK 播放 SDK
AI 接口层
通用数据接口
统一调用方法
模块管理 参数配置 日志上报 AB 实验
人脸类 分割类 人体类 智能处理
3D 类 AR 类 GAN 类 图像类
AI 底层库 KwaiNN推理引擎 模型管理 图形图像库 内存管理
系统层 iOS 安卓 PC 端 服务端
硬件层 CPU GPU NPU DSP
AI 算法层
模型导出 模型测速
量化工具 结构方案库
引擎工具
模型训练 NAS
模型仓库 模型压缩
训练平台
数据采集 数据标注
数据清洗 数据回流
数据管理
开发环境
运行环境
6
7. AI能力一览
每日调用量
• 几千亿次量级
每日模型创建量
• 几亿次量级
AI 能力
• 近100种
7
8. 挑战
•
•
•
•
效果
•
•
•
•
•
帧率
CPU占用
内存开销
包体积大小
崩溃率
性能
成本
8
AI 能力数量
效果观感
参数可配置能力
特效包装
•
•
•
•
开发周期
测试投入
业务对接效率
算法迭代效率
9. 大纲
• 背景
框架设计
性能优化和配套工具链
• 未来展望
• Q&A
•
•
9
10. 整体框架
调用接口
通用数据接口
图形图像库
模块工厂
分割类 检测类 深度类
人脸类 生成式 ……
功能模块
模型管理
数据转换
多端 Demo
引擎接口
自动化文档 本地素材
工具链 打包平台
日志和上报
单元测试
核心库
YKit
10
11. 运算流程统一化
CPU 链路
• 通用的推理流程
• 灵活的前后处理
• 丰富的多功能串联支持
GPU 链路
• 高性能的图像后处理
• 高效对接下游特效、编辑、拍摄等模块
CPU 链路
输入图像 人脸关键点
计算 模型前处理 模型推理 模型后处理 功能点串联 模型输出
输入
GPU纹理 美颜瘦脸 GPU后处理 后处理输出 融合渲染 美妆 录制
GPU 链路
11
12. 功能插件化
请求AI能力,触发下载
特效素材
客户端
服务器
业务逻辑
动态模块
核心模块
人像分割
手势识别
人脸关键点
N
A
G
背景填充
……
人脸分割
果
效
动态模块:
按需下载,可使安卓包体积减小50%
核心模块:
高频重要能力随基础库,
提升用户体验
框架层和基础库
YKit
调用接口
模型管理
图形图像库
功能模块基础库
模块工厂
模块基类
注册表
模块基础库:
统一基类和注册接口,
易于新增功能点,
功能之间解耦,同时也提供了组合能力
宏开关
引擎库:
可打包进YKit提供完整AI能力,
也可轻量化单独提供推理能力
KwaiNN引擎
12
13. 大纲
• 背景
框架设计
性能优化和配套工具链
• 未来展望
• Q&A
•
•
13
14. 性能问题定位
输入图像 人脸关键点
计算 模型前处理 模型推理 模型后处理 功能点串联 模型输出
输入
GPU纹理 美颜瘦脸 GPU后处理 后处理输出 融合渲染 美妆 录制
14
15. 图形图像库
图像类转换接口
图像管理类
运算后端
•
•
50多个优化后的算子
Neon 算子为例:NV12高清图
裁剪出256x256的人脸区域、并
转为 RGB 格式,在 iPhone 6上
耗时0.2ms
CPU后端 OpenGL后端 Metal后端 Vulkan后端
CPU算子 OpenGL算子 Metal算子 Vulkan算子
高斯滤波
引导滤波
裁剪
算子库
内存/纹理池
15
形状变换
……
16. 模型分级下发
功能丰富性:
•
基于 CPU、GPU、NPU 性能及系统版本,设置10档分级
•
对于具体特效,可手动灵活设置规则,调整分级
•
支持 AB
•
支持各业务方定制
模型训练
算法开发
模型配置管理平台
服务端
移动端
检测硬件
分级
模型和参数配
置服务器 CDN
获得模型分
级配置 下载模型包
和参数
部署安全性:
•
白名单、预上线、测试服、正式服等多层状态
•
模型版本号、代码版本号双重检查,迭代模型时不影响旧
版本用户
•
各模型根据哈希独立存储,并多重备份
运行 YKit
KwaiNN 推理引擎
CoreML HiAI MTK
Metal OpenCL Neon
16
……
17. 案例一:GAN类特效 性能优化
•
•
•
同一款特效配置8档模型,从 iPhone高端机到安卓低端机,均可达到 >18fps 的流畅效果
3种运行模式
20余个可配置参数,服务端下发即时生效
1. 同步模式
延迟小、模型效果好
2. 异步模式
线程利用率高、帧率提升25%
3. 压帧模式
针对中低端机,保证最大流畅效果
帧率可提升60-70%,
例:原本15fps的机型可达26fps
17
18. 案例二:人脸动态效果 多线程架构
• 4个线程上5个模块异构计算,相比单线程方案性能提高80%
18
19. 案例三:视频编辑场景 推理缓存接口
•
•
19
预览帧率优于竞品平均34%
导出耗时优于竞品平均73%
20. 挑战
•
•
•
•
效果
AI 能力数量
效果观感
参数可配置能力
特效包装
• 基础公共库和工具链避免重复造轮
子,新算法可快速落地
• 通用数据接口和可配置化参数,一套
功能点代码对接各业务方,满足效果
需求
性能
成本
20
21. 挑战
模型分级下发,适配各档位机型
模块化的单点能力使得多线程方案更易开发
提供支持各主流 NPU 的模型,降低 CPU 开销
内存池设计降低内存开销和崩溃率
功能模块动态下发,减小包体积,提升安装成
功率
• 完善的日志和错误信息收集、回捞
•
•
•
•
•
•
•
•
•
•
帧率
CPU占用
内存开销
包体积大小
崩溃率
效果
性能
成本
21
22. 挑战
• 统一接口和计算流程提高了业务开发效率,
开发、调试周期减半
• 引擎测速平台和 SDK Benchmark 工具,
可在早期阶段把控性能
• 多端 Demo,提供快速本地验证能力
• 模型和配置中台,支持快速迭代
• 自动化文档生成和更新
效果
性能
成本
22
•
•
•
•
开发周期
测试投入
业务对接效率
算法迭代效率
23. 大纲
• 背景
框架设计
性能优化和配套工具链
• 未来展望
• Q&A
•
•
23
24. 未来展望
• 全平台:服务端移动端统一
• 优化中低端机性能,提供更好的用户体验
• 通过完善开发规范、工具建设、联调流程优化,进一步提升整体开发效率
24
25. 我们的团队
快手 Y-tech 介绍
Y-tech 团队是快手公司在人工智能领域的探索者和先行者。我们致力于通过计算机视觉、计算机
图形学、机器学习、AR/VR/HCI 等多领域的交叉,一方面帮助每个人更好的表达自己和创作内容,
另一方面为每个人提供更好的内容体验和交互方式。Y-tech 在北京、深圳、杭州、Palo Alto 均有研
发团队。如果你对我们做的事情感兴趣,希望一起做酷炫的东西,创造更大的价值,欢迎联系并加入
我们! 联系方式:ytechservice@kuaishou.com。
25
26. 26
27. 27
28. 端侧_AI_SDK_框架,爆款特效批量生产背后的秘密
扫描二维码 提交议题反馈