快手端侧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_框架,爆款特效批量生产背后的秘密 扫描二维码 提交议题反馈

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.125.0. UTC+08:00, 2024-05-09 10:34
浙ICP备14020137号-1 $访客地图$