介绍
Bolt 是一个轻量级的深度学习库。 Bolt作为一种通用的神经网络部署工具,旨在实现自动部署管道和极限加速。 Bolt已经在华为公司的许多部门中广泛部署和使用,如2012实验室、CBG和华为产品线。 如果你有问题或建议,可以提交issue。QQ群: 833345709
为什么选择Bolt?
- 高性能:比现有的开源加速库快15%+
- 丰富的模型转换:支持Caffe、ONNX、TFLite、Tensorflow
- 多种推理精度:支持FP32、FP16、INT8、1-BIT
- 多平台:ARM CPU(v7, v8, v8.2+, v9),X86 CPU(AVX2, AVX512),GPU(Mali, Qualcomm, Intel, AMD)
- Bolt是首个支持NLP并支持常见CV应用的库
- 最小化ROM/RAM
- 丰富的图优化
- 高效的线程亲和性设置
- 自动算法调优
- 时间序列数据加速
构建状态
有一些常用的平台用于推理。更多目标可以参见scripts/target.sh。请根据您的环境做出合适的选择。 如果你想构建设备端训练模块,可以添加**--train选项。 如果你想使用多线程并行,可以添加--openmp**选项。 如果你想为有ROM/RAM限制的cortex-M或cortex-A7构建(传感器、MCU),你可以参见docs/LITE.md。
Bolt默认链接静态库,这可能在某些平台上造成问题。你可以使用--shared选项链接共享库。
快速入门
只需两步即可开始使用 Bolt。
-
转换:使用 X2bolt 将你的模型从 caffe, onnx, tflite 或 tensorflow 转换为 .bolt 文件;
-
推理:运行 benchmark 使用 .bolt 文件和数据获得推理结果。
关于 X2bolt 和 benchmark 工具的更多使用详情,请参见 docs/USER_HANDBOOK.md。
Bolt 中的深度学习应用
以下展示了一些在 Bolt 中有趣且有用的应用。
已验证的网络
Bolt 在推理常见的计算机视觉、自然语言处理和推荐神经网络方面表现出了高性能。以下列出了一些代表性网络。你可以在 docs/BENCHMARK.md 中找到详细的基准信息。
应用 | 模型 |
计算机视觉 | Resnet50, Shufflenet, Squeezenet, Densenet, Efficientnet, Mobilenet_v1, Mobilenet_v2, Mobilenet_v3, BiRealNet, ReActNet, Ghostnet, unet, LCNet, Pointnet, hair-segmentation, duc, fcn, retinanet, SSD, Faster-RCNN, Mask-RCNN, Yolov2, Yolov3, Yolov4, Yolov5, ViT, TNT, RepVGG, VitAE, CMT, EfficientFormer ... |
自然语言处理 | Bert, Albert, Tinybert, 神经机器翻译, 文本转语音(Tactron, Tactron2, FastSpeech+hifigan, melgan), 自动语音识别, DFSMN, Conformer, Tdnn, FRILL, T5, GPT-2, Roberta, Wenet ... |
推荐 | NFM, AFM, ONN, wide&deep, DeepFM, MMOE |
更多深度学习任务 | ... |
支持的模型比上述提及的更多,鼓励用户进一步探索。
设备端训练
设备端训练已经来临,目前是一个支持 Lenet, Mobilenet_v1 和 Resnet18 在嵌入式设备和服务器上训练的测试版本。想了解 Bolt 上设备端训练的更多详情?请查看官方训练 教程。
文档
关于 Bolt 的所有内容都记录在 docs 中的详细文档里。
- 如何使用不同的编译器安装 Bolt?
- 如何使用 Bolt 推理你的机器学习模型?
- 如何开发 Bolt 以定制更多模型?
- 算子文档
- 一些通用模型的基准测试结果。
- 如何可视化/保护 Bolt 模型?
- 如何使用 kit 构建演示/示例?
- 常见问题解答
文章
- 深度学习加速库Bolt领跑端侧AI
- 为什么 Bolt 这么快:矩阵向量乘的实现
- 深入硬件特性加速TinyBert,首次实现手机上Bert 6ms推理
- Bolt GPU性能优化,让上帝帮忙掷骰子
- Bolt助力HMS机器翻译,自然语言处理又下一城
- ARM CPU 1-bit推理,走向极致的道路
- 基于深度学习加速库Bolt的声音克隆技术(Voice Cloning)
教程
- 图像分类: Android Demo, iOS Demo
- 图像增强: Android Deme, iOS Demo
- 情感分类: Android Demo
- 中文语音识别: Android Demo, iOS Demo
- 人脸检测: Android Demo, iOS Demo
鸣谢
Bolt参考了以下项目:caffe,onnx,tensorflow,ncnn,mnn,dabnn。
许可证
MIT许可证(MIT)