【机器学习】并行计算(parallel computation)Part1

news2024/10/23 9:38:38

        为什么我们在机器学习中需要用到并行计算呢,因为现在最流行的机器学习算法都是神经网络,神经网络模型的计算量、参数量都很大,比如ResNet-50参数量为25M。而我们在训练的时候使用的数据集也很大,比如ImageNet数据集含有14M张图片。用大数据来训练大模型会产生很大的计算成本,比如用一个NVIDIA M40 GPU在ImageNet数据集上训练ResNet-50需要耗费14天的时间,如果我们采用的是并行计算,便可以使用多个GPU进行计算加快钟表时间(wall-clock time),但并不会计算总GPU时间,因为总计算量并没有减少。

Parallel Gradient Descent 并行梯度下降

        线性回归(linear regression)的输入是一个向量x,输出是f(x)=W^{T}X,那我们如何确定W呢,就需要用到最小二乘法(Least squares regression):

W^{*}=\underset{W}{min}L(W)=\underset{W}{min}\sum_{i=1}^{n}\frac{1}{2}(w^{T}x_{i}-y_{i})^{2}

        在求最优解的时候,我们需要用到并行梯度下降法(Parallel Gradient Descent)。正常情况下,我们需要求出损失函数来,并计算它的梯度,然后利用学习率(步长stride)得到下一个梯度值。而并行梯度下降需要将梯度在不同处理器上进行计算,每块处理器只做了部分计算,相加之后就得到总梯度。

Communication 处理器之间的通信

        做并行梯度下降要对数据作划分,需要将参数w和梯度g进行传递。因为要使用多个处理器,所以要考虑处理器之间的通信问题。有两种通信方式,一种是Share memory,另一种是Message passing。在Share memory中,一个处理器可以看到其他处理器得到的结果 ,但是共享内存的通信没有办法做到大规模的并行。

        而Message passing有多个节点,每个节点都有多个处理器,每个节点内的处理器共享内存,但是节点1看不到节点2的内存。节点之间通信需要用到message passing,比如用到TCP、IP协议将共享文档打包为package。

        那我们如何进行节点之间的协调呢,有两种方法—— Client-Server架构和Peer-to-Peer架构。Client-Server架构,把一个节点作为Server用来协调其他的节点,把其他的节点都作为Worker,用来做计算。

        Peer-to-Peer架构,这种架构没有Server,所有节点都被拿来计算。每个节点都有几个邻居,邻居之间可以进行通信。

Synchronous Parallel Gradient Descent Using MapReduce 用MapReduce实现同步并行梯度下降

        MapReduce是由Google开发的一个软件系统,用来做大规模的数据分析和机器学习。有系统设计,但无开源代码,后来大家把这种分布式的变成模型都叫做MapReduce。它的架构采用的是Client-Server,通信方式是Message-passing,并行是同步的bulk synchronous parallel,每一轮需要等到所有的worker全都完成工作,才能进行下一轮。

        Apache Hadoop是MapReduce的开源实现,Apache Spark是MapReduce更好的开源实现,相比之前的将所有内容写入内存而非磁盘,有很好的容错机制,速度快很多。MapReduce编程模型很适合用来做大数据处理,但做机器学习并不是很高效。

        MapReduce的架构Server和Worker之间可以进行通信,Server可以将信息广播到Worker节点上,这叫做Broadcast。比如作平行梯度下降的时候,Server需要将模型参数广播出去,每个Worker节点都可以做计算。

        如果我们要实现算法,需要自己定义一个函数,然后所有的Worker都会运行这个函数,这一步叫做Map,Map操作是由所有Worker并行做的。做并行梯度下降的时候,每一个Worker都用自己的数据做部分计算。 

        Reduce操作也需要进行通信,Worker会把他们的计算结果传回Server,然后Server将结果进行整合(sum,collect,mean等)。

           用MapReduce作并行梯度下降,数据并发(Data parallelism)意思是数据划分到Worker节点上,每个Worker都有部分数据样本,这个例子中,我们采用了m个节点,每个节点上存了3个数据样本。

        用MapReduce实现并行梯度下降会有以下几个步骤:

  • BroadCast:Server首先将最新的参数w_{t} 广播到所有Worker节点上
  • Map:Worker作本地操作,将 (x_{i},y_{i},w_{t}) 映射为 g_{i} = (w_{i}^{T}x_{i}-y_{i})x_{i},然后得到n个向量g_{1},g_{2},....,g_{n}
  • Reduce:计算最终的梯度 g=\sum_{i=1}^{n}g_{i}。每个Worker计算存在本地内存中的所有 {g_{i}}得到一个向量,然后Server将m个向量进行求和。
  • Server更新参数:w_{t+1}=w_{t}-\alpha g

        每个Worker只存储 \frac{1}{m} 的数据,只进行 \frac{1}{m} 的运算。因此,运行时间在理论上就会减少到 \frac{1}{m},但是并行计算还有通信(communication)和同步(synchronization)的代价。如果将通信和同步时间算上,肯定不是 \frac{1}{m}。在做并行计算的时候,通常考虑speedup ratio,调整节点数量得到图像,理想情况下不考虑通信和同步代价的话m个节点的时钟时间与1个节点的时钟时间成正比。

        通信代价由两部分组成,通信复杂度(Communication complexity)和 时延(Latency)。通信复杂度指的是多少个words或者是bits在Server和Worker之间传输,它与模型参数量成正比,并且会随着Worker节点数增多而增长。时延指的是数据包从一个节点发送到另一个节点所花费的时间,这是由计算网络决定的。总通信时间可以表示为 \frac{complexity}{bandwidth}+lantency

        而同步(Bulk Synchronous)代价是指的如果m个节点在做计算(Map),其中有一个节点计算很慢,那么其他节点则需要等待这一个节点完成计算;比如正常情况下节点的任务量应该是差不太多的,但是如果一个节点挂掉了则需要进行重启,这个节点就会比其他正常的节点慢很多,这个节点也被称为straggler,而随着节点数量的增多,出现straggler的可能性也会增大。Straggler effect指的是所有的Worker需要等最慢的Worker,时钟时间是取决于最慢的Worker,这是由同步问题产生的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2213300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++笔记】引用、inline关键字和nullptr

