为了构建法律领域的垂直应用大模型,从本文起记录使用LLaMA-Factory微调大模型的过程,以期UU们可以复刻与应用。大语言模型统一高效微调框架(LLaMA-Factory)的详解介绍可见:LLaMA-Factory/README_zh.md at main · hiyouga/LLaMA-Factory · GitHub
LLaMA-Factory框架旨在简化大型语言模型的微调过程,提供了一套完整的工具和接口,使得用户能够轻松地对预训练的模型进行定制化的训练和调整,以适应特定的应用场景。
LLaMA-Factory的优点:
- 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、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、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。
- 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。
- 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。
- 极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口。
一、Python环境搭建
本文及后续所使用的操作系统均为: Ubuntu 22.04.4 LTS;显卡为:NVIDIA A40-48GB GPU。
大模型的开发依赖于Python语言,为了实现有效的版本控制,避免环境错乱,需搭建conda环境。Anaconda是一个用于科学计算的Python发行版本。它包含了一系列常用的数据科学工具和库,自带Conda的包管理系统可以帮助用户快速安装和管理Python包和依赖项,而无需担心版本冲突和依赖关系。它还可以创建与不同项目相关的虚拟环境,使得不同项目之间的依赖项隔离开来。
Anaconda下载地址:【根据使用的操作系统选择】