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.pswp.cn/diannao/96004.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模型微调/量化技术整理

一、模型微调技术1.模型微调简介大模型微调(Fine-tuning),是指在已经预训练好的大语言模型基础上(基座模型),使用特定的数据集进行进一步训练,让模型适应特定任务或领域。通常LLM的预训练是无监督的,但微调…

实践笔记-VSCode与IDE同步问题解决指南;程序总是进入中断服务程序。

一、VSCode 修改文件后,IDE 未同步如果你在 VSCode 中异步修改了项目文件内容,但 S32DS 或 Keil(等集成开发环境)中的项目没有同步更新,有两个解决方法:检查文件是否已保存:确保 VSCode 中修改的…

C#WPF实战出真汁04--登录功能实现

1、登录功能实现要点对于登录系统,应该注意几个要点:用户认证流程设计,密码存储与验证,会话管理,防暴力破解措施,错误处理与提示2、登录功能的视图模型首先在xaml文件中必须指定该页面使用的视图模型&#…

鸿蒙入门简化版

第一步: 首先下载DEVStudio https://developer.huawei.com/consumer/cn/deveco-studio/ 第二步: 了解基本的ArkTs语言 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/introduction-to-arkts 第三步 : 教学视频有两个途径&a…

day25|学习前端js

函数声明,被提升(hoisting)。函数表达式必须先定义才能用。对象解构,按属性名数组解构按顺序点运算符. 对象.属性名哪些可迭代(可以被for..of循环的东西):array,string,m…

quic协议与应用开发

quic为什么出现?quic主要是为了解决TCP协议的局限性而提出的,具体来说是要解决如下问题:1. 加密连接建立时间长TCP协议是传输层协议,而TLS是会话层协议,在Linux等主流操作系统中TCP在内核实现而TLS一般在用户态实现&am…

【浅学】tflite-micro + ESP32S3 + VScode + ESP-IDF 基于例程快速实现自己的图像分类模型训练部署全流程

如果你用Pytorch训练的模型那么可以参考我的步骤,使用的是Tensorflow的话参考官方文档即可,但流程都是一样的,每一步我都会提到部分操作细节及注意事项 官方教程 要详细学习的话tflite-micro里的微控制器章节下都详细看(页面左侧…

【HarmonyOS】应用设置全屏和安全区域详解

【HarmonyOS】应用设置全屏和安全区域详解 一、前言 IDE创建的鸿蒙应用,默认采取组件安全区布局方案。顶部会预留状态栏区域,底部会预留导航条区域。这就是所谓的安全区域。 如果不处理,界面效果很割裂。所以业内UI交互设计,都会设…

openfeign 只有接口如何创建bean的

OpenFeign 能够为纯接口创建 Spring Bean,其核心机制是通过动态代理和 Spring 的 FactoryBean 机制实现的。以下是详细的工作原理:1. EnableFeignClients 注解的启动在 Spring Boot 主类上添加 EnableFeignClients 注解:SpringBootApplicatio…

【展厅多媒体】互动地砖屏怎么提升展厅互动感的?

在数字化展厅设计中,互动地砖屏 正成为提升观众参与度的重要工具。这种融合视觉科技与交互体验的装置,通过动态影像与即时反馈,让参观者从被动观看转变为主动探索,从而大幅增强展厅的互动感。 Led地面互动屏的优势在于其强大的视…

AI赋能电力巡检:变压器漏油智能检测系统全解析

🔥 AI赋能电力巡检:变压器漏油智能检测系统全解析 📖 前言 在电力系统的日常运维中,变压器作为核心设备,其安全运行直接关系到整个电网的稳定性。传统的人工巡检方式不仅效率低下,还存在安全隐患和漏检风险…

GitHub上值得Star的计算机视觉项目

GitHub上值得Star的计算机视觉项目 前言 一、OpenCV:计算机视觉领域的瑞士军刀 1.1 项目简介 1.2 核心功能与技术特点 1.3 代码示例 二、YOLO 系列:实时目标检测的领导者 2.1 项目简介 2.2 核心功能与技术特点 2.3 代码示例 三、Detectron2:Facebook AI Research 的目标检测…

【深度学习】pytorch深度学习框架的环境配置

文章目录1. 配置cuda环境2. 配置conda环境3. 配置pytorch gpu环境1. 配置cuda环境 在命令行输入以下命令可以查看当前显卡驱动版本和最高支持的cuda版本 nvidia-smi根据cuda版本去官网下载并安装cuda 下载链接:https://developer.nvidia.com/cuda-toolkit-archive…

数据处理与统计分析 —— 房源数据集分析案例

数据集网盘下载: 链接:https://pan.quark.cn/s/0e577858dba3?pwdFJnb 提取码:FJnb代码仅供参考具体可打开ipynb文件进行学习和练习:链接:https://pan.quark.cn/s/8efbe3061fad?pwdT47B 提取码:T47Bimport…

蓝牙如何测试?

车载蓝牙测试需覆盖 连接稳定性、功能完整性、兼容性、交互体验等核心维度,结合车载场景的特殊性(如行驶中信号干扰、多设备交互、安全需求),具体测试点如下: 一、基础配对与连接测试 1. 首次配对 触发配对:车机端 “蓝牙设置” 中搜索设备、手机端搜索车机(车机名称是…

算法02 二进制与位运算

二进制作为计算机底层数据的核心表示方式,其独特的位结构和运算规则在算法设计中有着广泛且关键的应用。以下从基础操作、算法技巧、数据结构、经典问题等多个维度,全面梳理二进制在算法中的应用: 一、基础位运算:算法的“原子操作…

PAT 1071 Speech Patterns

题目大意是说给出一个文本,找出里面出现最多的单词,如果有多个单词出现次数一样多,则输出字典序最小的。 需要注意的是: 给出的文本字符串不仅有数字还有字母,还有一些特殊的字符,还有空格。 而单词是只包含…

CSS中的 :root 伪类

在CSS中&#xff0c;伪类是一种用于选择元素特定状态的选择器。:root 伪类专门用于选择文档的根元素&#xff08;在HTML中通常是<html>元素&#xff09;&#xff0c;它是CSS变量&#xff08;Custom Properties&#xff09;的理想载体&#xff0c;常用于定义全局样式变量&…

能源行业数字化转型:边缘计算网关在油田场景的深度应用

能源行业数字化转型&#xff1a;边缘计算网关在油田场景的深度应用能源行业是国民经济的支柱产业&#xff0c;而油田作为能源生产的重要基地&#xff0c;其数字化转型对于提高生产效率、降低能耗、减少碳排放具有重要意义。然而&#xff0c;油田往往地处偏远&#xff0c;油井分…

CAG缓存增强生成与RAG检索增强生成对比

深度定制 LLM 知识,除了 RAC &#xff0c;现在又有新技术假设有一份200页的产品手册,你想让 LLM 准确回答里面的相关问题,要实现这个目标,除了常用的检索增强生成技术 rep ,现在有了新思路,缓存增强生成 CAG &#xff0c;它是什么,何时使用.RAG检索增强是常规套路,CAG缓存增强是…