网易首页 > 网易号 > 正文 申请入驻

工程师实测在嵌入式设备上部署DeepSeek-R1大模型:效果出人意料

0
分享至

2025年伊始,DeepSeek的惊艳登场再次刷新了大众对AI技术的认知边界。随着其迅速走红,越来越多的AI芯片厂商纷纷宣布适配DeepSeek,展现出这一新兴技术的强大潜力和吸引力。作为一名电子工程师,您是否已经抢先完成了DeepSeek的本地部署?如果您还在摸索阶段,不妨参考一下EEWorld论坛上众多网友分享的宝贵经验。

Raspberry Pi 5 ——本地部署DeepSeek-R1大模型

作者:xusiwei1236

原文链接:https://www.eeworld.com.cn/aTmbD4S

一、DeepSeek简介1.1 发展历程

DeepSeek是由中国深度求索公司开发的开源大语言模型系列,其研发始于2023年,目标是为学术界和产业界提供高效可控的AI基础设施。R1系列作为其里程碑版本,通过稀疏化架构和动态计算分配技术,在保持模型性能的同时显著降低了计算资源需求。

1.2 模型特点

  • 参数规模灵活:提供1.5B/7B/33B等多种规格

  • 混合精度训练:支持FP16/INT8/INT4量化部署

  • 上下文感知优化:动态分配计算资源至关键token

  • 中文优化:在Wudao Corpus等中文数据集上强化训练

1.3 技术突破

相比传统LLM,DeepSeek-R1通过以下创新实现低资源部署:

  1. MoE架构:专家混合层动态路由计算路径

  2. 梯度稀疏化:反向传播时仅更新关键参数

  3. 自适应量化:运行时根据硬件自动选择最优精度

二、ollama简介2.1 软件简介

Ollama是一个获取和运行大语言模型的工具,官网的简介是:

Get up and running with large language models. 2.2 主要功能

最常用的两个功能是:

  • 下载大语言模型;

  • 运行大语言模型;
    除此之外还有很多功能,通过它的命令行帮助信息可以看到:

    基本上可以归纳为两类功能:

  • 模型文件管理:下载(pull)、创建(create)、删除(rm)、拷贝(cp)、查看(list)、上传(push)、查看模型信息(show)

  • 模型运行管理:运行(run)、启动(serve)、停止(stop)、查看正在运行的模型(ps)
    2.3 主要优势
    其核心优势包括:

  • 跨平台支持(Linux/Windows/macOS);

  • 支持NIVIDA/AMD GPU加速,如有相应GPU推理速度快;

  • 使用简单,安装软件、下载模型、运行模型均只需要一条命令

三、安装ollama

安装ollama非常简单,官网提供了在线安装脚本(install.sh)。

在树莓派5上,使用如下命令即可下载在线安装脚本并运行:

curl -fsSL https://ollama.com/install.sh | sh

运行输出如下:

安装后,会自动启动服务进程:

ps -ef | grep ollama

执行如下:

四、下载deepseek-r1:1.5b模型

安装好了ollama之后,我们就可以使用ollama下载deepseek-r1:1.5b模型了,使用如下命令:

ollama pull deepseek-r1:1.5b

五、运行deepseek-r1:1.5b模型

下载好了deepseek-r1:1.5b模型之后,我们就可以使用ollama运行deepseek-r1:1.5b模型了,使用如下命令:

ollama run deepseek-r1:1.5b

直接运行也可以,该命令会下载模型,再运行,非常方便!

再问一个经典的快速排序问题,回答如下:

>>> 用Python写一个快速排序的函数,实现对包含整数的列表进行排序

嗯,我现在需要帮用户写一个用于快速排序的Python函数,而且用户已经给了这个任务。首先,我要理解用户的需求是什么。他们可能是一个刚开始学编程的人,或者
需要快速完成一个简单的排序程序。

接下来,我应该分析用户的使用场景和身份。可能是刚接触编程的新手,或者是需要快速实现一个基本功能的用户。用户的真实需求应该是了解如何编写一个高效的排
序函数,并且能够运行在实际的应用中。

然后是思考用户可能没有明确表达出来的深层需求。比如,他们可能不仅仅想看到代码,还希望了解排序算法的基本原理、优缺点,或者如何优化这个函数以提高效率
。这些都是潜在的需求,可能会帮助我更全面地回答问题。

现在,我要考虑用户的编程基础情况。快速排序作为一种高效的排序算法,通常需要理解递归的策略和选择基准点的能力。因此,如果用户的基础较弱,可能在实现过
程中会遇到一些困难,比如如何正确分割数组或选择合适的基准点。因此,我的解释应该详细但易于理解,确保用户能够逐步掌握。

