微调的核心原因是赋予大模型更加定制化的功能。通用大模型虽然强大,但在特定领域可能表现不佳。通过微调,可以使模型更好地适应特定领域的需求和特征。通过引入特定领域的数据集进行微调,大模型可以学习该领域的知识和语言模式,这有助于模型在特定任务上取得更好的性能。

01 开源模型系列

模型名模型大小模板
DeepSeek (Code/MoE)7B/16B/67B/236Bdeepseek
DeepSeek-V3/R1671Bdeepseek
Baichuan 27B/13Bbaichuan2
BLOOM/BLOOMZ560M/1.1B/1.7B/3B/7.1B/176B
ChatGLM36Bchatglm3
Command R35B/104Bcohere
Falcon7B/11B/40B/180Bfalcon
Gemma/Gemma 2/CodeGemma2B/7B/9B/27Bgemma
GLM-49Bglm4
Granite 3.0-3.11B/2B/3B/8Bgranite3
Index1.9Bindex
InternLM2/InternLM2.57B/20Bintern2
Llama7B/13B/33B/65Bllama
Llama 27B/13B/70Bllama2
Llama 3-3.31B/3B/8B/70Bllama3
Llama 3.2 Vision11B/90Bmllama
LLaVA-1.57B/13Bllava
LLaVA-NeXT7B/8B/13B/34B/72B/110Bllava_next
LLaVA-NeXT-Video7B/34Bllava_next_video
MiniCPM1B/2B/4Bcpm/cpm3
Mistral/Mixtral7B/8x7B/8x22Bmistral
OLMo1B/7B
PaliGemma/PaliGemma23B/10B/28Bpaligemma
Phi-1.5/Phi-21.3B/2.7Bphi
Phi-34B/14Bphi
Phi-3-small7Bphi_small
Pixtral12Bpixtral
Qwen/QwQ (1-2.5) (Code/Math/MoE)0.5B/1.5B/3B/7B/14B/32B/72B/110Bqwen
Qwen2-VL/QVQ2B/7B/72Bqwen2_vl
Skywork o18Bskywork_o1
StarCoder 23B/7B/15B
TeleChat23B/7B/35B/115Btelechat2
XVERSE7B/13B/65Bxverse
Yi/Yi-1.5 (Code)1.5B/6B/9B/34Byi
Yi-VL6B/34Byi_vl
Yuan 22B/51B/102Byuan

02 开源微调模型仓库

1. Firefly

https://github.com/yangjianxin1/Firefly

Firefly 是一个开源的大模型训练项目,支持对主流的大模型进行预训练、指令微调和DPO,包括但不限于Qwen2、Yi-1.5、Llama3、Gemma、Qwen1.5、MiniCPM、MiniCPM3、Llama、InternLM、Baichuan、ChatGLM、Yi、Deepseek、Qwen、Orion、Ziya、Xverse、Mistral、Mixtral-8x7B、Zephyr、Vicuna、Bloom等。本项目支持全量参数训练、LoRA、QLoRA高效训练,支持预训练、SFT、DPO。如果你的训练资源有限,我们极力推荐使用QLoRA进行指令微调,因为我们在Open LLM Leaderboard上验证了该方法的有效性,并且取得了非常不错的成绩。

2. LLaMA-Factory

https://github.com/hiyouga/LLaMA-Factory

多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Qwen2-VL、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。

集成方法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。

多种精度:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。

先进算法:GaLore、BAdam、APOLLO、Adam-mini、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。

实用技巧:FlashAttention-2、Unsloth、Liger Kernel、RoPE scaling、NEFTune 和 rsLoRA。

实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab 等等。

极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口。

3. Unsloth 

https://github.com/unslothai/unsloth

  • 所有内核均以 OpenAI 的 Triton 语言编写。手动反向传播引擎。

  • 精度损失 0% 没有近似方法 - 全部准确。

  • 无需更改硬件。自 2018+ 年起支持 NVIDIA GPU。最低 CUDA 能力 7.0(V100、T4、Titan V、RTX 20、30、40x、A100、H100、L40 等)检查您的 GPU!GTX 1070、1080 可以工作,但速度很慢。

  • 通过 WSL 在 Linux 和 Windows 上运行。

  • 支持通过 bitsandbytes 进行 4 位和 16 位 QLoRA / LoRA 微调。

  • 开源训练速度提高 5 倍 - 请参阅 Unsloth Pro 以获得高达 30 倍的训练速度!

  • 如果您使用 Unsloth 训练了模型🦥,则可以使用这个很酷的贴纸!

4. PEFT 

https://github.com/huggingface/peft

由于规模的原因,微调大型预训练模型的成本通常高得令人望而却步。参数高效微调 (PEFT) 方法只需微调少量(额外)模型参数,而不是微调模型的所有参数,即可使大型预训练模型有效地适应各种下游应用。这大大降低了计算和存储成本。最近最先进的 PEFT 技术实现了与完全微调模型相当的性能。PEFT 与 Transformers 集成,便于模型训练和推理,Diffusers 用于方便地管理不同的适配器,Accelerate 用于真正大型模型的分布式训练和推理。

5. (IA)³

https://github.com/r-three/t-few

少样本上下文学习(Few-shot In-Context Learning, ICL)使得预训练语言模型能够在无需基于梯度的训练的情况下,通过将少量训练示例作为输入的一部分来执行以前未见过的任务。然而,ICL 会带来巨大的计算、内存和存储开销,因为每次进行预测时都需要处理所有的训练示例。参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)(例如适配器模块、提示调优、稀疏更新方法等)提供了一种替代范式,通过训练一小部分参数使模型能够执行新任务。在本文中,我们严格比较了少样本 ICL 和 PEFT,并证明后者不仅提供了更高的准确性,还显著降低了计算成本。在此过程中,我们提出了一种新的 PEFT 方法,称为 (IA)³,它通过学习向量对激活进行缩放,在仅引入少量新参数的情况下实现了更强的性能。我们还提出了一种基于 T0 模型的简单方法,称为 T-Few,该方法可以应用于新任务而无需任务特定的调优或修改。我们通过在 RAFT 基准测试中应用 T-Few 来验证其在完全未见任务上的有效性,首次实现了超越人类的表现,并以 6% 的绝对优势超越了现有技术。我们实验中使用的所有代码均已公开。

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