LLM大模型本地部署与预训练微调

以通义千问-1_8B-Chat为例,按照官方教程,简单介绍如何将模型进行本地CPU部署以及预训练微调:
1、环境条件:Linux 24G内存左右
2、本地部署:
提前安装好git跟git lfs,否则可能拉取不到模型文件,git lfs主要用于大文件拉取。
拉取项目文件:

git clone https://github.com/QwenLM/Qwen.git

创建环境,建议单独创建一个新环境,避免与现有环境冲突,创建后要先安装pytorch,再安装项目依赖模块。

# 创建环境
conda create -n llm python==3.10.4
# 激活环境
conda activate llm 
# 安装pytorch 因为没有GPU 安装CPU版本即可
conda install pytorch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 cpuonly -c pytorch
# 再安装项目依赖
pip install -r requirements.txt 

项目文件以及环境安装好后,继续拉取模型文件,由于内存有限,拉取1.8B即可
拉取模型:

git clone https://www.modelscope.cn/qwen/Qwen-1_8B-Chat.git qwen_model

调用官方给的web_demo.py 进行本地推理,由于没有GPU使用CPU即可:

python web_demo.py --server-name 0.0.0.0 -c qwen_model --cpu-only

运行成功后出现模型对话地址:
在这里插入图片描述
打开地址,如果0.0.0.0无法打开,更换为主机的地址或者自定义的域名,比如我的主机域名为:node1,在浏览器输入:node1:8000即可:
在这里插入图片描述
至此本地化简单部署结束,此时我们使用还是官方训练好的模型,接下来,我们使用自定义数据,对模型进行微调,使其变为我们自己想要训练的模型:
参照官方文档:https://github.com/QwenLM/Qwen/blob/main/README_CN.md
Qwen模型的训练数据格式为:

[{"id": "identity_0","conversations": [{"from": "user","value": "你好"},{"from": "assistant","value": "我是一个语言模型,我叫通义千问。"}]}
]

按照模型的数据格式构建好自己的数据集,这里,我们将回答替换为是我们创造了Qwen模型,让它按照预设输出回答:
在这里插入图片描述
数据集构建后,使用项目文件:finetune/finetune_lora_single_gpu.sh 进行lora微调:
在这里插入图片描述

# 使用自定义数据集对模型进行微调bash finetune/finetune_lora_single_gpu.sh -m qwen_model/ -d train_data_law.json

模型微调过程会使用CPU,且占用内存大概22G左右;如果遇到内存不足,重启主机释放内存后再尝试训练,模型训练完会在当前路径生成一个 output_qwen文件夹,直接运行可能会报错,需要把原来模型里面的generation_config.json文件复制到output_qwen文件夹下面:在这里插入图片描述
调用微调好的模型:

python web_demo.py --server-name 0.0.0.0 -c output_qwen/ --cpu-only

再次跟它对话,可以正常返回微调结果:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【教程】DPW 325T FPGA板卡程序下载与固化全攻略

到底什么是固化??? 在开发板领域,"固化"通常指的是将软件或操作系统的镜像文件烧录(Flash)到开发板的存储介质上,使其成为开发板启动时加载的系统。这个过程可以确保开发板在启动时能…

从单点到全景:视频汇聚/安防监控EasyCVR全景视频监控技术的演进之路

在当今日新月异的科技浪潮中,安防监控领域的技术发展日新月异,全景摄像机便是这一领域的杰出代表。它以其独特的360度无死角监控能力,为各行各业提供了前所未有的安全保障,成为现代安防体系中的重要组成部分。 一、全景摄像机的技…

【SpringMVC】第1-7章

第1章 初始SpringMVC 1.1 学习本套教程前的知识储备 JavaSEHTMLCSSJavaScriptVueAJAX axiosThymeleafServletMavenSpring 1.2 什么是MVC MVC架构模式相关课程,在老杜的JavaWeb课程中已经详细的讲解了,如果没有学过的,可以看这个视频&…

当下为什么越来越多的企业选择产业园区,而不是写字楼?

随着经济形势的变化和各行业的升级转型,我们发现越来越多的企业选择扎根产业园而非传统的写字楼,这一现象背后真正的原因是什么呢?今天我们就站在企业自身发展的角度,全维度对比一下产业园与传统写字楼的区别,看是否能…

参加六西格玛绿带培训是投资未来,还是花冤枉钱?

是否值得花费资金参加六西格玛绿带培训,取决于多个因素。 从积极的方面来看,参加六西格玛绿带培训具有以下潜在价值: 1. 提升专业技能:使您掌握一套系统的问题解决方法和流程改进工具,有助于在工作中更高效地解决复杂…

代码随想录算法训练营:14/60

非科班学习算法day14 | LeetCode266:翻转二叉树 ,Leetcode101: 对称二叉树,Leetcode100:相同的的树 ,LeetCode572:另一颗树的子树,LeetCode104:二叉树的最大深度,LeetCode559:N叉树的最大深度 目…

