训练个人专属ChatGPT!港科大开源LMFlow:3090单卡5小时

本文来源  机器之心编辑部

拥有自己的 AI 大模型!开源项目 LMFlow 支持上千种模型,提供全流程高效训练方案。

2022 年 11 月 30 日,OpenAI 推出 ChatGPT,令人没想到的是,这个对话模型在 AI 圈掀起一股又一股讨论狂潮。英伟达 CEO 黄仁勋将其比喻为人工智能领域的 iPhone 时刻;比尔・盖茨盛赞 ChatGPT 在人工智能历史上的意义不亚于 PC 或互联网的诞生。

尽管 ChatGPT 在各个方面表现惊人,但其高昂的训练成本以及海量的训练数据等,都给想要进入该领域的人设下层层关卡。就拿算力来说,ChatGPT 经由微软专门建设的 AI 计算系统训练,总算力消耗约为 3640 PF-days。而在推理阶段,以今年 1 月份独立访客平均数 1300 万计算,ChatGPT 对应的芯片需求为 3 万多块英伟达 A100 GPU,初始投入成本约为 8 亿美元,每天光是花掉的电费就要 5 万美元。就连科技巨头微软在帮 OpenAI 打造 ChatGPT 时都因为算力不足而被迫暂停了一些其他项目。

科技大厂尚且如此,对于普通人来说更是难上加难。

因此在 ChatGPT 问世的这段时间里,许多人开始对科研的方向和未来感到迷茫:如何能够参与通用人工智能研究,在这个新的时代找到自己的优势?很多人都希望有能力训练一个只属于自己的 AI 大模型,但尽管国内外已有许多类 GPT 产品,对于普通的学者、研究者和程序员来说,这样的产品仍不足以适应每一个人的需求。

一方面,从头预训练的成本是我们普通人和小规模公司所无法承受的。另一方面,基于 API 的黑盒封装不是完美的解决方案。虽然我们可以很容易地基于 API 开发自己的应用,但使用效果和自定义程度往往不尽人意。因此,从头预训练和基于 API 开发都不是最佳方式。

接下来我们为大家介绍的开源项目 LMFlow,不需要从头预训练,只需要以 finetune 作为切入点即可。

 a969cb9a392718e9638a601e5305cffa.png

项目地址:https://github.com/OptimalScale/LMFlow

项目介绍

该项目由香港科技大学统计和机器学习实验室团队发起,致力于建立一个全开放的大模型研究平台,支持有限机器资源下的各类实验,并且在平台上提升现有的数据利用方式和优化算法效率,让平台发展成一个比之前方法更高效的大模型训练系统。

此外,该项目的最终目的是帮助每个人都可以用尽量少的资源来训练一个专有领域的、个性化的大模型,以此来推进大模型的研究和应用落地。

在 LMFlow 的加持下,即便是有限的计算资源,也能让使用者针对专有领域支持个性化训练。基于 70 亿参数的 LLaMA,只需 1 张 3090、耗时 5 个小时,就可以训练一个专属于自己的个性化 GPT,并完成网页端部署。开源库作者们已经利用这个框架单机训练 330 亿参数的 LLaMA 中文版,并开源了模型权重用于学术研究。训练得到的模型权重可以通过该网页端即刻体验问答服务 (lmflow.com)。

lmflow.com 地址:http://lmflow.com/

使用 LMFlow,你也有能力训练一个只属于自己的模型!每个人可以根据自己的资源合理选择训练的模型,用于问答、陪伴、写作、翻译、专家领域咨询等各种任务。模型和数据量越大,训练时间越长,效果越佳。目前该研究也在训练更大参数量(650 亿)和更大数据量的中文版模型,效果还会持续提升。

其实,很早之前 LMFlow 的作者们就已认识到 finetune 的重要性。InstructGPT [1] 中就涵盖了 supervised fine-tuning 和 alignment(比如 RLHF)这两种 finetune 技术。然而,目前的开源代码库要么聚焦于某个模型(比如 LLaMA [2]),要么聚焦于某种特定的技术(比如 instruction tuning)。还没有一个库能够支持在海量模型上快速应用多种 finetune 技术。

现在,LMFlow 迈出了这个方向的第一步。通常,ChatGPT 的训练包括至少以下几个步骤:pretrain → supervised tuning → instruction tuning → alignment。LMFlow 库利用现有的开源大模型,支持这套流程的所有环节和灵活组合。这意味着 LMFlow 库为我们建立了一条通向完整训练链的桥梁。

220bb273ebf998881d7753938f3bc814.png

接下来我们来了解一下实际使用 LMFlow 的体验。

使用体验

据作者介绍,LMFlow 拥有四大特性:可扩展、轻量级、定制化和完全开源。基于此,用户可以很快地训练自己的模型并继续进行二次迭代。这些模型不仅限于最近流行的 LLaMA,也包括 GPT-2、Galactica 等模型。

a66863bbb82bdb626dc828e1374913d3.png

前面我们已经提到:基于该开源库,用户只需使用单卡 3090,就能对 LLaMA-7b 模型进行微调,用时 5 个小时训练得到一个能够流畅对话的问答模型。进一步,如果使用更多资源对更大的 LLaMA-33b 模型进行微调,即可大大提升回答的质量!

