开箱即用,ChatGPT 复现方案开源

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

每天 14:00 更新文章,每天掉亿点点头发...

源码精品专栏

 
  • 原创 | Java 2021 超神之路,很肝~

  • 中文详细注释的开源项目

  • RPC 框架 Dubbo 源码解析

  • 网络应用框架 Netty 源码解析

  • 消息中间件 RocketMQ 源码解析

  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析

  • 作业调度中间件 Elastic-Job 源码解析

  • 分布式事务中间件 TCC-Transaction 源码解析

  • Eureka 和 Hystrix 源码解析

  • Java 并发源码

来源:GitHubDaily

  • 平价模型,强大能力

  • 完整 ChatGPT 克隆方案

  • 训练数据集开源

  • RLHF算法复现

  • 快速上手

  • 系统性能优化与开发加速

  • 系统基础设施 Colossal-AI

  • 减少内存冗余的 ZeRO + Gemini

  • 使用 LoRA 低成本微调

  • 低成本量化推理

  • 开放协作

6edb03817096762ef57c5d03dd7aecc4.jpeg


在过去的短短几个月,以 ChatGPT、GPT4 为代表的 AI 应用和大模型火爆全球,被视为开启了新的科技工业革命和 AGI (通用人工智能)的新起点。

不仅科技巨头间你追我赶,争相推出新品,许多学术界、工业界的 AI 大佬也纷纷投入投身相关创业浪潮。

生成式 AI 正以“天”为单位,快速迭代,持续狂飙!

然而,OpenAI 并未将其开源,它们背后的技术细节有哪些?如何快速跟进、追赶并参与到此轮技术浪潮中?如何降低 AI 大模型构建和应用的高昂成本?如何保护核心数据与知识产权不会因使用第三方大模型 API 外泄?

作为当下最受欢迎的开源 AI 大模型解决方案,GitHub 知名开源项目 Colossal-AI 率先建立了包含监督数据集收集->监督微调->奖励模型训练->强化学习微调的完整 RLHF 流程。

以 LLaMA 为基础预训练模型,推出 ColossalChat,是目前最接近 ChatGPT 原始技术方案的实用开源项目 !

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

包含以下内容

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

  2. 训练代码:开源完整 RLHF 训练代码,已开源至含 7B 和 13B 两种模型;

  3. 数据集:开源 104K 中、英双语数据集;

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

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

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

平价模型,强大能力

ColossalChat 仅需不到百亿参数,在大语言模型的基础上进行 RLHF 微调,即可掌握中、英双语能力,达到与 ChatGPT 和 GPT-3.5 类似的效果。

例如常识问答:

1ceca03bc324d32e228e71fd60cc1490.png

中文应答:

ce90c9abede2437187bcad740630be98.png

写一封邮件:

c886b252f75e7b1ea89e882cd5ceff33.png

写个算法:

fd1c2482d962146ba08c4ef576a195a7.png

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

完整 ChatGPT 克隆方案

尽管 ChatGPT 和 GPT-4 等 GPT 系列模型非常强大,但是它们不太可能被完全开源。幸运的是,开源社区一直在不断努力。

例如 Meta 开源了 LLaMA 模型,该模型的参数量从 70 亿到 650 亿不等,130 亿参数即可胜过 1750 亿的 GPT-3 模型在大多数基准测试的表现。但是由于没有被指令微调(instruct tuning),因此实际生成效果不够理想。

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

但是现有开源方案都可以被视为只得到了人类反馈强化学习(RLHF)中第一步的监督微调模型 ,没有进行后续的对齐和微调工作。同时 Alpaca 的训练数据集过小,语料只有英文,也在一定程度上限制了模型的性能。

ChatGPT 和 GPT-4 的惊艳效果,还在于将 RLHF 引入训练过程,使得生成内容更加符合人类价值观。

41b32a9207d878ff5ddc89bf68efbb1b.pngRLHF的三个阶段

基于 LLaMA 模型,Colossal-AI 首个开源包含完整 RLHF 流程的类Chat模型复现方案 ColossalChat,是目前最接近 ChatGPT 原始技术路线 的实用开源项目!

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

训练数据集开源

ColossalChat 开源了包含约 10 万条问答的中、英双语数据集。该数据集收集并清洗了社交平台上人们的真实提问场景作为种子数据集,利用 self-instruct 技术扩充数据,花费约 900 美元进行标注。

