AI大模型教程
一起来学习

突破模型训练瓶颈:LLaMA-Factory 使用指南

LLaMA-Factory 简介

LLaMA-Factory 是一个强大的深度学习模型训练和微调平台,支持多种先进的语言模型,如 LLaMA、LLaVA、Mistral、ChatGLM 等。该工具不仅支持传统的语言模型训练,还集成了多种前沿技术和算法,旨在帮助开发者高效构建和优化模型。

主要特性
  • 多样化模型支持:可以训练的模型包括 Baichuan、BLOOM、ChatGLM3、Llama 以及更多主流和新兴模型,覆盖从小型到超大规模的多种选择。
  • 集成方法:支持持续预训练、多模态监督微调、奖励建模等多种训练方法,为模型的提升提供灵活选择。
  • 可扩展资源:提供 16-bit 完全微调、冻结微调、LoRA 等多种调优方式,兼容 QLoRA 的多种比特位选项。
  • 先进算法:实现了 GaLore、BAdaM、LongLoRA 等优化算法,提升训练效率和效果。
  • 实用技巧:集成 FlashAttention-2、Liger Kernel 等技术,显著加速训练过程。
  • 实验监控:通过 LlamaBoard、TensorBoard、Wandb 和 MLflow 等工具,实时监控实验进展。
  • 快速推理:提供 OpenAI 风格的 API、Gradio UI 和 CLI,结合 vLLM worker 提高推理速度。

安装 LLaMA-Factory

要安装 LLaMA-Factory,请按照以下步骤操作:

  1. 克隆源码:使用 Git 克隆 LLaMA-Factory 的最新版本。
  2. 创建 Conda 环境:创建一个新的 Conda 环境,以确保项目依赖不会与其他项目冲突。
  3. 激活环境:激活刚创建的 Conda 环境。
  4. 进入项目目录:切换到 LLaMA-Factory 项目的目录。
  5. 安装依赖:安装项目所需的依赖项,包括 PyTorch 和其他必要的库。
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
conda create -n llama_factory python=3.10
conda activate llama_factory
cd LLaMA-Factory
pip install -e ".[torch,metrics,qwen]" -i https://mirrors.aliyun.com/pypi/simple/


#清华大学镜像:https://pypi.tuna.tsinghua.edu.cn/simple
#阿里云镜像:https://mirrors.aliyun.com/pypi/simple/
可用的额外依赖项

LLaMA-Factory 还支持多种额外依赖项,以扩展其功能和性能:

  • torch:PyTorch库,用于深度学习和张量计算。
  • torch-npu:华为Ascend NPU的PyTorch扩展,优化深度学习训练。
  • metrics:用于评估模型性能的库。
  • deepspeed:用于大规模模型训练的优化库。
  • liger-kernel:高性能计算内核,用于加速训练过程。
  • bitsandbytes:用于模型量化和内存管理的库。
  • hqq:特定工具,具体用途需确认。
  • eetq:特定模型优化或训练工具,具体信息需查找。
  • gptq:量化GPT模型的工具。
  • awq:特定量化方法或工具,具体信息需确认。
  • aqlm:针对量化语言模型的库。
  • vllm:优化大规模语言模型推理的库。
  • galore:与模型训练、优化或数据处理相关的工具。
  • badam:特定的优化算法或框架,具体信息需查找。
  • adam-mini:Adam优化算法的简化版本。
  • qwen:特定模型或优化工具。
  • modelscope:提供预训练模型和框架的库。
  • openmind:与开源深度学习框架或工具集相关。
  • quality:用于评估模型质量的工具或库。
防火墙配置与启动微调

在使用 LLaMA-Factory 进行微调时,确保防火墙开放 7860 端口,以便访问 GUI 界面。可以使用以下命令进行配置:

# 7860是LLaMA Board GUI的端口,需要开放
sudo firewall-cmd --zone=public --add-port=7860/tcp --permanent
sudo firewall-cmd --reload

