LLaMA - Factory安装部署及微调流程

LLaMA - Factory安装部署及微调流程笔记

一、部署前准备

(一)明确依赖环境

  1. 必备依赖

    • Python建议采用3.11版本,该版本在大模型系列中适配性佳,能更好地支持LLaMA - Factory的运行。
    • CUDA可选择12.1或12.2版本。实际使用中,即便下载时Pytorch最高仅对应12.1(显卡最高支持12.2) ,也可正常安装使用。此外,torch、transformers、datasets、accelerate、peft、trl等库也必不可少,各有其最低和推荐版本,安装时务必严格遵循版本要求,否则易出现难以解决的未知问题。
    • 举例来说,若torch版本不符合要求,可能导致模型训练过程中出现计算错误或无法正常调用GPU资源;transformers版本不匹配,可能影响模型的加载和微调功能。
      在这里插入图片描述
  2. 可选依赖

    • deepspeed、bitsandbytes、vllm、flash - attn等属于可选依赖。
      例如deepspeed可减少内存消耗,适用于内存资源有限的情况,但可能会使训练时间拉长。即便不安装这些可选依赖,LLaMA - Factory依然能够完成微调任务。

      在这里插入图片描述

(二)安装NVIDIA显卡驱动

  1. 不同系统的安装方法
    • Ubuntu系统:若本地服务器为Ubuntu系统,可参考《Ch.4在Ubuntu 22.04系统下部署运行ChatGLM3 - 6B模型》中的2.1安装显卡驱动小节,按照其中的详细步骤进行操作。
    • Windows系统:若为Windows操作系统,则需参照《Ch.6在Windows系统下部署运行ChatGLM3 - 6B模型》中的2安装NVIDIA显卡驱动小节来完成安装。
  2. 云服务器的情况:若使用租赁的云服务器,如auto dl等,通常其显卡驱动环境已预设好,无需手动配置。

安装完成后,可通过运行 nvidia - smi 命令来验证是否安装成功(用于实时监控和管理NVIDIA GPU的性能和状态)。若想实现周期性监控,可使用 watch -n 1 nvidia - smi 命令,该命令会每秒刷新一次监控界面,若显示正常且无报错信息,则表明显卡驱动安装成功。
在这里插入图片描述

GPU显示版本号是最高支持 12.2,可以向下兼容。
在这里插入图片描述

(三)安装Anaconda

  1. 依据系统选择教程
    • Ubuntu系统:在Ubuntu系统下,可依据《Ch.4在Ubuntu 22.04系统下部署运行ChatGLM3 - 6B模型》中的2.3安装Anaconda环境小节进行安装,其中包含了详细的安装步骤和注意事项。
    • Windows系统:对于Windows系统,参考《Ch.6在Windows系统下部署运行ChatGLM3 - 6B模型》中的3.2.1方式一:使用Anaconda创建项目依赖环境(推荐)小节,按照指引完成安装。
  2. 安装后的验证操作:安装完成后,通过在命令行输入conda --version来验证Anaconda是否安装成功。若能正常输出版本信息,如conda 24.3.0,则说明Anaconda已成功安装。

二、安装部署步骤

(一)创建虚拟环境

  1. 创建命令:借助Conda包版本工具,为LLaMA - Factory项目创建专门的Python虚拟运行环境。在命令行中输入conda create --name llama_factory python==3.11,该命令会创建一个名为llama_factory的虚拟环境,且指定Python版本为3.11。
  2. 进入虚拟环境:创建完成后,使用conda activate llama_factory命令进入该虚拟环境。此后,所有与LLaMA - Factory相关的安装和操作都将在这个虚拟环境中进行,以避免不同项目之间的依赖冲突。

