NeuralTalk 曾多次发布有关华为诺亚深度学习加速库 Bolt 的文章(见文末),为什么?因为在卷的过程中有自己的创新点。
Bolt 在神经网络推理加速上取得了业界前沿的性能,覆盖面广泛,支持float32, float16, int8, 1bit等多种计算精度;支持armv7, v8, v8.2+, x86 avx2, avx512, mali gpu, 高通gpu等多种硬件;支持MLP,CNN, Transformer, GNN等多种网络结构;广泛应用到CV,NLP场景中。
图0 Bolt v1.3 release note
这次,刚刚发布的V1.3版本,除了对现有的推理部分完善和优化,Bolt新增了端侧训练,网络finetune模块,端侧训练+推理一体化,打通端云协同的流程。具体来说:
- APP内置的云侧模型可以一键化直接加载。不需要单独写训练代码定义网络结构,只需要简单设置模型路径,训练参数即可,就可以实现基于用户数据在端侧训练的流程,训练完成后写出优化后的模型。
- 实现用户数据不离开用户,既保护用户隐私安全,又满足基于用户特性定制化的需求。
- 端侧训练目前支持MLP,CNN,RNN,Transformer等多种网络结构,支持常见的损失函数和优化器。
- 训练精度可以对标云侧训练框架(Tensorflow/Pytorch)。
官方给出了CV网络(lenet, resnet18和mobilenetv1)的端侧调优运行示例文档,详细请见:
https://github.com/huawei-noah/bolt
https://github.com/huawei-noah/bolt/blob/master/training/TUTORIAL.md
图1 端侧训练+推理一体化
端侧训练NLP项目实战--声音克隆
TTS是NLP语音研究中常见的文本到语音任务,最近的文本到语音的研究允许构建多说话人系统,仅基于少数语音,就可以构建新的模型。我们联合语音语义团队,开发了一套声音克隆流程,仅需1分钟的用户录音,针对目标说话人通过微调小语音上的特征生成模块,不超过200次SGD迭代,在手机上进行不到1小时的训练,就可获得用户声音定制化的高质量的TTS系统,这项工作已被NIPS2021接收。
图2 "Efficient Strategies of Few-Shot On-Device Voice Cloning."https://neurips2021-nlp.githu... [1]
我们对前沿的不同TTS系统进行对比,从说话人相似性、声音质量、合成语音的整体自然度等多个维度评估生成的语音的效果。
图3 说话人相似性、声音质量、合成语音的整体自然度等多个维度评估
图4 每种模型的错误分析
最后选择使用Tactron2算法[2]作为声音克隆骨干网络,声码器部分使用LPCNet算法[3],实现我们的声音克隆算法,更多实验细节和参数设置可以看实验论文[1]。
端侧训练利用了Bolt高性能计算加速库blas_enhance,针对float32/float16/int8做了深入优化。
图5 blas_enhance benchmark on Kirin 980
<blas_enhance>
https://github.com/huawei-noah/bolt/blob/master/compute/blas_enhance/include/blas_enhance.h
如上表所示,基线float32版本需要1.6小时才能完成200轮迭代,内存占用达到800MB。我们在端侧使用了float16混合精度训练(MPv1),损失函数采用float32计算,其余部分使用float16计算,适当增加迭代次数,引入早停机制,对LSTM做了融合优化,极大提高了计算效率,降低了内存占用。MPv2版本优化了访存效率,实现0.9小时声音克隆端侧网络调优。与基线float32相比,我们没有观察到生成的声音质量下降,性能可以对标业界竞品。
欢迎大家来尝试使用Bolt复现论文
Bolt团队致力于打造高性能的深度学习算法+研发系统,让更多人了解和使用并行计算是我们不懈的奋斗目标。欢迎大家加入我们,反馈体验效果,在社区积极讨论。未来我们会继续利用更领先的技术,在计算机视觉、自然语言处理及更多的领域发力,将更多的研究结果带到社区。
来源:NeuralTalk
作者:Huawei-Noah
往期回顾
- 嵌入式AI简报 | TFLite主管离职/BiBERT/GiraffeDet/编译器IR思考
- 新一代深度学习编译技术变革和展望
- 理解程序运行时的内存布局1:知识铺垫之进程/线程切换、纤程
- 理解程序运行时的内存布局0:知识铺垫之多任务、协同式与抢占式、时间片、任务优先级
本作品采用知识共享署名-相同方式共享 4.0 通用许可协议进行许可。
欢迎关注公众号,关注模型压缩、低比特量化、移动端推理加速优化、部署。
更多嵌入式AI相关技术干货请关注嵌入式AI专栏。