零门槛复现ChatGPT:预训练模型数据集直接用,在线可体验

明敏 发自 凹非寺
量子位 | 公众号 QbitAI

这边ChatGPT、GPT-4等AI大模型和应用打得火热;

另一边“平替”开源复现方案也加紧更新迭代。

这不,“首个开源ChatGPT低成本复现流程”就来了波大更新!

现在,仅需不到百亿参数,利用RLHF简单微调,模型即可掌握中、英双语能力,达到与ChatGPT和GPT-3.5相当的效果。

中文对话效果如下:

331dc741702d45b0e7497e0eece815bc.png

这就是ColossalChat

由Colossal-AI推出。一个月前,Colossal-AI乘着ChatGPT热潮火速开源了低成本复现流程。

而新升级的ColossalChat,以Meta最新开源的LLaMA为基础预训练模型,能力更强、门槛还更低了:

  • Demo:可直接在线体验模型效果,无需注册或waitinglist

  • 训练代码:开源完整 RLHF 训练代码,已开源至含7B、13B两种模型

  • 数据集:开源104K中、英双语数据集

  • 推理部署:4bit量化推理70亿参数模型仅需4GB显存

  • 模型权重:仅需单台服务器少量算力即可快速复现

  • 更大规模模型、数据集、其他优化等将保持高速迭代添加

要知道,模型开源、数据集、训练应用成本、核心数据安全性等,是AI大模型浪潮下最被关注的一些问题。ColossalChat针对于此,一次性给出了应对方法。

由此,想要快速跟进ChatGPT这轮技术浪潮,门槛又低了一些。

开源地址:https://github.com/hpcaitech/ColossalAI

包含完整 RLHF 流程

具体来看,ColossalChat的能力包括知识问答、中英文对话、内容创作、编程等。

和ChatGPT一样,ColossalChat知道NBA和乔丹是谁:

13895a4af010d032a7fadbee1329da9e.png

会写邮件,格式非常规范:

152a644a39aa2b90b2dd65b5432c8a1e.png

编程能力也不错,能搞定算法:

777fb9e9e85d1ce6c07ec29c1d40b94d.png

据了解,为了能更逼近ChatGPT、GPT-4的惊艳效果,ColossalChat使用LLaMA作为预训练模型,并包含完整RLHF流程。

之所以这样做,主要是因为现有开源方案都可被视为只得到了人类反馈强化学习(RLHF)中第一步的监督微调模型,没有进行后续的对齐和微调工作。

c00a1be0b78eb10a28797aa5e2fce77e.png
RLHF的三个阶段

比如Meta 开源了LLaMA模型,其参数量从70亿到650亿不等,号称130 亿参数即可胜过1750亿的GPT-3模型在大多数基准测试的表现。

但是由于没有被指令微调(instruct tuning),因此实际生成效果不够理想。

斯坦福的Alpaca通过调用OpenAI API,以self-instruct方式生成训练数据,使得仅有70亿参数的轻量级模型以极低成本微调后,即可获得媲美GPT-3.5这样千亿参数的超大规模语言模型的对话效果。

而ChatGPT、GPT-4效果好的一大关键就是将RLHF引入训练流程,才能让生成内容更符合人类价值观。

因此,基于LLaMA模型,包含完整RLHF流程的类Chat模型复现方案 ColossalChat,可以称得上是目前最接近ChatGPT原始技术路线的实用开源项目。

总结来看,和Alpaca相比较ColossalChat具备4个方面的优势

第一、ColossalChat开源了第一个完整的RLHF pipeline,斯坦福Alpaca没有做RLHF,也就是没有做Stage2和3。

第二、ColossalChat采用了更多的指令数据,质量更好、范围更大,并使用强化学习做了alignment使回答更接近人类。

68dc8fe54f0284809080b39e7e4bfa9c.png

第三、ColossalChat训练流程集成了Colossal-AI的诸多系统优化,同等数据集和模型大小的训练速度可以比AIpaca快3倍左右能让科研人员和中小企业独立训练部署自己的会话系统

第四、ColossalChat采集了更多数据集:训练的英文一共 24M tokens,中文大约 30M tokens,总共约 54M tokens。其中ColossalChat自己收集的数据集英文 6M,中文 18M tokens。

d7ec78e72fed7eb5a87c000a27f816e4.png

训练数据集开源

数据集方面,ColossalChat开源了包含约10 万条问答的中、英双语数据集

该数据集收集并清洗了社交平台上人们的真实提问场景作为种子数据集,利用self-instruct技术扩充数据,花费约900美元进行标注。

对比其他self-instruct方法生成的数据集,该数据集的种子数据更加真实、丰富,生成的数据集涵盖的话题更多。