我还需要思考现有的代码结构。快速排序的实现通常包括几个步骤:选择一个基准点,将数组分成两部分,然后递归地对这两部分进行排序。如果需要优化,可以考虑
使用堆化结构或者减少比较次数,但这可能超出了用户的需求范围。

最后,我要确保提供的回答足够详细,能够帮助用户理解整个过程,并且代码也尽可能简洁,同时易于修改和扩展。这样,即使用户只是想测试函数的运作,也能快速
得到所需的结果。

好的!以下是用Python实现快速排序(QuickSort)的函数,以及一个简单的示例:

```python
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0]
rest = arr[1:]

less = []
greater = []
for num in rest:
if num < pivot:
less.append(num)
else:
greater.append(num)

return quicksort(less) + [pivot] + quicksort(greater)

def test_quicksort():
import random
arr = [3, 6, 8, 10, 1, 2, 9, 5]
random.shuffle(arr)

sorted_arr = quicksort(arr)
print("原数组:", arr)
print("快速排序后的结果:", sorted_arr)

if __name__ == "__main__":
test_quicksort()
```

### 使用说明:
1. **输入**:一个包含整数的列表(数组)。
2. **实现过程**:
- 如果数组长度小于等于 1,直接返回该数组本身(作为基准情况)。
- 在选择第一个元素作为基准点 `pivot`,然后将剩下的元素分成两部分:一部分是所有比基准点小的元素,另一部分是比基准点大的元素。
- 对于较小的部分,继续递归地应用快速排序方法,直到整个数组被排序。

3. **输出**:
- 原始输入数组的一个 shuffled 版本(因为示例中使用了 `random.shuffle`)。
- 快速排序后的结果。

### 示例运行结果:
```python
原数组:[1, 2, 9, 5, 3, 6, 8, 10]
快速排序后的结果:[1, 2, 3, 5, 6, 8, 9, 10]
```

这个函数实现了基本的快速排序实现,但需要根据实际需求进行调整和优化。

total duration: 1m16.264529746s
load duration: 40.057974ms
prompt eval count: 65 token(s)
prompt eval duration: 1.097s
prompt eval rate: 59.25 tokens/s
eval count: 767 token(s)
eval duration: 1m14.622s
eval rate: 10.28 tokens/s

看起来好像没啥问题,速度还行,达到了10 token/s。

但是,更复杂一点的问题,deepseek-r1:1.5b模型就回答不了了,比如:

>>> 水浒传中有多少个梁山好汉?

嗯,用户问的是《水浒传》里有多少个梁山好汉。首先,我得回想一下梁山好汉是谁们。我记得梁山好汉主要是那些在梁山打倒的豪强人,比如黄忠、鲁智深、张天师这些大人物,他们组成了一支好汉队伍。

然后,问题来了,有多少个呢?《水浒传》里可能没有明确给出数字,所以可能需要根据故事来推断或者查证。我好像听说过梁山好汉一共有三路:第一路是黄忠、鲁智深和张天师;第二路是黄光石、林冲、赵云;第三路是白虎、刘禅、黑虎。

算下来,每条路有三人,那应该是九个好汉。所以可能梁山好汉一共有九个人组成一支队伍,或者可能是九个好汉在梁山打倒过。

不过,我也得考虑一下是否有其他的人加入或变动的情况。比如,在《水浒传》中提到过,梁山好汉有三路,每路三人,加上一些后来的人物,但总体上还是九个人组成一支队伍,也就是梁山好汉总共九人。

所以,综合来看,梁山好汉一共有九个成员,也就是梁山好汉队。这可能就是用户在问的答案。

《水浒传》中的梁山好汉一共有一路、二路、三路三个大队伍,每组各有三人,组成总共**九个梁山好汉**(“梁山好汉”一词)。这些好汉包括黄忠、鲁智深、张天师;黄光石、林冲、赵云;白虎、刘禅、黑虎。他们在梁山打倒过许多豪强人,成为梁山的守护者和英雄。

total duration: 38.169465732s
load duration: 38.989844ms
prompt eval count: 14 token(s)
prompt eval duration: 645ms
prompt eval rate: 21.71 tokens/s
eval count: 396 token(s)
eval duration: 37.484s
eval rate: 10.56 tokens/s

这次的输出就是在胡说了,模型太小了,考虑里面没有相关的信息。PS:而且每次同样这个问题,提问之后回答的还不一样。

RDK X3上——部署deepseek

作者:YUPINLE

