关于Ollama与AUTOMATIC1111联动时参数设置的技术问询
问题背景
我在OpenWebUI中通过聊天调用AUTOMATIC1111生成图像,参数设置为:调度类型Karras、采样方法DPM++ 2M、CFG Scale 5.5、分辨率768×768、采样步数20。生成图像耗时约20秒,但VRAM资源未释放。随后我查看Ollama进程,得到以下输出:
root@PrivateAI:~# ps aux | grep ollama root 2309 0.2 0.5 7020232 147716 pts/0 Sl+ 15:21 0:03 ollama serve root 9416 2.9 2.0 52018904 576780 pts/0 Sl+ 15:38 0:08 /usr/local/lib/ollama/runners/cuda_v12_avx/ollama_llama_server runner --model /root/.ollama/models/blobs/sha256-87d5b13e5157d3a67f8e10a46d8a846ec2b68c1f731e3dfe1546a585432b8fa0 --ctx-size 2048 --batch-size 512 --n-gpu-layers 41 --mmproj /root/.ollama/models/blobs/sha256-42037f9f4c1b801eebaec1545ed144b8b0fa8259672158fb69c8c68f02cfe00c --threads 12 --parallel 1 --port 39237 root 11587 0.0 0.0 9144 2176 pts/2 S+ 15:42 0:00 grep --color=auto ollama
技术疑问
- 为何batch-size被设置为512?(我理解这是响应中生成的图像数量,该理解是否正确?)
- 为何ctx-size参数值为2048而非10240?
- 是否可以修改这些参数?
服务器环境
Server: Proxmox VE (v. 8.3.3) rtx 3080ti PCI(e) passthrough, driver 560.35.03 RAM 28.0 GiB CPU [host] (2 sockets, 6 cores) Ollama (v. 0.5.7) Open WebUI (v. 0.5.10) AUTOMATIC1111 (Stable Diffusion WebUI): version - v1.10.1, python - 3.10.16, torch - 2.1.2+cu121, xformers - 0.0.23.post1, gradio - 3.41.2
解答
关于batch-size=512的疑问
你的理解有误,这个batch-size和图像生成数量无关。此处的batch-size是Ollama大语言模型的推理批次大小,指模型一次能处理的token数量,用于提升推理效率,和Stable Diffusion生成图像的批次参数完全是两个概念。它被设置为512是Ollama针对当前模型和硬件的默认优化值。关于ctx-size=2048的疑问
ctx-size即上下文窗口大小,指模型能处理的最大token序列长度。2048是你所使用的LLaMA系列模型(从进程路径的ollama_llama_server可判断)的默认上下文长度,10240是部分大模型的扩展上下文,但如果你的模型没有针对长上下文做微调,强行设置更大值可能导致推理质量下降或性能问题。是否可以修改这些参数
可以修改,常见调整方式有三种:
- 启动模型时通过命令行指定:比如
ollama run <模型名> --ctx-size 10240 --batch-size 256 - 在OpenWebUI的模型设置面板中,找到对应参数项进行可视化调整(部分版本支持)
- 修改Ollama全局配置文件(通常在
~/.ollama/config.json),添加或更新context_size和batch_size字段
另外补充:VRAM未释放的问题大概率是Stable Diffusion WebUI进程未正确回收显存,而非Ollama导致。你可以检查AUTOMATIC1111的进程状态,或在WebUI设置中开启显存回收相关选项,也可以在生成完成后手动重启WebUI服务释放显存。
内容的提问来源于stack exchange,提问作者St. Yuppi
相关产品推荐
相关产品推荐

