
知识面 | 研究了DeepSeek在内的几十种模型微调方法后,强烈推荐这几种模型微调工具.....
微调的核心原因是赋予大模型更加的功能。通用大模型虽然强大,但在特定领域可能表现不佳。通过微调,可以使模型更好地适应特定领域的需求和特征。通过引入特定领域的数据集进行微调,大模型可以学习该领域的知识和语言模式,这有助于模型在上取得更好的性能。
微调的核心原因是赋予大模型更加定制化的功能。通用大模型虽然强大,但在特定领域可能表现不佳。通过微调,可以使模型更好地适应特定领域的需求和特征。通过引入特定领域的数据集进行微调,大模型可以学习该领域的知识和语言模式,这有助于模型在特定任务上取得更好的性能。
01 开源模型系列
模型名 | 模型大小 | 模板 |
---|---|---|
DeepSeek (Code/MoE) | 7B/16B/67B/236B | deepseek |
DeepSeek-V3/R1 | 671B | deepseek |
Baichuan 2 | 7B/13B | baichuan2 |
BLOOM/BLOOMZ | 560M/1.1B/1.7B/3B/7.1B/176B | |
ChatGLM3 | 6B | chatglm3 |
Command R | 35B/104B | cohere |
Falcon | 7B/11B/40B/180B | falcon |
Gemma/Gemma 2/CodeGemma | 2B/7B/9B/27B | gemma |
GLM-4 | 9B | glm4 |
Granite 3.0-3.1 | 1B/2B/3B/8B | granite3 |
Index | 1.9B | index |
InternLM2/InternLM2.5 | 7B/20B | intern2 |
Llama | 7B/13B/33B/65B | llama |
Llama 2 | 7B/13B/70B | llama2 |
Llama 3-3.3 | 1B/3B/8B/70B | llama3 |
Llama 3.2 Vision | 11B/90B | mllama |
LLaVA-1.5 | 7B/13B | llava |
LLaVA-NeXT | 7B/8B/13B/34B/72B/110B | llava_next |
LLaVA-NeXT-Video | 7B/34B | llava_next_video |
MiniCPM | 1B/2B/4B | cpm/cpm3 |
Mistral/Mixtral | 7B/8x7B/8x22B | mistral |
OLMo | 1B/7B | |
PaliGemma/PaliGemma2 | 3B/10B/28B | paligemma |
Phi-1.5/Phi-2 | 1.3B/2.7B | phi |
Phi-3 | 4B/14B | phi |
Phi-3-small | 7B | phi_small |
Pixtral | 12B | pixtral |
Qwen/QwQ (1-2.5) (Code/Math/MoE) | 0.5B/1.5B/3B/7B/14B/32B/72B/110B | qwen |
Qwen2-VL/QVQ | 2B/7B/72B | qwen2_vl |
Skywork o1 | 8B | skywork_o1 |
StarCoder 2 | 3B/7B/15B | |
TeleChat2 | 3B/7B/35B/115B | telechat2 |
XVERSE | 7B/13B/65B | xverse |
Yi/Yi-1.5 (Code) | 1.5B/6B/9B/34B | yi |
Yi-VL | 6B/34B | yi_vl |
Yuan 2 | 2B/51B/102B | yuan |
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% 的绝对优势超越了现有技术。我们实验中使用的所有代码均已公开。
更多推荐
所有评论(0)