1
模型讨论区
DeepSeek-R1_ollama模型部署教程
2025-02-18 17:56:22
2601

DeepSeek-R1_ollama

部署视频见学习路径内页 – 光合开发者社区 ollama部署deepseek

资源说明

该项目包含多个模型,所需的资源8卡*64G。硬件资源为K100-AI.

获取项目代码

git clone -b 0.5.7 http://developer.sourcefind.cn/codes/OpenDAS/ollama.git

环境准备

1、获取docker镜像

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.3.0-py3.10-dtk24.04.3-ubuntu20.04

2、创建并运行docker容器

docker run --shm-size 500g --network=host --name=Janus_Pro --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v <获取的项目代码地址>:/home/ -v /opt/hyhal:/opt/hyhal:ro -it <上一步获取的docker镜像ID> bash

注意: 可以使用                docker images  获取相应的镜像ID。

3、安装环境依赖

cd ollama

*编译
wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

*修改go下载源,提升速度(按需设置)
go env -w GOPROXY=https://goproxy.cn,direct

*运行编译
export LIBRARY_PATH=/opt/dtk/lib:$LIBRARY_PATH
make -j 32
go build .

运行

启用服务端

rocminfo |grep gfx #查询当前机器的gfx参数,确定设备型号 
export HSA_OVERRIDE_GFX_VERSION=设备型号(使用上一行命令的输出结果进行声明,通常来说Z100L gfx906对应9.0.6;K100 gfx926对应9.2.6;K100AI gfx928对应9.2.8,具体设备型号以当前机器的rocminfo | grep gfx的结果为准)
export ROCR_VISIBLE_DEVICES=所有设备号(0,1,2,3,4,5,6,...)/选择设备号
./ollama serve

启用chat端

注意:新建终端,进入容器

cd  ollama
./ollama run deepseek-r1:671b

运行效果

attachmentId-image.png

全部评论(41)
只看楼主
李
李海涛
13楼
按教程搭建,ollama启动成功DCU也正常加载,通过ollama运行deepseek-r1:1.5b,下载完成报如下错误,Error: llama runner process has terminated: exit status 127,请问是什么原因,怎么解决
2025/12/28
网
网友Q5buYs
12楼
Error: llama runner process has terminated: error:Could not initialize Tensile host: No devices found 运行./ollama run deepseek-r1:671b的时候报这个错误
2025/3/1
L
liumg
回复 @网友Q5buYs

这个应该跑不了,模型太大了

不过您这个问题是由于没有加HSA_OVERRIDE_GFX_VERSION ROCR_VISIBLE_DEVICES 的变量或者没有加对导致的
2025/3/4
L
liumg
回复 @网友Q5buYs
这个在Z100L跑不了,至少K100 推荐K100-AI 8卡
2025/3/4
网
网友GVkXM2
11楼

现在有个问题。就是ollama serve的进程一直在。然后当使用对话的时候,第一句对话的回复,特别慢。后面就正常了。

经排查发现,是第一句对话,触发ollamaserve,启动了这么一个ollama_llama_serve的进程,进行推理生成回复的。因为有这个启动过程,所以第一句回复很慢

如果长时间没人使用,这个ollama_llama_serve的进程,就掉了,导致下一次再有人使用,又得重新调起,导致回复很慢。

请问这个有方法规避吗?

服务器版本:kylin-v10

系统架构 x86_64

加速卡型号:K100-AI gfx928 * 2张

内存:256G

容器内存200G。容器镜像:pytorch:2.3.0-py3.10-dtk24.04.3-ubuntu20.04(即楼主的这个版本)
2025/2/23
网
网友GVkXM2
回复 @网友GVkXM2

测试了下,官方的ollama,也有这么一个过程。但是官方ollama的那个过程特别快。这个docker的方式,是不是我哪里优化做的不好呢?导致启动的很慢?

我运行的deepseek-r1:32b,docker的版本是20.10.7
2025/2/23
A
ANYA
回复 @网友GVkXM2
您好,该问题已经复现并解决,后续会将新的镜像发布在评论区
2025/2/24
A
ANYA
回复 @网友GVkXM2

new_ollama.tar.gz

链接: https://pan.baidu.com/s/1YmZD1EqSRrKozjL4KRo-ww?pwd=sdym 提取码: sdym

您可以下载这个镜像,然后通过docker启动这个镜像,可以解决上述的问题
2025/2/24
网
网友n54oNj
10楼
在远程裸金属服务器上部署好后,可以在后端问答,但是在本地用cherrystudio连接时,检测不到模型
2025/2/20
L
liumg
回复 @网友n54oNj

可以用ichat

2025/3/4
网
网友n54oNj
回复 @网友n54oNj
可不可以出一起海光部署Ollama,并远程使用Dify或Maxkb或CherryStudio等工具连接问答的具体教程
2025/3/7
L
liumg
回复 @网友n54oNj
这个后面会考虑
2025/3/8
网
网友GVkXM2
9楼
从这里开始,后续都是容器中操作的是吗?
2025/2/17
A
ANYA
回复 @网友GVkXM2
是的
2025/2/19
网
网友UonDrs
8楼
国产显卡K100AI 如何支持向量化模型 bge-m3 ?
2025/2/13
A
ANYA
回复 @网友UonDrs
直接运行bge-m3工程即可,例如https://github.com/FlagOpen/FlagEmbedding/tree/master/research/visual_bge
2025/2/19
J
Jerry
7楼

