分布式技术原理与算法解析
聂鹏程
智载云帆 CTO,前华为分布式 Lab 资深技术专家
39663 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 43 讲
分布式技术原理与算法解析
15
15
1.0x
00:00/00:00
登录|注册

08 | 分布式技术是如何引爆人工智能的?

分布式模型训练
分布式数据处理
数据处理
人工智能
分布式技术引爆人工智能

该思维导图由 AI 生成,仅供参考

你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。
通过前面课程,相信你已经对分布式的起源以及什么是分布式有了一定的了解,从用户留言来看很多同学对分布式技术、分布式技术的应用,以及分布式技术的重要性非常感兴趣。所以,我将以人工智能技术为例,带你了解分布式技术的应用及其重要性。

什么是人工智能?

2016 年 3 月,Google AlphaGo 以 4:1 的比分赢得了世界围棋冠军李世石。这场围棋人机大战,将人工智能技术推向了高潮。现在,人工智能已经广泛渗透到了我们的生活中,比如手机拍照美化、人脸识别、平安城市、自然语言处理、语音识别等。
那么,到底什么是人工智能呢?
所谓人工智能,其实就是希望机器能够模拟人的思维,像人一样智能。目前,对人工智能的定义大多可划分为四类,即机器“像人一样思考”“像人一样行动”“理性地思考”和“理性地行动”。这里的行动,指的是采取行动或制定行动的决策。
那人工智能是如何让机器像人那样智能呢?人并不是天生就会解决问题的,我们经常会听到一句经典的话“见多识广”,人遇到新的问题,是通过学习新知识,然后结合自己的经验去解决的。比如,人并不是生来就认识香蕉,而是通过后天的学习(包括学习香蕉的形状、颜色、口味等)来获取识别香蕉的经验,当下次再看到香蕉时,就知道这是香蕉了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

