机器学习:模型训练架构

  • 分散式运算架构
    • MapReduce
      利用函式语言程序设计的概念,将分散运算分为映射(Map)和归纳(Reduce)阶段,使用程序介面支援大数据运算任务。
    • Ring-AllReduce
      讯息传输介面(Message Passing Interface, MPI)是一种频宽优化优先的方法,实现了归纳(Reduce)的运算操作(Sum, Avg, Max),符合了模型训练所需。
      • Initialization:将N个节点当中的梯度切成N个切片。
      • ScatterRecude:向环(Ring)中的下一个节点发送N个切片中的一个。
      • AllGather:透过 N-1 次环形通讯,将每个切片的梯度运算结果果播到每个节点。
      • Merge:每个节点均获得了所有切片内的梯度运算结果。
    • 参数服务器(Parameter Server)
      将模型资料储存在"参数服务器"上,计算节点通过"参数服务器"来分享资料。
      • Server Group:
        • Server Manager:分配资源并维护元资料(Metadata)
        • Server Node:提供资料读写服务
      • Worker Group:实际运算任务
        • Task Scheduler:任务的分配,以及节点可用性计算
      • Resource Manager:资源分配和可用性保证
    • 资料流
      运算过程被抽象化成资料流传输过程,每个资料流中的节点代表资料运算。
  • 平行运算同步机制
    不同的节点中可以平行资料运算,但节点间也需要通讯来完成进度同步及工作协作。
    • 同步平行运算(Bulk Synchronous Parallel, BSP)
      要求所有节点以同样的速度进行资料处理。
      • Superstep:一次完整的资料运算叠代
        • Processor:每个节点上可以有多个 Processor 做为资料处里的一个运算单位。
        • Local Computation:Processor 上的运算。
        • Communication:Processor 之间的通讯。
        • Barrier Synchronization:同步屏障(Barrier)
          程序中的每个执行绪进行到此,都必须等待,直到所有执行绪都到达才可以继续执行下一个阶段。
    • 非同步平行运算(Asynchronous Synchronous Parallel, ASP)
      需要配合适当的梯度下降演算法,否则可能会导致运算失败,影响模型收歛速度。
    • 延迟同步运算(Stale Synchronous Parallel, SSP)
      利用一个 Staleness-Threshold 的阀值来确定同步的时机,阀值可依据运算状态动态调节,适合节点运算能力较为一致的高丛集同质性环境。
  • 梯度下降演算法
    • 随机梯度下降(Stochastic Gradient Descent, SGD)
    • 弹性平均梯度下降(Elastic Averaging SGD, EASGD)
    • 非同步随机梯度下降(Asynchronous Stochastic Gradient Descent, ASGD)
    • 同步随机梯度下降(Downpour Stochastic Gradient Descent, Downpour SGD)
    • 延迟惩罚
      • AsyncAdaGrad
      • AdaptiveRevision
      • AdaDelay
    • 延迟补偿

<<:  Day 03 - 命名的规则

>>:  Leetcode 挑战 Day 15 [27. Remove Element]

Day 30 - 完赛纪念~迎接"数位"与"绿色"双转型时代的来临

图片来源 终於顺利完成第四年iT邦帮忙铁人赛, 今年的参赛过程也确实相当不容易, 过往其实都会试着...

Day 1 - 初探 stimulus

stimulus 这套框架主要在尽可能避免繁重的工作。为了能够让大量的介面互动维持在单纯的 请求-回...

Day15-TypeScript(TS)的存取子(Accessors)

今天要来介绍TypeScript(TS)的存取子(Accessors)。 在类别(Class)之中可...

【在厨房想30天的演算法】Day 17 演算法 : 搜寻 search I 线性搜寻、二分搜寻

Aloha!又是我少女人妻 Uerica!最近发现写铁人赛文章不但可以学习知识,还能训练自己如何当时...

Day 30 - 从写对到写好

前言 第一次参加铁人赛,完赛的这一天,简直像是学测考完走出教室的感觉!充满兴奋与骄傲! 一方面是成功...