(二)安装Pytorch

  1. 选择安装命令:根据电脑显卡驱动的CUDA版本,在Pytorch官网(https://pytorch.org/get - started/previous - versions/ )查找适配的安装命令。

    例如,若CUDA版本适配,可使用conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.1 -c pytorch -c nvidia命令进行安装。

  2. 安装验证:安装完成后,通过在命令行执行python -c "import torch; print(torch.cuda.is_available())"来验证是否成功安装GPU版本的PyTorch。若输出为True,则表示GPU版本的PyTorch已安装成功且CUDA环境配置正确;若输出为False,则需要重新检查安装过程,可能是安装命令有误、CUDA版本不匹配或其他环境配置问题。

(三)下载项目文件

  1. git克隆方式
    • 安装git软件包:进入LLaMA - Factory的官方Github(https://github.com/hiyouga/LLaMA - Factory ),推荐使用克隆方式下载项目文件。在克隆之前,需要先安装git软件包,在命令行输入sudo apt install git,等待安装完成。
    • 执行克隆命令:安装好git后,执行克隆命令git clone https://github.com/hiyouga/LLaMA-Factory.git,该命令会将项目文件下载至本地当前路径。下载过程中,会显示下载进度信息,如remote: Enumerating objects: 7327, done.等。
  2. 压缩包下载方式:除了git克隆,也可选择下载ZIP压缩包。在Github页面找到下载ZIP压缩包的按钮,下载完成后,将压缩包上传至服务器。若服务器支持直接拖拽上传,则可直接操作;若不支持,可使用rz等工具进行上传。上传完成后,需要安装unzip软件来解压压缩包,在命令行输入sudo apt install unzip。解压完成后,如果文件名带有-main,为了方便后续使用,建议将其重命名为LLaMA - Factory,例如执行mv LLaMA - Factory - main LLaMA - Factory

(四)升级pip版本

  1. 升级原因:在安装项目依赖之前,建议升级pip版本。旧版本的pip可能无法安装一些最新的包,或者在解析依赖关系时出现错误,导致后续安装失败。
  2. 升级命令:升级pip版本的命令为python -m pip install --upgrade pip,执行该命令后,pip会自动下载并安装最新版本。

(五)安装项目依赖

在LLaMA - Factory项目中,requirements.txt文件涵盖了项目运行所需的所有Python包及其基础版本号。借助这个文件,能便捷地一次性安装项目必需的依赖,具体步骤如下:

  1. 进入项目文件夹

    打开命令行工具,通过cd LLaMA - Factory命令进入LLaMA - Factory所在的文件夹。只有处于该文件夹路径下,后续命令才能正确找到对应的文件。

  2. 安装必需依赖

    执行pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/命令。

    (其中,-r requirements.txt表示依据requirements.txt文件来安装依赖;-i https://pypi.tuna.tsinghua.edu.cn/simple/ 指定了清华大学的PyPI镜像源,在网络不佳的情况下,使用该镜像源可加快下载速度,减少安装过程中因网络问题导致的失败风险。)

  3. 安装LLaMA - Factory本身

    运行pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple/命令。该命令不仅会安装LLaMA - Factory,还会在系统中生成llamafactory - cli命令。之后就能通过此命令来执行LLaMA - Factory的相关操作,比如模型训练、推理等。而-i参数同样是为了使用国内镜像源,提升安装效率 。

(六)整体校验

  1. 校验PyTorch安装:在Python环境中执行以下命令来校验PyTorch的安装情况:
import torch
torch.cuda.current_device()
torch.cuda.get_device_name(0)
torch._version_
  • import torch:用于导入PyTorch库,若导入失败,说明PyTorch安装存在问题。
  • torch.cuda.current_device():返回当前选定的CUDA设备索引,如果能正确返回索引值,表明CUDA设备可被PyTorch识别。
  • torch.cuda.get_device_name(0):返回索引为0的CUDA设备名称,若能正常返回设备名称,如'NVIDIA GeForce RTX 3090',则进一步验证了CUDA设备与PyTorch的连接正常。
  • torch._version_:返回当前安装的PyTorch版本,可确认安装的PyTorch版本是否符合预期。若以上命令均无报错,则说明PyTorch安装及相关配置正确。
  1. 校验llamafactory - cli命令:使用llamafactory - cli train -h命令来校验llamafactory - cli命令是否正常工作。该命令会显示训练命令的帮助信息,包含各种训练参数的说明。若执行该命令时报错,提示No module named 'tyro',则需要使用pip install tyro或在conda环境中使用conda install -c conda - forge tyro进行安装。安装完成后,再次执行llamafactory - cli train -h命令进行验证,直至无报错信息。

三、微调Qwen2.5模型

(一)下载模型

  1. 参考教程与命令:参考建元老师开源大模型讲解系列,使用 pip install modelscopemodelscope download --model Qwen/Qwen2.5-1.5B-Instruct命令下载Qwen2.5 - 1.5B - Instruct模型。该命令会从指定的模型库中下载模型文件。
  2. 查找与移动模型文件:下载完成后,如果指定路径下没有找到模型文件,可在默认路径/root/.cache/modelscope/hub/中查找。若在该路径下找到模型文件,为了便于管理和避免磁盘空间问题,可使用mv命令将其移动到期望的路径下。例如,执行mv /root/.cache/modelscope/hub/Qwen /home/util/muyan,将模型文件移动到/home/util/muyan目录下。

(二)验证模型完整性

在这里插入图片描述

  1. 启动对话窗口验证:使用CUDA_VISIBLE_DEVICES=0 llamafactory - cli webchat --model_name_or_path /home/util/muyan/Qwen/Qwen2_5 - 1_5B - Instruct --template qwen命令启动对话窗口来验证模型是否完整。
    • CUDA_VISIBLE_DEVICES=0:指定当前程序使用第0张显卡来启动模型的web服务。
    • model_name_or_path:该参数可指定huggingface或modelscope上的标准模型名称,也可以使用本地下载的绝对路径。在本次验证中,使用的是本地下载模型的绝对路径/home/util/muyan/Qwen/Qwen2_5 - 1_5B - Instruct。若使用–model_name,不采用本地路径指定模型时,模型会默认从 Hugging Face 下载。希望从魔搭社区下载,则需要设置环境变量等操作。若使用–model_path,则需指定本地下载好的模型的绝对路径,以准确调用本地模型。
    • template:指定模型问答时所使用的prompt模板,不同模型需要使用相应的模板。对于Qwen2.5 - 1.5B - Instruct模型,使用qwen模板。模板的选择可参考https://github.com/hiyouga/LLaMA - Factory?tab=readme - ov - file#supported - models,若模板选择错误,可能导致回答结果异常或出现重复生成等问题。
  2. 访问验证:启动成功后,在浏览器中访问http://服务器地址:7860/,其中“服务器地址”需替换为实际启动LLaMA - Factory的服务器地址。进入页面后,选择zh将语言切换为简体中文,在对话窗口中输入问题,如“你好请问你是谁?”,若模型能正常回答且无报错信息,则表明模型下载完整且校验通过。
    在这里插入图片描述

(三)llama_factory常用命令

  1. version:用于显示LLaMA - Factory的版本信息,方便用户了解当前使用的软件版本。
  2. train:执行命令行版本的训练任务,在微调模型时会用到,可根据不同的训练需求设置相应的参数。
  3. chat:进行命令行版本的推理chat,但相比之下,该命令的使用频率不如webchatwebui高,因为后两者提供了更直观的交互界面。
  4. export:负责模型的合并和导出工作,例如将微调后的模型进行合并,以便后续部署或使用。
  5. api:启动API server,为其他应用程序提供接口调用,实现与其他系统的集成。
  6. eval:使用mmlu等标准数据集对模型进行评测,评估模型在不同任务上的性能表现。
  7. webchat:启动前端版本的纯推理chat页面,该页面仅包含对话界面,方便用户与模型进行简单的对话交互。
  8. webui:启动LlamaBoard前端页面,该页面集成了可视化训练、预测、chat、模型合并等多个子页面,功能更为丰富,是实际使用中较为常用的命令。
<think>好的,我现在需要帮助用户在Windows系统上部署微调Llama-Factory模型。首先,我得仔细看看用户的问题和提供的引用内容,确保我理解他们的需求。 根据用户提供的引用,特别是引用[2]和[3],里面提到了LLaMa-Factory的环境搭建步骤,但主要是在Linux环境下,比如使用conda创建环境、安装依赖、启动WebUI等。用户现在需要在Windows上操作,所以需要调整这些步骤以适应Windows系统。 首先,我应该考虑Windows和Linux在命令行工具上的差异。例如,在克隆仓库、设置环境变量、安装依赖等方面可能会有不同的命令。比如,在Windows中使用conda的方式可能类似,但路径和命令执行可能需要调整。 然后,安装依赖的部分。引用[2]中提到安装依赖使用pip install -e .[torch,metrics],这在Windows中可能需要处理Shell语法的问题,比如在PowerShell中可能需要用引号包裹,或者使用不同的方式安装带有extras的包。 启动WebUI时,引用[2]中的export CUDA_VISIBLE_DEVICES=0在Windows中可能需要用set命令,或者如果用户只有一块GPU的话,可能可以跳过这一步。另外,运行Python脚本的命令在Windows中是一样的,但需要确保Python环境正确激活。 关于微调部分,引用[2]和[4]提到了使用WebUI进行配置,用户可能需要指导如何在Windows中访问Web界面,以及如何选择数据集和模型参数。同时,需要注意Windows的文件路径和数据集存放的位置是否正确。 可能遇到的问题包括环境变量设置、依赖安装失败(尤其是与CUDA相关的部分)、路径错误,或者WebUI无法正常启动。需要提前考虑这些情况,并在指南中给出解决方案或提示。 另外,用户可能不熟悉命令行操作,所以步骤需要详细,并且指出可能遇到的常见错误。例如,在安装依赖时,如果出现权限问题,可能需要以管理员身份运行命令行工具;或者如果缺少某些库,可能需要额外安装。 最后,生成的相关问题需要围绕部署微调过程中可能遇到的进一步疑问,比如数据集准备、参数调优、结果评估等,引用[4]中的ROUGE指标可以作为评估方法之一,但用户可能需要更多关于如何解读这些指标的指导。 总结步骤应该是:环境准备(安装Git、conda)、克隆仓库、创建conda环境、安装依赖、启动WebUI、配置微调参数、运行微调、验证结果。每个步骤需要针对Windows进行调整,并检查可能的兼容性问题。</think>以下是在Windows系统上部署微调LLaMA-Factory的详细操作指南: ### 一、环境准备 1. 安装Git和Miniconda 从官网下载Git for Windows和Miniconda安装包,按默认配置完成安装 2. 配置CUDA环境(需NVIDIA显卡) 确认已安装对应显卡驱动的CUDA Toolkit 11.8+[^2] ### 二、项目部署 ```powershell # 克隆仓库(使用PowerShell) git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory # 创建conda环境 conda create -n llama_factory python=3.10 conda activate llama_factory # 安装依赖(注意Windows的shell转义) pip install -e ".[torch,metrics]" ``` ### 三、启动WebUI ```powershell # 设置CUDA可见设备(单卡可省略) $env:CUDA_VISIBLE_DEVICES=0 # 启动Web界面 python src/webui.py ``` 启动成功后浏览器访问 `http://localhost:7860`[^3] ### 四、微调配置步骤 1. **模型选择**:在WebUI的"Model"选项卡选择基座模型(如LLaMA-3) 2. **数据准备**: - 创建`data`文件夹存放JSON格式数据集 - 示例数据结构: ```json [{ "instruction": "解释量子力学", "input": "", "output": "量子力学是研究微观粒子运动规律的理论..." }] ``` 3. **参数设置**: - 微调方法:推荐QLoRA(显存占用更低) - 学习率:建议1e-4到5e-5 - 批大小:根据显存调整(8GB显存建议batch_size=4) ### 五、启动微调 1. 在"Train"标签页加载数据集 2. 设置保存路径(建议使用英文路径) 3. 点击"Start Training"开始微调 ### 六、验证结果 使用内置评估指标查看ROUGE-L、BLEU等分数[^4],典型成功输出: ``` Epoch 1 | Loss: 2.34 | Rouge-L: 0.56 Epoch 2 | Loss: 1.78 | Rouge-L: 0.62 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值