Llama微调以及Ollama部署

news/2024/9/30 12:27:45 标签: llama

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微调后的模型操作完毕,可以直接使用。

llama_44">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.niftyadmin.cn/n/5685099.html

相关文章

uniapp生物识别示例(人脸识别、指纹识别)

准备工作&#xff1a; mainfest.json设置勾选&#xff1a; 勾选完成后打 App自定义调试基座测试包 示例代码&#xff1a; <template><view class"content"><button v-if"supportSoterAuthenticationArray.includes(facial)" click"…

​IAR全面支持国科环宇AS32X系列RISC-V车规MCU

全球领先的嵌入式系统开发软件解决方案供应商IAR与北京国科环宇科技股份有限公司&#xff08;以下简称”国科环宇”&#xff09;联合宣布&#xff0c;最新版本IAR Embedded Workbench for RISC-V将全面支持国科环宇AS32X系列RISC-V MCU&#xff0c;双方将共同助力中国汽车行业开…

【视频目标分割-2024CVPR】Putting the Object Back into Video Object Segmentation

Cutie 系列文章目录1 摘要2 引言2.1背景和难点2.2 解决方案2.3 成果 3 相关方法3.1 基于记忆的VOS3.2对象级推理3.3 自动视频分割 4 工作方法4.1 overview4.2 对象变换器4.2.1 overview4.2.2 Foreground-Background Masked Attention4.2.3 Positional Embeddings 4.3 Object Me…

损失函数篇 | YOLOv10 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class WIoU_Scale: if monotonous = None , v1if monotonous = True , v…

SVN客户端服务器操作流程

一,SVN服务器的创建库 1, 开始菜单--搜索 visualSvn,点击 VisualSvn Server Manager 2&#xff0c;打开后如下图所示 3&#xff0c;右键--creat new respositories&#xff0c;默认选项&#xff0c;点击 4&#xff0c;填写库名称 5&#xff0c;根据需要选择&#xff0c;点击ne…

进程、线程、协程详解:并发编程的三大武器

在现代计算机科学中,并发编程是一个核心概念,而进程、线程和协程是实现并发的三种主要方式。本文将深入探讨这三种概念,分析它们的特点、优缺点,以及适用场景。 1. 进程 (Process) 1.1 定义 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的…

VUE 开发——AJAX学习(二)

一、Bootstrap弹框 功能&#xff1a;不离开当前页面&#xff0c;显示单独内容&#xff0c;供用户操作 步骤&#xff1a; 引入bootstrap.css和bootstrap.js准备弹框标签&#xff0c;确认结构通过自定义属性&#xff0c;控制弹框显示和隐藏 在<head>部分添加&#xff1a…

maven给springboot项目打成jar包 maven springboot打包配置

基于maven的spring boot 打包分离依赖及配置文件 使用springCloud或springboot的过程中&#xff0c;发布到生产环境的网速受限&#xff0c;如果每次将60,70M甚至更大的jar包上传&#xff0c;速度太慢了&#xff0c;采取jar包和配置文件分离的方式可以极大的压缩jar包大小&#…