正文内容 评论(0)
2022年7月16日-18日,第十一届吴文俊人工智能科学技术奖暨2021中国人工智能产业年会在北京和苏州同期圆满举办。深圳云天励飞技术股份有限公司首席科学家王孝宇受邀在2021中国人工智能产业年会主论坛上发表主旨报告《Towards Automated Artificial Intelligence》。
人工智能在过去十年得到了长足的发展。人工智能加速发展的这十年,也是人工智能研究及产业技术不断走向开源、开放、自动化的十年。报告通过梳理人工智能研发不断迈向自动化的努力,阐述其下一阶段大规模行业化的关键方向。报告亦会介绍与各国际高校学者联合发布的YMIR开源自动化AI研发平台。此平台赋能的项目获此次吴文俊人工智能科技进步一等奖。
以下为王孝宇博士的现场演讲内容:
我今天主要是根据我们在美国的十年和在中国五年创业的经验谈一谈我们对自动化机器学习和自动化人工智能的认识,并且同步介绍一下我们在这方面的成果。
其实深度学习最标志性的事件是在2012年的时候,多伦多大学有一位教授Geoffrey Hinton,带着两个学生拿了国际比赛的第一名,并且比第二名高出很多,那个比赛叫ImageNet。后来这三个人就组建了一个科技公司卖给了Google。再后来这三个人也在人工智能的领域大展拳脚,Geoffrey Hinton是图灵奖的得主,Ilya后来成为Opne AI的首席科学家,Alex后来去了Google做研究。
Alex对业界的贡献非常大。为什么2012年之前有这么大的发展,其实这是一个逐步累积的过程,一方面互联网的数据达到了一定的程度,另外一方面显卡、GPU算力达到一定的程度,但是很多时候忽视了第三方面就是GPU当时的编程很复杂,尤其是把深度学习、神经网络编写到一个并行计算的框架里面,并不是简单的任务,Alex就把这个GPU实现了,并且得到了很好的结果,把这个结果release就分享给全社会了,所有学者都可以用,当时叫Cuda-convnet。其实我们在2011、2012年做深度学习研究的时候,用的全是这个深度学习的框架。
在这之后,又有一个学生叫贾扬清(阿里巴巴副总裁),他release一个深度学习的框架叫Decaf,其实跟Alex的那个有点像,但是稍微比Alex那个框架又好用一点,这个得到了非常大的传播。
由于Decaf本身存在一些工程上的问题,2014年伯克利又release了Decaf的第二版,我们叫Caffe。Caffe后来变成广泛流传的深度学习神经网络的训练框架,这是2014年。
在这之后,各大公司就投入做深度学习的框架,这是一个营造科技生态非常重要的环节,包括Google的TensorFlow,亚马逊的Mxnet,Meta的Pytorch,包括中国百度的PaddlePaddle。现在流行的主要是两个,就是Google的TensorFlow、Meta的Pytorch。
这个领域你会发现变得越来越开放,第一步开放是研究学者之间的开放。我2008年在美国读博士的时候,那个时候做研究就是你做你的,我做我的,我把我的方法做出来之后,你要实现,可能要花半年的时间先去实现别人的方法,现在不用了,现在几个小时的时间就实现别人的方法,大家把代码开源了,并且用了统一的研究框架,开源统一的研发框架极大程度上研究了相互之间的参照,或者成果的自动化分享。
这是一方面,在研发架构上以及研发方法上的自动化分享越来越便捷,另外一方面学者也注意到,现在很多优秀的人才,所聚焦的研发或者工业界聚焦的研发更多的是在调参数。这些实际上本不应该成为研究的核心内容,所以大家开始探索,有没有自动化的方法,让我们深度学习神经网络的网络架构可以自动化设计,可以面对一个问题的时候,自动化的选择一个方法解决我现在的问题。
所有的学者在2022年的时候,也是最近,发起了一个会议叫做International Conference on Automated Machine Learning。大家发现这个东西可以自动化的完成,自动化有哪些内容去做呢?这是他们所包含的领域,这里面有Neural Architecture Search,就是神经网络的结构能不能自动化寻找和设计。Hyperparameter Optimization,就是自动化神经网络训练时候的哪一个参数好一点,哪一个参数差一点,这个事情也别去想,你可以预测,也可以去寻找,但没有必要让研究学者拿这么高的工资调这个参数。
包括CASH(Combined Algorithm Selection and Hyperparameter Optimization),这个是什么呢?当你要解决一个具体问题的时候,你用哪些混合的方法帮你实现,帮你做这些东西,而不需要你自己手动设计,这是更难的问题,因为这要解决具体的问题。
我想说的是在第一波结果的自动化分享的基础之上,大家开始慢慢地看能不能自动化做技术的设计,把我之前所做设计的工作负担降低一点,这是大家努力的方向。
这个是算法设计的自动化,之前研究成果的是第一阶段,第二阶段是算法设计能不能自动化,自动化的好处是什么呢?减少了大量不具备科学价值的模型调参,这样我们的核心人才就可以投入到更高级的人工技术的研发。
在这个基础上,事情正在起变化,什么在起变化呢?去年在NIPS(Conference and Workshop on Neural Information Processing Systems)上,知名的科学家吴恩达,举办了一个workshop,主要是谈模型和数据到底哪一个更重要。
他一个观点就是,以模型为中心的技术研发转化成以数据为中心的技术研发。我怎么类比这个问题呢?这是我个人的理解,不代表大家的看法,模型和数据之间的对比,你可以简单的类比为一个人的IQ和知识储备的对比。这个人很聪明,如果从小就放在家里面,永远不跟社会打交道,也不让他学习新的知识,还是一个很笨的人。但即使这个人资质平平,但是他见过全世界各地的东西,去美国留学过,去欧洲留学过,在中国做过实际工业化的生产,看过很多设计的案例,他可能比这个IQ高的人更厉害,如果这样理解,模型就有点像IQ,数据就有点像知识,knowledge,两个同等重要,而且越到后面你会发现knowledge越来越重要。
工业化大规模发展里面,大家慢慢地转化为从模型为中心的生产转化为以数据为中心生产的转变,这是做的一些实验的对比,我们可以看到有一个基础算法之后,我们以两个维度提高基础算法的perfomance,一个是Model-centric,就是想尽各种办法提高模型设计的复杂度、技术含量。另外就是Data-centric,加数据,看数据有没有问题,当然加数据里面也有一些科学方法的,并不是加数据一定会提高。会发现Data-centric的方法比Model-centric的方法提高很多,这是我们自己做模型生产时候发现一个结论,越到后面你数据的迭代越来越重要,所有模型的服务实际上是针对某一个特定场景,有特定的数据解决它。
在过去我们实践的八年时间中,我们就会发现算法的迭代事实上变成了数据的迭代,另外一个维度看,我们研发到现在为止几百个算法的模型,从来没有一个模型说我搜集了一次数据,调整一次参数就不用变它了,我们很多模型都迭代了5-6年,主要迭代是什么?是数据的迭代。因为我们解决不同的需求,不同场景的时候,我们会受到不同场景泛化性的问题,我们碰到的问题越来越不一样,不是因为算法的不一样,是因为场景的不一样,所以要处理的数据不一样,我们要不停地更新迭代数据,才能够满足不同场景应用的需求。
算法迭代变成了数据迭代,有没有办法把数据的迭代也自动化呢?我们后面会讲。算法设计可以自动化,数据迭代也可以自动化,我们就可以端到端的完成自动化的AI模型的生产,就逐渐地成为可能,最起码理论上是这样。
算法设计的自动化,学者陆陆续续意识到这个问题是可以做的,有专门的学术会议讨论设计这方面的新的算法,让设计可以自动化,数据迭代的自动化也需要技术的支持,同时需要系统层级的支持。
为什么要做这件事情?为什么要做AI模型生产的平台化?过去,只有科技巨头,比如谷歌、IBM、微软、苹果等等公司会去投入AI,因为他们有大量的数据需要处理,所以他们需要智能化的算法。但现在不一样了。我了解到很多房地产公司在投入AI,这代表他们也有对AI人才的需求。我们发现地产公司、物业公司等等传统行业的公司都慢慢引入AI解决实际问题。为什么会这样呢,有一句话概括得很贴切,就是AI就像电一样,是一个非常基础的能力,让你所做的事情效率高一点,它不改变行业,但是可以提升你生产的效率,所以影响是全方位的。现在慢慢地波及到房地产公司了。更不用现在这么多广泛的制造业,制造过程中有很多AI的能力去构建,如果想提高自己的国际竞争力,提高自己的生产质量、效率,就需要AI的能力去赋能生产。
但问题又来了,我们没有这么多AI人才。这种形势下AI人才薪资待遇非常高,一个高质量的AI博士工作三四年就要花三四百万、四五百万成本,但问题是很多企业一年的利润都没有这么多。从这个角度考虑,我们就做了这样一个东西——YMIR自动化模型生产系统,我们先看一段VCR。
视频里面这四位研发人员,除了我自己之外,另外一位硅谷的科技公司的创始人,另外两位都是前Google的员工。
大家可以看到这是一个国际化的项目,这是我们和国际知名高校和科技公司一起联合发起的开源的、公益性的AI模型生产平台。我们邀请了多家美国科技巨头公司的首席AI官担任项目顾问,已经在GitHub上面开源。
接下来我详细介绍一下这个平台,为什么它能够去解决实际应用中的问题。
工业化模型生产主要流程,主要分成这几个部分。第一需求的定义;第二是技术方案,技术方案就是什么样的技术可以解决问题,或者用怎么样的组合的技术解决这个问题;第三开始做数据收集,用AI方法解决问题。数据收集之后进入迭代的阶段,迭代就包括数据的标注、模型的训练、数据的挖掘。
在整个迭代化的大系统里面,也有一些技术需要power,包括数据预标注技术。数据预标注就是在数据没有标注之前,打一个可能的标签,可以极大提升数据标注的速度。预训练大模型可以提高模型训练的performance。当模型performance比较高的时候,你做数据挖掘的效率就会比较高,需要标注的数据就会比较少,有效标注就会比较高。当你有了初始模型,需要高效的找数据训练模型的时候,就需要主动学习技术。主动学习就是海量的几亿、上百亿的数据里面找到你想要的数据,而不是把100亿的数据标注一遍。主动学习可以降低数据标注的成本,提高标注的效率。
这是一个简单的技术,我不做技术细节的叙述,预训练大模型在实际生产中产生了一些效率,这里讲了城市治理的例子,包括垃圾暴露、广告牌的识别、垃圾桶满溢的识别,这都是在日常城市治理中所需要的算法,我们发现加入了预训练大模型之后,再在小模型上训练模型,至少提高10个点的performance,10个百分点的performance很多时候就意味着只标注一半数据,就节省了一半的成本,实际上我们企业做事情,每一个事情都是对应成本核算的,大模型可以帮助我们减少一半的成本,它极大提升算法的泛化性能,同时加速样本收集,就是我说的数据的效率。
再看看主动学习。主动学习要解决的就是数据自动化的关键技术,以前我们都是闭着眼睛标数据,这儿有一批数据拿过来标一下,模型训练到一定程度之后,不是所有数据都对模型训练有帮助,你需要找到能提升模型精度的数据,这个技术就叫主动学习,我们主动学习的框架也把它开源了。
有了这些技术的power之后,我们打造了一套工程化的系统,就是YMIR。它能够覆盖模型生产全流程,与现有的模型生产系统不一样,在正常使用过程当中都不太能够满足真实在工业界场景迭代的需求,所以这个自动化平台就聚焦在模型的快速迭代,不是训练出一个模型这个事情就结束了,主要是解决现实场景的需求,可以一直迭代。
这是整个技术的框架,左边是一次性的过程,数据的准备、数据的标注、模型的训练,右边是迭代的过程,包括挖掘数据准备、数据挖掘、数据标注、更新训练集、模型训练。
这是我们实际正在使用一套系统实际的UI的界面,每一步都有提示,告诉你导入数据之后,要继续做训练了,训练之后做数据挖掘,数据挖掘之后做标注,然后再训练,这是一个轮回的过程。
这是我们导入数据集的界面,你点击可以选择一个数据的链接,也可以建立一个文件把数据放到我们系统里面去。导入数据之后可以可视化,看看有哪些没有标注好的,或者有数据标签有偏差的,不同的任务数据不均衡的,都可以通过可视化的方式呈现在你的面前,发掘数据里面的问题。
在这基础之上有一排按钮,有的按钮打了蓝色背景,有蓝色背景就是你现在可以执行的操作,现在执行的就是准备数据。后面我们看到数据挖掘、数据标注都没有点亮,是可以通过人机交互来看怎么做,数据准备完之后看数据挖掘,第二个按钮就会亮起来。挖掘数据是没有被标注的数据,挖掘过程是在海量的数据里面找到可以让你使用的数据,你可以标注它,标注完之后,你可以和以前有的数据合在一起,更新数据集,然后再训练。这步走完了之后又回到最初始的第一步,而且你会发现整个过程中,完全不需要算法人员,不需要写代码,甚至连软件的基本操作都不需要,通过点击按钮就完成研发过程。
研发过程中这个模型到底好不好呢?我们有一个可视化的界面,让你诊断模型到底好不好,这个功能叫模型的诊断。这个里面可以看到专业化的词汇,叫FN、FP,我不展开讲,FN实际上就是这个是一个正样本,但是没有检测到,FP就是“假阳性”,就是你检测到了,但是实际上不是。你的错误到底是FN产生的还是FP产生的,还是其他方式产生的,通过可视化产生的方式告诉你这个模型产生的问题,当你发现存在问题的时候,要么就把数据打回去重新标注,也有可能数据偏差出现了问题,需要更多的数据标签,通过可视化的方式就可以知道实际应用中知道模型到底还有哪些问题,以及下一步用什么方式解决它。
除了这个之外,还有一个很好的地方,就是购买了足够的算力,这一套系统可以供很多人一起开发,而不是只有一个人开发,这里面有很多project,每一个project都是算法模型的任务,你可以很多人同时进行算法研发,这些人员只要高中生毕业就可以,不需要花几百万招聘算法人员去做。
我们做了很多实验,在自己公司里面,我们做了大概6个月长期的跟踪实验,我们投入的标注人员是10个,要么是高中生,要么是职业院校毕业的学生,算法人员也有投入。为什么不能完全脱离算法人员,当你面对一个问题的时候,怎么分解成技术实现,还需要算法人员介入,同时需要给标注人员做一些简单的系统的培训,算法人员投入0.3左右,就是一天中花30%的时间做这个事,其他时间的还要做算法研发,当然还要做标志文档的审核,模型迭代情况的查看以及发现模型的问题,带着大家去做。
我们标注图片的总数是100万,标注人员的工作内容,90%用在标注上,就是要把检测的物体标注出来,有10%的时间是放在操作YMIR系统上。我们在三个月时间里面生产了50个算法,算法大部分满足实际应用的需求,有的算法都达到97%,相对来说比较简单,很多问题不是单纯的靠技术可以解决,天生就不能得到很高的精度。在三个月里面我们用10个标注人员,0.3个算法人员就可以完成了50个算法的研发,并且可以实际应用在城市治理的场景里面,包括应急里面的灭火器检测、消防栓检测和城市治理的需求。
这是投入时间,我们有这一套系统和没有系统的对比,周期都是三个月左右,没有这套系统的时候,算法人力的投入大概是36人/天,我们标注人员的投入是240/天,我们模型生产了六个算法。投入了这一套系统之后,我们可以生产51个算法,时间周期差不多,生产效率大概是17个算法/月,以前是3个算法/月。我们使用自动化平台后算法生产效率提升6倍,但是算法人员需求降为原来1/10。
这是一个开源的系统,已经有260家公司/个人试用,YMIR遵循Apache2.0授权,自用商用均免费。
这是GitHub的界面,大家有兴趣可以去GitHub了上下载代码,去运行这套系统,看看在实际运用中用这套系统能不能解决实际问题。
今天我想表达的是什么呢?随着AI的发展越来越广泛波及到各行各业,我们相信自动化的生产模型系统会发展起来,作为生产力工具快速发展起来。因为在这个发展过程当中就极大降低AI研发成本,加速普及,这样AI整个研发才会进入到下一个阶段,我们跟投资人聊,很多人都说AI平台公司什么时候会出现,当每一个公司都要用到AI的时候,AI平台公司就会出现,我相信这一天很快就会到来。
这就是我今天演讲的内容,谢谢大家!