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

news2024/11/17 11:28:43

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/。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

功率电子开关的高边开关和低边开关high -side power switch

下图为使用NMOS,最简单的开关电路。(低侧驱动) CONTROL为控制信号,电平一般为3~12V。负载一端接电源正极,另一端接NMOS的D(漏极)。CONTROL电平为高时,Vgs>NMOS的Vgs导通阀值&…

数据库基础应用——概念模型

1、实体(Entity) 客观存在并可相互区别的事物称为实体。实体可以是人、物、对象、概念、事物本身、事物之间的联系。(例如一名员工、一个部门、一辆汽车等等。) 2、属性(Attributre) 实体所具有的每个特性称为属性。(例如:员工由员…

基于OpenCV的haar分类器实现人脸检测分析

基于OpenCV的haar分类器实现人脸检测分析 文章目录 基于OpenCV的haar分类器实现人脸检测分析一、基于OpenCV的haar分类器实现笑脸检测1、Haar分类器介绍2、haar分类器的静态使用(处理图片)3、haar分类器的动态使用(对摄像头视频进行处理&…

JAVA 17新特性

JAVA 17新特性 概述 JDK 16 刚发布半年(2021/03/16),JDK 17 又如期而至(2021/09/14),这个时间点特殊,蹭苹果发布会的热度?记得当年 JDK 15 的发布也是同天 Oracle 宣布&#xff0…

S32K3学习笔记_电源管理

S32K3学习笔记_电源管理 1、缩略词 PMC:Power Management Controller,电源管理控制器 FPM:Full Performance mode,全性能模式 LPM:Low Performance mode,低性能模式 LPCMP:低功耗比较器 S…

C语言单链表

本节目标: ①定义单链表结构体 ②初始化单链表 ③单链表增加结点(头插法、尾插法) ④删除指定结点 ⑤打印输出 目录 导入头文件 定义单链表结构体 初始化单链表 头插法 尾插法插入 删除指定结点 打印单链表 全部代码展示 导入头文件 …

NP完全性PART1:多项式时间与形式化语言体系

算法导论第三版,CH34笔记 NP完全性 Chapter Introduction 一般来说,我们认为可以在多项式时间内求解的问题是易处理的问题,在超多项式时间内解决的问题是不易处理的问题。 下面列出的几对问题,前者可以用多项式时间算法求解&…

MATLAB 点云法向量计算与可视化 (9)

MATLAB 点云法向量计算与可视化 (9) 一、实现效果二、算法介绍三、函数说明四、具体代码(注释详细)一、实现效果 红色线即代表该点位处的法向量计算结果 二、算法介绍 用于拟合局部平面的法线,以 M 乘3或 M 乘 N 乘3矩阵的形式返回。法向量由 k 值定义的邻域数局部计算。…

Packet Tracer - 配置 IP ACL 来缓解攻击

Packet Tracer - 配置 IP ACL 来缓解攻击 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 交换机端口 R1 G0/1 192.168.1.1 255.255.255.0 不适用 S1 F0/5 S0/0/0 (DCE) 10.1.1.1 255.255.255.252 不适用 不适用 R2 S0/0/0 10.1.1.2 255.255.255…

10款UML建模工具更新(2023.4)Software Ideas Modeler 、Rhapsody、Papyrus

最近一段时间更新的工具有: 工具最新版本:Software Ideas Modeler 13.99 更新时间:2023年4月17日 工具简介 轻量级建模工具,支持UML、BPMN、SysML。 平台:Windows 获得地址 https://www.softwareideas.net/en/do…

java学习之异常二

目录 一、异常处理机制 一、try-catch-finally 二、throws 二、try-catch 异常处理使用细节 三、try-catch-finally练习 第一题 第二题 第三题 第四题 一、异常处理机制 共有两种异常处理机制 一、try-catch-finally 处理机制图示 二、throws 关于第二点,如E…

Linux性能分析工具perf和火焰图使用方法

简介 perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu、进程id、运行栈等),利用这些数据来对程序性能进行分析。 perf可以统计或采样的event有…

JVM学习随笔02——虚拟机内存区组成与内存溢出异常

一、Java虚拟机内存区组成图 1、程序计数器: 每个线程独占一个计数器,用来指示该线程下一条要执行的指令的地址。这一部分不会导致内存异常。PS:如果一个线程进入的是一般的Java方法,计数器指示的是下一条指令地址;如果…

taro小程序中如何引入css_moudle?配置后不生效的解决方法

1.根据文档Taro配置 编译配置存放于项目根目录下的 config 目录中,包含三个文件: index.js 是通用配置dev.js 是项目预览时的配置prod.js 是项目打包时的配置 参考Taro官网,我们要做的是:找到项目根文件夹下的 config 文件&…

【Android车载系列】第12章 车载渲染-SurfaceFlinger单独绘制到界面

1 SurfaceFlinger渲染方案 车载的倒车影像同学们知道是怎么实现的吗?等待Android设备开机再打开倒车影像App?车子挂到R档倒车如果等待这个流程实在太久,是否还有其它办法可以让车子挂R档直接展示倒车影像呢?大家思考一下。 我们从…

opencv_c++学习(四)

图像在opencv中的存储方式 在上图中可以看出,在opencv中采用的是像素值来代表每一个像素三通道颜色的深浅。 Mat对象 Mat对象是在OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分&#xff0…

Graph—随机游走

Random Walk Approaches for Node Embeddings 一、随机游走基本概念 想象一个醉汉在图中随机的行走,其中走过的节点路径就是一个随机游走序列。 随机行走可以采取不同的策略,如行走的方向、每次行走的长度等。 二、图机器学习与NLP的关系 从图与NLP的…

《计算机网络—自顶向下方法》 第二章Wireshark实验:HTTP协议分析

HTTP 协议工作于客户端-服务端架构上。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。 WEB 服务器有:Apache服务器,IIS服务器(Internet Information Services)等。URL:即统一资源定位符(…

手写自己的Springboot-1-整合tomcat

文章目录 创建自己的Springboot创建项目注册、启动Spring容器启动tomcat 引用测试 创建自己的Springboot 首先明确本文章想要达到的目的,就是引入我们自己写的Springboot项目的依赖,无需配置,就可以达到处理普通请求的效果. 这里有一个非常简单的Springboot项目,项目里面就只…

将 Segment Anything 扩展到医学图像领域

文章目录 前言技术交流SAM 拆解分析从医学角度理解 SAM 的效用MedSAM实验总结 前言 SAM 是一种在自然图像分割方面取得成功的模型,但在医学图像分割方面表现不佳。MedSAM 首次尝试将 SAM 的成功扩展到医学图像,并成为用于分割各种医学图像的通用工具。为…