下载llama factory

llama-factory是一个零代码大模型训练平台,可以快速搭建模型训练环境,并提供丰富的模型训练功能。可以选择前往github下载llama-factory项目的压缩包。但我下面是直接命令行下载的,但其实差不多,就是不用git clone https://gitee.com/hiyouga/LLaMA-Factory.git下载,自己手动下载到本地。

复制代码
我是在anaconda的虚拟环境下载的,hi徐你也可以不用

# 创建新环境(指定Python 3.10,适配绝大多数依赖)
conda create -n llama_factory_env python=3.10 -y

# 激活新环境
conda activate llama_factory_env


在虚拟环境下想要存放的路径下载llamafactory框架,或者直接cmd中执行也可,但注意执行的路径要切换到自己想存放的位置
git clone https://gitee.com/hiyouga/LLaMA-Factory.git

# 进入LlamaFactory根目录(替换成你的实际路径)即框架下载好的位置
cd D:\xxx\LLaMA-Factory

# 一键安装所有依赖(框架自带的requirements.txt,无需额外下载)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 以可编辑模式安装LlamaFactory(关联到当前环境),执行这条命令也要在下载框架的目录下
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

用框架自带的requirements.txt去下载安装相关依赖,完全匹配当前分支的依赖版本,避免 "手动指定版本出错"。

安装好后可以执行llamafactory-cli version来快速校验安装是否成功,如下界面就是安装成功了,然后执行运行webui.py的代码就可以得到下图界面

当你选择大模型时可以发现有很多版本,这些模型名称中的后缀(Chat/Math/Base)代表不同的模型定位和用途,针对 "微调大模型" 的需求,选择逻辑如下:

下面时出现的一些下载情况,走了很多弯路,为啥下面我一开始非要单独下载一些依赖,导致很多依赖的版本都互相冲突。所以下面内容可以不看。
在anaconda中创建

复制代码
conda create -n llama_factory_env python=3.10 -y
conda activate llama_factory_env
# 安装 CUDA 12.1(与 PyTorch 2.1+ 适配,LlamaFactory 推荐版本)
conda install cudatoolkit=12.1 cudnn=8.9 -c conda-forge -y

出现如下报错

当我下载安装好git就可以了,注意下载时,可以放在自己想放的位置,其实不同在本地cmd中执行也可,在虚拟环境下是一样的。

复制代码
git clone --depth 1 https://gitee.com/hiyouga/LLaMA-Factory.git

注意执行 下面的llamafactory核心依赖时,要在llamafactory的根目录下执行,不然会出下面如下报错

问题不是路径本身的问题 ,也不是 "虚拟环境存储路径" 的问题,而是你执行 pip install -e ".[torch,metrics]" 时,当前目录不是 LlamaFactory 的代码根目录 ------ 这条命令必须在包含 setup.py/pyproject.toml 的 LlamaFactory 文件夹内执行,否则 pip 找不到安装配置文件,自然会报错。

