Llama微调以及Ollama部署

news2024/12/25 14:11:52

1 Llama微调

在基础模型的基础上,通过一些特定的数据集,将具有特定功能加在原有的模型上。

1.1 效果对比

  • 特定数据集
    在这里插入图片描述
  • 未使用微调的基础模型的回答
    在这里插入图片描述
  • 使用微调后的回答
    在这里插入图片描述

1.2 基础模型

基础大模型我选择Mistral-7B-v0.3-Chinese-Chat-uncensored,
模型文件可以在HuggingFace 模型

1.3 选择数据集

微调大模型要想获得比较好的效果,拥有高质量的数据集是关键。可以选择用网上开源的,或者是自己制作。以中文数据集弱智吧为例,约1500条对话数据,数据集可以从HuggingFace 数据集

1.4 训练lora模型并与基础模型进行合并

新建一个merge.py文件,将基础模型和lora模型合并为一个新的模型文件

执行merge.py,需要传入的参数(改成自己的):
--base_model
基础模型路径
--lora_model
微调的lora模型路径
--output_dir
合并后模型的输出路径

1.5 量化模型

利用llama.cpp进行量化模型.

  • 1.安装CMAKE下载llama.cpp源码
    git clone https://github.com/ggerganov/llama.cpp.git
    cd llama.cpp
  • 2.安装依赖
    pip install -r requirements/requirements-convert-hf-to-gguf.txt
    cmake -B build
    cmake --build build --config Release
  • 3.执行转换脚本,将safetensors转换为gguf文件,便于量化
    convert-hf-to-gguf.py 合并后模型的位置 --outtype f16 --outfile 转换后模型的位置my_llama3.gguf
  • 4.对转后的文件进行量化操作。
    llama.cpp所在位置\llama.cpp\build\bin\Release quantize.exe 转换后模型的路径 量化后模型的位置quantized_model.gguf q4_0

至此,llama微调后的模型操作完毕,可以直接使用。

2.Ollama部署

Ollama安装地址

2.1 部署现有的模型

在这里插入图片描述
打开Ollama,找到目录中现有的模型,使用ollama run llama3.2,来使用现有模型。

2.2 使用微调模型

  • 1.在上述已量化好的模型quantized_model.gguf的目录中新建Modelfile文件
FROM 量化好的模型路径
TEMPLATE "[INST] {{ .Prompt }} [/INST]"
  • 2.使用微调模型
# ollama create 模型名字 -f Modelfile文件路径
ollama create panda -f  test.Modelfile

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

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

相关文章

Label-Studio ML利用yolov8模型实现自动标注

引言 Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个示例模型库,您可以在自己的工作流程中使用这些模型&#x…

[Cocoa]_[初级]_[绘制文本如何设置断行方式]

场景 在开发Cocoa程序时,表格NSTableView是经常使用的控件。其基于View Base的视图单元格模式就是使用NSCell或其子类来控制每个单元格的呈现。当一个单元格里的文字过多时,需要截断超出宽度的文字,怎么实现? 说明 Cocoa下的文本…

演讲干货整理:泛能网能碳产业智能平台基于 TDengine 的升级之路

在 7 月 26 日的 TDengine 用户大会上,新奥数能 / 物联和数据技术召集人袁文科进行了题为《基于新一代时序数据库 TDengine 助力泛能网能碳产业智能平台底座升级》的主题演讲。他从泛能网能碳产业智能平台的业务及架构痛点出发,详细分享了在数据库选型、…

【多线程奇妙屋】能把进程和线程讲的这么透彻的,没有20年功夫还真不行【0基础也能看懂】

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

OpenGL ES 顶点缓冲区和布局(3)

OpenGL ES 顶点缓冲区和布局(3) 简述 顶点缓冲区的本质就是一段GPU上的显存,我们通过绑定顶点缓冲区的方式来将数据从CPU传到GPU。 我们之前在绘制三角形的例子中,我们往顶点缓冲区只传入了坐标,但是其实顶点是可以包含很多数据的&#xff…

指定PDF或图片多个识别区域,识别区域文字,并导出到Excel文件中

常见场景 用户有大量图片/PDF文件,期望能将图片/PDF中的多个区域中的文字批量识别出来,并导入到Excel文件中。期望工具可以批量处理、离线识别(保证数据安全性)。手工操作麻烦。具体场景:用户有工程现场照片&#xff…

xgboost cross validation

