当前位置: 首页 > news >正文

llamafactory使用qlora训练

llamafactory使用qlora训练

1.环境搭建

conda create -n qlora python=3.10 -y
conda activate qlora# 克隆LLaMA-Factory仓库
git clone https://github.com/hiyouga/LLaMA-Factory.git# 进入仓库目录
cd LLaMA-Factory# 切换到0.9.4版本
git checkout v0.9.4pip install -e .

2.开始训练

2.1找到训练的最大批次

不启动qlora找到训练的刚好"out of memory"的批次,然后再启动qlora进行量化训练。

请添加图片描述

每次开始训练时要更改输出目录。

2.使用qlora进行训练
请添加图片描述

3.导出环境包版本信息

3.1导出环境信息

首先激活要导出的 Conda 环境,命令如下(将your_environment_name替换为实际环境名称):

conda activate your_environment_name

然后导出环境依赖信息,生成environment.yml文件,命令如下:

conda env export > /workspace/qlora-environment.yml 

qlora-environment.yml

name: qlora
channels:- conda-forge
dependencies:- _libgcc_mutex=0.1=conda_forge- _openmp_mutex=4.5=2_gnu- bzip2=1.0.8=h4bc722e_7- ca-certificates=2025.8.3=hbd8a1cb_0- ld_impl_linux-64=2.44=h1423503_1- libexpat=2.7.1=hecca717_0- libffi=3.4.6=h2dba641_1- libgcc=15.1.0=h767d61c_4- libgcc-ng=15.1.0=h69a702a_4- libgomp=15.1.0=h767d61c_4- liblzma=5.8.1=hb9d3cd8_2- libnsl=2.0.1=hb9d3cd8_1- libsqlite=3.50.4=h0c1763c_0- libuuid=2.38.1=h0b41bf4_0- libxcrypt=4.4.36=hd590300_1- libzlib=1.3.1=hb9d3cd8_2- ncurses=6.5=h2d0b736_3- openssl=3.5.2=h26f9b46_0- pip=25.2=pyh8b19718_0- python=3.10.18=hd6af730_0_cpython- readline=8.2=h8c095d6_2- setuptools=80.9.0=pyhff2d567_0- tk=8.6.13=noxft_hd72426e_102- wheel=0.45.1=pyhd8ed1ab_1- pip:- accelerate==1.7.0- aiofiles==23.2.1- aiohappyeyeballs==2.6.1- aiohttp==3.12.15- aiosignal==1.4.0- altair==5.5.0- annotated-types==0.7.0- antlr4-python3-runtime==4.9.3- anyio==4.10.0- async-timeout==5.0.1- attrs==25.3.0- audioread==3.0.1- av==15.0.0- bitsandbytes==0.47.0- certifi==2025.8.3- cffi==1.17.1- charset-normalizer==3.4.3- click==8.2.1- contourpy==1.3.2- cycler==0.12.1- datasets==3.1.0- decorator==5.2.1- dill==0.3.8- docstring-parser==0.17.0- einops==0.8.1- exceptiongroup==1.3.0- fastapi==0.116.1- ffmpy==0.6.1- filelock==3.19.1- fire==0.7.1- fonttools==4.59.1- frozenlist==1.7.0- fsspec==2024.9.0- gradio==5.31.0- gradio-client==1.10.1- groovy==0.1.2- h11==0.16.0- hf-transfer==0.1.9- hf-xet==1.1.7- httpcore==1.0.9- httpx==0.28.1- huggingface-hub==0.34.4- idna==3.10- importlib-resources==6.5.2- jinja2==3.1.6- joblib==1.5.1- jsonschema==4.25.0- jsonschema-specifications==2025.4.1- kiwisolver==1.4.9- lazy-loader==0.4- librosa==0.11.0- llamafactory==0.9.4.dev0- llvmlite==0.44.0- markdown-it-py==4.0.0- markupsafe==2.1.5- matplotlib==3.10.5- mdurl==0.1.2- modelscope==1.29.0- mpmath==1.3.0- msgpack==1.1.1- multidict==6.6.4- multiprocess==0.70.16- narwhals==2.1.2- networkx==3.4.2- numba==0.61.2- numpy==1.26.4- nvidia-cublas-cu12==12.8.4.1- nvidia-cuda-cupti-cu12==12.8.90- nvidia-cuda-nvrtc-cu12==12.8.93- nvidia-cuda-runtime-cu12==12.8.90- nvidia-cudnn-cu12==9.10.2.21- nvidia-cufft-cu12==11.3.3.83- nvidia-cufile-cu12==1.13.1.3- nvidia-curand-cu12==10.3.9.90- nvidia-cusolver-cu12==11.7.3.90- nvidia-cusparse-cu12==12.5.8.93- nvidia-cusparselt-cu12==0.7.1- nvidia-nccl-cu12==2.27.3- nvidia-nvjitlink-cu12==12.8.93- nvidia-nvtx-cu12==12.8.90- omegaconf==2.3.0- orjson==3.11.2- packaging==25.0- pandas==2.3.1- peft==0.15.2- pillow==10.4.0- platformdirs==4.3.8- pooch==1.8.2- propcache==0.3.2- protobuf==6.32.0- psutil==7.0.0- pyarrow==21.0.0- pycparser==2.22- pydantic==2.10.6- pydantic-core==2.27.2- pydub==0.25.1- pygments==2.19.2- pyparsing==3.2.3- python-dateutil==2.9.0.post0- python-multipart==0.0.20- pytz==2025.2- pyyaml==6.0.2- referencing==0.36.2- regex==2025.7.34- requests==2.32.4- rich==14.1.0- rpds-py==0.27.0- ruff==0.12.9- safehttpx==0.1.6- safetensors==0.5.3- scikit-learn==1.7.1- scipy==1.15.3- semantic-version==2.10.0- sentencepiece==0.2.1- shellingham==1.5.4- shtab==1.7.2- six==1.17.0- sniffio==1.3.1- soundfile==0.13.1- soxr==0.5.0.post1- sse-starlette==3.0.2- starlette==0.47.2- sympy==1.14.0- termcolor==3.1.0- threadpoolctl==3.6.0- tiktoken==0.11.0- tokenizers==0.21.1- tomlkit==0.12.0- torch==2.8.0- tqdm==4.67.1- transformers==4.55.0- triton==3.4.0- trl==0.9.6- typer==0.16.0- typing-extensions==4.14.1- typing-inspection==0.4.1- tyro==0.8.14- tzdata==2025.2- urllib3==2.5.0- uvicorn==0.35.0- websockets==11.0.3- xxhash==3.5.0- yarl==1.20.1
prefix: /root/miniforge3/envs/qlora