之前用 git clone 下载的 LlamaFactory 代码,完整路径应该是:D:\software\liulanqi\weitiao\llamafactory\warehouse\LLaMA-Factory(进入这个文件夹,能看到 setup.pywebui.pyrequirements.txt 等文件,就是正确目录。在对应目录下执行下面这条命令就可以

复制代码
pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple

之前在 warehouse 目录执行 pip install torch 能成功,但执行 pip install -e ".[torch,metrics]" 失败,核心是这两条 pip 命令的逻辑完全不同------ 前者是 "安装公共库",后者是 "安装当前目录下的本地项目"(LlamaFactory 这个开源项目),核心依赖当前目录的配置文件。

如上图所示还是出现了问题,这是安装numpy时触发的编译环境缺失错误 ,原因是 Windows 系统缺少 C/C++ 编译器(比如 Visual Studio 的编译工具),导致numpy无法从源码编译安装。

复制代码
pip install numpy==1.26.4 --only-binary :all: -i https://pypi.tuna.tsinghua.edu.cn/simple
(--only-binary表示只下载预编译好的包,跳过源码编译)
执行完后,在执行上面执行过的如下命令

pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple

这样就可以顺利安装好依赖了。

如下命令安装可选依赖

复制代码
# 安装 Web UI 可视化界面(新手必装)
pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装模型量化依赖(节省显存,12GB 显存必备)
pip install bitsandbytes accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装中文分词依赖(微调中文模型必备)
pip install jieba zhconv -i https://pypi.tuna.tsinghua.edu.cn/simple

执行第二条命令时出现如图报错

这个报错是依赖版本冲突 :安装bitsandbytes时,pip 自动把你的torch版本升级到了2.9.1,但原来的torchaudiotorchvision是依赖torch==2.1.0+cu121的,新版本torch 2.9.1和它们不兼容。

复制代码
执行命令,先把不兼容的bitsandbytes 0.48.2删掉:
pip uninstall bitsandbytes -y

再次执行torch的安装命令,此时环境里已经没有冲突的bitsandbytes了,就能确保无冲突正常安装:
pip install torch==2.1.0 torchaudio==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu121

安装适配torch 2.1.0的bitsandbytes版本。bitsandbytes 0.41.1是和torch 2.1.0兼容的稳定版本,执行:
pip install bitsandbytes==0.41.1 accelerate -i https://pypi.tuna.tsinghua.edu.cn/simple

执行完上面代码觉得可以了后,通过使用 llamafactory-cli version 来快速校验安装是否成功。出现如下图报错,transformers 库版本与 torch 版本不兼容 导致的:因为transformers 新版本用到了 torch.utils._pytree.register_pytree_node,但你当前的 torch 2.1.0 中这个接口还没开放(或命名不同)。

但是明明没手动执行pip install transformers,但transformers却出现在环境里,核心原因是执行pip install -e ".[torch,metrics]"时,pip 会自动下载 / 安装 LlamaFactory 声明的依赖,transformers就是其中之一

--no-deps如何阻断这个自动下载?

  • 不加--no-deps:pip 会 "先装依赖,再关联 LlamaFactory",且优先装最新版依赖(导致 transformers 升级到 4.36+);
  • --no-deps:pip 会 "跳过所有依赖的安装 / 升级,只关联 LlamaFactory",完全不碰 transformers、torch 等库。

先卸载

复制代码
# 卸载当前高版本transformers
pip uninstall transformers -y

正确的依赖安装顺序

复制代码
# 先装适配torch 2.1.0的transformers 4.35.2
pip install transformers==4.35.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple --no-deps

但安装第一步时发现如下报错,卸载再去安装又和别的依赖冲突了。

报错太多实在时一直出现版本安装问题,直接执行pip check会很清晰。

发现处理pip check,还有如下命令可以很好的查看依赖情况。

复制代码
# 安装依赖树工具
pip install pipdeptree -i https://pypi.tuna.tsinghua.edu.cn/simple

# 查看所有依赖的版本+依赖关系
pipdeptree

# 只看冲突的依赖(过滤关键信息)
pipdeptree --warn silence | findstr /i "conflict"  # Windows
# pipdeptree --warn silence | grep -i "conflict"  # Linux/Mac

因为出现的依赖问题太多,后来我直接删除了虚拟环境,重新下载依赖

复制代码
# 1. 先退出当前环境(如果已激活)
conda deactivate

# 2. 删除llama_factory_env环境(彻底清理)
conda remove -n llama_factory_env --all -y

# 创建新环境(指定Python 3.10,适配绝大多数依赖)
conda create -n llama_factory_env python=3.10 -y

# 激活新环境
conda activate llama_factory_env

下载llamafactory框架命令,和文章一开头的方法一样,只不过我没删除框架,所以可以不用再下载,而且要分清楚,之前那些版本冲突的依赖是下载到虚拟环境中的,所以只要删除虚拟环境就可以清空所有依赖。

这是之前发现的一些问题。

发现下图问题,下载的 LlamaFactory 代码包不完整 / 分支不对 ,导致缺少 Web UI 核心文件(webui.py),可能用git clone --depth 1只克隆了最新版本,但如果仓库的默认分支没有 Web UI 文件,就会缺失,但其实明明webui.py文件就在src文件下。这个ai骗我。

考虑到上面出现的两个问题,所以下面打算清除之前下载的内容(下载的llamafactory框架,就是删除这个文件夹即可),重新来下载。

如下重新下载,注意可以切换到自己想要的路径下下载,可以在cmd中下载,也可以在虚拟环境中执行。

复制代码
# 克隆完整仓库(不限制depth,确保文件齐全)
git clone https://gitee.com/hiyouga/LLaMA-Factory.git
相关推荐
路边草随风21 小时前
llama_index简单使用
人工智能·python·llama
王威振的csdn2 天前
法律大模型微调:基于 LLaMA-Factory 的指令微调方案
llama
JoannaJuanCV2 天前
大模型训练:LLaMA-Factory快速上手
llama
java_logo2 天前
LANGFUSE Docker 容器化部署指南
运维·docker·云原生·容器·eureka·llama
weixin_446260852 天前
二、LLaMA Factory 介绍和基本使用
llama
weixin_446260853 天前
三、LLaMA Factory 微调通用设置
llama
木枷4 天前
LLama-factory数据报错
人工智能·机器学习·llama
快乐的钢镚子5 天前
【RAG实战】中医医疗问答系统
langchain·llama
Yeliang Wu6 天前
LLaMA-Factory 模型评估理论与实战:基于 Ubuntu 22.04 的系统化指南
linux·ubuntu·llama·评估·llamafactory