0c98f4ab575a98ae69a09d166bafce67.png

不仅如此,在特定的专家领域(以医疗为例),只需微调 6 个 A100 * 天,就能够获得和 ChatGPT 相当甚至更好的效果。值得注意的是,ChatGPT 则具有 1750 亿的参数量,而这里性能相当的最小模型规模只有不到二十分之一,大大节约计算资源。

c151afa7bea9456c664f2e533fd3f06c.png

接下来是真正的上手实验。使用 conda 安装必要的依赖后,即可上手体验。

git clone https://github.com/OptimalScale/LMFlow.git
cd LMFlow
conda create -n lmflow python=3.9 -y
conda activate lmflow
conda install mpi4py
pip install -e .

安装和准备数据集的过程非常顺利,如此便捷是因为作者们贴心地提供了一键下载数据集的方式。只需要运行一个 bash 脚本就能下载所需的数据集,非常方便!

cd data
bash download.sh all
cd -

准备好了数据集之后,接下来就是模型训练。训练过程也大大简化,普通用户只需要执行一次 bash 脚本,即可轻松完成(非常适合小白入坑)。作者们还开放了训练好的模型下载,如果你不想自己训练模型,可以下载作者提供的 checkpoint 并进行推理。

cd output_models
bash download.sh medical_ckpt
cd -

在此基础上,作者们还提供了基于 huggingface 模型或本地 checkpoint 的问答机器人脚本。一键运行即可与你训练的模型开始对话:

cfea83e20fea7eb904c6a203f4ed5712.jpeg

如果在使用过程中遇到任何问题,欢迎通过 github issue 或 github 主页的微信群联系作者团队。

在当下大家都纷纷投入到预训练大模型的竞赛中时,LMFlow 提供了一个很好的启示:大多数普通玩家没有预训练大模型的资源,但仍旧可以参与到这场使用和研究大模型的浪潮中来。正如他们的口号所说:「让每个人都能训得起大模型(Large Language Model for All)。」

参考文献

[1] Ouyang, Long, et al. "Training language models to follow instructions with human feedback." Advances in Neural Information Processing Systems 35 (2022): 27730-27744.

[2]  Touvron, Hugo, et al. "Llama: Open and efficient foundation language models." arXiv preprint arXiv:2302.13971 (2023).

猜您喜欢:

深入浅出stable diffusion:AI作画技术背后的潜在扩散模型论文解读

3c87a985da0d23250724287f4c513c59.png 戳我,查看GAN的系列专辑~!

一顿午饭外卖,成为CV视觉的前沿弄潮儿!

最新最全100篇汇总!生成扩散模型Diffusion Models

ECCV2022 | 生成对抗网络GAN部分论文汇总

CVPR 2022 | 25+方向、最新50篇GAN论文

 ICCV 2021 | 35个主题GAN论文汇总

超110篇!CVPR 2021最全GAN论文梳理

超100篇!CVPR 2020最全GAN论文梳理

拆解组新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多样性图像生成

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 |《计算机视觉中的数学方法》分享

《基于深度学习的表面缺陷检测方法综述》

《零样本图像分类综述: 十年进展》

《基于深度神经网络的少样本学习综述》

《礼记·学记》有云:独学而无友,则孤陋而寡闻

欢迎加入 GAN/扩散模型 —交流微信群 !

扫描下面二维码,添加运营小妹好友,拉你进群。发送申请时,请备注,格式为:研究方向+地区+学校/公司+姓名。如 扩散模型+北京+北航+吴彦祖

05db1c472cda62e66d305d102b68ecd7.jpeg

请备注格式:研究方向+地区+学校/公司+姓名

52420fd1052ef6460a08c153645f782d.jpeg

点击 一顿午饭外卖,成为CV视觉的前沿弄潮儿!,领取优惠券,加入 AI生成创作与计算机视觉 知识星球!

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

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

相关文章

Open AI官方「ChatGPT 打假工具」来啦!网友:等于瞎猜?

文|Alex 鱼羊 发自 凹非寺源|量子位 ChatGPT到处“造假”作弊,现在搞得OpenAI官方都坐不住了。 就在今天,OpenAI紧急发布官方打假工具:基于GPT打造,打开网页就能用。 好家伙,这岂不是真以己之矛…

ChatGPT最新版多功能批量写作工具激发创作的无限可能

随着科技的不断发展,人工智能逐渐渗透到各个领域,其中包括写作领域。近年来,OpenAI推出的ChatGPT最新版多功能批量写作工具,为写作者们带来了全新的创作体验。这一工具不仅能够帮助写作者提高工作效率,还能够激发创作的…

一个开源的 ChatGPT VSCode 插件

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 来自:Github中文社区 近在百度推出文心一言后 阿里也开启了自家的ChatGPT的内测邀请,因此接下来的一个月huber会陆续给大家带来ChatGPT及周边内容。 vscode-ChatGPT 今天给大家推…

【VS】VSCode设置中英文模式

