LLaMA-Factory环境安装-重点总结

问题:在使用官网介绍的博客,进行安装,比较顺利。只不过,在需要推理加速时,UI界面上,给出的选项所支持的FlashAttention-2和Unsloth,不好实现。在进行一系列的调整,总结如下:

想要同时实现FlashAttention-2和Unsloth推理加速的环境安装方式:

以Ubuntu22.04 RTX4090 24GB为例:

1. 系统配置:CUDA版本选择12.2.x,因为高版本的flash-attn库不提供12.1版本的安装包:

## cuda 
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.2/lib64

2. 虚拟环境创建:python版本选择3.10.x,使用官方推荐的安装方式:

conda create -n llama_factory python=3.10 -y

3. 首先安装LLaMA-Factory官方提供的环境安装内容:

pip install -e .[torch,metrics,,bitsandbytes]

备注:torch版本为2.3.x,后续根据变化调整为对应版本

4. 然后安装flash-attn库,版本号含有cu122torch2.3cxx11abiFALSE:

pip install flash_attn-2.5.8+cu122torch2.3cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

备注:安装版本号含TRUE会报错。

5. 最后安装unsloth库,根据官方的安装内容,仅选取部分即可:

pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
……
Installing collected packages: unsloth, protobufAttempting uninstall: protobufFound existing installation: protobuf 5.26.1Uninstalling protobuf-5.26.1:Successfully uninstalled protobuf-5.26.1
Successfully installed protobuf-3.20.3 unsloth-2024.5

备注:有colab-new标识的,其他标识的安装额外库会报错。其次,这一步会将protobuf版本号降低导致FlashAttention-2方式的模型加速报错,但是将其版本号恢复为原先版本不会导致Unsloth方式模型加速报错,所以重新安装原先版本的protobuf库,此处根据实际进行恢复版本号:

pip install protobuf==5.26.1

6. 至此,安装完毕。不过还需要注意,在由Unsloth加速方式切换到其他方式的时候,会导致其他加速方式的模型加载失败,重启UI服务即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837548.shtml

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

相关文章

三分钟了解计算机网络核心概念-数据链路层和物理层

计算机网络数据链路层和物理层 节点:一般指链路层协议中的设备。 链路:一般把沿着通信路径连接相邻节点的通信信道称为链路。 MAC 协议:媒体访问控制协议,它规定了帧在链路上传输的规则。 奇偶校验位:一种差错检测方…

uniapp怎么使用jsx

