人人都能GPT!微软开源DeepSpeed Chat帮用户训练模型

简介

4月12日,微软宣布开源了 DeepSpeed Chat,帮助用户加速训练类似于 ChatGPT 的模型。

DeepSpeed Chat 能够简化 ChatGPT 类型模型的训练过程、强化推理体验。其中的 DeepSpeed-RLHF 系统能够在推理和训练两种模式之间进行切换,使复杂的 RLHF 训练速率更快、易于大规模推广。DeepSpeed-HE 比现有系统快 15 倍以上,且成本更低。在微软云 Azure 上,该系统只需 9 小时即可训练一个 OPT-13B 模型,只需 18 小时即可训练一个 OPT-30B 模型。

在这里插入图片描述
DeepSpeed-Chat 具有以下三大核心功能:

  • 简化 ChatGPT 类型模型的训练和强化推理体验:只需一个脚本即可实现多个训练步骤,包括使用 Huggingface 预训练的模型、使用 DeepSpeed-RLHF 系统运行 InstructGPT 训练的所有三个步骤、甚至生成你自己的类 ChatGPT 模型。此外,还提供了一个易于使用的推理 API,用于用户在模型训练后测试对话式交互。
  • DeepSpeed-RLHF 模块:DeepSpeed-RLHF 复刻了 InstructGPT 论文中的训练模式,并确保包括 a) 监督微调(SFT),b) 奖励模型微调和 c) 基于人类反馈的强化学习(RLHF)在内的三个步骤与其一一对应。此外,还提供了数据抽象和混合功能,以支持用户使用多个不同来源的数据源进行训练。
  • DeepSpeed-RLHF 系统:其将 DeepSpeed 的训练(training engine)和推理能力(inference engine) 整合到一个统一的混合引擎(DeepSpeed Hybrid Engine or DeepSpeed-HE)中用于 RLHF 训练。DeepSpeed-HE 能够在 RLHF 中无缝地在推理和训练模式之间切换,使其能够利用来自 DeepSpeed-Inference 的各种优化,如张量并行计算和高性能 CUDA 算子进行语言生成,同时对训练部分还能从 ZeRO- 和 LoRA-based 内存优化策略中受益。DeepSpeed-HE 还能够自动在 RLHF 的不同阶段进行智能的内存管理和数据缓存。

DeepSpeed-Chat 具有以下三大特性:

  • 效率和可负担性:在效率方面,DeepSpeed-HE比现有系统快15倍以上,使RLHF培训既快速又实惠。例如,DeepSpeed-HE可以在Azure Cloud上以低于13美元和9美元的价格在30小时内训练OPT-18B,在300小时内训练OPT-600B。
    在这里插入图片描述

  • 出色的可扩展性:DeepSpeed-HE支持数千亿参数的模型,可以在多节点多GPU系统上实现出色的可扩展性。因此,即使是 13B 模型也可以在 1.25 小时内完成训练,而使用 DeepSpeed-HE 可以在一天内训练一个庞大的 175B 模型。
    在这里插入图片描述

    上面两个表中的数字是训练的第 3 步,基于 DeepSpeed-RLHF 策划数据集和训练配方上实际测量的训练吞吐量,该训练配方在总共 135M 个代币上训练一个时期。我们总共有 67.5M 个查询令牌(131.9k 个查询,序列长度为 256)和 67.5M 个生成的令牌(131.9k 个答案,序列长度为 256),每步的最大全局批大小为 0.5M 个令牌(1024 个查询-答案对)。

  • RLHF 训练民主化:只需一个 GPU,DeepSpeed-HE 就支持超过 13 亿个参数的训练模型,使数据科学家无需访问多 GPU 系统即可创建不仅可以创建玩具 RLHF 模型,还可以创建可用于现实场景的大型强大模型。
    在这里插入图片描述

上手体验

示例1:提供从DeepSpeed-Chat训练的1.3B最终模型的问答环节

在这里插入图片描述

示例 2:通过提供从 DeepSpeed-Chat 训练的模型进行多轮对话

在这里插入图片描述

一个脚本完成 RLHF 训练的所有三个阶段,并生成您的第一个 ChatGPT 模型!

pip install deepspeed>=0.9.0git clone https://github.com/microsoft/DeepSpeedExamples.git
cd DeepSpeedExamples/applications/DeepSpeed-Chat/
pip install -r requirements.txtpython train.py --actor-model facebook/opt-13b --reward-model facebook/opt-350m --deployment-type single_node