# 启动微调
llamafactory-cli webui

 LLaMA-Factory微调模型

在成功安装 LLaMA-Factory 后,就可以通过 LLaMA Board GUI 进行模型微调。以下是微调的基本过程以及配置说明:

  • 选择模型: 在 GUI 中,选择要微调的模型。LLaMA-Factory 支持多种模型,可以根据需求选择相应的模型。

  • 配置微调参数: 在微调界面中,可以设置多种参数,常见的配置包括:

    • 学习率(Learning Rate):设置模型更新的步长,通常建议从较小的值开始,例如 1e-5,根据实际情况逐步调整。
    • 批次大小(Batch Size):选择每次训练迭代的数据量。较大的批次大小可能需要更多的显存,建议从小值开始,如 816
    • 训练轮次(Epochs):设置微调的轮次,根据数据集大小和模型复杂性选择合适的轮次,通常为 310
    • 优化器(Optimizer):选择用于训练的优化算法,如 Adam、SGD 等。
  • 数据集准备: 上传或指定用于微调的数据集。数据集应经过适当格式化,确保与选定模型的输入要求相匹配。

  • 监控与日志: 在微调过程中,可以通过 GUI 实时监控训练进度,查看损失函数(Loss)、准确率(Accuracy)等指标。可以将训练日志导出,便于后续分析。

  • 保存与导出模型: 微调完成后,用户可以选择将训练好的模型保存到指定目录:

    • 在 GUI 中找到“保存模型”或“导出模型”的选项。
    • 选择保存路径,并命名模型文件。
    • 确认导出设置后,点击“保存”按钮,完成导出。

        确保记录微调的参数,以便在未来进行复现。

  • 模型评估: 微调后,使用测试集对模型进行评估,查看模型性能,并根据需要进行进一步调整。

模型对话验证 

加载训练后的模型进行对话验证:

遇到的问题

问题1OSError: We couldn't connect to 'https://huggingface.co' to load this file
原因:无法连接到 Hugging Face 网站,且找不到缓存文件,导致无法加载模型配置。该网站需要翻墙。
解决方案:使用本地模型替代,运行以下命令克隆模型:

git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

问题2:在过程中由于服务器只装了NVIDIA 驱动,却未安装CUDA,导致异常出现。
解决方案:运行 nvidia-smi 检查版本,若需要下载 CUDA Toolkit,执行以下命令进行安装:

cuda历史版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive

sudo rpm --install https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-rhel7-12-4-local-12.4.0_550.54.14-1.x86_64.rpm

# 安装CUDA Toolkit更新仓库并安装CUDA:
sudo yum clean expire-cache
sudo yum install cuda

#设置环境变量,安装完成后,添加CUDA的路径到环境变量中。编辑~/.bashrc或~/.bash_profile文件,添加以下行:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

# 然后使改动生效:
source ~/.bashrc

#重启计算机后,验证CUDA是否安装成功:
nvcc --version

问题3TypeError: GenerationMixin._extract_past_from_model_output() got an unexpected keyword argument 'standardize_cache_format'
原因:所用的模型(如 ChatGLM3-6B)与当前的 Transformers 库版本不兼容。
解决方案:降级 Transformers 库到 4.41.2,运行以下命令: 

pip install transformers==4.41.2 -i https://mirrors.aliyun.com/pypi/simple/

参考官方资源

文章来源于互联网:突破模型训练瓶颈:LLaMA-Factory 使用指南

相关推荐: 如何申请 Midjourney API ,看这篇文章就够了

如何申请 Midjourney API ,看这篇文章就够了 Midjourney 是一款非常强大的 AI 绘图工具,只要输入关键字,就能在短短一两分钟生成十分精美的图像。Midjourney 以其出色的绘图能力在业界独树一帜,如今,Midjourney 早已在…

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 突破模型训练瓶颈:LLaMA-Factory 使用指南
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们