安装vitejs/plugin-vue-jsx npm install vitejs/plugin-vue-jsx -Dvite.config.js配置 import { defineConfig } from "vite"; import uni from "dcloudio/vite-plugin-uni"; import vueJsx from vitejs/plugin-vue-jsxexport default defineConfig({plu…

upload-labs靶场通关详解(1-15)

1.pass-01 查看源代码 是js,属于前端校验 可以通过禁用js来上传文件 2.pass-02 根据提示是MIME绕过 MIME:是设定某种扩展名的文件 用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来…

冯喜运:5.14黄金价格空头延续反弹空,原油走势分析实时操作

【黄金消息面分析】:周二(5月14日)亚洲时段,现货黄金窄幅震荡,目前交投于2342美元/盎司。金价周一因获利了结下跌1%,收报2336.10美元/盎司,投资者等待本周的关键通胀数据为今年美国降息提供更多…

机器学习——线性回归模型

目录 一、算法思想 二、代码实现 一、算法思想 线性回归模型的训练和预测,并包含了数据预处理、损失函数计算、梯度下降优化等步骤。以下是算法的主要步骤: 1. 数据加载与预处理(load_data函数): 从sklearn.datasets中加载波士顿房价数据集。将数据集…

浅析Java贪心算法

浅析Java贪心算法 在计算机科学中,贪心算法(Greedy Algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法并不总是能够得到全…

使用Subtitle edit合成双语字幕

有的时候从网上下载的字幕有单独的中文版和英语版,但是没有中英文一起的双语字幕: 后缀为chs的是中文简体后缀为cht的是中文繁体后缀为eng的是英文 如果我们在电脑端上可以直接用potplayer添加副字幕来实现双语,但是如果是别的播放器&#…

多线程·线程状态

目录 1.等待一个线程 join 2.休眠当前线程 3.线程的所有状态 4.线程的状态转换 1.等待一个线程 join 有些场景,我们需要控制线程的执行顺序,这时候就需要用到 join 了 比如:把大象装进冰箱要几步? 第一步:打开冰…

Java基础面试题(5.14)

1.Java语言的特点? 1.一面向对象(封装,继承,多态);2.平台无关性( Java 虚拟机实现平台无关性);(类是一种定义对象的蓝图或模板)3.支持多线程( C 语言没有内置…

React 学习-4

1.React 事件处理-传入函数作为事件处理函数 <button onClick{activateLasers}>激活按钮 </button> 注意事项&#xff1a;&#xff08;1&#xff09;阻止默认行为必须使用preventDefault,不能使用return false &#xff08;2&#xff09;ES6 class 语法来定义一个…

设计模式-13 - Prototype Design Pattern 原型设计模式

设计模式-13 - Prototype Design Pattern 原型设计模式 1.定义 原型设计模式是一种创建对象的方式&#xff0c;它通过复制一个现有的对象&#xff08;原型&#xff09;来创建一个新对象。 2.内涵 优点&#xff1a; 创建对象的高效方式&#xff1a;克隆一个对象比从头开始创建…

【数据结构陈越版笔记】第1章 概论

我最近准备以陈姥姥的数据结构教材为蓝本重新学一下数据结构&#xff0c;写一下读书笔记 第1章 概论 1.1 引子 概论中首先描述了&#xff0c;数据结构的定义没有具体的定义&#xff0c;初学者可以不用管这个定义的问题&#xff0c;但是我理解的和维基百科的说法是一样的“数…

全面了解 Swagger 导出功能的使用方式

Swagger 是一个强大的平台&#xff0c;专门用于开发、构建和记录 RESTful Web 接口。通过其提供的交互式用户界面&#xff0c;开发人员能够轻松且迅速地创建和测试 API。Swagger 还允许用户以多种格式&#xff0c;包括 JSON 和 Markdown&#xff0c;导出 API 文档。选择 JSON 格…

人工神经网络(科普)

人工神经网络&#xff08;Artificial Neural Network&#xff0c;即ANN &#xff09;&#xff0c;是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象&#xff0c; 建立某种简单模型&#xff0c;按不同的连接方式组成不同的网络。在工程…

Android - 3段式耳机和4段式耳机

在看调整音频参数的相关文档时发现&#xff0c;audio模式下音频参数上还会对耳机有区分。  Headset4P&#xff1a; 4 段式耳机&#xff08; 8k LTENB &#xff09;  Headset3P&#xff1a; 3 段式耳机&#xff08; 8k LTENB &#xff09; 但不太清楚相关设计&#xff0…

MySQL中的索引失效问题

索引失效的情况 这是正常查询情况&#xff0c;满足最左前缀&#xff0c;先查有先度高的索引。 1. 注意这里最后一种情况&#xff0c;这里和上面只查询 name 小米科技 的命中情况一样。说明索引部分丢失&#xff01; 2. 这里第二条sql中的&#xff0c;status > 1 就是范围查…

error和exception的区别?

Error类: 一般是指与虚拟机相关的问题&#xff0c;如:系统崩溃,虚拟机错误&#xff0c;内存空间不足&#xff0c;方法调用栈溢出等。这类错误将会导致应用程序中断&#xff0c;仅靠程序本身无法恢复和预防; Exception 类:分为运行时异常和受检查的异常。 运行时异常:【如空指针…

什么品牌洗地机最好?怎么选?2024家用洗地机推荐攻略

随着科技的不断发展&#xff0c;家用洗地机已经成为人们家庭清洁任务重非常重要的辅助工具。家用洗地机集吸尘、扫地、拖地等功能于一体&#xff0c;通过高速旋转的滚刷和强力的吸力&#xff0c;将地面上的污渍、细菌和毛发等吸入污水箱&#xff0c;从而达到清洁地面的目的。但…

Uboot(三)

Uboot的移植 移植 U-Boot 到新的硬件平台通常涉及以下几个步骤&#xff1a; 了解目标硬件平台&#xff1a;首先&#xff0c;你需要详细了解目标硬件平台的架构、处理器类型、外设配置、存储器布局等信息。这包括查阅硬件手册、芯片手册、电路图以及原始的引导代码等。 获取 U…

Java设计模式-命令模式(16)

命令设计模式(Command Pattern)在Java中的实现细节如下所述,这将是一个详细的教程,涵盖模式的基本概念、组成部分、实现步骤、以及如何在实际开发中应用这一模式。 命令设计模式基础 命令模式是一种行为设计模式,它将请求封装成对象,允许你参数化客户对请求的调用,队列…