解决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,然后加载模型突然就不报错了,问题得到解决。

这个问题实际和ollama之前一个版本更新有关,大概是在0.17.x版本,后台会默认按VRAM去计算上下文长度num_ctx,导致后续的版本很多模型都不能开箱即用,我也在github上反馈过这个问题,但是也一直没有做出优化。
openwebui上提供了num_ctx的设置,尽量在下载27B以上dense模型时,都设置下num_ctx,从4096开始尝试,如果需要更多,可以慢慢向上试探。
浙公网安备 33010602011771号