在大约半天的时间里,13B 模型将完全训练并准备好检查点。下表显示了三个步骤中每个步骤的训练时间明细:

在这里插入图片描述

不同的型号尺寸和配置

例如,如果您想在 GPU 集群上为您的研究或业务训练更大、更高质量的模型,您可以简单地使用相同的脚本来构建所需的模型大小,例如 66B 和 GPU 计数,例如 64 个 GPU

python train.py --actor-model facebook/opt-66b --reward-model facebook/opt-350m --deployment-type multi_node

在这里插入图片描述

在 9 小时内,您就可以准备好 66 亿个参数 ChatGPT 模型,以便在您最喜欢的前端 GUI 中提供服务:

如果你只有大约1-2个小时的咖啡或午休时间,你也可以尝试用DeepSpeed-Chat训练一个小型/玩具模型。例如,我们为具有单个数据集的 1.3B 模型准备了一个训练示例,以便在您的消费级 GPU 上测试。

python train.py --actor-model facebook/opt-1.3b --reward-model facebook/opt-350m --deployment-type single_gpu

在这里插入图片描述
具体来说,针对不同规模的模型和硬件配置,DeepSpeed-RLHF系统所需的时间和成本如下:

使用DeepSpeed-Chat的RLHF API自定义您自己的RLHF训练管道

DeepSpeed-Chat允许用户使用如下所示的灵活API构建自己的RLHF训练管道,用户可以使用这些API来重建自己的RLHF训练策略。这为创建用于研究探索的各种RLHF算法提供了通用接口和后端。


engine = DeepSpeedRLHFEngine(actor_model_name_or_path=args.actor_model_name_or_path,critic_model_name_or_path=args.critic_model_name_or_path,tokenizer=tokenizer,num_total_iters=num_total_iters,args=args)trainer = DeepSpeedPPOTrainer(engine=engine, args=args)for prompt_batch in prompt_train_dataloader:out = trainer.generate_experience(prompt_batch)actor_loss, critic_loss = trainer.train_rlhf(out)

参考:https://github.com/microsoft/DeepSpeed/blob/master/blogs/deepspeed-chat/README.md

参考:https://www.deepspeed.ai/

参考:https://github.com/microsoft/DeepSpeedExamples/blob/master/applications/DeepSpeed-Chat/README.md#-deepspeed-chats-roadmap-

成熟的 RLHF 培训管道

为了提供无缝的培训体验,我们遵循 InstructGPT,并在 DeepSpeed-Chat 中包含成熟的端到端训练管道,如图 1 所示。

在这里插入图片描述
我们的管道包括三个主要步骤:

  • 第 1 步:监督微调 (SFT),其中人类对各种查询的响应经过精心挑选,以微调预训练的语言模型。
  • 第 2 步:奖励模型微调,其中使用具有人工提供的同一查询的多个答案排名的数据集训练单独的(通常小于 SFT)模型 (RW)。
  • 第 3 步:RLHF 训练,其中使用近端策略优化 (PPO) 算法通过来自 RW 模型的奖励反馈进一步微调 SFT 模型。

我们在步骤 3 中提供了两个附加功能来帮助提高模型质量:

  • 指数移动平均线 (EMA) 集合,可以选择基于 EMA 的检查点进行最终评估。
  • 混合训练,将预训练目标(即下一个单词预测)与 PPO 目标混合在一起,以防止在 SQuAD2.0 等公共基准测试上出现回归性能。

两个训练功能(EMA 和混合训练)经常被其他最近的工作省略,因为它们可以是可选的。然而,根据InstructGPT,EMA检查点通常比传统的最终训练模型提供更好的响应质量,混合训练可以帮助模型保持训练前的基准求解能力。因此,我们为用户提供它们,以充分获得 InstructGPT 中所述的培训体验,并争取更高的模型质量。

除了与InstructGPT论文高度一致外,我们还提供了方便的功能,以支持研究人员和从业者使用多种数据资源训练自己的RLHF模型:

  • 数据抽象和混合功能:DeepSpeed-Chat能够使用多个数据集训练模型,以获得更好的模型质量。它配备了(1)抽象数据集层,以统一不同数据集的格式;(2)数据拆分/混合功能,以便正确混合多个数据集,然后在3个训练阶段中拆分。