Vscode是一款开源的跨平台编辑器。默认情况下,vscode使用的语言为英文(us),如何将其显示语言修改成中文。 使用快捷键组合【CtrlShiftp】,在搜索框中输入“configure display language”,点击确定后; 修改locale.json…

工具 | VSCode+ChatGPT 编程利器

本文首发微信公众号:全副武装的大师兄(一个分享前沿技术,生活感受的公众号,关注我,率先了解好玩的工具) 托了GPT同学的福,最近编程时,常会在ChatGPT中说明自己的需求以生成代码&…

VScode:将VScode界面的显示语言改为简体中文,切换VScode界面的显示语言

VScode版本V1.54.1 VScode界面默认的语言为英语,需要安装简体中文语言包,语言包为插件(Extension)。 安装语言包 打开左侧插件栏(Extensions),在搜索框中输入chinese。 选择Chinese(Simplifi…

VSCode更改显示语言-如更改英语为中文或者将中文改为英语

目录 一、问题描述 二、问题解决 一、问题描述 VSCode属于一款前端开发超级牛13的开发软件,但是很多小伙伴安装好之后发现语言是英文的,毕竟大家英语不(yi)错(ban),但是总感觉中文的界面看着亲切一点,那么又该如何更改语言呢&am…

vs code 如何使用copilot(对接了chatgpt)

VS Code 是一个非常流行的开发工具,而 Copilot 则是一个基于 GPT 模型的代码生成工具,可以通过 VS Code 安装相关的插件来使用。 以下是在 VS Code 中使用 Copilot 的步骤: 下载安装 VS Code 插件 首先,你需要下载并安装 Copil…

我用 ChatGPT 做了一道菜 !!

自从使用ChatGPT之后,我的生活变得更加丰富了。 它以一个厨师的身份,为我提供各种健康美味的菜谱,以及干货知识、烹饪技巧等等,让我能够轻松地做出口感和营养都兼备的佳肴。 ChatGPT不仅为我提供各种各样的菜谱,包括…

ChatGLM-6B (介绍以及本地部署)

中文ChatGPT平替——ChatGLM-6B ChatGLM-6B简介官方实例本地部署1.下载代码2.通过conda创建虚拟环境3.修改代码4.模型量化5.详细代码 调用示例 ChatGLM-6B 简介 ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构&…

Bagging 和 随机森林(Random Forest,RF)

前面已经了解到集成学习有两个流派,一个是 Boosting 派系,它的特点是各个弱学习器之间有依赖关系。另一种是 Bagging 流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。而随机森林又是对 Bagging 的一个改进算法&#…

随机森林Random Forest

引言 在机器学习中,随机森林由许多的决策树组成,因为这些决策树的形成采用了随机的方法,因此也叫做随机决策树。随机森林中的树之间是没有关联的。当测试数据进入随机森林时,其实就是让每一颗决策树进行分类,最后取所有决策树中分类结果最多的那类为最终的结果。因此随机…

随机森林(random forest)

1.随机森林基本思想 Bagging决策树作为base model 每个决策树权重为1 Boostrap有放回的采样 2.决策树采用投票的方式。 假如训练了5颗树,其中4颗树是True,1颗树是False 那么结果就是True 3.单颗决策树建立的过程 (1)随即在N个样本中选择…

随机森林详解

随机森林(Random Forest)是属于集成学习的一种组合分类算法,集成学习的核心思想就是将若干个弱(基)分类器组合起来,得到一个分类性能显著优越的强分类器。如果各弱分类器之前没有强依赖关系、可并行生成&am…

Bagging与随机森林

下图是基于树的算法的发展历程 1、Bagging Bagging [Breiman, 1996a] 是并行式集成学习方法最著名的代表. 1.1、Bagging原理 bagging算法:bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,我们就可以得到T个采样集&#xff…

随机森林-参数解说

sklearn–随机深林 1.集成算法概述 集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建模结果。基本上所有的机器学习领域都…

Random Forest随机森林算法

Random Forest是加州大学伯克利分校的Breiman Leo和Adele Cutler于2001年发表的论文中提到的新的机器学习算法,可以用来做分类,聚类,回归,这里只简单介绍该算法在分类上的应用。 Random Forest(随机森林)算…

【随机森林】random forests 简单介绍

Random Forest,顾名思义 Random 就是随机抽取; Forest 就是说这里不止一棵树,而由 一群决策树组成的一片森林 ,连起来就是用随机抽取的方法训练出一群决策树来完成分类任务。RF用了两次随机抽取, 一次是对训练样本的随机抽取; 另一…

随机森林!

定义:在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树节点分裂时引入随机属性扰动。 随机性体现(与传统决策树的差异):对基决策树的每个节点,先从该节点的属性集合中随机选择包含K(log2(d))个属性的子集,然后再从这个子集中选择…

随机森林 (Random Forests) 简单介绍与应用

1 集成方法(Ensemble methods) 1.1 什么是集成方法 简单来说,集成方法 就是组合多个模型,以获得更好效果。 1.2 两种集成方法 平均法(averaging methods):也有人直接称之为“袋装法”,所有算法进行 相互独立 训练得到各自的模…