Llama微调以及Ollama部署

news/2024/12/22 14:39:04/

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.ppmy.cn/news/1532721.html

相关文章

uni-app - - - - - 实现锚点定位和滚动监听功能(滚动监听功能暂未添加,待后续更新)

实现锚点定位和滚动监听功能 1. 思路解析2. 代码示例 效果截图示例: 点击左侧menu,右侧列表数据实现锚点定位 1. 思路解析 点击左侧按钮,更新右侧scroll-view对应的scroll-into-view的值,即可实现右侧锚点定位滚动右侧区域&am…

联通云 - 国产化全栈解决方案

中国联通国际有限公司产品之联通云 在数字化转型的时代浪潮中,中国联通国际有限公司凭借其强大的网络基础和技术创新能力,推出了旗下云服务品牌——联通云。联通云不仅承载着让数据安全无处不在的使命,同时也开启了智能云无限可能的新篇章。…

uniapp中h5环境添加console.log输出

<script src"https://unpkg.com/vconsolelatest/dist/vconsole.min.js"></script><script>// VConsole 默认会挂载到 window.VConsole 上window.vConsole new window.VConsole({defaultPlugins: [system, network, element, storage],// 可以在此…

Python将ONNX转为Json脚本

Python脚本 import onnx from onnx.shape_inference import infer_shapes import numpy as npfrom google.protobuf.json_format import MessageToJson, Parse import argparse import osdef convertToJson(onnx_model_path):onnx_model onnx.load(onnx_model_path)message …

排序个人总结

插入排序 思路&#xff1b;定义 i 和 j&#xff0c;默认 i 前面的数都是有序的&#xff0c;j 定义为 i 的前一个数&#xff0c;把 i 的值给tmp&#xff0c;tmp与j对应的值进行比较&#xff0c;如果arr[j] > tmp,将arr[j] (大的数前移一位)&#xff0c;如下图 代码&#xf…

Elasticsearch 开放推理 API 增加了对 Google AI Studio 的支持

作者&#xff1a;来自 Elastic Jeff Vestal 我们很高兴地宣布 Elasticsearch 的开放推理 API 支持 Gemini 开发者 API。使用 Google AI Studio 时&#xff0c;开发者现在可以与 Elasticsearch 索引中的数据进行聊天、运行实验并使用 Google Cloud 的模型&#xff08;例如 Gemin…

深度拆解:如何在Facebook上做跨境电商?

国内社交媒体正在逐渐兴盛&#xff0c;海外也不例外。在数字营销的新时代&#xff0c;Facebook已成为跨境电商不可或缺的平台之一。通过Facebook的巨大流量&#xff0c;卖家可以更好的触及潜在消费者&#xff0c;以实现销售增长。本文就深度拆解一下&#xff0c;卖家如何利用Fb…

遇到慢SQL、SQL报错,应如何快速定位问题 | OceanBase优化实践

在数据库的使用中&#xff0c;大家时常会遇到慢SQL&#xff0c;或执行出错的SQL。对于某些SQL问题&#xff0c;其错误原因显而易见&#xff0c;但也有不少情况难以直观判断。面对这类问题&#xff0c;我们应当如何应对&#xff1f;如何准确识别SQL错误的根源&#xff1f;是否需…