原文链接:https://www.eeworld.com.cn/aePmPm1

在RDK X3上利用ollama部署deepseek

看似本地部署deepseek很简单,实际因为网络问题,部署起来还是非常麻烦的。在这里给出我摸索出来的方法,在RDK X3上利用ollama部署deepseek,分发ip,使用chatbox同一局域网即可使用deepseek,获得更好的体验

一、手动安装Ollama

  1. 确认系统信息

  • 首先,确认你的Linux发行版和CPU架构,以便下载正确的Ollama版本。

  • 查看Linux内核版本:

Bash

cat /proc/version

  • 查看CPU架构:

Bash

lscpu

查找输出中的“Architecture”字段来确定是x86_64(适用于AMD/Intel 64位处理器)还是aarch64/arm64(适用于ARM架构64位处理器)。

2.下载Ollama安装包

根据你的CPU架构从GitHub的release下载对应的.tgz安装包。

对于aarch64/arm64架构,则下载ollama-linux-arm64.tgz。

3.安装Ollama

确保你已经将下载好的.tgz文件传输到了目标Linux服务器上。在vscode上直接拖动即可

  • 使用以下命令解压并安装Ollama到系统目录中(需要root权限):

Bash

sudo tar -C /usr -xzf ollama - linux - amd64.tgz

-C /usr指定了解压的目标目录,可根据实际情况调整路径。

4.启动Ollama服务

安装完成后,使用以下命令启动Ollama服务:

Bash

ollama serve

出现图中这个情况说明,已经启动

这会在后台启动Ollama服务,准备好接收请求并管理模型。

5.验证安装

为了确保Ollama已成功安装并正在运行,执行以下命令来列出所有可用的模型:

Bash

ollama list

如果一切正常,你应该能看到已下载模型的列表。如果没有下载任何模型,该命令不会返回错误,只会显示一个空列表。

二、更换Ollama模型下载路径(可以跳过)

有时需要根据实际需求更改模型文件的存储路径。以下是详细步骤。

  1. 关闭Ollama服务

在更改模型路径之前,需先停止当前运行的Ollama服务。

  • 使用systemctl命令(如果Ollama作为服务运行):

Bash

sudo systemctl stop ollama

sudo systemctl disable ollama.service

  • 或者手动停止服务:在运行Ollama的终端中按 Ctrl + C。

2.默认模型路径

默认情况下,Ollama会在 /usr/share/ollama/.ollama/models 存储模型文件。

3.创建新的模型存储目录

首先,创建一个新的目录作为模型存储路径。例如,创建 /data/ollama/models 目录:

Bash

sudo mkdir -p /data/ollama/models

4.更改目录权限

确保新目录的权限设置正确,允许Ollama访问和写入:

Bash

sudo chown -R root:root /data/ollama/models

sudo chmod -R 777 /data/ollama/models

注意:这里的用户和组 (root:root) 应根据实际情况调整为运行Ollama服务的实际用户和组。

5.修改Ollama服务配置文件

假设Ollama是通过systemd管理的服务,你需要编辑相应的服务配置文件来指定新的模型路径。

  • 编辑服务配置文件:

Bash

sudo gedit /etc/systemd/system/ollama.service

或者使用vim:

Bash

sudo vim /etc/systemd/system/ollama.service

  • 修改配置内容,在 [Service] 部分添加或更新以下行:

TOML

[Unit]

Description = Ollama Service

After = network - online.target

[Service]

ExecStart = /usr/local/bin/ollama serve

User = root

Group = root

Restart = always

RestartSec = 3

Environment = "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Environment = "OLLAMA_MODELS=/data/ollama/models"

[Install]

WantedBy = default.target

6.重载配置并重启Ollama服务

  • 重载systemd配置:

Bash

sudo systemctl daemon - reload

  • 重新启动Ollama服务:

Bash

sudo systemctl restart ollama.service

  • 检查服务状态以确认服务是否正常运行:

Bash

sudo systemctl status ollama

7.验证更改

  • 检查旧路径 (/usr/share/ollama/.ollama/models) 是否已经不再包含模型文件。

  • 检查新路径 (/data/ollama/models) 下是否有生成的 blobs 和 manifests 文件夹,这表明模型路径更改成功。

三、使用Ollama加载ModelScope上的GGUF模型

Ollama支持加载托管在ModelScope社区上的模型,魔搭社区是国内的,所以拉取模型速度快更快。ollama默认是拉取huggingface上的,速度比较慢。

GGUF代表量化后的模型,根据RDK X3的性能选择,选择合适的量化模型,这里我使用Q2_K的,测试能做到一秒两三个字。

