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

llamafactory的包安装

cuda版本12.1,python版本3.10,torch版本2.4.0,几个关键包版本如下:

torch==2.4.0
transformers==4.48.3
triton==3.0.0
flash-attn==2.7.1.post4
xformers==0.0.27.post2
vllm==0.6.3.post1
vllm-flash-attn==2.6.1
unsloth==2025.3.18
unsloth_zoo==2025.3.16

具体安装过程:

  1. 安装虚拟环境:conda create -n llama python=3.10

  2. 在Cuda Toolkit | Anaconda.org找到对应的cuda版本的安装命令,我的是conda install nvidia/label/cuda-12.1.0::cuda-toolkit(最简单的是conda install cudatoolkit=12.1,但截至目前好像只支持到11.8)

  3. 安装torch2.4.0,注意不要直接pip install torch==2.4.0,会装成cpu版本的(经典错误了属于是),有几种安装方法,除了官方推荐的pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121,还可以在https://download.pytorch.org/whl/torch/等网站先下载对应版本的whl再进行安装(注意whl文件名要包含cu121)。由于与主线无关,此处不多赘述。

  4. 安装好torch后就是安装其他包了,由于安装其他包时可能会重新安装torch,而用--no-deps--ignore-installed命令又可能导致版本不匹配,所以我一般都会同步安装各个包,例如pip install transformers==4.48.3 triton==3.0.0 xformers==0.0.27.post2 flash_attn==2.7.1.post4 torch==2.4.0+cu121,由于命令中指定安装已有的torch==2.4.0+cu121,它就不会覆盖安装新的torch了。

  5. vllm和unsloth安装失败率较高。我安装vllm是使用了下面两种方式,第二种是我已知对应版本能够匹配上,如果不确定能否匹配上则应使用第一种。

    pip install git+https://github.com/vllm-project/vllm.git transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121
    pip install vllm==0.6.3.post1 vllm-flash-attn==2.6.1 transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121
    
  6. 安装unsloth:pip install unsloth==2025.3.18 transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121 unsloth==2025.3.18 xformers==0.0.27.post2

  7. 安装llamfactory:pip install -e ".[torch,metrics]" transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121 unsloth==2025.3.18 xformers==0.0.27.post2

安装后由于vllm版本低可能出现模块不存在问题:

File "/usr/local/miniconda3/envs/llama/lib/python3.10/site-packages/unsloth_zoo/vllm_lora_worker_manager.py", line 16, in <module>from vllm.lora.peft_helper import PEFTHelper
ModuleNotFoundError: No module named 'vllm.lora.peft_helper'

可参照博客ModuleNotFoundError: No module named ‘vllm.lora.peft_helper‘原因和解决方式进行解决

相关文章:

  • springboot起步依赖的原理是什么?
  • 企业工商信息查询API接口开发指南 - 基于模糊检索的工商数据补全方案
  • 单例模式与消费者生产者模型,以及线程池的基本认识与模拟实现
  • 再探模板与泛型编程
  • sizeof和strlen区分,(好多例子)
  • 52单片机LED实验
  • An Improved Fusion Scheme for Multichannel Radar Forward-Looking Imaging论文阅读
  • DAY 50 leetcode 1047--栈和队列.删除字符串中的所有相邻重复项
  • 每日一道leetcode(补充版)
  • AI提效思考 - 第一期
  • 线程基础题
  • 【Elasticsearch入门到落地】11、RestClient初始化索引库
  • 【最后203篇系列】029 基于Machinations构造回测系统
  • SQL注入 01
  • 机器学习专栏(4):从数据饥荒到模型失控,破解AI训练的七大生死劫
  • 实现对象之间的序列化和反序列化
  • Kubernetes控制平面组件:调度器Scheduler(一)
  • Java 软件测试开发相关资源
  • DSA数据结构与算法 6
  • 快速从S32K358切换到328
  • 朱守科已任西藏自治区政府党组成员、自治区公安厅党委书记
  • AI时代的阅读——当今时代呼唤文学的思想实验和人文认知
  • 习近平同阿塞拜疆总统阿利耶夫会谈
  • 美股反弹,纳斯达克中国金龙指数大涨3.69%
  • 教皇方济各逝世,外交部:表示哀悼,愿同梵方共同推动中梵关系持续改善
  • 我们的免疫系统,是世界上最好的“医生”