DeepSpeed 混合引擎 – 统一的基础设施,为RLHF培训提供动力和优化

指令引导的 RLHF 流水线的步骤 1 和步骤 2 类似于大型模型的常规微调,它们由基于 ZeRO 的优化和 DeepSpeed 训练中并行策略的灵活组合提供支持,以实现规模和速度。另一方面,就性能影响而言,管道的步骤 3 是最复杂的部分。每次迭代都需要有效处理两个阶段:a)令牌/体验生成的推理阶段,为训练生成输入,b)训练阶段更新参与者和奖励模型的权重,以及它们之间的交互和调度。它引入了两个主要成本:(1)内存成本,因为在整个阶段3中需要提供SFT和RW模型的多个副本;(2)主要发电阶段,如果加速不当,将大大减慢整个阶段3。此外,我们在第 3 阶段添加的两个重要功能(包括指数移动平均线 (EMA) 收集和混合训练)将产生额外的内存和训练成本。

为了应对这些挑战,我们将DeepSpeed Training和Inference的完整系统功能组合到一个统一的基础设施中,我们称之为混合引擎。它利用原始的DeepSpeed引擎进行快速训练模式,同时毫不费力地将DeepSpeed推理引擎应用于生成/评估模式,为第3阶段的RLHF训练提供了明显更快的训练系统。如图 2 所示,DeepSpeed 训练和推理引擎之间的过渡是无缝的:通过为执行组件模型启用典型的评估和训练模式,在运行推理和训练管道时,DeepSpeed 会选择其不同的优化来更快地运行模型并提高整体系统吞吐量。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外汇天眼:新手必备!外汇模拟交易——交易生涯的第一步

你应该用模拟账户练习交易吗?这对很多交易者来说是一个再常见不过的问题,尤其是对新手交易者。答案毋庸置疑:应该。在真实账户交易之前,先用模拟账户做练习式交易,这非常有必要的,模拟交易可以帮助你熟悉市…

CTP程序化交易入门系列之四:行情订阅常见问题解答

前言 这一章总结了大家订阅行情最常问的一些问题的相关解答,希望能有帮助。如有不对的地方,欢迎指正。后期会在这里更新迭代,欢迎到这底下提问! 更新时间:20201112 1 获取行情的地址在哪里可以查到? simno…

优质的客户期货开户交易所返还高

优质的客户交易所返还高 期货公司排名 期货公司的资质:除了平台安全性外。期货业协会、证监会有关部门、中国期货市场监控中心等组成的评审委员会会以期货公司风险管理能力为基础,结合公司服务实体经济能力、市场竞争力、持续合规状况,每年对期货公司进…

您应该知道的重要外汇交易术语!

如果您曾经以新人的身份参加过商务会议或研讨会,您就会知道聆听看似陌生的讨论是什么感觉。过道两边的人使用术语、首字母缩略词和缩写来指代您对他们知之甚少或一无所知的人和事件。 这是一个令人尴尬的位置,但你不能让它变得更好。不要让您缺乏对外汇交…

对GPT的一些思考观点

