推理与训练,分布式训练

news2024/9/25 19:23:42

什么是推理training

在人工智能领域,推理是指经过训练的机器学习模型从全新的数据(输入)中得出结论(输出)的过程。通俗地讲,推理是模型的实际运行。

什么是训练 inference

在人工智能领域,训练是指让机器学习模型做出准确推理的过程。训练可能涉及反复试错的过程,或者向模型展示期望输入和输出的示例,或者两者兼而有之。

推理和训练的算力对比

就算力而言,训练人工智能模型可能非常昂贵。不过,这通常是一次性的开支。一旦模型训练得当,理论上就无需再进行训练。
然而,推理是持续性的。如果一个模型正在使用中,它就会持续将其训练结果应用到新数据中,并做出更多推理。这需要相当大的算力,并且可能非常昂贵。

分布式训练

分布式训练是一种通过在多个计算设备或节点上共同进行模型训练的方法,克服单节点的限制。
常见的分布式训练技术包括数据并行,流水线模型并行,张量模型并行,混合并行。

数据并行

数据并行的核心思想是每个计算节点都有一份完整的模型,在不同的计算节点上使用不同的数据子集进行梯度计算,然后对每个计算节点的梯度进行累加,再将聚合后的结果广播到所有计算节点。
在这里插入图片描述

在计算过程中,服务器节点需要处理大量数据传输。随着计算节点数量增加,通信逐渐成为数据并行中的新瓶颈。
为了解决数据并行中的通信负载不均衡的问题,分布式数据并行DDP出现了。DDP的核心思想是将服务器节点上的通讯压力均衡转到各个计算节点上,即去服务器节点,留计算节点。
在传统的数据并行中, 通信瓶颈通常出现在服务器节点,因为服务器节点需要与其他计算节点进行通信以进行梯度聚合和权重更新。而分布式数据并行则直接去掉了服务器节点,使得各个计算节点之间可以直接进行通信和梯度聚合。这样,每个节点都会收到来自其他节点的梯度,从而能够独立进行反向传播和参数更新,有效解决了通信负载不均衡的问题。
在这里插入图片描述

虽然分布式数据并行使用起来非常简单和方便,但是其要求整个模型加载到单个计算节点上,为了缓解显存的压力,出现了一种新兴的数据并行方式,即完全分片数据并行FSDP。它的核心思想是在对数据进行切片的同时,将模型的参数也切分为多份,每个节点只存储部分参数信息。
在这里插入图片描述

流水线模型并行

流水线并行的核心思想是对模型进行切分,将模型的不同层放置到不同的计算节点上,从而降低单个计算节点的显存消耗,使得能够容纳更大规模的模型进行训练。
在这里插入图片描述

流水线并行又分为朴素流水线和微批次流水线。
朴素流水线并行的核心思想是将模型的不同层切分成多个部分 (Stage),并将每个部分(Stage)分配给一个 GPU,然后使用小批量(mini-batch)数据进行常规的训练,并在 GPU 之间进行点对点的通信。
在这里插入图片描述

微批次流水线并行方案Gpipe的核心思想是:将传入的小批次(mini-batch) 数据再进行切分为更小的微批次(micro-batch)数据,然后进行前向传播和反向传播。通过在同一时刻训练不同的微批次数据来减小节点的空闲时间,以及提升 GPU 的利用率。
在这里插入图片描述

(有一种模型向指令集靠近的感觉。。。)

张量模型并行

同样是将模型分解放置到不同的GPU上,但和流水线并行不同的是,张量并行是针对模型中的参数进行分片。最常见的张量并行方案是1D 张量并行,即将参数按照某一个维度进行划分(横着切或者竖着切)。它的核心思想是模型的参数被划分成多个张量,并分别分配到不同的节点上进行计算。训练过程中,每个节点独立计算分配给自己的参数。然后,通过通信和同步操作,确保所有节点上的模型参数得到更新。
在这里插入图片描述

大模型和机器学习模型的区别