https://www.modelscope.cn/docs/models/advanced-usage/ollama-integration

具体文档在以上链接,可以自己查看。

  • 一键运行ModelScope模型

Bash

ollama run modelscope.cn/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF:DeepSeek-R1-Distill-Qwen-1.5B-Q2_K.gguf

出现以上样式,说明模型在运行,通过top可以观察CPU使用率

这样就完成了deepseek的本地部署。

Jetson 利用 Ollama + Anything LLM 部署 Deepseek、LLama3

作者:LitchiCheng

原文链接:https://www.eeworld.com.cn/a0if5m1

安装jetson_containers

git clone https://github.com/dusty-nv/jetson-containers
bash jetson-containers/install.sh

运行ollama容器,加载LLM

# 运行 ollama 容器,首次会下载
jetson-containers run --name ollama $(autotag ollama)

# 运行 deepseek 1.5b,首次会自动 pull 镜像
ollama run deepseek-r1:1.5b

# 运行 deepseek 8b 占用大概内存 6-7G
ollama run deepseek-r1:8b

# verbose 增加详尽的输出,会将当前的 tokens 速率等显示出来
ollama run deepseek-r1:8b -verbose

# 列出已经下载的 LLM
ollama list

输出解释

total duration: 3m31.258084877s
load duration: 29.482802ms
prompt eval count: 34 token(s)
prompt eval duration: 622ms
prompt eval rate: 54.66 tokens/s
eval count: 1417 token(s)
eval duration: 3m30.603s
eval rate: 6.73 tokens/s

“prompt eval rate(提示评估速率)”

指的是在对输入的提示(prompt)进行评估处理时,模型每秒能够处理的tokens数量。提示通常是用户输入给模型的文本内容,用于引导模型生成特定的输出,prompt eval rate主要衡量的是模型处理初始输入提示部分的速度和效率。

“eval rate(评估速率)”

是模型在整体评估过程中,每秒处理tokens的数量。这里的评估过程不仅仅包括对输入提示的处理,还涵盖了模型根据提示进行推理、计算、生成等一系列操作的整个过程,它反映的是模型在完整的任务执行过程中的综合处理速度。

部署Anything LLM容器

export STORAGE_LOCATION=/opt/anythingllm
sudo mkdir -p $STORAGE_LOCATION
sudo chmod 777 -R $STORAGE_LOCATION
touch "$STORAGE_LOCATION/.env"

sudo docker run -it --rm -p 3001:3001 --cap-add SYS_ADMIN -v ${STORAGE_LOCATION}:/app/server/storage -v ${STORAGE_LOCATION}/.env:/app/server/.env -e STORAGE_DIR="/app/server/storage" ghcr.io/mintplex-labs/anything-llm

配置

欢迎将我们设为“星标”,这样才能第一时间收到推送消息。

关注EEWorld旗下订阅号:“机器人开发圈”

回复“DS”领取《DeepSeek:从入门到精通》完整版

扫码添加小助手回复“机器人”

进群和电子工程师们面对面交流经验

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
判断一个女人老没老,看她身上有没有这4个表现,很难瞒得住

判断一个女人老没老,看她身上有没有这4个表现,很难瞒得住

熊猫医学社
2026-05-28 11:35:03
人到中年,女人最吃的从来不是甜言蜜语,是走心的偏爱

人到中年,女人最吃的从来不是甜言蜜语,是走心的偏爱

青苹果sht
2026-05-20 05:30:11
上海输G4揪出最失意球员!打30分钟,球队输20分,这效率太低了

上海输G4揪出最失意球员!打30分钟,球队输20分,这效率太低了

南海浪花
2026-06-02 23:19:07
航班单方面取消,上海一家人云南游“损失太大”!后续维权“极度崩溃”

航班单方面取消,上海一家人云南游“损失太大”!后续维权“极度崩溃”

上观新闻
2026-06-01 22:34:08
曝G胖开喷Steam高层!只为保住成人游戏

曝G胖开喷Steam高层!只为保住成人游戏

游民星空
2026-06-02 10:06:30
夫妻性生活别急着进入!学会这招“延迟满足”,爽感增倍

夫妻性生活别急着进入!学会这招“延迟满足”,爽感增倍

精彩分享快乐
2026-05-13 12:05:07
黄岩岛:结束15年菲律宾霸占后的新面貌

黄岩岛:结束15年菲律宾霸占后的新面貌

赵枹是个热血青年
2026-04-13 17:04:11
冯小刚:不和邓超王志文合作,今生不和徐帆生孩子,永远愧对冯巩

