美女与IT兽 | 深度学习框架怎么选?选快的!
· 本文内容分为:语音版+图文版(戳这里可以了解什么是【美女与IT兽】)
· 应用场景:开发人工智能应用,如何选择深度学习框架?
· 收听/阅读时间:10分钟
· 掌握难度:★★★☆☆
今天的【美女与IT兽】,讲的是深度学习框架该如何选择!
IT兽们都知道:
深度学习框架,是用于训练人工智能的深度学习模型;
要训练模型,首先要输入大量数据,然后在学习框架下去做训练,让你的模型最终可以智能的去执行任务。
打个比方,深度学习模型就好像一个学生,数据就相当于课程和习题,而深度学习框架就是学校。
今天是940万考生参加高考的日子,选择什么学校,对一名学生的重要性谁都知道!(不然学区房凭什么那么贵!)
今天就来讲一个智慧医疗系统案例,看他们是如何选择深度学习框架的!
☟ 点开语音,开学了 ☟
-------- 我是文字版分割线 --------
我,依然是各位IT兽们可爱、博学、低调、人见人爱花见花开、谦虚又经常口不择言的微软云计算解决方案合作伙伴发展经理兼顾问兼微软认证云计算专家兼主播兼逗哏兼捧哏的阿霞——彭艳霞,你也可以叫我Grace~
在微软内部,有个神秘组织。
他们掌握着每年微软推出的新的开发技术,比如:物联网、人工智能......
每当有IT兽们“嗷嗷待哺”想用微软这些开发技术时,这个组织就会立刻现身——去帮助IT兽们做一些技术层面的合作,让他们用起微软开发工具和开发技术来,方便又舒心~
这个组织,人称:微软中国开发者体验部
今天,我们就请来该组织成员王启霄,谈一谈:
以下你们就把我当做王启霄:
哼哼~我来自北京,在微软中国开发者体验部工作。
去年10月左右,我们团队开始关注人工智能,具体来说就是——深度学习这一块在一些行业上落地的情况。
这个过程中,我们接触到了Airdoc团队,他们有非常丰富的IT行业背景,几个核心成员来自微软、雅虎等公司。
他们做的项目叫Airdoc DR,一款针对糖尿病并发症——糖尿病性视网膜病变(后文简称“糖网”)的诊断系统。
首先我们看一下长期存在的挑战:
Ⅰ.“糖网” 本身是一个并发症,是内分泌科和眼科交叉的一个环境
在中国,好的眼科医生非常少,医患比基本上是1:3000。
Ⅱ. 糖尿病病患缺乏背景知识
当患者发现自己身体有问题或者不舒服时,一般会直接去看内分泌科医生。
Ⅲ. 这个并发症在早期很难诊断。
对一些经验并不那么丰富的医生来说,早期很难看出来,等到能看出来,基本上已经到了接近失明状态!
传统治疗手段导致很多糖尿病病人得了这个病,觉得不舒服时就已经到后期了。
Airdoc,做了什么?
· 首先,他们收集海量数据:
深度学习最重要的一个先决条件,就是你必须得有非常非常大量的数据;有了数据以后,还需要有医生帮你去做病患照片的分析。
Airdoc跟国内好几个大医院合作之后,收集了成千上万的病患的眼底照片,请经验丰富的医生帮他们去做标注。
· 之后,通过这些深度学习的办法,建立出一个深度学习模型:
通过这个模型,当你再有新的病患照片上来之后,在极短的时间里,它就能把病患是否患有糖网、甚至在几期,都会给出一个非常精确的判断。
(上传左、右眼眼底照片)
(根据眼底照片,迅速判断出患者是否患有“糖网”)
当这个系统开发出来后,做了一次对比——7000多张眼底照片,需要判断是否有“糖网”病患,病情如何。
不用该系统:12位资深医生花了一周的时间;
使用该系统:十分钟左右就把这7000多张照片全部扫了一遍,得出病情初步判断。
Airdoc最早的深度学习模型,是基于一个第三方深度学习框架来做的。但在实际运用过程中,出现了问题:
深度学习的第一阶段,就是训练你的模型——需要输入大量数据,去训练这个模型。
而Airdoc要输入的,是海量眼底照片,这个数字就大的惊人了。
之前用的深度学习框架,根本达不到他们要求的训练速度......
对比了多种深度学习框架后,Airdoc最终选择了微软的CNTK(Microsoft Cognitive Toolkit),微软深度学习的toolkit,本身是一个完全开源的深度学习框架。
在微软内部,超过80%跟深度学习相关的产品或服务,都是基于CNTK来做开发或训练的。
包括我们反复提到的认知服务,背后就有大量基于CNTK去做的模型训练。
Airdoc选择CNTK,最重要的原因就是:相对其他所有深度学习框架,速度是它最突出的优势。
下图是香港浸会大学最近的Benchmark报告,他们在过去一年多一直在做几个深度学习框架的对比,这是他们做的第八版的对比:
可以看到:左列几个单词是在深度学习领域里面用的最多的几个模型。
FCN5、AlexNet、ResNet这三个主要是跟视觉相关的,就是我们去做认知服务里面的人脸识别,或者去做一个图片的识别;
LSTM是跟云相关的模型,这两个是在现代生物学系里,跟实际行业应用最接近的两个经常用到的模型。
在这几个模型上,CNTK的速度比较快——尤其是像LSTM这个跟语音相关的模型里面,可以看到和其他已经不在同一个数量级。
在语音模型上CNTK的速度为什么会快这么多?
有个简单原因:CNTK最早就是微软在做Speech的这帮人,去训练Speech相关模型时做出来的,所以他们在跟Speech相关模型领域里,速度是快的惊人的!
所以大家如果后续想做一些,比如真的想再做一个Echo或者再做一个自己的深度学习模型,做一些人机交互跟语音交互的话,那么CNTK是你最好的选择。
CNTK背后真正的杀招其实是:
在所谓的分布式环境下,你要训练一个真正大模型的时候,必须多机多卡,需要多个物理机,每个物理机上还要有多个机器,每个机器都搭载多个GPU...!
在这种情况下,CNTK的速度比其他明显要好更多。
当达到两个节点、八个GPU的时候,CNTK的速度相比其他深度学习框架是有一个量级上的提升!
这背后,有三个重要原因:
第一:在分布式环境下,通过某种程度的优化,CNTK能让节点与节点之间通讯的数据包更小;
第二:CNTK可以让通讯的次数变得更少。
别人可能在训练过程中,每个节点之间需要交换数十次同一个消息的时候,在CNTK上面,只需要两三次、四五次,通讯的次数会变得更少;
第三:通过异步或者是一些参数服务器的引入,做一些节点之间的同步或异步交换之后,能让前面这两个优点会变得更加明显。
值得一提的是:就在6月5日(前天),微软在开源平台正式发布了2.0版本的认知工具包(Microsoft CognitiveToolkit,曾用名为CNTK)。
微软认知工具包2.0完整版用于生产级和企业级的深度学习工作负载,包括了测试版发布以来累积的几百项新功能,简化了深度学习过程,能够与更广泛的AI生态系统实现无缝整合。
讲完CNTK,不得不说Airdoc选择微软的第二个原因——公有云Azure。
Airdoc做的所有机器训练,都需要GPU,在微软云 Azure上有专门配置GPU的一些虚机,即有现成的计算资源。
而且,不要忘了Azure是公!有!云!
公有云最大好处就是:灵活和弹性。
用的时候开,不用的时候关——可以基于CNTK的分布式训练,一次在Azure上多开几台虚机,且每台虚机都有自己的GPU加速卡,之后就可以训练自己的模型,训练之后再直接关掉。
这符合创业公司的天然需求~
希望通过今天这个简短的分享,IT兽们能对CNTK有一个简单的认识。
各位...晚安!
最后,希望你们对第一集“选对深度学习框架的智慧医疗系统”提出反馈:
嗨~我又回来了!刚才去为你们要到一个——
如果你对Airdoc DR的解决方案感兴趣,或者也需要“微软神秘组织”的帮助
就戳以下按钮,填写问卷,等待微软专家为您服务~
☟ 戳视频,了解更多Airdoc DR如何帮助诊断“糖网”患者? ☟
(ღ 温馨提示:视频1分45秒,随意选择网络环境观看)
https://v.qq.com/txp/iframe/player.html?vid=f05027m23qp&width=500&height=375&auto=0
-------- 最后的最后,来一波剧透 -------
今天的“如何选择深度学习框架?”,其实是系列剧——《物联网&人工智能解决方案》的首映式(掌声响起来)!
这是什么剧?IT兽们为什么要看(听)?
这两年,『物联网』、『人工智能』两个关键词一出,不知戳中多少人嗨点!
早些年,说到物联网,就是:智能眼镜、智能烟缸、乃至红极一时的智能可穿戴设备......
不过这阵风来也匆匆去也匆匆,所有人又梗着脖子四处嗅下一个风口~
但真说到:物联网、人工智能如何在行业里落地?
就只剩下N脸懵哔......
所以这个系列,我们就准备了5个在不同行业中真正落地的解(清)决(奇)方(脑)案(洞):
① 智慧医疗、② 智能咖啡贩卖机、③ 智能音响、④ 车联网、⑤ 智慧零售
下一期,我们边喝咖啡边聊!
. . .
☟ 戳蓝字回顾『美女与IT兽』前几期:
第一期:美女与IT兽 | 如果能说句话、挥挥手就能把事情办了,我们为什么还要做App?
第四期:美女与IT兽 | 别光想着双12了,Hololens这次真要来了!