想要研究学习大模型,应该从哪里开始呢?
目前大模型发展生态最好的当属Meta的LLaMA模型。如果GPT系列是Windows操作系统(巧了,OpenAI的大东家目前就是微软),那么LLaMA就是Linux。如果GPT系列是苹果手机,那么LLaMA就是安卓。如果你想基于大模型做一些事情,无论是创业还是研究,最好选择一个生态好的模型,毕竟有人用才有市场。
ChatGPT演化的路径如下图所示。
图片中分了4个阶段,但是第三个和第四个阶段一般都会放在一起,属于对齐阶段。所以一般会分成如下3个阶段:
-
Stage 1: 预训练(Pretrain)
-
Stage 2: 监督微调(SFT)
-
Stage 3: 对齐(Reward Model + RLHF)
既然已经有了成功ChatGPT这一成功的案例,大家都想基于LLaMA把这条路再走一遍,以期望做出自己的ChatGPT。
所以基于LLaMA的模型虽然很多,但是基本都可以放到上面3个框架当中。本文就沿着预训练、监督微调、对齐(RW+RLHF)这一路径来梳理一下LLaMA生态中的各个模型。
主要是点出这些模型处在大模型训练的那一个阶段,以及都做了哪些创新性的工作,方便你根据自己的兴趣和资源来选择使用哪一个,对中文支持比较好的也都有注明。
Stage1 预训练: LLaMA 复现
RedPajama
-
参考LLaMA论文中的训练数据,收集并且开源可商用。
-
https://github.com/togethercomputer/RedPajama-Data
Baichuan-7B(支持中文)
-
采用LLaMA的相同架构,在中文上做预训练。可商用。
-
王小川这次做大模型的切入点其实挺不错的,绑定到LLaMA的生态上,然后在中文上有所突破。可能也在构思新三级火箭了吧。
-
目前Baichuan可以算是第一个LLaMA中文预训练模型,所以后面的工作都可以在这上面都走一遍,估计没多久Baichuan-Alapca, Baichuan-Vicuna就都出来了。
-
https://github.com/baichuan-inc/baichuan-7B
OpenLLaMA
-
参考LLaMA的代码,在Apache 2.0 license下的重新实现和训练。使用了RedPajama训练集合。
-
https://github.com/openlm-research/open_llama
Lit-LLaMA ️
-
参考LLaMA,在Apache 2.0 license下的只有代码的重新实现。同时支持加载原始LLaMA和OpenLLaMA的权重。
-
https://github.com/Lightning-AI/lit-llama
Stage 2: 监督微调
因为预训练模型本质上还是个续写模型,所以并不能很好的满足人们的需求,所以监督微调的作用就是微调模型产生理想的回复。
在监督微调这里,大家目标都是一样的,但是做法有些不同,主要是有钱和没钱的区别。
有钱你可以全参数微调,没钱就只能使用一些低成本的方法,英文叫PEFT(Parameter-Efficient Fine-Tuning)。
PEFT确实是想我这种平民玩家的首选,但是有钱也可以用PEFT,它可以让你微调更大的模型。比如我们就只能玩玩10B的,有点小钱用PEFT玩个几十B的问题不大。
2.1 LLaMA + Instruction Finetuning(全量参数)
Alpaca
-
llama7b + self-instruct数据指令微调。算是最早迈出LLaMA+SFT这一步的模型。最开始并没有提供权重,后来通过diff的方式给出,需要LLaMA原始模型才能恢复,github上有教程。
-
当时他们采用1张8卡A100(80G显存),52k的数据,训练了3个小时。训练成本大概是100刀。
-
https://github.com/tatsu-lab/stanford_alpaca
Alpaca衍生模型
-
BELLE(支持中文): 最早是基于BLOOM的,后来也支持LLaMA https://github.com/LianjiaTech/BELLE
-
openAlpaca: OpenLLaMA + databricks-dolly-15k dataset 进行指令微调 https://github.com/yxuansu/OpenAlpaca
-
gpt4-x-alpaca: 用GPT4的数据微调,数据集为GPTeacher https://huggingface.co/chavinlo/gpt4-x-alpaca
Vicuna
-
llama13b + ShareGPT对话数据,微调
-
研发团队基于Vicuna发布了FastChat对话机器人。
-
和Alpaca一样,受协议限制,vicuna模型公布的权重也是个delta,每个参数要加上llama原来的权重才是模型权重。
-
https://github.com/lm-sys/FastChat
Vicuna衍生模型
- gpt4-x-vicuna-13b: 用GPT4的数据微调,数据集为GPTeacher https://huggingface.co/NousResearch/gpt4-x-vicuna-13b
WizardLM
- 采用了Evol-Instruct来构造指令,可以产生一些很难的指令.
-
深度演化包括五种操作:添加约束、深化、具体化、增加推理步骤并使输入复杂化。
-
In-breadth Evolving 是突变,即根据给定的指令生成全新的指令
-
进化是通过提示+LLM来实现的。
- https://github.com/nlpxucan/WizardLM
TÜLU
-
使用LLaMA + Human/GPT data mix 微调
-
验证了很多结论,论文值得一看。https://arxiv.org/abs/2306.04751
-
https://github.com/allenai/open-instruct
GPT4ALL
-
LLaMA用80w的GPT3.5的数据(code, story, conversation)微调而来。
-
https://github.com/nomic-ai/gpt4all
Koala
-
LLaMA13B基于ChatGPT Distillation Data和Open Source Data训练而来。
-
具体数据见下面:
-
https://bair.berkeley.edu/blog/2023/04/03/koala/
OpenBuddy(支持中文)
-
基于LLaMA,Falcon, OpenLLaMA微调的,只说用了对话数据,细节没透漏。
-
https://github.com/OpenBuddy/OpenBuddy
Pygmalion 7B
-
给予LLaMA微调,使用了不同来源的56MB 的对话数据,包含了人工和机器。
-
https://huggingface.co/PygmalionAI/pygmalion-7b
2.2 LLaMA + PEFT
PEFT目前最流行的是LoRA,挺巧妙的架构,可以看看https://arxiv.org/abs/2106.09685。
下面大多数的模型都是LLaMA+lora的架构,不只是文本,AIGC的头部网站civitai.com上很多模型也都是基于lora的。
最近还出了QLoRA,在LoRA的基础上加入了量化,进一步降低显存的使用。https://arxiv.org/abs/2305.14314。
Baize
-
LLaMA + Lora
-
https://github.com/project-baize/baize-chatbot
LLaMA-Adapter
-
LLaMA + Adapter Layer
-
https://github.com/OpenGVLab/LLaMA-Adapter
CalderaAI/30B-Lazarus
-
似乎是多个LoRA的merge,但是没太公布太多细节。
-
在huggingface的leaderboard上排名还挺靠前。
-
https://huggingface.co/CalderaAI/30B-Lazarus
Chinese-LLaMA-Alpaca(支持中文)
-
https://arxiv.org/pdf/2304.08177.pdf
-
LLaMA + 扩词表 + lora
-
Chinese LLaMA是属于局部参数预训练
-
Stage1: frozen encoder,只用来训练Embedding层。
-
Stage2: 只训练Embedding, LM head, lora weights
-
在Chinese LLaMA的基础上,仿照Alpaca训练了Chinese Alpaca
-
https://github.com/ymcui/Chinese-LLaMA-Alpaca
Chinese-Vicuna(支持中文)
-
基于:https://github.com/tloen/alpaca-lora
-
lora + 中文instruction数据
-
chatv1的数据使用了50k中文指令+对话混合数据。
-
并没有扩充词表,据说Vicuna1.1并没有扩充词表,但是中文效果不错。
-
https://github.com/Facico/Chinese-Vicuna
Stage 3: 对齐(LLaMA + FT + RHLF)
- 这部分可以说是把ChatGPT的路径完整走了一遍。
StableVicuna
-
Vicuna = LLaMA + FT
-
StableVicuna = Vicuna + RLHF
-
https://github.com/Stability-AI/StableLM
StackLLaMA
-
SFT: LLaMA + Lora
-
RM: LLaMA + Lora + 分类
-
https://huggingface.co/blog/zh/stackllama
其他:LLaMA 推理优化
llama.cpp
-
用C/C++实现的推理,不依赖显卡。
-
https://github.com/ggerganov/llama.cpp
GPTQ-for-LLaMA
-
4 bits quantization of LLaMA using GPTQ.
-
https://github.com/qwopqwop200/GPTQ-for-LLaMa
AI大模型学习福利
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享
四、AI大模型商业化落地方案
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。