LLaMA-Factory私有化部署 -- PAI-DSW

news2025/1/16 14:01:17

LLaMA-Factory是一款比较流行的大语言模型微调框架。本文主要记录在阿里云人工智能平台PAI的DSW实例中部署LLaMA-Factory的过程,主要参考的教程是B站视频LLaMA-Factory私有化部署。

LLaMA-Factory的私有化部署与部署大模型的过程大体相同,都包括创建Python虚拟环境、下载项目文件及安装所需的依赖包,但在部署LLaMA-Factory时不需要再安装模型权重文件。

部署前提:了解LLaMA-Factory私有化部署对软硬件的要求(在进行部署之前,一定要在Github上查看项目文件,以了解其软硬件版本要求)
在这里插入图片描述

step1: 安装NVIDIA显卡驱动

一般云服务器上已经安装好了显卡驱动,只需使用下面的代码进行确认显卡驱动安装情况

nvidia-smi

step2: 安装Anaconda

我使用conda --version没有查看到conda的信息,应该是DSW实例中没有进行预先安装。采用下面的命令进行安装:

# 下载安装包
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
# 执行安装命令
bash Anaconda3-2023.09.0-Linux-x86_64.sh

默认的安装路径是/root/anaconda3。

安装完成后,采用下面的命令修改bashrc文件以配置环境变量。

vi ~/.bashrc

按 i 进入编辑模式,在bashrc文件低端添加下面的代码

# 末尾添加anaconda3所在路径
export PATH=/root/anaconda3/bin:$PATH
# 修改终端的默认 python 为 anaconda,否则会报错找不到命令activate
source /root/anaconda3/bin/activate

添加完成后,按Esc键退出编辑模式,然后输入:wq保存、退出。再在命令行使用以下代码令环境变量的修改立即生效。

source ~/.bashrc

step3: 使用Conda创建LLaMA-Factory的Python虚拟环境

需要记住的是一个项目对应一个虚拟环境。

# 创建虚拟环境
conda create --name llama_factory python==3.11
# 激活,进入虚拟环境
conda activate llama_factory

step4: 根据CUDA版本安装pytorch

使用下面的代码进行Pytorch的安装

#根据自己电脑显卡的CUDA版本要求,在Pytorch官网中找到适合自己的Pytorch
conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia

安装完成后进入Python编辑器,检查GPU及Pytorch是否安装成功。

python
import torch
print(torch.cuda.is_available())
#如果输出为True,则安装成功

step5: 下载LLaMA-Factory项目文件

也可以在github中下载.zip文件,然后上传至云服务器进行解压、安装。

这里使用git安装。

#先安装git软件部
sudo apt install git
#通过git clone将项目文件下载至本地
git clone https://github.com/hiyouga/LLaMA-Factory.git

step6: 更新pip

建议在执行项目的依赖安装之前升级pip的版本,如果使用的是旧版本的pip,可能无法安装一些最新的包,或者可能无法正确解析依赖关系。

python -m pip install --upgrade pip

step7: 使用pip安装LLaMA-Factory项目代码运行的项目依赖

LLaMA-Factory的requirements.txt文件包含了项目运行所需的所有Python包及其精确版本,可使用pip一次性安装所有依赖。

# 进入LLaMA-Factory文件夹
cd LLaMA-Factory
# 安装requirements.txt
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ 

上面是24年5月份之前的安装方法(所以上面的代码块不需要执行),在5月份之后,需要运行如下的命令安装依赖:

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

安装完成后可以使用下面的代码来进行验证:

llamafactory-cli train -h

输出如下则表示安装成功:
在这里插入图片描述

然后使用如下代码来进行网页端启动:

llamafactory-cli webui

这个是网页端的微调界面
在这里插入图片描述

其他参考:
LLaMA-Factory微调大模型——LLaMA-Factory搭建
微调神器LLaMA-Factory官方保姆级教程来了,从环境搭建到模型训练评估全覆盖

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

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

相关文章

培训第十九天(安装nginx代理tomcat)

上午 1、构建vue发行版本 [rootserver ~]# cd eleme_web/[rootserver eleme_web]# npm run buid //项目未执行时运行该命令,创建发行版本 [rootserver eleme_web]# cd dist/ //dist中包含发行版本的所有文件[rootserver dist]# lscss favicon.ico img in…

git创建远程仓库

注册 请自行注册github账号 创建远程仓库 自己在上图那里可以创建一个远程仓库 克隆远程仓库 我们需要将远程仓库克隆到本地之后,在本地修改最后上传到远程仓库,关系如下: 由于我们的仓库是私密仓库,需要通过ssh密钥的方法才…

day19(安装nginx代理 + tomcat)

1、构建vue发行版本 [rootserver ~]# cd eleme_web/ [rootserver eleme_web]# npm run buid //项目未执行时运行该命令,创建发行版本 [rootserver eleme_web]# cd dist/ //dist中包含发行版本的所有文件 [rootserver dist]# ls css favicon.ico img index…

⌈ 传知代码 ⌋ 基于矩阵乘积态的生成模型

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

SQL语句分类;查看MySQL存储引擎