3.2导出环境基本信息

若只需快速迁移或记录环境基本信息,可使用以下命令导出当前环境中安装的所有包和版本号到package-list.txt文件:

conda list --export > package-list.txt

4.导入环境信息

4.1根据environment.yml文件创建环境

将environment.yml文件复制到目标机器上,进入该文件所在目录,执行以下命令创建环境:

conda env create -f environment.yml

创建完成后,可使用以下命令激活新环境(将your_environment_name替换为实际环境名称):

conda activate your_environment_name

4.2根据package-list.txt文件安装包

将package-list.txt文件复制到目标机器上,进入文件所在目录,执行以下命令安装包:

conda install --file package-list.txt
http://www.lryc.cn/news/624588.html

相关文章:

  • 无人设备遥控器之操控信号精度篇
  • unity实现背包拖拽排序
  • 【机器人-基础知识】ROS2常用命令
  • 第一阶段C#基础-15:面向对象梳理
  • 论往返之迴响:时间之织锦与信息之曼舞
  • 第三十二天(并发)
  • 如何在VS Code中使用Copilot与MCP服务器增强开发体验
  • 【C++】 using声明 与 using指示
  • 云原生Ansible渗透场景(⾃动化的运维⼯具)
  • Netty架构与组成
  • 45 C++ STL模板库14-容器6-容器适配器-优先队列(priority_queue)
  • 贪心算法(Greedy Algorithm)详解
  • 【C语言】gets和getchar的区别
  • 深度优先遍历dfs(模板)
  • 具身智能2硬件架构(人形机器人)摘自Openloong社区
  • 数据结构:查找表
  • 宏观认识 Unitree LiDAR L1 及其在自动驾驶中的应用
  • 【opencv-Python学习日记(7):图像平滑处理】
  • 阿里云odps和dataworks的区别
  • Poisson分布:稀有事件建模的理论基石与演进
  • 前端纯JS实现手绘地图 地图导引
  • YAML 语法结构速查表(完整版)
  • 【tips】unsafe-eval线上页面突然空白
  • Lucene 8.5.0 的 `.pos` 文件**逻辑结构**
  • 永磁同步电机控制算法--转速环电流环超螺旋滑模控制器STASMC
  • 大数据毕业设计选题推荐:基于Hadoop+Spark的城镇居民食品消费分析系统源码
  • 【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
  • 将 iPhone 联系人转移到 Infinix 的完整指南
  • Zephyr下ESP32S3开发环境搭建(Linux篇)
  • 【Python语法基础学习笔记】常量变量运算符函数