冯小刚:不和邓超王志文合作,今生不和徐帆生孩子,永远愧对冯巩

揭秘世间万象
2026-06-01 19:27:09
一声惊雷炸响深圳水贝黄金珠宝圈,133亿灰飞烟灭背后的残酷真相

一声惊雷炸响深圳水贝黄金珠宝圈,133亿灰飞烟灭背后的残酷真相

小陆搞笑日常
2026-06-02 16:39:32
是不是觉得很奇怪:日本打遍了大半个中国,没有染指陕西

是不是觉得很奇怪:日本打遍了大半个中国,没有染指陕西

鹤羽说个事
2026-06-02 23:03:52
四川一小学为教师统一购置服装,由教师自费500元、学校支付1000元,校长马某某被停职

四川一小学为教师统一购置服装,由教师自费500元、学校支付1000元,校长马某某被停职

都市快报橙柿互动
2026-06-03 00:49:54
婆婆踩死孙女后,儿媳崩溃拿起水果刀,8小时内让婆婆生不如死

婆婆踩死孙女后,儿媳崩溃拿起水果刀,8小时内让婆婆生不如死

纸鸢奇谭
2026-06-01 20:50:22
中方劝告失效,李在明我行我素,向世界宣告,韩国加快引进核潜艇

中方劝告失效,李在明我行我素,向世界宣告,韩国加快引进核潜艇

霁寒飘雪
2026-05-30 14:55:58
穷果然不养人!家里破产后,王文也面相都变了,公主开始吃路边摊

穷果然不养人!家里破产后,王文也面相都变了,公主开始吃路边摊

残梦重生来
2026-05-25 04:29:17
王晓晨俞灏明被拍到一同现身心理医院,王晓晨皱眉抽烟心情糟糕

王晓晨俞灏明被拍到一同现身心理医院,王晓晨皱眉抽烟心情糟糕

露珠聊影视
2026-06-02 15:44:08
徐正源胆子真大!昔日李金羽嫡系爱将被他弃用,一分钟都不让上

徐正源胆子真大!昔日李金羽嫡系爱将被他弃用,一分钟都不让上

杨仔述
2026-06-01 15:34:09
男子称距离登顶珠峰仅剩77米但因冲顶线路拥堵需等待两小时,无奈决定全员下撤;此前珠峰被指“很堵”,南侧创下单日274人登顶新纪录

男子称距离登顶珠峰仅剩77米但因冲顶线路拥堵需等待两小时,无奈决定全员下撤;此前珠峰被指“很堵”,南侧创下单日274人登顶新纪录

大风新闻
2026-06-02 11:54:10
别再学影片里的姿势了,你老公根本吃不消

别再学影片里的姿势了,你老公根本吃不消

精彩分享快乐
2026-06-02 12:00:20
锐评:六大高手围剿,没想到科斯秋克能带着九阴白骨爪杀出重围

锐评:六大高手围剿,没想到科斯秋克能带着九阴白骨爪杀出重围

网球之家
2026-06-02 22:42:03
维尼修斯续约僵局:4000万签字费背后,是皇马难跨越的姆巴佩阴影

维尼修斯续约僵局:4000万签字费背后,是皇马难跨越的姆巴佩阴影

落夜足球
2026-06-02 15:55:40
2026-06-03 04:27:00
EEWorld电子工程世界 incentive-icons
EEWorld电子工程世界
即时参与讨论电子工程世界最火话题,抢先知晓电子工程业界资讯。
297文章数 27关注度
往期回顾 全部

科技要闻

烧掉千亿后,美团、阿里、京东谁先止血?

头条要闻

演员魏宗万去世 曾在94版《三国演义》中饰演"司马懿"

头条要闻

演员魏宗万去世 曾在94版《三国演义》中饰演"司马懿"

体育要闻

1米74的业余联赛替补,在英超踢中卫

娱乐要闻

奚梦瑶何猷君补办婚礼超幸福

财经要闻

智元和宇树的“暗战”愈演愈烈

汽车要闻

星途神秘新车轮廓曝光 又一款性能SUV要来了?

态度原创

数码
艺术
亲子
时尚
教育

数码要闻

苹果watchOS 27前瞻:改进心率追踪、引入新表盘、升级Siri

艺术要闻

抖音砸60个亿,要盖一座“不像医院”的医院?

亲子要闻

《前面有多生气,后面就有多搞笑》

蓝色系下装看着清爽不闷,裤子、裙子都凉快,随便穿都不出错

教育要闻

“没选上少先队,我女儿疯了”,无理取闹的家长,养不出正常孩子

无障碍浏览 进入关怀版