杜克大学陈怡然:高效人工智能系统的软硬件协同设计(2)

简介: 杜克大学陈怡然:高效人工智能系统的软硬件协同设计

再往下就是训练,这是一个很复杂的事情。我们经常教学生 loss function 要趋近于饱和。但在公司,永远不可能有足够的算力让你算到饱和,基本上给你一百台机器训练 24 小时,无论你训练成什么样,你都得结束,这使得训练本身要非常高效。

传统上我们采取分布式服务器的做法,把模型复制很多遍,但每个复制的模型只用一部分数据来训练。那么怎么保证最后得到的结果考虑到所有的数据?你就需要把这些神经网络在训练中禅城的梯度送到参数服务器里面,做平均之后再发回去来更新本地的神经网络。这就产生了一个问题:当节点服务器特别多的时候,最后整个系统就完全的被梯度传输产生的数据流所占据。

怎么办?我们后来发现,当参数足够多的情况下,产生的梯度会满足某一个分布,根本不需要传输原始数据,只需要算分布的一些参数和一些诸如数据多还是少之类的,把他们传过去,就可以完全在另外一端复制这个分布,得到相应结果。


我们在手机端就完成了这样一个操作,联合很多手机进行训练,同时还可以做推理。

   做推理的时候,我们采取了聚类的方式,将那些非零的数字尽量以行列变换的方式调整到一块儿,然后发到手机上集中进行计算,减少手机间的通信,提高运算效率。


我们曾经跟一家公司做测试,在全球找了几千个 CDN 网络服务器,搞了一个 Style Transfer(风格转换)应用,通过分布计算跟表达完成整个计算,效果非常好。基本上可以即时通过手机跟服务器联动,完成整个训练和推理。


刚才讲了这么多,实际上有一个问题:所有这些东西都需要一些非常有经验、非常贵的工程师来设计相应的神经网络。这也是现在神经网络落地成本中非常大的一部分。我们可以通过自动化方式,比如增强学习、优化方式来优化整个神经网络,因为可以将它模拟成某种优化过程,但这些传统的优化过程非常昂贵。

 

我们曾经想通过图表达的方式来做这个。通过一个有向图而且是一个没有环路的有向图来表达深度神经网络架构,它有很多个 cell,不同 cell 叠加在一起完成整个神经网络架构。我们要找的是这个 cell 里面的拓扑结构,来看最后这个神经网络设计是否满足要求。这就是一个对拓扑结构比较敏感的研究。


另外,你会发现:当做这些事情的时候,拓扑结构比较相似的神经网络的准确度也都差不多,有相关性,相关系数虽然不是 1,但基本上也是一个比较高的数。因此,可以通过架构预测这样一个架构是不是可以满足我们的性能要求,这种预测可以指引完成整个神经网络架构的搜索。


这是一些具体结果。我们把一些离散态的架构或者拓扑结构映射到连续态的空间里,产生向量之间的夹角(相似性)作为一个性能的关键表达,可以通过这样方式预测得到优化是什么样的,不断接近优化结果。


显然,这个方式是跟人的设计是相反的,人不是这么设计神经网络的。人是看哪里有小模型能不能满足要求,满足不了再往上加。我们也做过这样的尝试,叫 Automated network depth discovery , 设计一些规则,使得你可以从最小网络不断往上加,每个层里加不同 layer,或者加很多层,看到什么样架构最后满足这个要求。当然,你要设计一些具体规则或者做一些尝试。


这些尝试还挺有意思。最后你总能优化到设计平衡前沿面的某一个点上,但没有办法固定优化到某一个点,你只能到这个前沿面上的某个点,慢慢让它自由流动。我们还是没有足够的理解,使得我们完全可以控制优化的方向跟范围。所以,这个工作还需要更深一步研究,我们只是证明了可行性,但没有对规则的完备性做更多研究。