前言 各位读者朋友们大家好,上期我们讲了C的部分基础语法,这期我们继续对C语法进行深入的学习。 目录 前言一. 引用1. 引用的概念及定义2. 引用的特性3. 引用的使用4. const引用5. 指针和引用的关系 二. inline三. nullptr 一. 引用 1. 引用的概念及定…

ubuntu登录root用户相关配置与注意事项

在ubuntu系统中,部分文件的访问与操作需要在root权限的认证加持下才能顺利进行,以下对如何登录root权限用户进行记录。 学习目标:随心所欲地切换普通权限用户与root用户 首先:在Ubuntu系统中,出于安全考虑,…

项目验收 | 星云股份携手盘古信息加“数”前行,数字智慧提升生产效率

在位于福州市的现代化智能制造工厂内,一排排先进的储能变流器(PCS)和充电桩正在紧锣密鼓地生产中,从电池研发、工程应用的系列测试及自动化装备,再到应用于电动汽车、储能新基建的储能变流器及充电桩等,福建…

ajax php

文章目录 get请求postget和post的异同点ajax原生步骤jquery步骤优点 php安装&#xff0c;后台处理脚本语言。 后端开发语言不能直接允许&#xff0c;必须放在服务器对对应的文件夹下运行。 如&#xff1a;wamp的对应服务器的文件夹是www get请求 <!DOCTYPE html> &l…

手机摄影入门

感觉会摄影的人是能够从生活中发现美的人。 我不太会拍照&#xff0c;觉得拍好的照片比较浪费时间&#xff0c;而且缺乏审美也缺乏技巧&#xff0c;所以拍照的时候总是拍不好。但有时候还是需要拍一些好看的照片的。 心态和审美可能需要比较长时间提升&#xff0c;但一些基础…

Firefox火狐浏览器新建标签页的位置

文章目录 环境新建标签页的位置打开“与当前页面相关的”新标签页 环境 Windows 11家庭版Firefox浏览器 131.0.2 (64 位) 新建标签页的位置 比方说浏览器打开了两个标签页&#xff0c;当前浏览的是第一个标签页&#xff0c;如下图所示&#xff1a; 此时&#xff0c;如果新建…

国有特大型企业安全知识竞赛,赛制就是不一样

国家电力投资集团有限公司是中央直接管理的特大型国有重要骨干企业&#xff0c;肩负保障国家能源安全的重大责任&#xff0c;业务涵盖电力、热力、煤炭、铝业、物流、金融、环保、光伏、电站服务等领域, 拥有核电、火电、水电、风电、光伏发电等全部发电类型。 电投集团本次安…

星舰第五次发射解读:火箭「筷子」夹取技术的奥秘

SpaceX 的星舰&#xff08;Starship&#xff09;第五次发射成功&#xff0c;引发了全球航天领域的广泛关注。在这次发射中&#xff0c;最引人注目的是其一级助推器 Super Heavy 成功回收&#xff0c;并首次被发射塔上的「筷子」机械臂精准抓取。这标志着 SpaceX 朝着完全可重复…