站在个人角度,对于GPT是否意味着革命机会我觉得需要做一些更具体的尝试才行。上次看老板在群里分享了一张图片,大意是说GPT意味着如下几个机会:生产工具(写代码,生成内容、生成报告)、对话引擎(…

php基于宝塔环境搭建部署企业微信会话存档服务

基于宝塔环境-安装企业维护会话扩展 WxworkFinanceSdk 环境要求:php-cli 版本 >7.4 先看文档,看完后不清楚的可以微信 vx:q576313851 php,java,go 版本的企业微信会话都做过。上家公司是企业微信服务商,也可以协助购买会话存档服务-优惠 …

ps 蒙版抠图更换背景色或背景图片

参考文章:复杂背景下ps如何快速抠图换背景?蒙版快速抠图 打开图片,点选“快速蒙版工具”在这里插入图片描述。在这里最好先复制一个原始图层隐藏,以备不时之需。 选择“画笔工具”,实心的画笔画里边; 虚边…

抠图换背景用什么软件好?快把这些软件收好

在数字时代,抠图换背景已经成为了广泛使用的一种技术。随着摄影技术的不断提升和人们对图片的要求不断提高,很多人开始使用抠图换背景来让自己的图片更加美观、生动。抠图换背景是一种将图片中的主体与背景分离的技术,它可以让人们轻松地将一…

一键抠图怎么弄?图片怎样变透明色背景?

通常在抠图的时候我们都是用ps来处理,但很多小伙伴都不会使用ps,用压缩图的在线抠图工具(抠图 免费AI抠图 一键在线抠图工具-压缩图)来一键抠图就很简单了,快来看看是怎么把图片背景变透明的吧! 1、使用浏…

图片如何抠图换背景?怎样将图片抠成透明底图片?

如果想让图片背景透明化,大家可以通过抠图(https://www.yasuotu.com/koutu)方法来进行操作。现在网上有很多抠图换背景的工具,操作复杂还需要下载,非常耽误大家的时间。今天可以使用小编分享给大家的在线智能抠图工具&…

PS图片背景透明(抠图)

适用于简单的边界明显的图片,使用版本PS2022。 1、图片准备 2、套索工具圈住要扣的对象 3、ctrlj 将套索出的对象复制为新图层 4、打开通道,选择对比对最大的通道,并右键该通道,复制出一个新通道。 5、点击此通道按下ctrlL&#…

利用Python轻松实现抠图,背景色更换

只需要3行代码,5秒实现高精度抠图 介绍一款工具remove.bg,通过调用此工具的API实现,API获取方式很简单,注册这个工具账号,就可以免费获得了 话不多说,老规矩,直接上代码: import os from rem…

超强实时人像抠图算法开源,随心所欲背景替换!

谈到人像抠图想必大家都不陌生。在影视剪辑、直播娱乐、线上教学、视频会议等场景中都有人像分割的身影,它可以帮助用户实时、精准地将人物和背景精准识别出来,实现更精细化的人物美颜、背景虚化替换、弹幕穿人等,进一步提升视觉应用体验。 人…

大家都在用的抠图换背景软件,这些软件你知道几个?

最近跟朋友们出去游玩,拍摄了一些具有纪念意义的照片。但是当我回来挑选照片,准备分享到社交平台的时候,发现有一些照片人像好看,但是背景有点模糊,有的拍不出当时天空的美。难道只能丢弃这些照片了吗?其实…

物品抠图怎么更换背景?快来get这个方法

物品抠图怎么更换背景?相信从事图片编辑,新媒体文案的小伙伴经常会使用到抠图吧。有些图片想要保留物品更换背景的话就需要进行抠图操作,如果手动抠图的话很容易在细节上处理不当,物品的边缘不好把握,抠出来会显得不自…

怎样抠图怎么把背景换成白色?几个步骤教你轻松掌握

有时候我们一些照片背景色比较杂乱需要想要换成纯色,或者一些证件照需要更换白色底该怎么操作呢?相信一些制作简历,或者从事电商图片制作的小伙伴可能都遇到过这种问题,但是很多在线处理的小网页也不敢上传图片怕会泄漏出去&#…

人物抠图换背景怎么做?教你几种抠图方法轻松抠出人物

怎么把图片中的人像抠出来换背景呢?在现代社会,照片已经成为人们生活的常见元素,而照片的后期处理也越来越受到人们的关注。当人们拍摄一张照片时,常常会想要将人像从背景中抠出来,以便更好地突出主题。此时&#xff0…

如何抠图人像换背景?教你一个在线操作的方法

如何抠图人像换背景?抠图是图像处理中常见的一种技术操作,是将一张图片的一部分截取出来作为单独的图层与另外的背景信息进行设计合成。一张没有背景的图片我们可以通过反复用到各种不同场景中,现在电脑上有很多抠图工具,可以充分…

抠图,扣掉背景图片

Remove Image Backgrounds, Free HD, No Signup - Pixian.AI https://pixian.ai/ 从电脑本地选取图片,然后会自动扣掉背景,点击DOWNLOAD就可以了 第一个:Pixian.AI 这是一款国外的在线抠图网站,把需要扣除背景的图片拖拽进来&am…

GPT+金融:和产学研专家碰撞AIGC在金融行业的无限可能

前言 ChatGPT的出现引发了大众对大模型的关注和探索,它展现的强大能力,让其成为近几年最受关注的科技热点。站在金融行业的角度,我们尝试从宏观趋势出发,理解LLM在金融行业为什么会获得高关注度?它在金融行业应该如何…