国内首个深度学习开发SDK发布:深鉴科技对标英伟达TensorRT

简介:
本文来自AI新媒体量子位(QbitAI)

AI芯片厂商开始意识到,AI芯片的计算性能再好,失去完备的软件包工具链的支持,也将丧失优势、举步维艰。

此种情况下,抢滩软件生态至关重要。

芯片业巨头英伟达率先推出深度学习软件包TensorRT。它相对简单易用,在深度学习算法推理阶段能将GPU的计算能力更大程度释放出来。得益于软件包的助力,GPU的应用范围从图像视频领域扩展到金融行业,最后扩展到计算需求量大的AI、深度学习领域。

如果说英伟达的GPU是个性能强大的火箭,那么TensorRT就是送它到深度学习的助推器,软件包对AI芯片的重要性不言而喻。

成立一年半的深鉴科技开始也没想到,自主研发的DNNDK一不小心就对标了英伟达的TensorRT。

这套面向AI异构计算平台DPU(Deep-learning Processor Unit,深度学习处理器)自主研发的原创深度学习开发SDK,提供了自动化压缩和编译工具链全流程支持,是国内首家公开发布的深度学习开发SDK。

“像,但并不一样,我们有自己技术、专利上的优势。”深鉴科技的编译器架构师孙晓明告诉量子位。

这套SDK性能如何,会为国内AI芯片市场带来怎样的新趋势?我们往下看。

 深鉴科技室内

深鉴科技,何许人也?

2016年3月,毕业于清华大学电子系的姚颂放弃了CMU读博的机会,和同是清华人的汪玉、韩松一起创建了深鉴科技。

 深鉴科技创始人团队,从左到右依次为首席科学家韩松,联合创始人、CEO姚颂,联合创始人汪玉,合伙人、CTO单羿

在神经网络压缩和稀疏化方面的研究中,深鉴很快崭露头角。2016年5月的ICLR大会有两篇最佳论文,一篇来自DeepMind,另一篇就来自深鉴的首席科学家韩松。论文解释了如何利用“深度压缩”(Deep Compression)技术将神经网络压缩数十倍而不影响准确度,从而降低计算复杂度和存储空间。

俗话说,扎根越深,前进越稳。

这一年,深鉴研发了面向深度学习应用的可编程通用计算平台:亚里士多德架构DPU,定义和实现了一套用于映射DNN算法的高度优化可编程指令集。

它不仅在实现高性能、高能效比目标的同时兼顾通用性和灵活性,支持如AlexNet、VGG、GoogLeNet、ResNet、Faster-RCNN, YOLO, SSD等流行CNN,还兼具可扩展特性,在DPU指令集提供支持的基础上可无缝运行其它用户自行扩展或衍生的神经网络。

从公司成立初启动亚里士多德架构DPU研发的同时,深鉴就开始布局软件生态,于今年上半年完成软件工具链的原型开发和验证,如今对外正式推出了深度学习全栈式SDK DNNDK(Deep Neural Network Development Kit)。

DNNDK实现从深度学习算法到DPU硬件平台的高效映射,为DPU从移动端到数据中心端各类应用提供统一的工具包和编程接口。

在极大降低DPU平台深度学习应用开发门槛和部署难度的同时,能够显著加速AI产品从开发到面市的进程。

完整全流程软件工具链

作为一款国内首发深度学习开发SDK,DNNDK提供了一套完整全流程软件工具链,涵盖了神经网络推理(Inference)阶段从模型压缩、异构编程、编译到部署运行的全流程支持,帮助深度学习算法工程师和软件开发工程师轻松利用DPU的深度学习计算能力,实现AI计算负载的加速。

“借助DNNDK提供的轻量级C/C++ APIs,开发一个ResNet50图像分类应用,大概只需要两百行左右的代码量,其中与DPU编程相关的代码只有五十行左右。”深鉴科技编译器架构师孙晓明在接受采访时举了这样一个例子。

 编译器组日常,中间为编译器架构师孙晓明

同时,开发人员无需任何异构计算编程方面的经验和背景,只需要使用标准的C/C++编程语言,相比CUDA、OpenCL等异构编程接口开发门槛更低。

 DNNDK的完整全流程软件工具链

DNNDK框架主要包含深度压缩工具DECENT (DEep ComprEssioN Tool)、深度神经网络编译器 DNNC (Deep Neural Network Compiler)、深度神经网络汇编器DNNAS (Deep Neural Network Assemler)、神经网络Runtime N2Cube (Cube of Neural Network)、Simulator和Profiler等几个核心组件。

 DNNDK框架