dotjs学习使用

数据插入 {{ }} for interpolation //插入案例 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>do…

无人机之三维航迹规划篇

一、基本原理 飞行环境建模&#xff1a;在三维航迹规划中&#xff0c;首先需要对飞行环境进行建模。这包括对地形、障碍物、气象等因素进行准确的测量和分析&#xff0c;以获得可行的飞行路径。 飞行任务需求分析&#xff1a;根据无人机的任务需求&#xff0c;确定航迹规划的…

电力电子技术(四)

单相可控整流电路&#xff1a;&#xff08;包括单相半波整流和单相桥式整流&#xff09; &#xff08;一&#xff09;单相半波整流&#xff1a; 1.1阻性负载&#xff1a; 晶闸管导通条件&#xff1a;1.阳极承受正向电压 2.门极具有触发信号 这里的触发延迟角的定义要注意记…

Go语言中的函数:简单有趣的代码块魔法(五)

Go语言中的函数&#xff1a;简单有趣的代码块魔法 Go语言中的函数不仅简单易用&#xff0c;还带有一些有趣的小魔法&#xff0c;让它在代码世界里游刃有余。本文将带你通俗易懂地理解Go函数的声明与调用、多返回值、命名返回值、可变参数、匿名函数与闭包&#xff0c;以及函数作…

mac地址漂移实验

MAC地址漂移是指交换机的MAC地址表中的内容被改变&#xff0c;导致网络中的数据包无法正确传输到目标设备。在正常情况下&#xff0c;网络中的MAC地址应该是稳定的&#xff0c;不会频繁发生变化。因此&#xff0c;如果在短时间内出现大量MAC地址漂移的情况&#xff0c;可能意味…

【Web——HTML 初阶】网页设计标题

♥HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是构建网页和Web应用的基础语言之一。它不是一种编程语言&#xff0c;而是一种标记语言&#xff0c;用于描述网页的结构和内容。HTML使用标签&#xff08;tags&#xff09;来标记不同类型的…

NFTScan | 10.07~10.13 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2024.10.07~ 2024.10.13 NFT Hot News ​01/ 数据&#xff1a;9 月份加密市场大多数指标均出现下降&#xff0c;链上总交易量下降 13% 10 月 7 日&#xff0c;据 The Block 研究总监 la…

阿里云ACP好考吗?阿里云ACP备考攻略及工具一站式备齐!

经常有小伙伴问&#xff1a;阿里云ACP好考吗&#xff1f;阿里云ACP难吗&#xff1f;作为过来人&#xff0c;给大家做好了阿里云ACP认证的整体规划&#xff0c;你只需要跟着做就okk啦&#xff01;再告诉大家一个好消息&#xff1a;目前阿里云ACP还是不用做实验的&#xff01; 一…

如何在算家云搭建Video-Infinity(视频生成)

一、模型介绍 Video-Infinity是一个先进的视频生成模型&#xff0c;使用多个 GPU 快速生成长视频&#xff0c;无需额外训练。它能够基于用户提供的文本或图片提示&#xff0c;创造出高质量、多样化的视频内容。 二、模型搭建流程 1.大模型 Video-Infinity 一键使用 基础环境…

深圳出手!新能源汽车被针对了

文 | AUTO芯球 作者 | 雷慢 这个政策好啊&#xff0c;我举双手赞成&#xff01; 来看&#xff0c;深圳刚发布了针对新能源车地下车库充电的管理规范&#xff0c; 我替你们扒了一遍&#xff0c;要点就几个&#xff0c; 新能源充电桩不能设在地下四层及以下&#xff0c; 这点…

产品图册转换为电子图册

​标传统的产品图册不仅体积庞大&#xff0c;携带不便&#xff0c;而且更新换代速度慢&#xff0c;信息更新不及时。在这个信息化时代&#xff0c;我们需要一种更加便捷、高效的方式来展示产品。那么&#xff0c;可翻页的电子画册怎么制作呢&#xff1f; 1.要制作电子杂志,首先…

“全民拼团:解锁社交电商新玩法,乐享购物与分红“

在当前电子商务领域&#xff0c;一种创新的购物体验——全民团购风潮正逐渐兴起。它创造性地将社交功能与电商购物相结合&#xff0c;借助团购、拼购等活动&#xff0c;不仅使消费者能够享受到更优惠的价格&#xff0c;更赋予购物过程一种全新的乐趣和互动性。 全民团购模式的独…