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

Ollama 实战手册

1 复读幻觉成因与治理路线

层级关键点常见症状
解码层采样温度太低、repeat_penalty 为 1“打人、打人、打人” 连环输出
数据层训练集本身出现多次同句暴力 / 色情词条反复
RL 策略层奖励模型只关心“相关”忽略“冗余”越回答越长、越跑越偏
上下文层KV‑cache 误对齐或窗口截断末尾整段复制粘贴

治理路线:

采样参数止血 ─► 数据去重 ─► RLHF/DPO 反复读奖励 ─►
长上下文微调(位置 & Flash‑Attention) ─► 监控报警

2 采样参数全景图 & 代码示例

目标参数默认建议区间
抑制复读repeat_penalty1.01.1 – 1.5
repeat_last_n6464 – 256
控制创造性temperature0.80.4 – 0.9
多样性top_p0.90.7 – 0.95
top_k4030 – 100
软停符stop"\n\n", "</end>"
长度惩罚length_penalty1.00.8 – 1.2
# transformers 示例
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct")
model = AutoModelForCausalLM.from_pretrained("meta-llama/…", device_map="auto")out = model.generate(**tok("解释量子纠缠:", return_tensors="pt").to(model.device),temperature=0.7,top_p=0.9,repetition_penalty=1.2,repeat_last_n=128,no_repeat_ngram_size=3,max_new_tokens=256,
)
print(tok.decode(out[0], skip_special_tokens=True))

3 Ollama 调参 4 大入口

场景操作适用版本
交互会话/set parameter repeat_penalty 1.2≥ v0.4.6
CLIollama run llama3 --temperature 0.7 …≥ v0.5.0 citeturn0search1
REST API"options": { "temperature": 0.7, "repeat_penalty": 1.2 }全版本
ModelfilePARAMETER repeat_penalty 1.2 + ollama create永久固化

技巧:在 systemctl edit ollama 里写 Environment="OLLAMA_…",一次性给所有模型注入默认值,升级也不会丢。

4 性能提速全链路

4.1 硬件层

  • GPU > CPUollama psProcessor=GPU 说明整模进显存;否则是 CPU/GPU 混合。
  • 多 GPU 切片:单卡放不下时自动分层;显存够时集中单卡反而更快。

4.2 模型层

手段提速质量
‑q4_0 / ‑q5_1 量化× 1.8 – 2.2‑2 ∼ ‑3 BLEU
KV Cache q8_0显存 ‑50 %无感
LoRA 增量参数量 ‑90 %取决于 LoRA

4.3 运行时层

# /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_FLASH_ATTENTION=1"
Environment="OLLAMA_KV_CACHE_TYPE=q8_0"
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_KEEP_ALIVE=-1"
  • Flash Attention≈ +20 – 40 %
  • num_thread 控制单请求 CPU 线程:最佳≈物理核数

4.4 并发层

变量说明典型值
OLLAMA_NUM_PARALLEL同模型并行请求4 – 8
num_thread每流 CPU 线程核心数
OLLAMA_KEEP_ALIVE‑1 = 模型常驻显存生产建议开启

5 线上运维

5.1 Ubuntu (systemd)

sudo systemctl daemon-reload   # 变更后重读
sudo systemctl restart ollama  # 热重启
journalctl -u ollama -f        # 流日志

5.2 Docker NVIDIA GPU

docker run --gpus all -e OLLAMA_FLASH_ATTENTION=1 \-e OLLAMA_NUM_PARALLEL=4 -e OLLAMA_KEEP_ALIVE=-1 \-p 11434:11434 ollama/ollama

5.3 Windows 服务化

  • 安装 nssm / winsw 把 ollama serve 注册为服务
  • 环境变量写在服务的 Environment 字段,可与 Modelfile 叠加

6 端到端示例 & Benchmark