在R中使用xgboost 假设X为训练数据,y为label,为0或者1.用xgboost建立分类模型代码如下 调用caret包中的createFolds方法,进行10倍交叉验证 最后画出AUC曲线 library(xgboost) library(caret) library(caTools) library(pROC)set.seed(123) …

【北京迅为】《STM32MP157开发板嵌入式开发指南》- 第十一章 Linux 帮助手册讲解

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

3DGS中Densification梯度累计策略的改进——绝对梯度策略(Gaussian Opacity Fields)

在学习 StreetGS 代码中发现了其中的 Densification 策略与原 3DGS 不太一样,其是使用的 Gaussian Opacity Fields 中的一个的策略 我们先来回忆一下 3DGS 中一个比较重要 contribution:自适应密度控制 1 自适应密度控制 其具体步骤如下: …

概率论——随机分布

离散型——二项分布 X ~ B(n , p) 例题: 例题二: 离散型——泊松分布 例题 注意:记住题二的结论!!! 连续性——均匀分布 例题:求解概率密度(具体方法见随机…

请问PMP英文报名被审查该怎么通过?

审核抽查是随机进行的(一般概率约为30%),并非所有人都会接受资料抽查。如果您报考了机构,他们会协助您解决这个问题。 一、资料审查: 如果被PMI选中进行审查,这是正常情况,不必惊慌。如果你参…

要洞察数字化本质,才能形成破局之道...

在深入探索数字化转型的突破路径之前,首要之务是构筑对数字化及其转型过程的深刻而准确的认知体系。唯有透彻理解数字化的内在本质,精准把握数字化转型的演变规律,方能引领数字化转型的航向,确保数字化工具与策略得以高效、精准地…

(一)万字详解G1垃圾收集器 —G1的设计目标是什么?G1的分区是什么?卡表的作用和工作原理?如何解决漏标问题?

一、G1垃圾收集器简介 G1 GC(Garbage-First Garbage Collector)是一款先进的垃圾收集器,通过 -XX:UseG1GC 参数启用。它首次亮相于JDK 6u14版本,并在JDK 7u4中正式发布。对于熟悉JVM的开发者而言,G1已是一个广为人知的…

测试卡(1)灰卡

#灵感# 灰卡为什么是18%?文章分为三部分,前部分,解释灰卡的定义,后部分是 市场买的18%灰卡的说明书,其中穿插了网络上搜到的灰卡使用案例。 目录 18% 中性灰卡应用说明 1) 曝光水平 例子:用灰…

ppt模板如何制作?建议试试这4招

在追求效率和简洁的现代办公环境中,简约风格的PPT模板因其清晰、直观的特点而备受青睐。制作一个简约的PPT模板不仅能提升演示的专业感,还能帮助观众快速抓住重点。 今天,我来告诉大家:ppt模板简约怎么制作?让你能够利…

Kubernetes 节点何时处于就绪状态?

在 Kubernetes 中,节点(Node)是一个工作负载的基本单元,容器被部署和运行在这些节点上。每个 Kubernetes 节点在加入集群后都需要经过一定的健康检查和状态评估,才能被集群标记为“就绪”状态。这一过程的关键是节点的…

Linux相关概念和重要知识点(9)(父进程、子进程、进程状态)

1.父进程、子进程 (1)父进程 CLI本质上是一款命令行界面的软件,是用户调用接口层面的程序(上层,可以和系统调用接口做沟通),CLI和GUI是同级别的。用户的操作都是建立在CLI和GUI之上的。 但是…

奔三理工男适合转行做AI算法工程师吗?

奔三男生转行可以做什么? 干了几年开发程序员却面临降薪优化? 说实话,如果学历一般技术一般, 无法与时俱进的话,会容易面临尴尬情况…… 就业这件事,选对赛道方向至关重要!! 这…

profinet转ethercat连接伺服在工业现场的配置案例

在工业通信领域,Profinet 转 EtherCAT 网关的应用为实现不同工业网络之间的通信提供了有效的解决方案。以下是一个关于 Profinet 转 EtherCAT 网关链接伺服配置的案例。 首先,我们需要准备好相关的硬件设备,包括 Profinet 转 EtherCAT 网关、…

Docker Desktop 安装Centos 7.9 使用yum install不可用问题

安装centos镜像并run之后,使用yum install 命令安装出现如下错误,可使用此命令替换mirror。 报错信息: Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archaarch64&repoos&infracontainer error was…