最后,硬件跟软件协同设计,有很多参数需要考虑,包括软硬协同、具体电路跟架构设计、以及算法本身针对硬件的优化。


我们团队内部做了很多年的积累,从 2012 年开始研究神经网络在不同硬件上的表达,到后来做架构设计、分布式设计,到自动化设计等,做了非常多的尝试。大概看到了如何从一个最简单的表达,一直最后只需到按一个钮,完成了 AI 软硬件结合的建设。


谢谢大家!

相关文章
|
2月前
|
人工智能 自然语言处理 算法
为什么知识图谱是人工智能系统的未来?
检索增强生成(RAG)系统为大型语言模型(LLM)适应新数据集提供了巨大的前景,因为它提供了可据以构建响应的参考资料。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
springboot基于人工智能和自然语言理解技术的医院智能导医系统源码
智能导诊系统可为患者提供线上挂号智能辅助服务,患者根据提示手动输入自己的基本症状,通过智能对话方式,该系统会依据大数据一步步帮助患者“诊断”,并最终推荐就医的科室和相关专家。患者可自主选择,实现“一键挂号”。这一模式将精确的导诊服务前置,从源头上让医疗服务更高效。
372 2
|
3月前
|
机器学习/深度学习 存储 人工智能
人工智能自然语言对话系统
人工智能自然语言对话系统
43 1
|
3月前
|
传感器 机器学习/深度学习 人工智能
人工智能算法和系统的进化
人工智能算法和系统的进化
35 0
|
26天前
|
机器学习/深度学习 人工智能 搜索推荐
探索安卓应用中的新趋势:人工智能驱动的智能推荐系统
传统的应用推荐系统已经无法满足用户日益增长的个性化需求。本文将探讨如何通过引入人工智能技术,构建智能推荐系统,为用户提供更加精准、个性化的应用推荐体验,进而提升应用的用户满意度和留存率。
17 0
|
1月前
|
机器学习/深度学习 传感器 人工智能
基于人工智能的自适应交通流量控制系统
【2月更文挑战第30天】 在现代城市管理中,交通拥堵一直是影响居民生活质量和城市可持续发展的关键问题。本文提出了一个基于人工智能技术的自适应交通流量控制系统,旨在通过实时数据分析、模式识别和预测算法来优化交通信号灯调度,减少交通延误,提高道路使用效率。系统采用多层神经网络与深度学习技术进行交通流状态的特征提取和趋势预测,同时结合边缘计算提升响应速度,确保了控制的实时性和准确性。本研究的创新点在于将传统的交通工程方法与最新的AI技术相结合,实现了一个具有自我学习和适应能力的智能交通管理系统。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
构建未来:人工智能在持续学习系统中的创新应用
【2月更文挑战第28天】 随着技术的不断进步,人工智能(AI)已成为推动现代技术创新的关键力量。特别是在机器学习领域,AI系统的能力不断增强,能够处理更复杂的任务并做出更加精准的决策。本文将探讨AI在持续学习系统中的应用,重点分析其在数据处理、模式识别和自适应学习机制方面的最新进展,并提出如何利用这些技术来设计更为高效和智能的教育工具,以促进个体和组织的知识积累与技能提升。
17 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
小说中修仙系统的方向统计_IT修仙_人工智能的底层逻辑
小说中修仙系统的方向统计_IT修仙_人工智能的底层逻辑
113 0
|
3月前
|
存储 人工智能 自然语言处理
知识图谱系统在人工智能领域的应用与前景
知识图谱(Knowledge Graph)是一种新型的知识表示、存储和查询的方法,也是人工智能领域中重要的基础技术之一。本文主要介绍了知识图谱的概念、产生背景,以及发展历程,并详细分析了知识图谱人工智能领域中的应用,最后对其未来的发展趋势进行了展望。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【Java】人工智能交互智慧导诊系统源码
【Java】人工智能交互智慧导诊系统源码
42 0

热门文章

最新文章