大模型和机器学习模型各有其优势和适用场景。大模型在处理复杂、开放性的自然语言任务时表现出色,但需要大量资源。传统机器学习模型则更适合特定任务,资源需求较少,且在某些领域仍然是首选方案。在实际应用中,选择哪种模型取决于具体的任务需求、可用资源和性能要求。

  1. 规模和复杂度:
    ● 大模型:通常包含数十亿到数万亿个参数,如GPT-3有1750亿个参数。
    ● 机器学习模型:参数数量通常较少,从几百到几百万不等。
  2. 训练数据:
    ● 大模型:需要海量的训练数据,通常是互联网规模的文本数据。
    ● 机器学习模型:可以在相对较小的数据集上训练,数据量可能从几千到几百万条不等。
  3. 通用性vs专用性:
    ● 大模型:通常是通用模型,可以应用于多种自然语言处理任务。
    ● 机器学习模型:往往针对特定任务进行优化,如图像分类、垃圾邮件检测等。
  4. 训练方法:
    ● 大模型:通常使用自监督学习方法,如预测下一个词。
    ● 机器学习模型:可能使用监督学习、无监督学习或强化学习等多种方法。
  5. 计算资源需求:
    ● 大模型:需要大量的计算资源进行训练,通常需要多个GPU或TPU集群。
    ● 机器学习模型:可以在普通PC或单个GPU上训练。
  6. 推理时间:
    ● 大模型:由于规模庞大,推理时间可能较长。
    ● 机器学习模型:通常推理速度较快,适合实时应用。
  7. 可解释性:
    ● 大模型:由于复杂度高,通常被视为"黑盒",可解释性较差。
    ● 机器学习模型:某些模型(如决策树)具有较好的可解释性。
  8. 迁移学习能力:
    ● 大模型:具有强大的迁移学习能力,可以快速适应新任务。
    ● 机器学习模型:迁移学习能力相对有限,通常需要针对新任务重新训练。
  9. 更新和维护:
    ● 大模型:更新成本高,通常需要重新训练整个模型。
    ● 机器学习模型:可以进行增量更新,维护相对简单。
  10. 应用场景:
    ● 大模型:适用于复杂的自然语言处理任务,如文本生成、问答系统、语言翻译等。
    ● 机器学习模型:广泛应用于各种领域,包括计算机视觉、推荐系统、异常检测等。

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

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

相关文章

Linux内核初始化过程中加载TCP/IP协议栈

Linux内核初始化过程中加载TCP/IP协议栈 Linux内核初始化过程中加载TCP/IP协议栈,从start_kernel、kernel_init、do_initcalls、inet_init,找出Linux内核初始化TCP/IP的入口位置,即为inet_init函数。 Linux内核启动过程 之前的实验中我们设…

差值图中像素总和的正负性(极性)含义

1. 正总和的含义 当 I1 减去 I2 的差值图总和为正时,这意味着整体上 I1 的像素值比 I2 高。即: 表示: 2. 局部亮度变化 即便差值图的总和为正,也不能确保 I1 在所有区域都比 I2 亮。差值图的正总和只是表明在整个图像中&#xf…

webpack5 创建多页面应用配置

简单版webpack创建多页面应用,只要把配置文件复制下来,然后npm安装相应插件,正常是能跑起来了 创建 初始化 npm init生成package.json文件安装webpack npm i -D webpack webpack-cli webpack-dev-server创建main.js入口文件和webpack.config…

云计算实训48——k8s环境搭建(详细版)

1.创建主机、设置ip、设置hostname 2.设置免密登录 # 生成私钥 [rootk8s-master ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphr…

智能化转型的基石:精心策划楼宇自控系统的选择与部署

智能化转型的基石:精心策划楼宇自控系统的选择与部署 在智慧城市的宏伟蓝图中,建筑智能化已成为推动城市进步的强劲动力。楼宇自控系统,作为这一进程中的核心组件,其选择与部署策略不仅关乎建筑内部的运营效率与能源管理&#xff…

十大排序算法的特点及应用场景

一.十大经典排序算法介绍 1. 冒泡排序(Bubble Sort) 原理:通过重复遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素为止。…

视频编辑SDK解决方案,完整的前端代码+SDK功能交付

繁琐的视频编辑过程往往成为创作者们提升作品质量的瓶颈,美摄科技凭借其深厚的AI技术积累与创新的移动端视频编辑SDK解决方案,正引领着视频编辑领域的新潮流,让每一位创作者都能轻松驾驭创意,实现从灵感闪现到作品呈现的无缝对接。…