在接受采访时孙晓明表示,目前DNNDK支持Caffe框架的神经网络模型,对TensorFlow和MXNet框架的支持在开发中。

深度压缩

深度压缩是深鉴核心技术的重中之重。

依托神经网络模型压缩领域研究成果,深鉴研发了深度压缩工具DECENT,将韩松博士提出的剪枝(Pruning),量化(Quantization),权重共享(WeightsSharing)以及霍夫曼编码(HuffmanEncoding)等一系列深度压缩技术实现了自动化,让普通用户也能够使用深度压缩,在保证基本不损失算法精度的前提下可将网络模型的规模压缩数倍至数十倍,例如将VGG-16网络模型的规模压缩49倍。

 DECENT工作流程

深鉴原创的混合编译技术解决了深度学习应用在AI异构计算环境下编译和部署中的困难,开发人员用C/C++编程语言开发、运行在CPU上的应用代码与运行在DPU上的神经网络指令流代码一起完成混合编译和链接。

“DNNDK提供的自动化压缩和编译工具,能帮助DPU开发者实现从深度学习算法到应用的一键式快捷部署、避免了繁琐的手动设置和参与。”孙晓明表示。

 DNNDK混合编译模型

与其它深度学习解决方案相比,DNNDK能够将深度学习算法部署到硬件的周期从数天降低到数分钟,提高AI研发人员的工作效率。

号外号外,DNNDK已上线

这套深鉴科技原创的深度学习开发SDK于2017年10月17日00:00上线,查看地址:

http://www.deephi.com/dnndk/

不会用没关系,这有一份使用方法的Demo视频链接地址:

http://www.deephi.com/assets/demo_dnndk_resnet50_1016.mp4

要不要去试试看?

本文作者:安妮
原文发布时间:2017-10-17
相关文章
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
ModelScope深度学习项目低代码开发
低代码开发平台通过丰富的预训练模型库、高度灵活的预训练模型和强大的微调训练功能,简化深度学习项目开发。以阿里魔搭为例,提供大量预训练模型,支持快速迭代与实时反馈,减少从头训练的时间和资源消耗。开发者可轻松调整模型参数,适应特定任务和数据集,提升模型性能。ModelScope平台进一步增强这些功能,提供模型搜索、体验、管理与部署、丰富的模型和数据资源、多模态任务推理及社区协作,助力高效、环保的AI开发。
147 65
|
11天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
141 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
16天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
121 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
25天前
|
API 开发工具 Android开发
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
69 23
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
351 5
|
4月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
将Keras训练好的.hdf5模型转换为TensorFlow的.pb模型,然后再转换为TensorRT支持的.uff格式,并提供了转换代码和测试步骤。
129 3
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习之格式转换笔记(一):模型文件pt转onnx转tensorrt格式实操成功
关于如何将深度学习模型从PyTorch的.pt格式转换为ONNX格式,然后再转换为TensorRT格式的实操指南。
431 0
深度学习之格式转换笔记(一):模型文件pt转onnx转tensorrt格式实操成功
|
4月前
|
机器学习/深度学习 自然语言处理 语音技术
使用Python实现深度学习模型:智能产品设计与开发
【10月更文挑战第2天】 使用Python实现深度学习模型:智能产品设计与开发
129 4
|
5月前
|
机器学习/深度学习 缓存 NoSQL
深度学习在图像识别中的应用与挑战后端开发中的数据缓存策略
本文深入探讨了深度学习技术在图像识别领域的应用,包括卷积神经网络(CNN)的原理、常见模型如ResNet和VGG的介绍,以及这些模型在实际应用中的表现。同时,文章也讨论了数据增强、模型集成等改进性能的方法,并指出了当前面临的计算资源需求高、数据隐私等挑战。通过综合分析,本文旨在为深度学习在图像识别中的进一步研究和应用提供参考。 本文探讨了后端开发中数据缓存的重要性和实现方法,通过具体案例解析Redis在实际应用中的使用。首先介绍了缓存的基本概念及其在后端系统性能优化中的作用;接着详细讲解了Redis的常见数据类型和应用场景;最后通过一个实际项目展示了如何在Django框架中集成Redis,
|
5月前
|
机器学习/深度学习 传感器 自然语言处理
深度学习与未来科技的融合
本文旨在探讨深度学习在现代科技中的应用及其对未来科技发展的潜在影响。通过分析深度学习的基本概念、关键技术以及在不同领域的应用案例,本文揭示了深度学习如何推动技术进步,并提出了未来发展的可能方向和面临的挑战。

热门文章

最新文章