找回密码
 立即注册
首页 业界区 科技 Windows本地安装LLaMA-Factory

Windows本地安装LLaMA-Factory

宇文之 昨天 04:06
以下是LLaMA-Factory官方推荐的依赖组件及其版本,如果在linux上安装建议使用表格中的推荐版本,但是在windows上安装时,由于各组件提供的windows版本没有linux版本完备,为了兼容性考虑可节省时间(使用发布的wheel包而不是本地编译),这里并没有完全采用官方推荐的版本。
1.png

以下为window本地安装LLaMA-Factory的详细步骤
1、更新显卡驱动(推荐使用nvidia显卡)


  • 访问 NVIDIA 驱动程序下载。
  • 选择你的显卡型号,下载最新的 Game Ready Driver 或 Studio Driver。
  • 运行安装程序,选择“自定义安装”和“执行清洁安装”,完成后重启电脑。
在windows上安装LLaMA-Factory,需要安装windows版本的PyTorch 、bitsandbytes 和FlashAttention
2、 安装 CUDA Toolkit


  • 根据准备使用的PyTorch 、bitsandbytes 和FlashAttention的版本来决定CUDA的版本,不同版本可能存在不兼容的情况,例如不同版本的bitsandbytes 需要指定版本的PyTorch和CUDA toolkit,并且不同版本的PyTorch对CUDA toolkit的版本也有要求,因此不要盲目安装最新版 CUDA。(本文中使用CUDA12.1,https://developer.nvidia.com/cuda-12-1-0-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local)
  • 访问 CUDA Toolkit 下载,选择与 PyTorch 匹配的版本(例如 12.1)、系统(Windows)、架构(x86_64)和安装类型(exe [local])。(https://developer.nvidia.com/cuda-toolkit-archive:下载历史CUDA版本)
  • 运行安装程序,选择“自定义”安装,组件保持默认全选即可
2.png

3、安装Conda 

LLaMA-Factory的安装需要安装大量的python包和其他组件,使用Conda可以有效避免python版本冲突带来的问题

  • 下载Conda,Distribution Installers,Miniconda Installers均可(Download Success | Anaconda)
  • 初始化环境变量
    1. conda init
    复制代码
  • 创建conda虚拟环境,python使用3.10版本
    1. # 创建 Python 3.10 环境
    2. conda create -n llama-factory python=3.10
    3. # 激活环境
    4. conda activate llama-factory
    复制代码
4、安装Visual Studio Build Tools

如果安装了visual studio,则不需要再单独安装
5、安装PyTorch

查看 PyTorch 支持的版本:访问 PyTorch 官网。安装与CUDA版本兼容的PyTorch版本(PyTorch Version: 2.5.1+cu121)
  1. pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
复制代码
3.png

使用以下脚本验证PyTorch是否成功安装
  1. import torch
  2. # 1. 打印PyTorch版本
  3. print(f"PyTorch Version: {torch.__version__}")
  4. # 2. 打印PyTorch构建所用的CUDA版本(这里显示12.1是正常的)
  5. print(f"PyTorch CUDA Version: {torch.version.cuda}")
  6. # 3. 最关键的一步:检查CUDA是否可用
  7. print(f"CUDA Available: {torch.cuda.is_available()}")
  8. # 4. 如果可用,打印GPU信息
  9. if torch.cuda.is_available():
  10.     print(f"Number of GPUs: {torch.cuda.device_count()}")
  11.     print(f"Current GPU Name: {torch.cuda.get_device_name(0)}")
  12.     print(f"Current GPU Index: {torch.cuda.current_device()}")
  13.     # 5. 做一个简单的张量运算来测试功能
  14.     x = torch.tensor([1.0, 2.0, 3.0]).cuda()
  15.     y = torch.tensor([4.0, 5.0, 6.0]).cuda()
  16.     z = x + y
  17.     print(f"Tensor computation on GPU: {z}")
  18.     print(f"Tensor device: {z.device}")
复制代码
6、安装bitsandbytes (如果不需要启用量化LoRA,可跳过此步)

访问Release Wheels · jllllll/bitsandbytes-windows-webui · GitHub查看release的wheel文件,根据安装的CUDA toolkit版本(12.1)和PyTorch版本(2.5.1+cu121)选择与之兼容的bitsandbytes版本,下载wheel文件并安装
  1. pip install bitsandbytes-0.41.1-py3-none-win_amd64.whl
复制代码
使用以下脚本验证bitsandbytes是否成功安装
  1. import bitsandbytes as bnb
  2. # 这个操作会触发bitsandbytes加载CUDA库,并显示其编译/链接的CUDA版本。
  3. # 通常如果成功导入且无报错,就说明它找到了匹配的CUDA环境。
  4. # 更直接的方法:创建一个量化层,看是否报错
  5. try:
  6.     # 尝试创建一个4bit量化层,这会用到CUDA kernel
  7.     linear = bnb.nn.Linear4bit(10, 20)
  8.     print("✅ bitsandbytes 安装成功,并且CUDA运行正常!")
  9.     print(f"   它正在使用与PyTorch相同的CUDA环境。")
  10. except Exception as e:
  11.     print(f"❌ 错误: {e}")
复制代码
7、安装flash-attention(lldacing/flash-attention-windows-wheel · Hugging Face)(如果不需要启用 FlashAttention-2,可跳过此步)

首先查看 Releases · kingbri1/flash-attention 上有没有编辑好的兼容本地CUDA toolkit版本(12.1)和PyTorch版本(2.5.1+cu121)的wheel包,有的话直接下载安装即可,没有的话则需要按照以下步骤在本地build wheel包:

  • clone flash-attention 的源码到本地,Dao-AILab/flash-attention: Fast and memory-efficient exact attention
  • 根据实际情况(例如CUDA toolkit版本和PyTorch版本)选择使用的代码版本,这里使用了 v2.7.0.post2
  • 使用 lldacing/flash-attention-windows-wheel · Hugging Face 中提供的WindowsWhlBuilder_cuda.bat文件buildwheel包,其中‘CUDA_ARCH’ 参数要根据本地显卡型号做设置,可通过以下命令获取,不同 NVIDIA 显卡对应不同的数值(格式为 主版本.次版本,通常简化为整数,如 8.9 简写为 89)
    1. nvidia-smi --query-gpu=name,compute_cap --format=csv
    复制代码
4.png

   4. 在‘Native Tools Command Prompt for Visual Studio’中执行脚本,注意需要激活创建的conda虚拟环境(llama-factory),编译过程中会使用虚拟环境中安装的CUDA、PyTorch和Python版本
  1. WindowsWhlBuilder_cuda.bat CUDA_ARCH="89" FORCE_CXX11_ABI=TRUE
复制代码
编译过程根据机器性能可能花费几十分钟到几小时不等(本人用了7小时),编译好的wheel包,例如‘flash_attn-2.7.0.post2+cu121torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl’,代表flash-attention的版本是2.7.0.post2,CUDA的版本是12.1,torch的版本是2.5.1,python的版本是3.10
最后使用编译好的wheel包安装flash-attention
  1. pip install flash_attn-2.7.0.post2+cu121torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
复制代码
使用以下脚本验证flash-attention是否成功安装
  1. import torch
  2. import flash_attn
  3. print("="*50)
  4. print("验证环境配置")
  5. print("="*50)
  6. print(f"PyTorch 版本: {torch.__version__}")
  7. print(f"PyTorch CUDA 版本: {torch.version.cuda}")
  8. print(f"CUDA 是否可用: {torch.cuda.is_available()}")
  9. print(f"GPU 设备: {torch.cuda.get_device_name(0)}")
  10. print(f"\nFlashAttention 版本: {flash_attn.__version__}")
  11. print("\n✅ 验证成功!FlashAttention 已安装并可正常导入。")
  12. print("   它正在使用您PyTorch环境中的CUDA 12.1。")
  13. # 可选:进行一个简单的前向计算测试(如果担心运行时错误)
  14. print("\n进行简单计算测试...")
  15. try:
  16.     dim = 64
  17.     q = torch.randn(1, 8, 128, dim, device='cuda', dtype=torch.float16)
  18.     k = torch.randn(1, 8, 128, dim, device='cuda', dtype=torch.float16)
  19.     v = torch.randn(1, 8, 128, dim, device='cuda', dtype=torch.float16)
  20.    
  21.     output = flash_attn.flash_attn_func(q, k, v, causal=True)
  22.     print("✅ 计算测试通过!FlashAttention CUDA kernel 工作正常。")
  23. except Exception as e:
  24.     print(f"❌ 计算测试失败: {e}")
复制代码
 7、安装LLaMA-Factory

Clone LLama-Factory源码(hiyouga/LLaMA-Factory: Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)),根据提供的文档安装即可(安装 - LLaMA Factory),核心安装命令
  1. pip install -e ".[torch,metrics]"
复制代码
启动webui
  1. llamafactory-cli webui
复制代码
访问webui:http://localhost:7860/,大功告成!!!!!!!!
5.png

 

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册