点餐小程序实战教程05登录界面搭建

目录 1 设置tab栏2 添加页面3 搭建登录界面3.1 显示头像3.2 显示昵称3.3 注册按钮 总结 上一篇我们讲解了如何在首页加载的时候获取用户信息,一般小程序会在底部放置tab栏,将不同的菜单放置在tab栏中。我们的用户注册逻辑是,如果用户点击了底…

Java码农人生开启手册——多态与重写

一、多态 概念:通俗来说,就是多种形态;具体点,就是去完成某个行为,当不同的对象去完成时会产生不同的状态。 1、多态的实现条件 三个条件,缺一不可: 必须在继承体系下子类必须对父类中方…

训练 Vision Transformer 模型并运行推理

目录 CV Architecture ViT and U-Net Training ViT Florence-2 Load Model Load images CV Scenarios test Genarate CAPTION from the images DENSE REGION CAPTION and REGION_PROPOSA Caption to Phrase Grounding Bounding boxes OCR test Fine Tuning Floren…

2024年转行做网络安全工程师还来得及吗?薪资怎么样呢

🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 2022年以来,我国网络安全行业的市场规模持续增长,根据市场调研在线网发布的2023-2029年中国网络安全集成行业市场运行态势及发展趋向分析…

Pycharm配置ssh远程服务器解析器

算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号滴滴我 文章目录 需求配置流程 需求 之前在开发中,Pycharm都是通过本机Python环境来解析。但有时候,可能受限于本机电脑配置原因,导致运行速度并不快。因此推荐大家尝试下&#xff0c…

一文带你彻底掌握二分查找

1. 认识二分查找 二分查找也被称为折半查找,他是一种查询效率较高的查找方式,普通查找的方式通常是从头到尾遍历一遍数组,二分查找的方式是找到数组中间的那个元素mid与目标值target进行比较,比target小就去前半段找,…

Java中List集合去重

反问问题:为什么不直接使用 Set 或者 LinkedHashSet 呢 实际场景:实际的业务开发中遇到的情况会更复杂。比如,List 集合可能是历史遗留问题,也有可能是调用接口返回的类型限制,只能使用 List 接收,又或者是…

Qualcomm Linux 交叉编译应用程序

1. 前提条件 Ubuntu 20.04 系统 Qualcomm RB3 Gen2开发板 2.下载并安装 eSDK 平台 1.从 Qualcomm 发布存档平台下载 eSDK。 wget https://artifacts.codelinaro.org/artifactory/qli-ci/flashable-binaries/qimpsdk/qcm6490/x86/qcom-6.6.28-QLI.1.1-Ver.1.1_qim-product-s…

消除数字球-第15届蓝桥省赛Scratch初级组真题第5题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第184讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

python程序使用nohup后台执行不能实时输出到定向文件的解决方法

问题描述:使用nohup命令后台执行python,但python中print方法打印结果不能实时输出到nohup后台定向文件,只能在程序结束时一次性输出。典型问题样例:在python中使用了os.system(command)方法,command命令打印的结果可以…

免费爬虫软件“HyperlinkCollector超链采集器v0.1”

HyperlinkCollector超链采集器单机版v0.1 软件采用python的pyside2和selenium开发,暂时只支持window环境,抓取方式支持普通程序抓取和selenium模拟浏览器抓取。软件遵守robots协议。 首先下载后解压缩,然后运行app目录下的HyperlinkCollector.exe 运行…

网页与App无缝衔接,揭秘拉起应用的黑科技!

随着移动互联网的飞速发展,App已经成为了我们日常生活中不可或缺的一部分。然而,在推广和运营App的过程中,如何让用户更便捷地从网页跳转到App,一直是困扰推广者的难题。今天,我们就来聊聊网页拉起应用这一黑科技&…

开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略

摘要:本文深入探讨在开源 AI 智能名片 S2B2C 商城小程序的情境下,全渠道供应的运行机制。阐述各环节企业相互配合的重要性,重点分析零售企业在其中的关键作用,包括协调工作、信息传递、需求把握等方面,旨在实现高效的全…