解决gemma4:31b运行报错“ggml_cuda_compute_forward: SCALE failed”的问题

最近google更新了新的开源模型,这边更新Ollama后,试着拉取测试了下,26B的模型运行很顺利,没有问题。

但是运行31B模型时,启动总是报错,开启后台日志后(journalctl -u ollama -f),找到如下提示:

 

4月 08 19:34:33 zt ollama[938812]: ggml_cuda_compute_forward: SCALE failed

4月 08 19:34:33 zt ollama[938812]: ROCm error: invalid device function

4月 08 19:34:33 zt ollama[938812]:   current device: 1, in function ggml_cuda_compute_forward at /home/zt/Downloads/ollama-0.20.4-rc2/ml/backend/ggml/ggml/src/ggml-cuda/ggml-cuda.cu:2882

4月 08 19:34:33 zt ollama[938812]:   err

4月 08 19:34:33 zt ollama[938812]: /home/zt/Downloads/ollama-0.20.4-rc2/ml/backend/ggml/ggml/src/ggml-cuda/ggml-cuda.cu:94: ROCm error

 

查了一圈也没有找到解决办法,以为还是之前类似solve_tri问题,部分方法不支持,暂缓了一个星期。

今天突然想着试试调整num_ctx到4096,然后加载模型突然就不报错了,问题得到解决。

image

 

这个问题实际和ollama之前一个版本更新有关,大概是在0.17.x版本,后台会默认按VRAM去计算上下文长度num_ctx,导致后续的版本很多模型都不能开箱即用,我也在github上反馈过这个问题,但是也一直没有做出优化。

openwebui上提供了num_ctx的设置,尽量在下载27B以上dense模型时,都设置下num_ctx,从4096开始尝试,如果需要更多,可以慢慢向上试探。

 

posted @ 2026-04-08 20:17  猿妙不可言  阅读(149)  评论(0)    收藏  举报