对比其他 self-instruct 方法生成的数据集,该数据集的种子数据更加真实、丰富,生成的数据集涵盖的话题更多。该数据可以同时用于微调和 RLHF 训练。通过高质量的数据,ColossalChat 能进行更好地对话交互,同时支持中文。

ed5cc17ea6ee5ace3b2ca63bd4395a73.pngColossalChat 数据集收集流程

RLHF算法复现

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

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

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

e7f4a779611be07e75d43705b470ec6d.jpegRLHF-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) 可提升两倍以上

系统基础设施 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 方法认为大语言模型是过参数化的,而在微调时,参数改变量是一个低秩矩阵。

因此,可以将这个矩阵分解为两个更小的矩阵的乘积。在微调过程中,大模型的参数被固定,只有低秩矩阵参数被调整,从而显著减小了训练所需的参数量,并降低成本。

低成本量化推理

f85157634c4410442007e9b06f66343c.pngGPTQ量化

为降低推理部署成本,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),还可以进一步降低显存要求,使用更低成本的硬件推理更大的模型。

开放协作

尽管已经进一步引入RLHF,但由于算力和数据集有限,在部分场景下的实际性能仍有提升空间。

2d7122823fa484563918036c21f0a009.png

幸运的是,不同以往 AI 大模型与前沿技术仅由少数科技巨头垄断,PyTorch、Hugging Face 和 OpenAI 等开源社区与初创企业在本轮浪潮中也起到了关键作用。

借鉴开源社区的成功经验,Colossal-AI 欢迎各方参与共建,拥抱大模型时代!

可通过以下方式联系或参与:

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

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

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

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



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

895aeabaca37b8dda366a2a6b7e2ca04.png

已在知识星球更新源码解析如下:

c142dda397f56180a02d82df8920bdaf.jpeg

13fb3eb6610b864f7c2ef96451a4ad2f.jpeg

272aa66e01d243c0a76f8205adac0a70.jpeg

15b1f2214e3cdc709022fddd38d2af16.jpeg

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)

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

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

相关文章

【ChatGPT】ColossalChat:目前最接近 ChatGPT 原始技术方案的实用开源项目——以 LLaMA 为基础预训练模型,推出 ColossalChat

ColossalChat:Making large AI models cheaper, faster and more accessible www.colossalai.org GitHub - hpcaitech/ColossalAI: Making large AI models cheaper, faster and more accessible 目录 Col

【hadoop】完全分布式集群部署

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、准备好三台虚拟机1.创建虚拟机2.配置网卡3.配置JDK和HADOOP4.修改主机名 二、修改ip、映射1.修改ip2.修改映射 三、设置免密登录四、关闭防火墙五、配置had…

体验本地部署AI绘画程序

目录 前言 一、AI绘画是什么? 二、Stable Diffusion简介 二、部署步骤 1.克隆代码 2.部署环境 3. 安装 4 一些错误提示的排除 总结 前言 随着人工智能的不断发展,尤其是chatGPT的成熟,AI绘画也获得了热捧,甚至AI画的太空歌…

chatgpt赋能python:Python单机游戏:让你爱不释手的趣味游戏

Python单机游戏:让你爱不释手的趣味游戏 在当今数码化的世界中,单机游戏越来越受欢迎。作为一名有10年Python编程经验的工程师,我想向大家介绍Python单机游戏,这是一种让你爱不释手的趣味游戏。 什么是Python单机游戏&#xff1…

生成式语言大模型压缩技术思考——以ChatGPT为例

ChatGPT引领了生成式语言大模型的应用与技术热潮,首先简单回顾ChatGPT应用范式:将其应用于指定的下游任务时(如知识问答、翻译、编码),ChatGPT需要经历三个阶段的训练(增强人类语境的猜想)&…

我,一名记者,面对ChatGPT慌得一比

出品|网易科技《智见焦点》 作者|赵芙瑶 编辑|丁广胜 人工智能诞生初期,由于技术的不成熟经常被戏谑为“人工智障”,当AI刚刚涉及内容创作领域时,人们也总有“机器缺乏情感”、“语言过于生硬”的刻板印象。…

我(程序大学生)与AI

我与AI的接触历程及感想 首次接触AI 2022年下半年,我开始自学板绘,没过多久,AI绘画横空出世,引起大量关注。在自学板绘的过程中,我逐渐了解到,学习绘画是一件以年为单位的事,有太多知识需要学…

大学生对AI的看法调查

