当前位置: 首页 > news >正文

Ollama微调

Ollama是一款开源工具,其目标是简化大语言模型在本地环境的部署和使用。它支持多种流行的开源大语言模型,如 Llama 2、Qwen2.5等。在上一篇文章中我们部署Ollama,并使用简单命令管理Ollama。接下来我们学习Ollama的高级应用。通过Ollama的ModeFile文件进行微调。
Ollama微调

通过ModelFile微调

1、创建名为Modelfile的空白文件。
2、在空白文件内写配置信息。

FROM qwen2.5:0.5b

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system message
SYSTEM """
你是张小明。回答问题时,你的名字叫小明。
"""

3、写完之后,打开cmd 。(xiaom换为你要起的名字)。

输入下面指令:
ollama create xiaom -f Modelfile

4、启动模型
ollama rm xiaom

5、进行对话

>>> 你是谁?
我是小明。来自AI世界,专注于深度学习和智能技术的探索与实践。

可以看到SystemMessage已生效。

ps,下面是另一个SystemMessage。但SystemMessage未达到预期效果。

SYSTEM """
你的名字是张小明。
"""
>>> 你是谁?
我是阿里云推出的大规模语言模型,我叫通义千问。

ModelFile文件介绍

在 Ollama 里,Modelfile 是用来定义和配置模型的文件,其中包含众多参数用于控制模型的构建、训练和使用。

FROM qwen2.5:0.5b

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system message
SYSTEM """
你是张小明。回答问题时,你的名字叫小明。
"""

FROM

指定基于某个基础模型生成新的模型。可以是本地已存在的模型或者是GGUF文件。

PARAMETER

设置模型的超参数。

常用参数如下:

参数名说明适用场景
num_ctx上下文长度,即模型在生成文本时能够考虑的输入标记(tokens)数量。更长的上下文可以让模型参考更多前文信息,但会增加内存和计算开销。需要处理长文本或需要模型参考大量前文信息的场景,如长文档问答、长篇故事生成等。
temperature控制生成文本的随机性。值越大,输出越随机、多样化;值越小,输出越确定、保守。在需要多样化输出(如创意写作)时增大该值,需要稳定、准确输出(如事实性问答)时减小该值。
top_k在生成文本时,只考虑概率排名前top_k的标记。限制可选标记范围,可减少随机性。希望控制生成文本的范围,避免生成过于随机或不相关内容时使用。
top_p核采样(Nucleus Sampling)参数,只考虑累积概率达到top_p
的标记集合。与top_k
类似,用于控制生成的随机性。
top_k结合使用或单独用于更灵活地控制生成文本的随机性。
repeat_penalty重复惩罚因子,用于减少生成文本中重复内容的出现。值越大,对重复内容的惩罚越严重。当生成文本容易出现重复表述时使用,提高输出的多样性。

TEMPLATE

定义提示模板,用于在与模型交互时生成提示。模板可以包含变量,这些变量会在运行时被替换为实际的值。

例子:TEMPLATE “{{.Input}}\n—\n” ,输入会被替换到 {{.Input}} 位置。

SYSTEM

定义系统指令,用于设置模型的初始行为和角色。

例子:SYSTEM “你是一个知识渊博的助手,能准确回答各种问题。”

ADAPTER

如果使用适配器来微调模型,使用此参数指定适配器文件。

例子:ADAPTER /path/to/adapter.bin ,指定适配器文件的路径。

LABEL

为模型添加标签,方便对模型进行分类和识别。

参考

通过ollama(modelfile)微调deepseek,制作自己的大模型-CSDN博客

ollama/docs/modelfile.md at main · ollama/ollama

2、模型文件(Modelfile) - Powered by MinDoc

相关文章:

  • 猿大师播放器:网页内嵌VLC/FFPlayer在Web端直接播放RTSP/RTMP/H.265视频流
  • (Arrow)试时间处理变得更简单
  • 【Linux Oracle】time命令+oracle exp压缩
  • 分享httprunner 结合django实现平台接口自动化方案
  • QT各种版本下载安装
  • 【初阶数据结构】星河中的光影 “排” 象:排序(下)
  • 计算机网络————(三)
  • 性能测试基础知识点
  • RGMII(Reduced Gigabit Media Independent Interface)详解
  • 【论文分享02】A brief introduction to weakly supervised learning
  • 如何选择更安全的无人自助管理私人影院物联网框架?
  • 谈谈 ES 6.8 到 7.10 的功能变迁(4)- 聚合功能篇
  • Java中将异步调用转为同步的五种方法
  • 【漫话机器学习系列】105.学习速率(Learning Rate)
  • 第八章:虚拟机模块的整合
  • vue-signature-pad插件实现移动端签字功能(css,js)+将签名照片旋转90度之后的base64码传给后端
  • ThinkJSON:通过强化学习让大型语言模型(LLM)严格遵守JSON模式
  • vscode多文件编译构建(CMake)和调试C++
  • 【C# 变量字符串还原转义字符】
  • 记录一下用docker克隆某授权制定ip的环境恢复
  • 网站的成功案例/seo代理计费系统
  • 嘉兴高端建站公司/360搜索引擎优化
  • 海南省城乡建设部网站首页/谷歌搜索引擎入口2023
  • 郑州市疫情防控指挥部电话号码/朝阳区seo
  • 卡盟做网站/网址怎么推广
  • 哪个网站可以做图片链接/竞价是什么工作