该数据可以同时用于微调和RLHF训练。通过高质量的数据,ColossalChat能进行更好地对话交互,同时支持中文。

5ea6b500c247a4cbcf7e8fad427e2ddd.png
ColossalChat数据集收集流程

RLHF算法复现

RLHF第一步(Stage1)是supervised-fintuning,即使用上文提到的数据集进行模型微调。

RLHF第二步(Stage2)训练了奖励模型,它通过对于同一个prompt的不同输出进行人工排序,得到对应分数,监督训练奖励模型。

RLHF第三步(Stage3)使用了强化学习算法,是训练流程中最复杂的一部分:

d2c7dff20cc25a1a435c94dd89a2aa95.jpeg
RLHF-Stage3算法流程图

在PPO部分,ColossalChat分为两个阶段进行:

首先是Make Experience部分,利用SFT、Actor、RM、Critic模型计算生成Experience存入buffer中;之后是参数更新部分,利用Experience计算策略损失和价值损失。

在PTX部分,ColossalChat计算Actor输出response和输入语料的回答部分的交叉熵损失函数,用来在PPO梯度中加入预训练梯度,以保持语言模型原有性能防止遗忘。最后将策略损失、价值损失和 PTX 损失加和进行反向传播和参数更新。

快速上手

ColossalChat开源了基于 LLaMA 模型,复现训练 ChatGPT 三个阶段的完整代码。

第一阶段,训练SFT模型:

# Training with a 4-GPU servers
colossalai run --nproc_per_node=4 train_sft.py \--pretrain "/path/to/LLaMa-7B/" \--model 'llama' \--strategy colossalai_zero2 \--log_interval 10 \--save_path  /path/to/Coati-7B \--dataset /path/to/data.json \--batch_size 4 \--accimulation_steps 8 \--lr 2e-5

第二阶段,训练奖励模型:

# Training with a 4-GPU servers
colossalai run --nproc_per_node=4 train_reward_model.py \--pretrain "/path/to/LLaMa-7B/" \--model 'llama' \--strategy colossalai_zero2 \--dataset /path/to/datasets

第三阶段,使用RL训练:

# Training with a 8-GPU servers
colossalai run --nproc_per_node=8 train_prompts.py prompts.csv \--strategy colossalai_zero2 \--pretrain "/path/to/Coati-7B" \--model 'llama' \--pretrain_dataset /path/to/dataset

在获得最终模型权重后,还可通过量化降低推理硬件成本,并启动在线推理服务,仅需单张约4GB显存的GPU即可完成70亿参数模型推理服务部署

python server.py /path/to/pretrained --quant 4bit --gptq_checkpoint /path/to/coati-7b-4bit-128g.pt --gptq_group_size 128

系统性能优化与开发加速

ColossalChat能够快速跟进ChatGPT完整RLHF流程复现,离不开AI大模型基础设施Colossal-AI及相关优化技术的底座支持,相同条件下训练速度相比Alpaca采用的FSDP(Fully Sharded Data Parallel) 可提升3倍以上

系统基础设施Colossal-AI

AI大模型开发系统Colossal-AI为该方案提供了基础支持,它可基于PyTorch高效快速部署AI大模型训练和推理,从而降低AI大模型应用的成本。

Colossal-AI由加州伯克利大学杰出教授James Demmel和新加坡国立大学校长青年教授尤洋领导开发。

自从它开源以来,Colossal-AI已经多次在GitHub热榜位列世界第一,获得GitHub Star约两万颗,并成功入选SC、AAAI、PPoPP、CVPR、ISC等国际AI与HPC顶级会议的官方教程。

减少内存冗余的ZeRO+Gemini

Colossal-AI支持使用无冗余优化器 (ZeRO) 提高内存使用效率,低成本容纳更大模型,同时不影响计算粒度和通信效率。

自动Chunk机制可以进一步提升ZeRO的性能,提高内存使用效率,减少通信次数并避免内存碎片。

异构内存空间管理器Gemini支持将优化器状态从GPU显存卸载到CPU内存或硬盘空间,以突破GPU显存容量限制,扩展可训练模型的规模,降低AI大模型应用成本。

使用LoRA低成本微调

Colossal-AI支持使用低秩矩阵微调(LoRA)方法,对AI大模型进行低成本微调。

LoRA方法认为大语言模型是过参数化的,而在微调时,参数改变量是一个低秩矩阵。

因此,可以将这个矩阵分解为两个更小的矩阵的乘积。

在微调过程中,大模型的参数被固定,只有低秩矩阵参数被调整,从而显著减小了训练所需的参数量,并降低成本。

低成本量化推理

660edeb670a97f65740520027b8754e2.png
GPTQ量化