大学生对AI的看法调查 (❗主要是对2022届大学生的小范围不全面调查❗) AI时代到来,大学生如何看待AI,如何看待AI应用领域大幅扩展后的未来? 对此我非常好奇,于是我自发开展了一次主要围绕本院&#xff08…

谈谈我对ai发展的看法

最近难得有时间,通过白话,聊聊我对AI的看法,仅代表个人观点 首先表明我的观点:人类当前的人工智能成果,仍然停留在一知半解程度。技术的发展是需要长期的积累和进步,目前AI的发展仍处于入门阶段 人类的发展…

GPT-4震撼发布,谁能革了ChatGPT的命?

今晨,OpenAI 发布了多模态预训练大模 GPT-4,OpenAI 老板 Sam Altman 直接开门见山地介绍说:“这是我们迄今为止功能最强大的模型!” GTP-4 是目前为止世界第一款高体验、强性能的先进 AI 系统。根据 OpenAI 官方的介绍&#xff0c…

【技术分享】斐讯N1盒子打造智能家居平台

智能家居的概念越来越普及,作为年轻人,尤其是对电子技术爱好者、从业者来说,更加对智能家居控制感兴趣。 斐讯就不用多说了,5-6年前可谓风光无限,无数人“入坑”,我也是其中入局者中的一员,目前…

AIGC接下来的研究思路 生成式AI投资研究框架

AIGC接下来的研究思路 | AIGC 原创 科技周竖人 科技周竖人 2023-04-26 23:22 发表于上海 文 | 科技周竖人 欢迎关注同名公众号获取更详细内容 写在前面:AIGC全称生成式AI(AI Generated Content),与传统AI最大的区别体现在其强大…

搜索趋势:微软必应新版集成AI和实时搜索

微软必应的新版已经集成了AI和实时搜索了,而且已经加入基于ChatGPT聊天的搜索功能,新必应上线48小时申请数破百万人申请加入了。大家可以先看看,下文有访问地址。 微软的新版搜索工具必应推出近一周,陆续有用户通过内测申请。与Ch…

年底量产交付 图森未来的生死一搏!

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 2023年3月28日,全球自动驾驶科技公司图森未来(Nasdaq: TSP)正式发布基于英伟达DRIVE Orin SoC芯片设计开发的域控制器产品(TDC - TuSimple Domain Controller)。 来…

云从科技从容大模型:大模型和AI平台什么关系?为什么造行业大模型?

原创:亲爱的数据 2023年5月18日,坐标广州南沙,来自云从科技的“云从从容大模型”正式亮相。 自此,云从科技从CV四小龙“进阶”成为一家AI大模型公司,同时,别忘记云从还有一个身份常被人提起:首家…

基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发1-通用框架

基于Avalonia 11.0.0ReactiveUI 的跨平台项目开发1-通用框架 Avalonia简介: Avalonia是.NET的一个跨平台UI框架,提供了一个灵活的样式系统,支持广泛的操作系统,如Windows、Linux、macOS,并对Android、iOS和WebAssemb…

一文讲清RabbitMQ、Apache Kafka、ActiveMQ

本文分享了关于Kafka、RabbitMQ和ActiveMQ三个流行的异步通信消息队列,以及三者的区别。 微信搜索关注《Java学研大本营》 如果你正在准备Java开发面试,除了Spring Boot和Microservices,你还应该准备关于 Messaging brokers(消息代理)、Kafk…

小米大数据运维管理体系的建设与实践

作者 | 刘志杰 责编 | 王子彧 出品 | 公众号「BigData 之路」 前段时间,很荣幸能参加云栖大会,并和大家分享了《小米大数据运维管理体系的建设和实践》,给议题分为两个部分,第一部分是聊聊大数据运维数字化转型相关的内容&a…

淘宝网上线 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 5 月 10 日,在 1975 年的今天,索尼推出了 Betamax 盒式磁带录音机。Betamax 在与更便宜的 JVC VHS 设备竞争中失利,最终被淘…

LLM 赋能的 BizDevOps 工具链:扩大端到端触点,内建流程与规范

在本系列的前两篇文章《LLM 赋能的研发效能》、《LLM 赋能的软件架构》里,介绍了我们在 LLM 结合 BizDevOps、软件架构的一系列试验。围绕于这两大类探索,我们构建了两个开源 LLM 工具:AI 辅助编程工具 AutoDev(IDEA 插件 &#x…