文章目录 SQL语句分类查看MySQL存储引擎存储引擎对比 SQL语句分类 数据本身权限:定义 修改 DDL【data definition language】 数据定义语言,用来维护存储数据的结构 代表指令: create, drop, alterDML【data manipulation language】 数据操纵语言&…

第十九天内容

上午 1、构建vue发行版本 2、java环境配置 jdk软件包路径: https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz 下午 1、安装tomcat软件 tomcat软件包路径: https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-to…

水库大坝安全自动监测系统位移测点布设

水库大坝安全自动监测系统中的位移测点布设是大坝安全监测的重要环节,其目的是为了及时、准确地获取大坝的位移信息,评估大坝的稳定性,确保大坝的安全运行。位移测点的布设需要综合考虑大坝的结构特点、地质条件、运行工况及监测需求等多方面…

tomcat多实例配置-Linux(CentOS)

多实例配置 一、安装 tomcat二、多实例配置 tomcat 官网 tomcat 安装包下载地址 一、安装 tomcat 解压tomcat压缩包到 /usr/local 下 tar xf apache-tomcat-*.gz -C /usr/local/# 可选 添加一个软链接,方便查找 ln -s /usr/local/apache-tomcat-* /usr/local/tom…

python实现发票信息识别和处理

公司需要发票报销,一定周期的发票攒在一起,处理报销单特别繁琐,遂萌生用python简化报销流程。 明确需求 公司报销单需要发票代码(短码),金额,总计金额,如下图 开始编码 首先需要一个读取pdf的类库 pdf…

AEAD:AES-CCM简介

目录 1. CCM模式 2.认证加密过程 3.校验解密过程 1. CCM模式 CCM(Counter with CBC-MAC) 首先使用 CBC-MAC 来保证数据完整性和真实性,然后使用 CTR 模式来保证数据机密性。 在CCM中,受保护的数据被称为payload,简…

虚拟机(CentOS7)安装gitlab

GitLab官方安装教程 链接:https://gitlab.cn/install/ 1、关闭虚拟机防火墙 # 关闭防火墙命令 systemctl stop firewalld # 查看当前防火墙的状态信息 systemctl status firewalld成功关闭 2、GitLab安装包下载 # windows下载地址: https://mirrors.t…

JVM—对象已死?

在堆里面存放着 Java 世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。 1、如何判断对象存活 1.1 引用计数法 给对象增加一个引用计数器,当对象被引用一次计数器加一、当引用失效时计数…

深入源码P3C-PMD:使用流程(1)

PMD开源组件启动流程介绍 在软件开发领域,代码质量是项目成功的关键因素之一。为了提升代码质量,开发者们常常借助各种工具进行代码分析和检查。PMD作为一款开源的静态代码分析工具,在Java、JavaScript、PLSQL等语言项目中得到了广泛应用。本…

虚拟主机与vue项目、samba磁盘映射、nfs共享

1、复习 (1)tomcat服务器需要jdk环境 版本对应 tomcat9》jdk1.8 tomcat10》jdk17 配置系统变量JAVA_HOME sed -i $a export JAVA_HOME/usr/local/jdk22/ /etc/profile sed -i $a export PATHJAVA_HOME/bin:$PATH /etc/profile source /etc/profile…

基于FPGA的出租车计费系统设计---第一版--郝旭帅电子设计团队

欢迎各位朋友关注“郝旭帅电子设计团队”,本篇为各位朋友介绍基于FPGA的出租车计费系统设计—第一版 功能说明: 收费标准(里程):起步价5元,包括三公里;三公里之后,每公里2元&#x…

JVM: 堆上的数据存储

文章目录 一、对象在堆中的内存布局1、对象在堆中的内存布局 - 标记字段2、JOL打印内存布局 二、元数据指针 一、对象在堆中的内存布局 对象在堆中的内存布局,指的是对象在堆中存放时的各个组成部分,主要分为以下几个部分: 1、对象在堆中的…

Java SpringTask定时自动化处理

目录 一、自动化处理 1.1 什么是自动化处理 1.2 SpringTask介绍 二、SpringTask的基本使用 2.1 引入依赖 2.2 通过控制台加入注解启用SpringTask 2.3 使用Cron表达式规定时间 2.4 通过Schedule(Cron表达式) 实现定时任务(每两秒执行一次) 三、实…

【完美解决】 TypeError: ‘str’ object does not support item assignment

【完美解决】 TypeError: ‘str’ object does not support item assignment 在Python编程中,遇到TypeError: str object does not support item assignment这样的错误通常意味着你试图修改字符串中的某个字符,但字符串是不可变类型,不支持这…

【每日一题 | 组成原理】补码溢出判断

题目 题型总结 带符号的定点数表示方式有4种,分别是原码、反码、补码和移码,他们都由两部分组成,分别是符号位和数值位,这四种编码方式非常重要,要熟练掌握他们之间的转换和与真值间的转换。这里我们重点看一下补码&a…

408-部分知识点笔记(自用)

一、操作系统部分 1.内中断(异常)和外中断(中断) 1.1 异常(内中断) 异常就是指CPU内部发生的中断,与当前正在执行的程序有关。类似的内中断有:缺页中断、算法溢出、除以0错误、存…