AIGC:ColossalChat(基于LLM和RLHF技术的类似ChatGPT的聊天机器人)的简介、安装、使用方法之详细攻略

AIGC:ColossalChat(基于LLM和RLHF技术的类似ChatGPT的聊天机器人)的简介、安装、使用方法之详细攻略

目录

ColossalChat的简介

1、局限性

LLaMA-finetuned 模型的限制

数据集的限制

2、在线演示

3、Coati7B examples

Generation

Open QA

ColossalChat的安装

第一步,安装环境

第二步,安装Transformers

ColossalChat的使用方法

1、基础用法

监督式数据集收集

RLHF训练阶段1 - 监督指令微调

RLHF训练阶段2 - 训练奖励模型

RLHF训练阶段3 - 使用人类反馈进行强化学习训练模型

推理量化和服务 - 训练后


ColossalChat的简介

       ColossalChat于2023年3月28日发布(目前GitHub已获得29.2k个star,仍在持续更新),它是一个使用LLM和RLHF技术实现的聊天机器人项目,由Colossal-AI项目提供支持。Coati代表ColossalAI Talking Intelligence,是实现该项目的模块的名称,也是由ColossalChat项目开发的大型语言模型的名称。
       ColossalChat是一款基于人工智能技术的聊天机器人,它可以与用户进行自然语言交互。Coati软件包提供了一个统一的大型语言模型框架,实现了以下功能:
>>支持ColossalAI的全面大型模型训练加速能力,无需了解复杂的分布式训练算法;
>> 监督式数据集收集;
>> 监督指令微调; 
>> 训练奖励模型; 
>> 带人类反馈的强化学习; 
>> 量化推理;
>> 快速模型部署; 
>> 与Hugging Face生态系统完美集成,具有高度的模型定制性;

 由于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官网ColossalAI/applications/Chat at main · hpcaitech/ColossalAI · GitHub

1、局限性

LLaMA-finetuned 模型的限制

Alpaca 和 ColossalChat 都基于 LLaMA,因此很难弥补预训练阶段中缺失的知识。
缺乏计数能力:不能计算列表中的项目数量。
缺乏逻辑推理和计算能力。
倾向于重复最后一句话(无法生成结束标记)。
多语言结果较差:LLaMA 主要是在英语数据集上训练的(生成优于问答)。

数据集的限制

缺乏摘要能力:在 fine-tune 数据集中没有这样的指令。
缺乏多轮对话:在 fine-tune 数据集中没有这样的指令。
缺乏自我认知能力:在 fine-tune 数据集中没有这样的指令。
缺乏安全性:
当输入包含虚假事实时,模型会捏造错误的事实和解释。

2、在线演示

ColossalChat

在此页面上体验Coati7B的性能。由于资源限制,我们将只在2023年3月29日至2023年4月5日期间提供此服务。但是,我们已经在推理文件夹中提供了推理代码。web也将很快开放源代码。
警告:由于模型和数据集大小的限制,Coati只是一个婴儿模型,Coati7B可能会输出不正确的信息,缺乏多回合对话的能力。还有很大的改进空间。

3、Coati7B examples

Generation

E-mail
coding
regex
Tex
writing
Table

Open QA

Game
Travel
Physical
Chemical
Economy

ColossalChat的安装

第一步,安装环境

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分支,使其与我们的代码兼容。

git clone https://github.com/hpcaitech/transformers
cd transformers
pip install .

ColossalChat的使用方法

1、基础用法

监督式数据集收集

我们收集了10.4万条中英文双语数据集,并且您可以在这个InstructionWild存储库中找到这些数据集。以下是我们如何收集数据的过程:

RLHF训练阶段1 - 监督指令微调

阶段1是监督指令微调阶段,使用前面提到的数据集对模型进行微调。您可以运行examples/train_sft.sh来开始监督指令微调。

RLHF训练阶段2 - 训练奖励模型

阶段2训练奖励模型,通过手动对相同提示的不同输出进行排名,获取相应的分数,并监督奖励模型的训练。您可以运行examples/train_rm.sh来开始奖励模型的训练。

RLHF训练阶段3 - 使用人类反馈进行强化学习训练模型

阶段3使用强化学习算法,这是训练过程中最复杂的部分:您可以运行examples/train_prompts.sh来开始使用人类反馈进行PPO训练。有关更多详细信息,请参见examples/。

推理量化和服务 - 训练后

我们提供在线推理服务器和基准测试。我们的目标是在单个GPU上运行推理,因此使用大型模型时量化至关重要。
我们支持8位量化(RTN)、4位量化(GPTQ)和FP16推理。您可以使用在线推理服务器脚本来帮助部署自己的服务。
有关更多详细信息,请参见inference/。

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/130537064