分布式技术在人工智能领域的应用引发了技术革新。人工智能的核心在于数据处理和模型训练,而分布式技术为解决算力问题提供了重要支持。数据处理包括数据统计、集成、清理、规约和变换,而分布式数据处理软件如MapReduce、Spark、HDFS、HBase等成为了大规模数据处理的关键工具。在模型训练方面,分布式模型训练技术的应用也成为了人工智能发展的重要推动力。通过分布式技术,人工智能得以更高效地处理大规模数据和进行复杂模型训练,从而引爆了人工智能的发展。 分布式模型训练是利用分布式集群,将多个计算机的存储能力、计算能力等进行统一管理和调度,从而实现模型训练。数据分布式训练主要针对大规模训练数据的场景,模型分布式训练针对大模型训练场景,而混合模型训练则结合了数据分布式训练和模型分布式训练。这些技术涉及数据的拆分、分布式存储和管理、通信交互等关键技术,为人工智能的发展提供了重要支持。 总的来说,分布式模型训练可以大大提升训练效率,缩短训练时间,从而缩短业务面市周期,各大公司都在研究分布式训练。这些技术的应用为人工智能的发展带来了新的机遇和挑战,也为技术领域的发展注入了新的活力。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式技术原理与算法解析》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(15)

  • 最新
  • 精选
  • tt
    把本章的总结放在本课课后。 分布式协调 分布式协调算法的目的是为了使得分布式系统内的节点有序。这里有序的含义可以分为两个方面,这两个方面也可以按**程序等于算法➕数据结构**或者“业务等于业务规则➕业务数据模型”的事件,分为集群内节点动作的有序性和被节点操作的资源的状态的有序性两个方面。 # 1、算法、规则、业务逻辑等的有序性。 1.1、访问临界资源时有序,这时需要分布式互斥。 协调多个进程获取权限和根据权限有序访问共享资源,“获得访问权限的进程可以访问共享资源,其他进程必须等待拥有该权限的进程释放权限”。 获取访问权的方式有如下几种: - 霸道总裁:集中式算法。 - 民主协商:分布式算法。 - 轮值 CEO:令牌环算法。 1.2、分布式访问用到的权限是由分布式锁来代表,获取锁的进程就拥有了权限。 分布式锁有如下几种: - 基于数据库的分布式锁。 - 基于缓存的分布式锁。 - 基于ZOOKEEPER的分布式锁。 2、算法、规则、业务逻辑的执行主体——节点选主的有序性。 为了高可用,集群内选主节点的有序。 2.1、分布式共识 分布式的选主,本质是一个**分布式共识**的过程——就关于谁是主节点这一状态在集群内达成共识的过程。 2.2、选主的算法 选主算法需要考虑的事选举的速度、算法实现的难易程度,以及是否会过于频繁的出发选主、切主的动作。 - MongoDB采用Bully算法,谁或者而且睡的节点ID大谁就是主节点。 - Google 开源的 Kubernetes,为了保证可靠性,通常会部署 3 个节点用于数据备份。这 3 个节点中,有一个会被选为主,其他节点作为备。Kubernetes 的选主采用的是开源的 etcd 组件。而etcd 的集群管理器 etcds,是一个高可用、强一致性的服务发现存储仓库,就是采用了 Raft 算法来实现选主和一致性的。 - Zoo keeper使用ZAB(ZooKeeper Atomic Broadcast)算法。相较于 Raft 算法的投票机制,ZAB 算法增加了通过节点 ID 和数据 ID 作为参考进行选主,节点 ID 和数据 ID 越大,表示数据越新,优先成为主。相比较于 Raft 算法,ZAB 算法尽可能保证数据的最新性。所以,ZAB 算法可以说是对 Raft 算法的改进。选举过程中,在某一轮中如果有一个server ID 最大的节点,则会直接结束选举。 3、算法、规则、业务逻辑的执行客体——资源也即数据的分布式一致性——分布式事物 分布式事物是多个事物组成的。事物的特征是ACID,即原子性、一致性、隔离性和持久性。他们其实都是关于数据状态的,保证并发(隔离性)前提下数据的强一致性。 另外还有保证数据最终一致性的BASE理论。 实现分布式事物有三种方法,分别是采用强一致性的XA两阶段提交和XA三阶段提交以及采用最终一致性的基于消息的一致性方法。 前两种方法是阻塞式的,必须用到锁,用锁就会降低性能,此外如果在执行过程中某些节点或网络出现故障,仍然无法保证数据不一致的问题。 说到性能,自然想起异步方式,没错,使用消息的机制。提高性能的同时,异步实现一致性时,解决出错问题的手段就是重试。因为反正系统已经解耦了,某个节点可以根据需要进行必要的操作,还不会影响其它节点。 > 对于银行系统来说,对账从核心与外围数据一致性的角度来看,就是一个“异步重试”的过程。 3.1、对于数据一致性,还有CAP理论 这个理论对数据的描述比事物更全面,除了一致性还描述了数据的可用性(服务是为数据服务的)和数据的分区容错性。 对于一致性,CAP理论的视野也更高,强调系统内节点所有的数据是一致的,不论这些数据是不是涉及事物;而且这里的一致性涵盖了强一致性和最终一致性:最终一致性用于在保证可用性和分区容错性的情景中。

    作者回复: 👍👍,加油!

    2020-03-13
    9
  • 忆水寒
    我一直以为这篇文章是对前面几篇文章的答疑呢

    作者回复: 从前面几篇文章用户留言来看,很多同学对分布式技术、分布式技术的应用以及分布式技术的重要性非常感兴趣。所以,在今天这篇答疑文章中,我以人工智能技术为例,带你了解分布式技术的应用及其重要性。 大家留言里的疑惑,我会通过回复的形式陆续进行解答。本篇的答疑相当于既是一个答疑,也是赠送给大家的一个额外福利:)

    2019-10-09
    3
    9
  • aoe
    人工智能有一道数学的高墙,对于我来说已经倒在了单机

    作者回复: 加油,分布式AI可是趋势哟!

    2019-10-19
    6
  • zhaozp
    打卡文章学习: 1、人工智能离不开数据的处理,模型的训练,分布式技术能够为训练提供算力。主要分为三个方面的训练:数据分布式训练、模型分布式训练和混合模型训练。也再次说明了分布式技术是人工智能的基石。 今天这篇文章应该算是个福利,了解了部分人工智能、深度学习的基本知识点。谢谢老师

    作者回复: 不积小流无以成江海,加油!

    2019-10-09
    3
  • 亢(知行合一的路上)
    对模型分布式训练有了大概了解,公司里面有些机器,晚上不使用,也可以用来做成集群进行模型训练,虽单台性能没有服务器那么强大,可很多台合在一起,也许会有大威力😄

    作者回复: 👍👍

    2020-03-19
    1
  • blackpiglet
    "单节点实现模型分布式训练,涉及模型拆分、并行与分布式计算模式..." 应该是改成 “多节点...” 吧?

    作者回复: “单节点或多节点实现模型并行或模型分布式训练,涉及模型拆分、并行与分布式计算模式……”改成这样会更严谨一点。 谢谢提醒!已修改。请继续保持这种学习+思考+分享的习惯!加油!

    2019-10-10
    1
  • 张理查
    分布式技术原理与算法#Day9 人工智能是什么? 人工智能是数据喂出来的,需要通过大量的数据进行学习和分析获得规律(模型),然后利用该规律对未知数据进行预测,进而判断是否与建模数据有相同特征。 因此人工智能关注数据、算法(模型)以及算力。数据处理、模型训练是人工智能的关键技术,算力保证了前两者的性能。分布式的入场可以为人工智能带来算力的提升。 具体来看一看人工智能的关键步骤 • 分布式数据处理: 也就是数据的预处理,提高训练数据的质量,为模型提供高质量输入 • 数据统计 • 数据集成 • 数据清洗 • 数据规约 • 数据变换 这些步骤都可以采用大数据处理软件,利用分布式计算框架、分布式存储框架来解决。 • 分布式模型训练:实际还是利用集群作为基础,进行分布式的模型训练,提升训练效率。 • 数据分布式训练:大数据拆小数据 • 模型分布式训练:大模型拆小模型 • 混合模型训练:上两种并存
    2019-12-27
    2
  • 分布式技术确实重要,尤其是当硬件升级不再灵验的时候,正如老师所言网络通信技术是所有分布式技术的底座,分布式技术的复杂性也来源网络通信环境的不确定性。好像几位瞎子在一起完成一件事情,只能通过声音来进行交互,不过每位瞎子都是各自独立的并且声音会因传递或环境因素而失真。那要完成一件事情,大家都需要参与并且信息也能同步到位着实不易。
    2020-02-15
    1
  • 鸭先知
    又是一个宏大的应用场景
    2020-03-31
  • 张理查
    • 人工智能是什么? 人工智能是数据喂出来的,需要通过大量的数据进行学习和分析获得规律(模型),然后利用该规律对未知数据进行预测,进而判断是否与建模数据有相同特征。 因此人工智能关注数据、算法(模型)以及算力。数据处理、模型训练是人工智能的关键技术,算力保证了前两者的性能。分布式的入场可以为人工智能带来算力的提升。 具体来看一看人工智能的关键步骤 • 分布式数据处理: 也就是数据的预处理,提高训练数据的质量,为模型提供高质量输入 • 数据统计 • 数据集成 • 数据清洗 • 数据规约 • 数据变换 这些步骤都可以采用大数据处理软件,利用分布式计算框架、分布式存储框架来解决。 • 分布式模型训练:实际还是利用集群作为基础,进行分布式的模型训练,提升训练效率。 • 数据分布式训练:大数据拆小数据 • 模型分布式训练:大模型拆小模型 • 混合模型训练:上两种并存
    2019-12-25
收起评论
显示
设置
留言
15
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部