当前位置: 首页 > article >正文

推理与训练,分布式训练

什么是推理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.kler.cn/a/300166.html

相关文章:

  • 62,【2】 BUUCTF WEB [强网杯 2019]Upload1
  • Unity新版InputSystem短按与长按,改键的实现
  • 【分布式架构设计理论1】架构设计的演进过程
  • vue3 通过ref 进行数据响应
  • 迷宫1.2
  • Vue3初学之Element Plus Dialog对话框,Message组件,MessageBox组件
  • FFmpega安装教程
  • 华为云低代码AstroZero技巧教学4:花瓣图展示 给数据加点色彩
  • Android中如何实现adb向应用发送特定指令并接收返回
  • 计算机网络基础概念 交换机、路由器、网关、TBOX
  • 【区块链通用服务平台及组件】基于向量数据库与 LLM 的智能合约 Copilot
  • 数据结构应用实例(三)——赫夫曼编码
  • linux系统之基础io
  • 【Android】SurfaceFlinger Dumpsys信息分析
  • HarmonyOS 开发范式、应用模型
  • CSS学习12--清除浮动的本质及处理办法
  • 杂谈|压力管理之「压力」影响(二)
  • 2. 变量和指令(omron 机器自动化控制器)——2
  • 三种方式可以将彩色图像转成灰度图对比
  • 使用API有效率地管理Dynadot域名,查看某一订单当前的状态
  • 需要恢复 Android 手机的存储卡?6 个Android 数据恢复应用程序(可用于手机内存 + MicroSD 卡)
  • 【银河麒麟高级服务器操作系统】虚拟机服务器执行systemctl提示timeout——分析全过程及处理建议
  • [数据集][目标检测]人脸口罩佩戴目标检测数据集VOC+YOLO格式8068张3类别
  • 基于MinerU的PDF解析API
  • 面试必问的7大测试分类!一文说清楚!
  • [算法]单调栈解法