SDK 程序卡在 AXI DMA 配置 (XAxiDma_CfgInitialize)的解决方法

在进行 AXI DMA 配置 时候代码一直卡在XAxiDma_CfgInitialize函数出不来,也没有打印报错。 /* Initialize the XAxiDma device.*/CfgPtr XAxiDma_LookupConfig(DeviceId);if (!CfgPtr) {xil_printf("No config found for %d\r\n", DeviceId);return XST_…

ResNet-50算法

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、理论知识储备 1.CNN算法发展 AlexNet是2012年ImageNet竞赛中,由Alex Krizhevsky和Ilya Sutskever提出,在2012年ImageNet竞赛中&a…

头歌——机器学习——支持向量机案例

第1关:基于支持向量机模型的应用案例 任务描述 本关任务:编写一个基于支持向量机模型的应用案例。 相关知识 在本应用案例中,我们借助一个具体的实际问题,来完整地实现基于支持向量机模型的开发应用。在此训练中,我…

运筹系列93:VRP精确算法

1. MTZ模型 MTZ是Miller-Tucker-Zemlin inequalities的缩写。除了定义是否用到边 x i j x_{ij} xij​外,还需要定义一个 u i u_i ui​用来表示此时车辆的当前载货量。注意这里x变量需要定义为有向。 这里定义为pickup问题,代码为: using Ju…

windows下载jdk并安装步骤(保姆级教程)

一、下载jdk 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、双击下载好的jdk 更改安装目录然后点击下一步 然后会弹出jre的安装,需要选择路径(注意:这里的路径必须跟前面的jdk在…

将huggingface的大模型转换为safetensor格式

很多huggingface的大语言模型都是pytorch的格式,但是mindie需要safetensor格式,另外mindieservice加载原始的baichuan2-13b的模型出错,后来排查是bfloat16数据格式的问题,所以这次转换要一次性转为float16的格式。 上代码&#x…

计算机网络:如何隐藏真实的IP和MAC地址?

目录 一、什么是MAC地址二、什么是IP地址三、如何隐藏真实的MAC地址四、如何隐藏真实的IP地址 一、什么是MAC地址 MAC地址,全称为媒体访问控制地址(Media Access Control Address),是一种用于网络通信的唯一标识符。它是由IEEE 8…

PLC网关如何选择?plc网关作用-天拓四方

一、PLC网关在工业自动化领域的重要性和作用 PLC网关在工业自动化领域的重要性和作用不言而喻。作为工业自动化系统的重要组成部分,PLC网关起到了关键的桥梁作用,实现了PLC与其他设备、系统之间的数据传输和通信。 首先,PLC网关的重要性体现…

最像人声的语音合成模型-ChatTTS

目录 写在前面 一、使用ChatTTS 二、优点 三、局限 写在前面 最像人声的AI来了!语音开源天花板ChatTTS火速出圈,3天就斩获9k个star。截至发稿前,已经25.9k个star了。这是专门为对话场景设计的语音生成模型,用于LLM助手对话任务…

搭建抖音微短剧系统:源码部署与巨量广告回传全解析

在数字化浪潮中,抖音微短剧已成为内容创作的新宠。想要搭建一个高效的抖音微短剧系统,并实现与巨量广告的有效回传吗?本文将为您详细解析源码部署与广告回传的关键步骤。 一、源码部署:构建短剧系统的基石 源码是软件开发的起点…

vscode远程连接Ubantu

一、首先用VM虚拟机打开一个Linux系统 二、打开VScode 在扩展里安装 安装后,打开Linux查看IP地址 在VScode 中新建连接主机 输入linux_nameip地址 -A 然后输入Linux的登录密码 就可以远程操控 Linux了 可以在终端中远程控制Linux 点击左上角的打开文件夹可以很…

什么是 Azure OpenAI?

目录 一、说明 二、什么是 Azure OpenAI 2.1 网络结构 2.2 、为什么使用 Azure OpenAI 2.3 如何使用 Azure OpenAI 三、从哪里开始 Azure OpenAI 之旅 3.1 关于 Azure OpenAI,我还需要了解什么 3.2 RBAC 权限和角色 3.3 演示 1:在公共数据上应用…

聚合项目学习

首先建立一个总的工程目录,里边后期会有我们的父工程、基础工程(继承父工程)、业务工程(依赖基础工程)等模块 1、在总工程目录中(open一个空的文件夹),首先建立一个父工程模块(通过spring init…

4面体空间内直链4点结构分布与占比

在30个点的4面体空间内取4个点,有30*29*28*27/2427405种取法,要求得到的4个点必须在直链上。只有144个结构符合要求,在平移操作下不重合的结构有36个。 这36个结构可以按照旋转对称性进一步分成3组0,1,4,每…