国内首个深度学习开发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
相关文章
|
29天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
将Keras训练好的.hdf5模型转换为TensorFlow的.pb模型,然后再转换为TensorRT支持的.uff格式,并提供了转换代码和测试步骤。
68 3
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
|
29天前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习之格式转换笔记(一):模型文件pt转onnx转tensorrt格式实操成功
关于如何将深度学习模型从PyTorch的.pt格式转换为ONNX格式,然后再转换为TensorRT格式的实操指南。
76 0
深度学习之格式转换笔记(一):模型文件pt转onnx转tensorrt格式实操成功
|
5月前
|
机器学习/深度学习 人工智能 TensorFlow
TensorFlow 是一个由 Google 开发的开源深度学习框架
TensorFlow 是一个由 Google 开发的开源深度学习框架
70 3
|
1月前
|
机器学习/深度学习 自然语言处理 语音技术
使用Python实现深度学习模型:智能产品设计与开发
【10月更文挑战第2天】 使用Python实现深度学习模型:智能产品设计与开发
55 4
|
2月前
|
机器学习/深度学习 传感器 自然语言处理
深度学习与未来科技的融合
本文旨在探讨深度学习在现代科技中的应用及其对未来科技发展的潜在影响。通过分析深度学习的基本概念、关键技术以及在不同领域的应用案例,本文揭示了深度学习如何推动技术进步,并提出了未来发展的可能方向和面临的挑战。
|
2月前
|
机器学习/深度学习 缓存 NoSQL
深度学习在图像识别中的应用与挑战后端开发中的数据缓存策略
本文深入探讨了深度学习技术在图像识别领域的应用,包括卷积神经网络(CNN)的原理、常见模型如ResNet和VGG的介绍,以及这些模型在实际应用中的表现。同时,文章也讨论了数据增强、模型集成等改进性能的方法,并指出了当前面临的计算资源需求高、数据隐私等挑战。通过综合分析,本文旨在为深度学习在图像识别中的进一步研究和应用提供参考。 本文探讨了后端开发中数据缓存的重要性和实现方法,通过具体案例解析Redis在实际应用中的使用。首先介绍了缓存的基本概念及其在后端系统性能优化中的作用;接着详细讲解了Redis的常见数据类型和应用场景;最后通过一个实际项目展示了如何在Django框架中集成Redis,
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的图像识别技术深入理解Node.js事件循环及其在后端开发中的应用
【8月更文挑战第27天】本文将介绍深度学习中的图像识别技术,包括其原理、应用领域及未来发展。我们将探讨如何通过神经网络实现图像识别,并分析其在医疗、交通等领域的应用。最后,我们将展望图像识别技术的发展前景。
|
3月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
177 1
|
3月前
|
机器学习/深度学习 算法 PyTorch
PyTorch Lightning:简化深度学习研究与开发
【8月更文第27天】PyTorch Lightning 是一个用于简化 PyTorch 开发流程的轻量级封装库。它的目标是让研究人员和开发者能够更加专注于算法和模型的设计,而不是被训练循环和各种低级细节所困扰。通过使用 PyTorch Lightning,开发者可以更容易地进行实验、调试和复现结果,从而加速研究与开发的过程。
131 1
|
3月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
62 0
下一篇
无影云桌面