为降低推理部署成本,Colossal-AI使用GPTQ 4bit量化推理。

在GPT/OPT/BLOOM类模型上,它比传统的RTN(rount-to-nearest) 量化技术能够获得更好的Perplexity效果。相比常见的FP16推理,它可将显存消耗降低75%,只损失极少量的吞吐速度与Perplexity性能。

以ColossalChat-7B为例,在使用4bit量化推理时,70亿参数模型仅需大约4GB显存即可完成短序列(生成长度为128)推理,在普通消费级显卡上即可完成(例如RTX 3060 Laptop),仅需一行代码即可使用。

if args.quant == '4bit':model = load_quant(args.pretrained, args.gptq_checkpoint, 4, args.gptq_group_size)

如果采用高效的异步卸载技术(offload),还可以进一步降低显存要求,使用更低成本的硬件推理更大的模型。

开放协作

不过目前由于算力和数据集有限,在部分场景下的实际性能还有提升空间。

比如还是会被弱智吧问题难住:

4a8a57d4763471a1f0e6e784fcb42ab9.png

而在这轮技术浪潮中,除了科技巨头们,PyTorch、Hugging Face和OpenAI等开源社区与初创企业也起到了关键作用。

借鉴这些成功经验,Colossal-AI也欢迎各方参与共建,并给出了多种参与方式:

  • 在GitHub发布issue或提交pull request (PR)

  • 加入Colossal-AI用户微信或Slack群交流

  • 发送正式合作提案到邮箱youy@comp.nus.edu.sg

如果你对这项工作感兴趣,可以赶快和他们取得联系~

开源地址:
https://github.com/hpcaitech/ColossalAI

参考链接:

https://medium.com/@yangyou_berkeley/colossalchat-an-open-source-solution-for-cloning-chatgpt-with-a-complete-rlhf-pipeline-5edf08fb538b

—  —

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

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

相关文章

结合具体场景举例说明chatgpt预训练模型中Tokenization的原理

假设我们有一个场景,Alice想向Chatbot询问一部电影的推荐。她发送了一条消息:“你好,能给我推荐一部好看的电影吗?” 在这个场景中,Chatbot使用了ChatGPT预训练模型。首先,Chatbot需要对Alice的消息进行Tok…

举例说明chatgpt中生成式预训练模式中的预训练过程以及生成结果过程

生成式预训练模式(GPT)在自然语言处理任务中具有重要地位,它通过大量文本数据进行预训练,学习到一个通用的语言模型。然后通过微调,让模型适应特定任务。在这个过程中,GPT模型首先进行预训练,接…

魅魔php影视系统,魅魔全新且强大的视频电影程序(MacCMS PHP) 6.1 20120511

魅魔PHP影视系统,完全开源、强劲功能、卓越性能、安全健壮。超级易用、模板众多、插件齐全、资源丰富。构架稳健,实现平滑升级。 魅魔PHP影视系统 6.1 20120511 更新记录: 1,功能的累计性更新。 魅魔MacCMS视频电影程序是一套采用…

魅魔php影视系统,魅魔Maccms电影程序PHP

魅魔Maccms视频电影程序是一套采用ASPMSSQL/ACCESS (PHPMYSQL)环境下运行的完善而强大的视频电影系统。 经过近多年的开发经验和技术积累,魅魔Maccms视频电影程序已逐步走向成熟,在易用性和功能上已经成为同行中的佼佼者。 程序体积小->优化程序代码&…

寥寥几行代码,却改变了世界!

有那么一些代码片段,虽然只有寥寥几行,却能够给全世界带来巨大的影响。 链接:https://betterprogramming.pub/tiny-snippets-of-code-that-changed-the-world-fda104afc0d0 声明:本文为 CSDN 翻译,未经允许禁止转载。 …

chatgpt赋能python:Python绘制函数曲线:创造出令人惊叹的图形

Python绘制函数曲线:创造出令人惊叹的图形 随着越来越多的人开始关注数据可视化,Python成为了一种被广泛使用的工具,用于创建各种图形,包括函数曲线。Python图形库的灵活性和适用性使得它成为数据科学和工程领域中最受欢迎的编程…

chatgpt赋能python:Python手写体:Python程序员的最爱

Python手写体:Python程序员的最爱 介绍 Python手写体是指通过艺术化的方式将Python编程语言的代码转化成手写体风格的艺术作品。Python手写体的发展源于Python编程语言逐渐成为全球最受欢迎的编程语言之一。Python程序员喜欢用它来构建Web应用程序、数据分析、机器…

最新免费版 Office 全家桶Copilot,Gamma+MindShow 两大ChatGPT AI创意工具GPT-4神器助力高效智能制作 PPT,一键生成,与AI智能对话修改PPT(免安装)

