问题:在使用ollama和最新的Intel SPR 8480+和RTX 4090时,num_gpu_parameter参数从模型文件中被移除,因此无法减少发送到GPU的层数。我可以使用10,但无法测试9,8等。我可以运行其他所有模型,没有任何问题。
解决方案:这个问题可能是由于在不同的操作系统和驱动程序版本之间存在兼容性问题导致的。你可以尝试以下方法来解决这个问题:
确保你的操作系统和驱动程序是最新的。你可以通过访问Intel官方网站来获取最新的驱动程序。
尝试降级CUDA版本。有时候,较新的CUDA版本可能与某些硬件不完全兼容。你可以尝试使用CUDA 12.4版本,看看是否能解决问题。
如果上述方法都无法解决问题,你可以考虑在GitHub上提交一个issue,详细描述你遇到的问题以及你尝试过的解决方法。这样,开发者可能会提供更多的帮助或者修复这个问题。
这是一段关于加载LLM(Language Model)模型的日志信息。从日志中可以看到,模型的一些参数和配置如下:模型名称:deepseek2
模型版本:GPT-2
特殊标记数量:2400
BPE编码的词汇表大小:102400
合并的数量:99757
训练上下文数量:163840
嵌入维度:5120
头数:128
键值对头数:128
层数:60
ROT(旋转)数量:64
GQA(图像问答)模型数量:1
GQA嵌入维度:24576
GQA嵌入向量大小:16384
f_norm_eps:0.0e+00
f_norm_rms_eps:1.0e-06
f_clamp_kqv:0.0e+00
代码中的时间戳和日志信息如下:
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: f_max_alibi_bias = 0.0e+00
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: f_logit_scale = 0.0e+00
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: n_ff = 12288
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: n_expert = 160
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: n_expert_used = 6
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: causal attn = 1
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: pooling type = 0
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: rope type = 0
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: rope scaling = yarn
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: freq_base_train = 10000.0
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: freq_scale_train = 0.025
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: n_ctx_orig_yarn = 4096
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: rope_finetuned = unknown
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load_print_meta: ssm_d_conv = 0
Jul 06 19:23:15 ubuntux ollama[169742]: llm_load
Jul 06 19:23:24 ubuntux ollama[169742]: llama_kv_cache_init: CUDA0 KV buffer size = 1600.00 MiB
Jul 06 19:23:24 ubuntux ollama[169742]: llama_new_context_with_model: KV self size = 9600.00 MiB, K (f16): 5760.00 MiB, V (f16): 3840.00 MiB
Jul 06 19:23:24 ubuntux ollama[169742]: llama_new_context_with_model: CUDA_Host output buffer size = 0.41 MiB
Jul 06 19:23:24 ubuntux ollama[169742]: ggml_backend_cuda_buffer_type_alloc_buffer: allocating 842.00 MiB on device 0: cudaMalloc failed: out of memory
Jul 06 19:23:24 ubuntux ollama[169742]: ggml_gallocr_reserve_n: failed to allocate CUDA0 buffer of size 882903040
Jul 06 19:23:24 ubuntux ollama[169742]: llama_new_context_with_model: failed to allocate compute buffers
Jul 06 19:23:25 ubuntux ollama[169742]: llama_init_from_gpt_params: error: failed to create context with model '/usr/share/ollama/.ollama/models/blobs/sha256-6bbfda8eb96dadd0300076196110f78ff709829c3be9778e86948b839cf05408'
Jul 06 19:23:26 ubuntux ollama[169742]: time=2024-07-06T19:23:26.314-04:00 level=INFO source=server.go:594 msg="waiting for server to become available" status="llm server not responding"
Jul 06 19:23:26 ubuntux ollama[584320]: ERROR [load_model] unable to load model | model="/usr/share/ollama/.ollama/models/blobs/sha256-6bbfda8eb96dadd0300076196110f78ff709829c3be9778e86948b839cf05408" tid="140507113369600" timestamp=1720308206
Jul 06 19:23:26 ubuntux ollama[169742]: terminate called without an active exception
Jul 06 19:23:26 ubuntux ollama[169742]: time=2024-07-06T19:23:26.566-04:00 level=INFO source=server.go:594 msg="waiting for server to become available" status="llm server error"
Jul 06 19:23:26 ubuntux ollama[169742]: time=2024-07-06T19:23:26.817-04:00 level=ERROR source=sched.go:388 msg="error loading llama server" error="llama runner process has terminated: signal: aborted (core dumped) error:failed to create context with model '/usr/share/ollama/.ollama/models/blobs/sha256-6bbfda8eb96dadd0300076196110f78ff709829c3be9778e86948b839cf05408'"
Jul 06 19:23:26 ubuntux ollama[169742]: [GIN] 2024/07/06 - 19:23:26 | 500 | 11.76669885s | 127.0.0.1 | POST "/api/chat"
Jul 06 19:23:31 ubuntux ollama[169742]: time=2024-07-06T19:23:31.944-04:00 level=WARN source=sched.go:575 msg="gpu VRAM usage didn't recover within timeout" seconds=5.127181114 model=/usr/share/ollama/.ollama/models/blobs/sha256-6bbfda8eb96dadd030007619611
6条答案
按热度按时间qv7cva1a1#
我已经在阿尔玛Linux上尝试了16b版本,使用了Xeon处理器、一块主板和16GB主内存。我可以很好地运行DeepSeek-V2 16b。
mcvgt66p2#
我在阿尔玛Linux上尝试了16b版本,使用了Xeon处理器、一块主板和16GB主内存,我可以很好地运行deepseek-v2 16b。
我的问题在于236b版本。与16b版本相比,差距相当大。
lb3vh1jj3#
抱歉,没有太多帮助,但我遇到了类似的问题。当我禁用GPU的2x RTX 3090时,我可以在主内存(516GB (16Channel x32GB))中运行模型,它以可接受的速度(2x xeon 8470)运行。尽管初始提示处理需要一段时间。然而,当GPU启用时,我会遇到错误。
i1icjdpr4#
抱歉,没有太多帮助,但我遇到了类似的问题。当我禁用GPU的2x RTX 3090时,我可以在主内存(516GB (16Channel x32GB))中运行模型,它以可接受的速度运行(2x xeon 8470)。尽管初始提示处理需要一段时间。然而,当GPU启用时,我会遇到错误。
如何让Ollama忽略你的GPU?或者如何在Linux上禁用它?
v6ylcynt5#
如何让Ollama忽略你的GPU?或者在Linux上禁用它?
前几天,我无意中更新了Ubuntu的NVIDIA驱动程序,然后需要重启才能使nvidia驱动再次正常工作。所以当我运行nvidia-smi时,除了一些版本不匹配的消息外,什么都没有显示出来。
然后我尝试了deepseek-coder-v2模型,它运行得很好!重启后,它停止工作了。我试图通过移除物理GPU来复制它,然后模型可以工作。然后再把GPU放回去,当然它又不能工作了。尝试通过设置环境变量临时禁用GPU,但目前还没有成功。所以我没有简单的解决方法,直到Ollama的新版本可以运行这个模型为止。
编辑:从here那里找到了一个解决方案。你可以在Linux(在Ubuntu 22上有效)上禁用GPU,方法如下:
首先使用以下命令确定设备索引:
或者使用
nvidia-smi
,但更好的是:lspci | grep NVIDIA
然后要停用的话,使用设备ID代替下面的'0000:xx:00.0'字符串:
nvidia-smi -i 0000:xx:00.0 -pm 0
nvidia-smi drain -p 0000:xx:00.0 -m 1
要激活的话,使用以下命令:"```
nvidia-smi drain -p 0000:xx:00.0 -m 0"
pgccezyw6#
尝试通过一些环境变量来临时禁用GPU
你可以使用
OLLAMA_LLM_LIBRARY
强制使用基于CPU的运行器(例如OLLAMA_LLM_LIBRARY=cpu_avx2
)我还发布了一个PR #5922,以添加一个新的GPU开销设置,当内存预测不正确时,可以恢复一个可行的解决方法。