LLMs:ColossalChat(基于LLM和RLHF技術(shù)的類似ChatGPT的聊天機器人)/ColossalAI的簡介、安裝、使用方法之詳細攻略
導讀:ColossalChat?是第一個基于LLaMA預訓練模型開源完整RLHF pipline實現(xiàn),包括有監(jiān)督數(shù)據(jù)收集、有監(jiān)督微調(diào)、獎勵模型訓練和強化學習微調(diào)。只需要不到100億個參數(shù),就可以在大型語言模型的基礎上通過RLHF微調(diào)達到中英文雙語水平,達到與ChatGPT和GPT-3.5相當?shù)男Ч?/span>,并可以進行Demo測試??梢蚤_始用1.6GB的GPU內(nèi)存復制ChatGPT訓練過程,并在訓練過程中體驗7.73倍的加速。
開源的LLaMA模型沒有指令調(diào)優(yōu):Meta已經(jīng)開源了LLaMA模型,該模型提供了70億至650億的參數(shù)大小。在大多數(shù)基準測試中,130億參數(shù)的模型可以優(yōu)于1750億GPT-3模型。然而,由于它沒有指令調(diào)優(yōu)階段,因此實際生成的結(jié)果并不令人滿意。
Alpaca可以低成本微調(diào):斯坦福大學的Alpaca通過調(diào)用OpenAI的API,以自學的方式生成訓練數(shù)據(jù)。這個輕量級模型只有70億個參數(shù),可以以很小的成本進行微調(diào),以實現(xiàn)類似于GPT-3.5這樣的具有1750億個參數(shù)的大型語言模型的會話性能。
RLHF階段非常重要:然而,現(xiàn)有的開源解決方案只能被視為RLHF(從人類反饋中進行強化學習)第一階段的監(jiān)督微調(diào)模型,而后續(xù)的調(diào)整和微調(diào)階段則不執(zhí)行。此外,Alpaca的訓練數(shù)據(jù)集僅限于英語,這在一定程度上限制了模型的性能。ChatGPT和GPT-4令人印象深刻的效果是由于在訓練過程中引入了RLHF,這增加了生成的內(nèi)容與人類價值觀的一致性。
Colossal AI利用ZeRO(零冗余優(yōu)化器)來提高內(nèi)存使用效率:使更大的模型能夠以更低的成本被容納,而不會影響計算粒度和通信效率。自動組塊機制可以通過提高內(nèi)存使用效率、降低通信頻率和避免內(nèi)存碎片來進一步提高ZeRO的性能。異構(gòu)內(nèi)存空間管理器Gemini支持將優(yōu)化器狀態(tài)從GPU內(nèi)存卸載到CPU內(nèi)存或硬盤空間,以克服GPU內(nèi)存容量的限制,擴大可訓練模型的規(guī)模,降低大型AI模型應用的成本。
Colossal AI利用LoRA(低秩自適應)法實現(xiàn)對大型模型進行低成本微調(diào):LoRA方法假設大型語言模型過度參數(shù)化,并且微調(diào)期間的參數(shù)變化是低秩矩陣。因此,這個矩陣可以分解為兩個較小矩陣的乘積。在微調(diào)過程中,大模型的參數(shù)是固定的,只調(diào)整低秩矩陣的參數(shù),顯著減少了訓練所需的參數(shù)數(shù)量,降低了成本。
目錄
相關(guān)文章
AIGC:ColossalChat(基于LLM和RLHF技術(shù)的類似ChatGPT的聊天機器人)/ColossalAI的簡介、安裝、使用方法之詳細攻略
LLMs:ColossalChat相關(guān)的開源訓練數(shù)據(jù)集簡介(SFT指令微調(diào)數(shù)據(jù)集+獎勵模型排序數(shù)據(jù)集+RLHF數(shù)據(jù)集)、RLHF算法實現(xiàn)的三個階段(監(jiān)督指令微調(diào)→訓練獎勵模型→RLHF訓練模型→推理量化和服務)
LLM之Colossal-LLaMA-2:Colossal-LLaMA-2的簡介、安裝、使用方法之詳細攻略
LLM之Colossal-LLaMA-2:源碼解讀(init_tokenizer.py文件)實現(xiàn)基于源詞表的擴展(中文標記的新詞匯)進而實現(xiàn)持續(xù)預訓練、(init_model.py文件)實現(xiàn)過計算均值來擴展模型的嵌入層以適應新的詞匯表,然后保存擴展后的模型、(prepare_pretrain_dataset.py文件)將原始數(shù)據(jù)集進行處理和切片并保存為JSONL格式和 Arrow格式
ColossalChat的論文
《Colossal-AI: A Unified Deep Learning System For Large-Scale Parallel Training》翻譯與解讀
摘要與結(jié)論
ColossalChat的簡介
1、局限性
LLaMA-finetuned 模型的限制
數(shù)據(jù)集的限制
2、在線演示
3、Coati7B examples
Generation
Open QA
ColossalChat的安裝
第一步,安裝環(huán)境
第二步,安裝Transformers
ColossalChat的使用方法
LLMs:ColossalChat相關(guān)的開源訓練數(shù)據(jù)集簡介(SFT指令微調(diào)數(shù)據(jù)集+獎勵模型排序數(shù)據(jù)集+RLHF數(shù)據(jù)集)、RLHF算法實現(xiàn)的三個階段(監(jiān)督指令微調(diào)→訓練獎勵模型→RLHF訓練模型→推理量化和服務)
相關(guān)文章
AIGC:ColossalChat(基于LLM和RLHF技術(shù)的類似ChatGPT的聊天機器人)/ColossalAI的簡介、安裝、使用方法之詳細攻略
AIGC:ColossalChat(基于LLM和RLHF技術(shù)的類似ChatGPT的聊天機器人)/ColossalAI的簡介、安裝、使用方法之詳細攻略-CSDN博客
LLMs:ColossalChat相關(guān)的開源訓練數(shù)據(jù)集簡介(SFT指令微調(diào)數(shù)據(jù)集+獎勵模型排序數(shù)據(jù)集+RLHF數(shù)據(jù)集)、RLHF算法實現(xiàn)的三個階段(監(jiān)督指令微調(diào)→訓練獎勵模型→RLHF訓練模型→推理量化和服務)
LLMs:ColossalChat相關(guān)的開源訓練數(shù)據(jù)集簡介(SFT指令微調(diào)數(shù)據(jù)集+獎勵模型排序數(shù)據(jù)集+RLHF數(shù)據(jù)集)、RLHF算法實現(xiàn)的三個階段(監(jiān)督指令微調(diào)→訓練獎勵模型→RLHF訓練模型→???-CSDN博客
LLM之Colossal-LLaMA-2:Colossal-LLaMA-2的簡介、安裝、使用方法之詳細攻略
LLM之Colossal-LLaMA-2:Colossal-LLaMA-2的簡介、安裝、使用方法之詳細攻略-CSDN博客
LLM之Colossal-LLaMA-2:源碼解讀(init_tokenizer.py文件)實現(xiàn)基于源詞表的擴展(中文標記的新詞匯)進而實現(xiàn)持續(xù)預訓練、(init_model.py文件)實現(xiàn)過計算均值來擴展模型的嵌入層以適應新的詞匯表,然后保存擴展后的模型、(prepare_pretrain_dataset.py文件)將原始數(shù)據(jù)集進行處理和切片并保存為JSONL格式和 Arrow格式
LLM之Colossal-LLaMA-2:源碼解讀(init_tokenizer.py文件)實現(xiàn)基于源詞表的擴展、(init_model.py文件)實現(xiàn)過計算均值擴展模型、(prepare_pretr-CSDN博客
ColossalChat的論文
《Colossal-AI: A Unified Deep Learning System For Large-Scale Parallel Training》翻譯與解讀
地址 |
GitHub:GitHub - hpcaitech/ColossalAI: Making large AI models cheaper, faster and more accessible 論文:https://arxiv.org/abs/2110.14883 |
時間 |
2019-09-20 |
作者 |
摘要與結(jié)論
The success of Transformer models has pushed the deep learning model scale to billions of parameters. Due to the limited memory resource of a single GPU, However, the best practice for choosing the optimal parallel strategy is still lacking, since it requires domain expertise in both deep learning and parallel computing. The Colossal-AI system addressed the above challenge by introducing a unified interface to scale your sequential code of model training to distributed environments. It supports parallel training methods such as data, pipeline, tensor, and sequence parallelism, as well as heterogeneous training methods integrated with zero redundancy optimizer. Compared to the baseline system, Colossal-AI can achieve up to 2.76 times training speedup on large-scale models. |
Transformer模型的成功將深度學習模型規(guī)模推向了數(shù)十億個參數(shù)。然而,由于單個GPU的有限內(nèi)存資源,選擇最佳并行策略的最佳實踐仍然缺乏,因為這需要對深度學習和并行計算領域的專業(yè)知識。 Colossal-AI系統(tǒng)通過引入一個統(tǒng)一的接口來解決上述挑戰(zhàn),將您的順序模型訓練代碼擴展到分布式環(huán)境中。它支持數(shù)據(jù)、流水線、張量和序列并行等并行訓練方法,以及與ZerO零冗余優(yōu)化器集成的異構(gòu)訓練方法。與基線系統(tǒng)相比,Colossal-AI在大規(guī)模模型上可以實現(xiàn)高達2.76倍的訓練加速。 |
CONCLUSION In this work, we designed and implemented Colossal-AI which integrated a vast number of advanced acceleration techniques into one unified system for large-scale distributed training. Colossal-AI comes with flexible system design which supports easy combination of different parallelism methods and allows for easy extension by the developers and users. In addition, its acceleration techniques provide robust per-formance under different hardware conditions and deliver superior performance compared to the baseline systems. In our experiments, we have demonstrated the advantages of Colossal-AI over Megatron-LM and DeepSpeed. 2.5D and 3D tensor parallelism can save up to 62% and 74.2% memory usage compared to Megatron-LM 1D tensor parallelism when scaling the hidden size of 2-layer MLP to 16384. When scaling to 64 GPUs, 2D tensor parallelism can outperform Megatron-LM 1D tensor parallelism by 276%. For middle-size models with a large amount of activations such as BERT-Base, sequence parallelism can deliver 1.43 times higher train-ing throughput than 1D tensor parallelism. Our re-designed sharding and offloading module can by 2.33 times faster than DeepSpeed on GPT-2. |
結(jié)論 在這項工作中,我們設計并實現(xiàn)了Colossal-AI,將大量先進的加速技術(shù)集成到一個統(tǒng)一的大規(guī)模分布式訓練系統(tǒng)中。Colossal-AI具有靈活的系統(tǒng)設計,支持不同并行方法的簡單組合,并允許開發(fā)人員和用戶進行輕松擴展。此外,其加速技術(shù)在不同硬件條件下提供了穩(wěn)健的性能,并相對于基線系統(tǒng)提供了更優(yōu)越的性能。在我們的實驗中,我們已經(jīng)證明了Colossal-AI相對于Megatron-LM和DeepSpeed的優(yōu)勢。在將2層MLP的隱藏大小擴展到16384時,2.5D和3D張量并行ism相對于Megatron-LM的1D張量并行ism可以節(jié)省高達62%和74.2%的內(nèi)存使用量。當擴展到64個GPU時,2D張量并行ism可以比Megatron-LM的1D張量并行ism提高276%。對于具有大量激活的中等大小模型(如BERT-Base),序列并行ism可以提供1.43倍于1D張量并行ism的訓練吞吐量。我們重新設計的分片和卸載模塊在GPT-2上比DeepSpeed快2.33倍。 |
ColossalChat的簡介
? ? ? ?ColossalChat于2023年3月28日發(fā)布(目前GitHub已獲得29.2k個star,仍在持續(xù)更新),它是一個使用LLM和RLHF技術(shù)實現(xiàn)的聊天機器人項目,由Colossal-AI項目提供支持。Coati代表ColossalAI Talking Intelligence,是實現(xiàn)該項目的模塊的名稱,也是由ColossalChat項目開發(fā)的大型語言模型的名稱。
? ? ? ?ColossalChat是一個開源的解決方案,用于克隆ChatGPT并具有完整的RLHF流程,也是最接近ChatGPT原始技術(shù)路線的項目。
? ? ? ?它是一款基于人工智能技術(shù)的聊天機器人,它可以與用戶進行自然語言交互。Coati軟件包提供了一個統(tǒng)一的大型語言模型框架,實現(xiàn)了以下功能:
>>支持ColossalAI的全面大型模型訓練加速能力,無需了解復雜的分布式訓練算法;
>> 監(jiān)督式數(shù)據(jù)集收集;
>> 監(jiān)督指令微調(diào);?
>> 訓練獎勵模型;?
>> 帶人類反饋的強化學習;?
>> 量化推理;
>> 快速模型部署;?
>> 與Hugging Face生態(tài)系統(tǒng)完美集成,具有高度的模型定制性;
?由于Colossal-AI正在進行一些重大更新,因此該項目將得到積極維護,以與Colossal-AI項目保持一致。
[2023/03]?ColossalChat: An Open-Source Solution for Cloning ChatGPT With a Complete RLHF Pipeline
[2023/02]?Open Source Solution Replicates ChatGPT Training Process! Ready to go with only 1.6GB GPU Memory
GitHub官網(wǎng):ColossalAI/applications/Chat at main · hpcaitech/ColossalAI · GitHub
1、局限性
LLaMA-finetuned 模型的限制
Alpaca 和 ColossalChat 都基于 LLaMA,因此很難彌補預訓練階段中缺失的知識。
缺乏計數(shù)能力:不能計算列表中的項目數(shù)量。
缺乏邏輯推理和計算能力。
傾向于重復最后一句話(無法生成結(jié)束標記)。
多語言結(jié)果較差:LLaMA 主要是在英語數(shù)據(jù)集上訓練的(生成優(yōu)于問答)。
數(shù)據(jù)集的限制
缺乏摘要能力:在 fine-tune 數(shù)據(jù)集中沒有這樣的指令。
缺乏多輪對話:在 fine-tune 數(shù)據(jù)集中沒有這樣的指令。
缺乏自我認知能力:在 fine-tune 數(shù)據(jù)集中沒有這樣的指令。
缺乏安全性:
當輸入包含虛假事實時,模型會捏造錯誤的事實和解釋。
2、在線演示
ColossalChat
在此頁面上體驗Coati7B的性能。由于資源限制,我們將只在2023年3月29日至2023年4月5日期間提供此服務。但是,我們已經(jīng)在推理文件夾中提供了推理代碼。web也將很快開放源代碼。
警告:由于模型和數(shù)據(jù)集大小的限制,Coati只是一個嬰兒模型,Coati7B可能會輸出不正確的信息,缺乏多回合對話的能力。還有很大的改進空間。
3、Coati7B examples
Generation
E-mail
coding
regex
Tex
writing
Table
Open QA
Game
Travel
Physical
Chemical
Economy
ColossalChat的安裝
DeepSpeedChat的性能來自于其2023年4月12日的博客,ColossalChat的性能可以通過在具有8個A100-40G GPU的AWS p4d.24xlarge節(jié)點上運行以下命令進行復現(xiàn):
torchrun --standalone --nproc_per_node 8 benchmark_opt_lora_dummy.py --max_timesteps 1 --update_timesteps 1 --use_kernels --strategy colossalai_zero2 --experience_batch_size 64 --train_batch_size 32
第一步,安裝環(huán)境
conda create -n coati
conda activate coati
git clone https://github.com/hpcaitech/ColossalAI.git
cd ColossalAI/applications/Chat
pip install .
第二步,安裝Transformers
由于Hugging Face尚未正式支持LLaMA模型,因此我們分叉了一個Transformers分支,使其與我們的代碼兼容。文章來源:http://www.zghlxwxcb.cn/news/detail-489326.html
git clone https://github.com/hpcaitech/transformers
cd transformers
pip install .
ColossalChat的使用方法
LLMs:ColossalChat相關(guān)的開源訓練數(shù)據(jù)集簡介(SFT指令微調(diào)數(shù)據(jù)集+獎勵模型排序數(shù)據(jù)集+RLHF數(shù)據(jù)集)、RLHF算法實現(xiàn)的三個階段(監(jiān)督指令微調(diào)→訓練獎勵模型→RLHF訓練模型→推理量化和服務)
https://yunyaniu.blog.csdn.net/article/details/131137567文章來源地址http://www.zghlxwxcb.cn/news/detail-489326.html
到了這里,關(guān)于AIGC:ColossalChat(基于LLM和RLHF技術(shù)的類似ChatGPT的聊天機器人)的簡介、安裝、使用方法之詳細攻略的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!