您好,我的配置是X7340+2xK100AI,dtk版本是24.04.3,按照本教程设置了环境变量:

export HSA_OVERRIDE_GFX_VERSION=9.2.8

export ROCR_VISIBLE_DEVICES=0,1,

在运行./ollama serve时能检测到8张卡。

但运行模型时通过hy-smi看到只有第一张卡有负载波动,请问是什么原因?
2025/2/12
W
wangzhq
回复 @Jerry
32b用的是量化后的模型,模型本身只有20G。
2025/2/13
网
网友BdT3aF
回复 @Jerry

我的识别到了8张k100,但是运行模型加载到了cpu里,dcu根本没有波动。

基础环境

8K100 64GB

2Hygon C86 7380 32 核

1TB 内存
2025/2/13
一天一顿泡面
回复 @Jerry
+1,基础镜像换成ubuntu22.04的就可以了,20.04可能缺什么环境变量导致只能调用CPU
2025/2/19
网
网友GIoXTL
6楼

您好,我的配置是单机8张Z100L,dtk版本是24.04.3,按照本教程设置了环境变量:

export HSA_OVERRIDE_GFX_VERSION=9.0.6

export ROCR_VISIBLE_DEVICES=0,1,2,3,4,5,6,7

在运行./ollama serve时能检测到8张卡。

但运行模型时通过rocm-smi看到只有一张卡有负载,请问是什么原因?
2025/2/12
网
网友GIoXTL
回复 @网友GIoXTL
破案了,跑的模型太小(1.5b)用不上八张卡,换成70b的直接八张一起上了,但是会报EOF错误:Error: POST predict: Post "http://127.0.0.1:34893/completion": EOF
2025/2/12
W
wangzhq
回复 @网友GIoXTL
环境变量设置这一步改成export HSA_OVERRIDE_GFX_VERSION=9.1.6试试
2025/2/13
网
网友GIoXTL
回复 @网友GIoXTL

不行,改了之后run模型会找不到显卡

2025/2/13
全部7条回复
东
东风
5楼
尝试过Z100部署,直接用OpenDAS的0.5.7版本的Ollama源码检测不到Z100,需要把discover/amd_linux.go文件中第117行的"gfx_target_version"改成别的,然后才能检测得到。实测70b模型加载到显存中需要接近1个半小时,目前不知道是什么原因:saorao:emoji
2025/2/11
H
hepj
回复 @东风
您可以再试一下,看是否机器有其他占用。代码和镜像可以拉最新的代码按照流程再试一次:https://developer.sourcefind.cn/codes/OpenDAS/ollama/-/tree/0.5.7
2025/2/11
东
东风
回复 @东风
没用,原因是discover/amd_linux.go文件的逻辑是从/sys/class/kfd/kfd/topology/nodes/DCU编号(一般是从8开始)/properties文件中寻找gfx_target_version这一行,然后从这一行中读取出major,minor和patch三个值,供后续使用,而Z100加速卡的properties文件中没有这一行,因此代码最终会直接报告未找到DCU。然后我寻找Z100的properties文件中都有的内容是什么,因此我选择了simd_count,然后手动指定major, minor, patch的值分别为9,0,6,即gfx版本号是906,这样ollama最终就能检测到DCU了
2025/3/14
网
网友UonDrs
4楼
请问如何设置 deepseek-r1 的模型文件路径?
2025/2/11
Z
zc
回复 @网友UonDrs
ollama支持直接下载并运行模型,本地模型需要创建Modelfile,借助ollama create命令将模型导入ollama中,详细设置可以参考https://github.com/ollama/ollama/blob/main/README.md
2025/2/11
H
hepj
回复 @网友UonDrs

上边回复的Modelfile是加载本地模型时指定文件路径的方法。如果是下载模型文件路径可以通过ollama serve -h参数可以看到相关设置的环境变量。

其中指定OLLAMA_MODELS来修改模型文件的下载路径
2025/2/11
G
ghdevadmin
回复 @网友UonDrs
:woshou:emoji
2025/6/23
网
网友WCrNIf
3楼
请问open webui或anythingllm或cherrystdio支持吗,有没有相关教程
2025/2/10
H
hepj
回复 @网友WCrNIf
支持webui方式部署
2025/2/11
网
网友twuSOJ
2楼
K100双精度版本支持此部署deepseek么?
2025/2/10
Z
zc
回复 @网友twuSOJ
支持的
2025/2/11
网
网友OOIBhE
1楼
请问有只需要2卡或者单卡的模型应用吗。
2025/2/10
H
hepj
回复 @网友OOIBhE
deepseek-r1有蒸馏模型1.5b 7b 8b等多个参数规模可以根据情况选择,比如1.5b就可以单卡运行。具体可以参看:https://ollama.org.cn/library/deepseek-r1:671b
2025/2/10
没有更多内容了
--
楼主
Level.1
0 帖子
楼主热帖
暂无数据