目录 前言ChatGPT MindShow1. 使用ChatGPT工具生成PPT内容2. 使用MindShow工具一键智能制作PPTMindShow简介使用网页版制作pdf转ppt GAMMA AI神器GAMMA.app介绍注册 decks操作Guided 指导Text to deck 文本到PPTpdf转ppt协同操作其它 参考资料其它资料下载 前言 2023年3月&am…

【Twitter 舆论分析】Twitter 实时推文爬虫

0x00 前言 继续探索Twitter API的使用,这次获取一下Twitter的实时推文。 0x01 具体步骤 1、sample-steam 样本流 这是Twitter提供的代码,比较简单,只需要更改一下"bearer_token"即可使用,相对获得的数据单一&#x…

Android 实现用户收藏新闻以及查看新闻(简易新闻 六)

Android 实现用户收藏新闻以及查看新闻(简易新闻 六) 效果图: 因为录制的gif过长无法上传,所以这里分为两段,一段是用户未登录状态下收藏新闻需登录,用户登录后可以收藏: 第二段用户未登录查看…

关于世界杯的一篇文章-ChatGPT

世界杯是国际足球的最高荣誉,每四年举办一届,是世界上最受欢迎的体育赛事之一。自1930年首届世界杯在乌拉圭举办以来,已经举办了20届。 由国际足联(FIFA)主办,每届比赛都会在举办国举行,由32支…

2021最近的新闻大事10条简短 今天的新闻大事10条汇总

每天精选2021最近的新闻大事10-12条,365资讯简报 汇总近期、今天的新闻大事。每一条热点新闻大事件都比较简短,可以用作新闻大事件摘抄素材! 【365资讯简报】每天一分钟,知晓天下事!2021年1月12日 星期二 农历十一月廿…

收藏|最全的LIMS实验室信息管理系统介绍

实验室信息管理系统(LIMS),就是指通过计算机网络技术对实验的各种信息进行管理的计算机软、硬件系统。也就是将计算机网络技术与现代的管理思想有机结合,利用数据处理技术、海量数据存储技术、宽带传输网络技术、自动化仪器分析技术,来对实验…

使用大型语言模(LLM)构建系统(四):链式提示

今天我学习了DeepLearning.AI的 Building Systems with LLM 的在线课程,我想和大家一起分享一下该门课程的一些主要内容。 下面是我们访问大型语言模(LLM)的主要代码: import openai#您的openai的api key openai.api_key YOUR-OPENAI-API-KEY def get_…

AIGC - 生产力新工具 Bito AI

文章目录 Bito AI 是什么Bito AI 能干啥官网免费的吗?如何使用 Bito方式一:方式二:在这里插入图片描述方式三 Bito AI 是什么 Bito AI是继Github Copilot、Cursor、CodeWhisperer等AI智能编程产品之后发了一大AI编程工具 。 Bito是一款建立…

ChatGPT背后的技术

ChatGPT背后的技术InstructGPT,论文标题为 Training language models to follow instructions with human feedback。 语言模型(Language model)的原理是给一段文本,让它去预测后面下面的词是什么。在预训练中它的训练数据是没有标签的,是自…

揭密ChatGPT背后团队鲜为人知的小秘密

ChatGPT引领的人工智能技术浪潮还在持续火爆,可是做出这款产品的OpenAI公司,熬得住多年的冷板凳,最终一飞冲天,他们是怎么做到的呢? 因此,我对这家企业的组织建设产生了浓厚的兴趣。我找啊找,最…

一点就分享系列(实践篇6——上篇)【迟到补发_详解yolov8】Yolo-high_level系列融入YOLOv8 旨在研究和兼容使用【3月份开始持续补更】

一点就分享系列(实践篇5-补更篇)[迟到补发]—Yolo系列算法开源项目融入V8旨在研究和兼容使用[持续更新] 题外话 [最近一直在研究开放多模态泛化模型的应用事情,所以这部分内容会更新慢一些,文章和GITGUB更新并不同步,g…

基于OpenAI的gpt-3.5模型API实现个人助手服务

引言 网上有不少OpenAI的API资料,实测下来,可能是环境因素踩了不少坑,这里分享一下我实践成功的技术路线。出于篇幅考虑,本文不会对开发前的部分工作,例如openai账号注册,外网访问权限获取,java…

人人都可实测体验的ChatGPT来了

来源:量子位 所有人都能上手微软Bing了! 今天,微软突然官宣全面开放BingChat: 无需任何等待。只需注册一个账户,首页即可体验。 更关键的是,还有一大堆堪称“家底”的新功能来袭! 支持100种语言…