步骤工具关键代码
① 语料清洗Python + regex过滤连续重复 > 2 次 token;Moses 去重
② LoRA 微调PEFT / LoRAmerge_weights=False 节省显存
③ 反复读 DPOtrl‑xreward = ‑λ · 重复率
④ Ollama 部署Modelfile量化 + 参数固化
⑤ 负载测试wrk + WebSocket每秒 > 1000 token

效果(Llama‑3‑8B‑Instruct,4090 × 1,128 token prompt):

  1. 原始 FP16 → 13 tok/s
  2. ‑q5_1 + Flash Attention → 26 tok/s
  3. 再调 num_thread 24 + OLLAMA_NUM_PARALLEL 439 tok/s

7 常见坑 FAQ

问题排查 & 解决
只用半数 CPU默认一核一线程,改 num_thread 或 Modelfile
OLLAMA_NUM_PARALLEL 不生效需在 服务器启动前 设置;Python 里 os.environ 改完要重新 serve
GPU 占用低于 40 %并发流不够 / CPU 瓶颈;调高 num_threadNUM_PARALLEL
Flash Attention 报 LoRA 不兼容关闭 FA 或先 merge LoRA 权重再量化
模型升级后参数丢失systemctl edit 生成 override.conf;升级不覆写
交互 /set 参数退出后失效/set 只对当前进程;持久化请改 Modelfile

8 结语

  • 复读治理:采样止血 → 数据去重 → RLHF 负奖励
  • 性能提速:GPU + Flash Attention + 低比特量化 = 黄金三件套
  • 并发稳态num_thread × OLLAMA_NUM_PARALLEL ≈ 吞吐上限
  • 运维:全部配置写进 systemd override;daemon‑reload + restart 万事大吉

按本文 Checklist 逐层落地,你的 Ollama 实例将 不复复读、跑得飞快、线上稳如老狗。Have fun hacking!

相关文章:

  • 植被参数遥感反演技术革命!AI+Python支持向量机/随机森林/神经网络/CNN/LSTM/迁移学习在植被参数反演中的实战应用与优化
  • spark jar依赖顺序
  • SpringBoot原生实现分布式MapReduce计算
  • 进阶篇 第 6 篇:时间序列遇见机器学习与深度学习
  • Elasticsearch 使用reindex进行数据同步或索引重构
  • TockOS,一种新安全软件架构的RTOS介绍
  • 激活函数:神经网络的 “魔法开关”,开启智能之门(三)
  • 【Linux运维涉及的基础命令与排查方法大全】
  • Anaconda、conda和PyCharm在Python开发中各自扮演的角色
  • 机器学习06-RNN
  • EasyRTC打造无人机低延迟高清实时通信监控全场景解决方案
  • 电气动调节单座V型球阀带阀杆节流套沟槽孔板的作用-耀圣
  • 【Web API系列】Web Shared Storage API 深度解析:WindowSharedStorage 接口实战指南
  • RK3588 ubuntu20禁用自带的TF卡挂载,并设置udev自动挂载
  • JDBC对数据的增删改查操作:从Statement到PrepareStatement
  • Jupyter Notebook 中切换/使用 conda 虚拟环境的方式(解决jupyter notebook 环境默认在base下面的问题)
  • C语言文件操作完全手册:读写·定位·实战
  • 机器学习第二篇 多变量线性回归
  • go中map和slice非线程安全
  • Hive学习
  • 当我们提起拉动消费时,应该拉动什么消费?
  • 上海劳模风采馆焕新升级后重新开放,展示480位劳模先进故事
  • 三星“七天机”质保期内屏幕漏液被要求自费维修,商家:系人为损坏
  • 1450亿元!财政部拟发行2025年中央金融机构注资特别国债(二期)
  • 虚假认定实质性重组、高估不良债权价值,原中国华融资产重庆分公司被罚180万元
  • 无人机穿越大理千年古塔落券洞内,涉事“飞手”被行拘10日