AI:DeepSpeed Chat(一款幫用戶訓(xùn)練自己模型的工具且簡單/低成本/快 RLHF 訓(xùn)練類ChatGPT高質(zhì)量大模型)的簡介、安裝、使用方法之詳細(xì)攻略
目錄
DeepSpeed Chat的簡介
DeepSpeed-Chat的產(chǎn)生背景
DeepSpeed-Chat的簡介
DeepSpeed-Chat的三大功能
DeepSpeed-RLHF 系統(tǒng)三大優(yōu)勢
DeepSpeed Chat的安裝和使用方法
1、簡單易用的ChatGPT訓(xùn)練和推理體驗(yàn)
使用 DeepSpeed-Chat 的 RLHF 示例可以輕松訓(xùn)練您的第一個(gè) ChatGPT 樣式模型
a) 一個(gè)腳本完成 RLHF 訓(xùn)練的所有三個(gè)階段并生成您的第一個(gè) ChatGPT 模型!
b) 使用 DeepSpeed-Chat 的推理 API 測試您的最終模型
DeepSpeed Chat的使用方法
1、成熟的 RLHF 培訓(xùn)管道
2、DeepSpeed 混合引擎——統(tǒng)一的基礎(chǔ)設(shè)施來支持和優(yōu)化 RLHF 訓(xùn)練
DeepSpeed Chat的簡介
DeepSpeed-Chat的產(chǎn)生背景
? ? ? ?ChatGPT 之類的模型席卷了 AI 世界,可以毫不夸張地說它對數(shù)字世界的影響是革命性的。這些模型用途廣泛,能夠執(zhí)行摘要、編碼和翻譯等任務(wù),其結(jié)果與人類專家相當(dāng),甚至超過人類專家的能力。鑒于這些模型的強(qiáng)大功能,AI 開源社區(qū)正在進(jìn)行多項(xiàng)努力,以使 ChatGPT 樣式的模型更易于訪問(例如 ChatLLaMa、Alpaca、Vicuna、Databricks-Dolly 等)。
? ? ? ?盡管付出了這些令人難以置信的努力,但仍然缺乏端到端的 RLHF 管道,能夠訓(xùn)練強(qiáng)大的 ChatGPT 類模型,AI 社區(qū)可以輕松訪問這些模型。例如,使用現(xiàn)有系統(tǒng)訓(xùn)練適度的 6.7B ChatGPT 模型通常需要昂貴的多 GPU 設(shè)置,這超出了許多數(shù)據(jù)科學(xué)家的能力范圍。即使可以訪問此類計(jì)算資源,訓(xùn)練效率通常也低于這些機(jī)器能力的 5%(如下圖所示)。最后,現(xiàn)有的解決方案根本無法支持簡單、快速和負(fù)擔(dān)得起的培訓(xùn)具有數(shù)千億參數(shù)的最先進(jìn)的 ChatGPT 模型,即使可以訪問多 GPU 集群。
? ? ? ?這些限制源于缺乏能夠有效支持復(fù)雜 InstructGPT 的 RLHF 訓(xùn)練管道的穩(wěn)健系統(tǒng)設(shè)計(jì),這與現(xiàn)有 DL 系統(tǒng)設(shè)計(jì)的標(biāo)準(zhǔn)預(yù)訓(xùn)練和微調(diào)管道截然不同。
DeepSpeed-Chat的簡介
?? ? ? DeepSpeed是一個(gè)由微軟開發(fā)的深度學(xué)習(xí)框架優(yōu)化工具,旨在為大規(guī)模分布式訓(xùn)練提供更好的支持。它提供了多種性能優(yōu)化技術(shù),包括模型并行、梯度累積、動(dòng)態(tài)精度縮放等,使得在使用大規(guī)模GPU集群進(jìn)行訓(xùn)練時(shí)能夠更高效地利用計(jì)算資源。同時(shí),DeepSpeed還提供了一套易用的API,可以方便地將這些優(yōu)化技術(shù)應(yīng)用到不同的深度學(xué)習(xí)框架中,如PyTorch、TensorFlow等。
?? ? ? 4月12日(美國時(shí)間),DeepSpeed在社交論壇,發(fā)表了DeepSpeed-Chat,想在單個(gè)GPU上訓(xùn)練10B+ chatgpt風(fēng)格的模型,在多GPU系統(tǒng)上訓(xùn)練100B+ ?引入DeepSpeed-Chat,一種簡單(單腳本)、快速和低成本的解決方案,用于用RLHF訓(xùn)練高質(zhì)量的chatgpt風(fēng)格模型,比SoTA快15倍。
? ? ? ?綜上可知,微軟開源的?DeepSpeed-Chat是一款讓我們能夠以更低的成本、更快的速度訓(xùn)練類似于ChatGPT的高質(zhì)量大模型,目的是幫用戶訓(xùn)練自己的模型。
GitHub:DeepSpeed/blogs/deepspeed-chat at master · microsoft/DeepSpeed · GitHub
官方介紹:DeepSpeed/README.md at master · microsoft/DeepSpeed · GitHub
DeepSpeed-Chat的三大功能
? ? ? ?本著使類似 ChatGPT 的模型民主化并使 RLHF 訓(xùn)練真正為 AI 社區(qū)所用的精神,今天我們發(fā)布了具有以下三種特點(diǎn)的 DeepSpeed-Chat:
(i)易于使用的 ChatGPT 類模型訓(xùn)練和推理體驗(yàn):一個(gè)腳本能夠采用預(yù)訓(xùn)練的 Huggingface 模型,使用 DeepSpeed-RLHF 系統(tǒng)運(yùn)行它完成 InstructGPT 訓(xùn)練的所有三個(gè)步驟,并生成您自己的 ChatGPT像模型。此外,我們還提供了一個(gè)推理 API,用于在訓(xùn)練模型后測試對話式交互。
(ii) DeepSpeed-RLHF 流水線:DeepSpeed-RLHF 流水線主要復(fù)制 InstructGPT 論文中的訓(xùn)練流水線,并仔細(xì)注意以確保完整性和與包括 a) 監(jiān)督微調(diào) (SFT) 在內(nèi)的三個(gè)步驟的一一對應(yīng), b) 獎(jiǎng)勵(lì)模型微調(diào)和 c) 人類反饋強(qiáng)化學(xué)習(xí) (RLHF)。此外,我們還提供數(shù)據(jù)抽象和混合功能,以支持使用多個(gè)數(shù)據(jù)源進(jìn)行訓(xùn)練。
(iii) DeepSpeed-RLHF 系統(tǒng):一個(gè)強(qiáng)大而復(fù)雜的 RLHF 系統(tǒng),它將 DeepSpeed 的訓(xùn)練和推理能力結(jié)合到 RLHF 的單一統(tǒng)一混合引擎 (DeepSpeed-HE) 中?;旌弦婺軌蛟?RLHF 內(nèi)的推理和訓(xùn)練模式之間無縫轉(zhuǎn)換,使其能夠利用 DeepSpeed-Inference 的各種優(yōu)化,例如用于生成的張量并行和高性能變壓器內(nèi)核,同時(shí)還受益于眾多 ZeRO-以及用于 RL 訓(xùn)練的基于 LoRA 的內(nèi)存優(yōu)化策略。DeepSpeed-HE 還了解整個(gè) RLHF 管道,使其能夠在 RLHF 不同階段的內(nèi)存管理和數(shù)據(jù)移動(dòng)方面做出最佳決策。
DeepSpeed-RLHF 系統(tǒng)三大優(yōu)勢
DeepSpeed-RLHF 系統(tǒng)能夠大規(guī)模實(shí)現(xiàn)無與倫比的效率,使復(fù)雜的 RLHF 訓(xùn)練變得快速、經(jīng)濟(jì)且易于為 AI 社區(qū)所接受:
效率和可負(fù)擔(dān)性:在效率方面,?DeepSpeed-HE 比現(xiàn)有系統(tǒng)快 15 倍以上,使 RLHF 訓(xùn)練既快速又經(jīng)濟(jì)。例如,DeepSpeed-HE 可以在 Azure Cloud 上僅用 9 小時(shí)訓(xùn)練 OPT-13B,在 18 小時(shí)內(nèi)訓(xùn)練 OPT-30B,價(jià)格分別低于 300 美元和 600 美元。
顯卡 | OPT-6.7B | OPT-13B | OPT-30B | OPT-66B |
---|---|---|---|---|
8 個(gè) A100-40GB | 5.7小時(shí) | 10.8小時(shí) | 1.85天 | 北美 |
8 個(gè) A100-80GB | 4.1 小時(shí)(132 美元) | 9 小時(shí)(290 美元) | 18 小時(shí)(580 美元) | 2.1 天 ($1620) |
表 1. 單節(jié)點(diǎn) 8x A100:Azure 上的訓(xùn)練時(shí)間和相應(yīng)的近似成本。
出色的可擴(kuò)展性:DeepSpeed-HE支持千億級參數(shù)的模型,在多節(jié)點(diǎn)多GPU系統(tǒng)上可以實(shí)現(xiàn)出色的可擴(kuò)展性。因此,即使是 13B 模型也可以在 1.25 小時(shí)內(nèi)完成訓(xùn)練,而使用 DeepSpeed-HE 可以在不到一天的時(shí)間內(nèi)訓(xùn)練出大型 175B 模型。
顯卡 | OPT-13B | OPT-30B | OPT-66B | OPT-175B |
---|---|---|---|---|
64x A100-80G | 1.25 小時(shí)(320 美元) | 4 小時(shí)(1024 美元) | 7.5 小時(shí)(1920 美元) | 20 小時(shí) ($5120) |
表 2. 多節(jié)點(diǎn) 64x A100-80GB:Azure 上的訓(xùn)練時(shí)間和相應(yīng)的近似成本。
非常重要的細(xì)節(jié):上面兩個(gè)表中的數(shù)字都是針對訓(xùn)練的第 3 步,并且基于在 DeepSpeed-RLHF 精選數(shù)據(jù)集和訓(xùn)練方法上實(shí)際測量的訓(xùn)練吞吐量,該方法在總共 1.35 億個(gè)token上訓(xùn)練一個(gè)時(shí)期。我們總共有 6750 萬個(gè)查詢標(biāo)記(131900 個(gè)查詢,序列長度為 256)和 6750 萬個(gè)生成的標(biāo)記(131900 個(gè)答案,序列長度為 256),以及每步 0.5M 標(biāo)記(1024 個(gè)查詢-答案對)的最大全局批量大小).?我們敦促讀者在與 DeepSpeed-RLHF 進(jìn)行任何成本和 e2e 時(shí)間比較之前注意這些規(guī)范。有關(guān)詳細(xì)信息,請參閱我們的基準(zhǔn)設(shè)置頁面。
民主化 RLHF 訓(xùn)練:DeepSpeed-HE 僅需一個(gè) GPU,即可支持具有超過 130 億個(gè)參數(shù)的訓(xùn)練模型,使無法訪問多 GPU 系統(tǒng)的數(shù)據(jù)科學(xué)家不僅可以創(chuàng)建玩具 RLHF 模型,還可以創(chuàng)建可在實(shí)際中使用的大型強(qiáng)大模型-世界場景。
V100 32G | A6000 48G | A100 40G | A100 80G | |
---|---|---|---|---|
型號尺寸 | OPT-2.7B | OPT-6.7B | OPT-6.7B | OPT-13B |
表 3. DeepSpeed-HE 在單個(gè) GPU 上支持的最大模型大小
DeepSpeed Chat的安裝和使用方法
1、簡單易用的ChatGPT訓(xùn)練和推理體驗(yàn)
從易于使用的體驗(yàn)開始,展示如何使用 DeepSpeed-RLHF 系統(tǒng)訓(xùn)練 OPT-13B 和 OPT-66B 模型。如果時(shí)間不夠,您甚至可以在兩個(gè)小時(shí)內(nèi)在單個(gè)消費(fèi)級 GPU 上訓(xùn)練 OPT-1.3B 模型。我們還演示了如何使用我們的 DeepSpeed-chat RLHF API 來開發(fā)您自己的自定義管道。
使用 DeepSpeed-Chat 的 RLHF 示例可以輕松訓(xùn)練您的第一個(gè) ChatGPT 樣式模型
a) 一個(gè)腳本完成 RLHF 訓(xùn)練的所有三個(gè)階段并生成您的第一個(gè) ChatGPT 模型!
我們在以下單個(gè)腳本中使用預(yù)訓(xùn)練的 OPT-13B 作為演員模型和 OPT-350M 作為獎(jiǎng)勵(lì)模型的示例來生成最終的 13B ChatGPT 樣式模型:
pip install deepspeed>=0.9.0
git clone https://github.com/microsoft/DeepSpeedExamples.git
cd DeepSpeedExamples/applications/DeepSpeed-Chat/
pip install -r requirements.txt
python train.py --actor-model facebook/opt-13b --reward-model facebook/opt-350m --deployment-type single_node
大約半天后,您的 13B 模型將完成全面訓(xùn)練,并準(zhǔn)備好檢查點(diǎn)。下表顯示了三個(gè)步驟中每個(gè)步驟的訓(xùn)練時(shí)間明細(xì):
型號尺寸 | 步驟1 | 第2步 | 步驟 3 | 全部的 |
---|---|---|---|---|
演員:OPT-13B,獎(jiǎng)勵(lì):OPT-350M | 2.5小時(shí) | 0.25小時(shí) | 10.8小時(shí) | 13.6小時(shí) |
表 4. 在具有 8 個(gè) NVIDIA A100-40G GPU 的單個(gè) DGX 節(jié)點(diǎn)上通過 DeepSpeed-Chat 訓(xùn)練 130 億參數(shù) ChatGPT 模型的 E2E 時(shí)間分解。
b) 使用 DeepSpeed-Chat 的推理 API 測試您的最終模型
現(xiàn)在是時(shí)候插入并測試由 DeepSpeed-Chat 訓(xùn)練的最終模型了!您不僅可以玩問答環(huán)節(jié),還可以玩對話式互動(dòng)。
Human: Do you know Microsoft?
Assistant: Yes, I’m a big fan of Microsoft. What about them?
Human: Can you explain it to a 6-year old child? I wonder how I should describe it
Assistant: Sure, I can try. Microsoft is a company that makes computers, and they make a program called “Windows” which
is the operating system that runs on the computer. It’s like the “brain” of the computer. It’s where all the
programs and files are stored. It’s also where you’ll find the “start” button, which is where you’ll start to
use the computer.
DeepSpeed Chat的使用方法
1、成熟的 RLHF 培訓(xùn)管道
為了提供無縫的培訓(xùn)體驗(yàn),我們遵循 InstructGPT 并在 DeepSpeed-Chat 中包含一個(gè)成熟的端到端培訓(xùn)管道,如圖 1 所示。
?圖 1:DeepSpeed-Chat 的具有可選功能的 RLHF 訓(xùn)練管道的圖示。
我們的管道包括三個(gè)主要步驟:
- 第 1 步:監(jiān)督微調(diào) (SFT),其中仔細(xì)選擇人類對各種查詢的響應(yīng)以微調(diào)預(yù)訓(xùn)練語言模型。
- 第 2 步:獎(jiǎng)勵(lì)模型微調(diào),其中使用一個(gè)數(shù)據(jù)集訓(xùn)練一個(gè)單獨(dú)的(通常小于 SFT)模型 (RW),該數(shù)據(jù)集具有人類提供的對同一查詢的多個(gè)答案的排名。
- 第 3 步:RLHF 訓(xùn)練,其中使用近端策略優(yōu)化 (PPO) 算法使用來自 RW 模型的獎(jiǎng)勵(lì)反饋進(jìn)一步微調(diào) SFT 模型。
我們在步驟 3 中提供了兩個(gè)附加功能來幫助提高模型質(zhì)量:
- 指數(shù)移動(dòng)平均線 (EMA) 集合,其中可以選擇基于 EMA 的檢查點(diǎn)進(jìn)行最終評估。
- Mixture Training,它將預(yù)訓(xùn)練目標(biāo)(即下一個(gè)詞預(yù)測)與 PPO 目標(biāo)混合在一起,以防止在 SQuAD2.0 等公共基準(zhǔn)上的性能回歸。
EMA 和混合訓(xùn)練這兩個(gè)訓(xùn)練特征經(jīng)常被其他最近的努力忽略,因?yàn)樗鼈兛梢允强蛇x的。然而,根據(jù) InstructGPT 的說法,EMA 檢查點(diǎn)通常提供比常規(guī)最終訓(xùn)練模型更好的響應(yīng)質(zhì)量,而 Mixture Training 可以幫助模型保留預(yù)訓(xùn)練基準(zhǔn)解決能力。因此,我們?yōu)橛脩籼峁┧鼈?,以充分獲得 InstructGPT 中描述的訓(xùn)練體驗(yàn),并爭取更高的模型質(zhì)量。
除了與 InstructGPT 論文高度一致外,我們還提供了方便的功能來支持研究人員和從業(yè)者使用多種數(shù)據(jù)資源訓(xùn)練自己的 RLHF 模型:
- 數(shù)據(jù)抽象和混合功能:?DeepSpeed-Chat 能夠使用多個(gè)數(shù)據(jù)集訓(xùn)練模型以獲得更好的模型質(zhì)量。它配備了(1)一個(gè)抽象數(shù)據(jù)集層來統(tǒng)一不同數(shù)據(jù)集的格式;(2) 數(shù)據(jù)拆分/混合功能,以便正確混合多個(gè)數(shù)據(jù)集,然后將其拆分到 3 個(gè)訓(xùn)練階段。
為了說明我們訓(xùn)練管道的有效性,我們通過多輪對話展示了模型質(zhì)量,如體驗(yàn)部分所示。
2、DeepSpeed 混合引擎——統(tǒng)一的基礎(chǔ)設(shè)施來支持和優(yōu)化 RLHF 訓(xùn)練
instruct-guided RLHF 管道的第 1 步和第 2 步類似于大型模型的定期微調(diào),它們由 DeepSpeed 訓(xùn)練中基于 ZeRO 的優(yōu)化和并行策略的靈活組合提供支持,以實(shí)現(xiàn)規(guī)模和速度。另一方面,管道的第 3 步是處理性能影響方面最復(fù)雜的部分。每次迭代都需要高效處理兩個(gè)階段:a) 令牌/經(jīng)驗(yàn)生成的推理階段,為訓(xùn)練生成輸入和 b) 訓(xùn)練階段以更新參與者和獎(jiǎng)勵(lì)模型的權(quán)重,以及它們之間的交互和調(diào)度。它引入了兩個(gè)主要成本:
(1) 內(nèi)存成本,因?yàn)樵谡麄€(gè)第 3 階段需要提供 SFT 和 RW 模型的多個(gè)副本;
(2) 主要發(fā)電階段,如果沒有適當(dāng)加速,
為了應(yīng)對這些挑戰(zhàn),我們將 DeepSpeed Training and Inference 的完整系統(tǒng)功能組合到一個(gè)統(tǒng)一的基礎(chǔ)設(shè)施中,我們稱之為混合引擎。它利用原始的 DeepSpeed 引擎進(jìn)行快速訓(xùn)練模式,同時(shí)毫不費(fèi)力地將 DeepSpeed 推理引擎應(yīng)用于生成/評估模式,為第 3 階段的 RLHF 訓(xùn)練提供明顯更快的訓(xùn)練系統(tǒng)。如圖 2 所示,DeepSpeed 訓(xùn)練和推理引擎之間的過渡是無縫的:通過為 actor 模型啟用典型的評估和訓(xùn)練模式,在運(yùn)行推理和訓(xùn)練管道時(shí),DeepSpeed 選擇不同的優(yōu)化來更快地運(yùn)行模型并提高整體系統(tǒng)吞吐量。
圖 2. DeepSpeed 混合引擎設(shè)計(jì)用于加速 RLHF 流水線中最耗時(shí)的部分。
在 RLHF 訓(xùn)練的經(jīng)驗(yàn)生成階段的推理執(zhí)行過程中,DeepSpeed 混合引擎使用輕量級內(nèi)存管理系統(tǒng)來處理 KV 緩存和中間結(jié)果,以及高度優(yōu)化的推理適配內(nèi)核和張量并行實(shí)現(xiàn),以實(shí)現(xiàn)顯著提升與現(xiàn)有解決方案相比,吞吐量(每秒令牌數(shù))。
在訓(xùn)練執(zhí)行期間??,Hybrid Engine 啟用內(nèi)存優(yōu)化技術(shù),例如 DeepSpeed 的 ZeRO 系列技術(shù)和低階自適應(yīng) (LoRA)。我們設(shè)計(jì)并實(shí)施了這些系統(tǒng)優(yōu)化,使它們彼此兼容,并且可以組合在一起,以在統(tǒng)一的混合引擎下提供最高的訓(xùn)練效率。文章來源:http://www.zghlxwxcb.cn/news/detail-420825.html
Hybrid Engine 可以跨訓(xùn)練和推理無縫更改模型分區(qū),以支持基于張量并行的推理和基于 ZeRO 的訓(xùn)練分片機(jī)制。它還可以重新配置內(nèi)存系統(tǒng),以在這些模式中的每一個(gè)期間最大化內(nèi)存可用性。這可以通過避免內(nèi)存分配瓶頸和支持大批量大小來提高性能。Hybrid Engine 包含來自 DeepSpeed 訓(xùn)練和推理的一系列系統(tǒng)技術(shù),突破了現(xiàn)代 RLHF 訓(xùn)練的界限,并為 RLHF 工作負(fù)載提供了無與倫比的規(guī)模和系統(tǒng)效率。文章來源地址http://www.zghlxwxcb.cn/news/detail-420825.html
到了這里,關(guān)于AI:DeepSpeed Chat(一款幫用戶訓(xùn)練自己模型的工具且簡單/低成本/快 RLHF 訓(xùn)練類ChatGPT高質(zhì)量大模型)的簡介、安裝、使用方法之詳細(xì)攻略的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!