从DeepSeek到Qwen,AI大模型的移植与交互实战指南-飞凌嵌入式

描述

在不久前发布的技术实战 | OK3588-C开发板上部署DeepSeek-R1大模型的完整指南一文中,小编为大家介绍了DeepSeek-R1在飞凌嵌入式OK3588-C开发板上的移植部署、效果展示以及性能评测,本篇文章不仅将继续为大家带来关于DeepSeek-R1的干货知识,还会深入探讨多种平台的移植方式,并介绍更为丰富的交互方式,帮助大家更好地应用大语言模型。

 

飞凌嵌入式

 

 

1、移植过程

1.1 使用RKLLM-Toolkit部署至NPU

RKLLM-Toolkit是瑞芯微为大语言模型(LLM)专门开发的转换与量化工具,可以将训练好的模型转化为适应瑞芯微平台的RKLLM格式。该工具针对大语言模型进行了优化,使其能高效地在瑞芯微的NPU(神经网络处理单元)上运行。上一篇文章中提到的部署方式即为通过RKLLM-Toolkit进行的NPU部署。具体步骤如下:

 

(1) 下载RKLLMSDK:

首先从GitHub下载RKLLMSDK包,并上传至虚拟机。SDK下载链接:

[GitHub- airockchip/rknn-llm](https://github.com/airrockchip/rknn-llm)。

飞凌嵌入式

 

(2) Python版本检查:

确保安装的SDK版本与目标环境兼容(目前只支持python3.8或python3.10)。

飞凌嵌入式

 

(3) 准备虚拟机环境:

在虚拟机中安装rkllm-toolkit轮子,轮子包路径(rknn-llm-main\rkllm-toolkit)。

pipinstall rkllm_toolkit-1.1.4-cp38-cp38-linux_x86_64.whl
飞凌嵌入式

 

(4) 下载模型:

选择需要部署的DeepSeek-R1模型。

gitclonehttps://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
飞凌嵌入式

 

(5) 使用示例代码进行模型转换:

rknn-llm-main\examples\DeepSeek-R1-Distill-Qwen-1.5B_Demo路径下,使用RKLLM-Toolkit提供的示例代码进行模型格式转换。

pythongenerate_data_quant.py -m /path/to/DeepSeek-R1-Distill-Qwen-1.5B

pythonexport_rkllm.py

飞凌嵌入式

 

(6) 编译可执行程序:

通过运行deploy下build-linux.sh脚本(将交叉编译器路径替换为实际路径)直接编译示例代码。这将在目录中生成一个文件夹,其中包含可执行文件和文件夹。

飞凌嵌入式

 

进行交叉编译生成可执行文件。

./build-linux.sh
飞凌嵌入式

 

(7) 部署模型:

将已编译好的 _W8A8_RK3588.rkllm 文件和librkllmrt.so动态库文件(路径为:rknn-llm-main\rkllm-runtime\Linux\librkllm_api\aarch64 ),一同拷贝到编译后生成的 build_linux_aarch64_Release 文件夹内,然后将此文件夹上传到目标板端。

 

接着,为目标板端build_linux_aarch64_Release文件夹中的 llm_demo 文件添加执行权限并执行它。

chmod+x llm_demo

./llm_demo_W8A8_RK3588.rkllm 10000 10000

飞凌嵌入式演示效果图1

 

 

优势与不足:

- 优势:部署至NPU后,大语言模型能高效运行,性能表现优异,且对CPU资源的占用较少。

- 不足:相较于其他方法,部署过程稍显复杂,需要较强的技术背景和经验。

 

1.2 使用Ollama一键部署至CPU

Ollama是一个开源的本地化大型语言模型(LLM)运行框架,支持在本地环境下运行各种开源LLM模型(如LLaMA、Falcon等),并提供跨平台支持(macOS、Windows、Linux)。

 

通过Ollama,用户可以无需依赖云服务,轻松部署和运行各种大语言模型。尽管Ollama支持快速部署,但由于DeepSeek-R1尚未在RK3588芯片上进行优化,因此只能在CPU上运行,可能会占用较高的CPU资源。具体步骤如下:

 

(1) 下载Ollama:

根据需要下载并安装Ollama,

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

若下载速度较慢,可参考以下镜像方式进行加速。

curl-fsSL https://ollama.com/install.sh -o ollama_install.sh

 

chmod+x ollama_install.sh

 

sed-i 's|https://ollama.com/download/|https://github.com/ollama/

ollama/releases/download/v0.5.7/|'ollama_install.sh

 

shollama_install.sh

飞凌嵌入式

 

(2) 查看Ollama结果:

确认Ollama正确安装,并运行相关命令查看部署结果。

Ollama--help
飞凌嵌入式

 

(3) 下载DeepSeek-R1:

从Ollama官网渠道获取下载DeepSeek-R1模型的指令。

飞凌嵌入式

 

(4) 运行DeepSeek-R1:

通过Ollama命令行接口启动DeepSeek-R1模型。

ollamarun deepseek-r1:1.5b
飞凌嵌入式演示效果图2

 

优势与不足:

- 优势:部署过程简便快捷,适合快速测试和应用。

- 不足:因模型未针对RK3588优化,在CPU上运行时可能导致较高的CPU占用,影响性能。

 

2、在FCU3001平台上部署其他大模型

除了DeepSeek-R1,Ollama还支持部署其他大语言模型,如通义千问(Qwen)等,这展示了Ollama的广泛适用性。接下来,我们以通义千问为例,在飞凌嵌入式推出的一款搭载英伟达处理器的AI边缘计算终端 FCU3001(基于NVIDIA Jetson Xavier NX处理器)上部署大语言模型:

 

FCU3001通过其强大的计算能力和优化的软件支持,能够高效地运行Ollama所支持的大语言模型,如通义千问。在部署过程中,我们可以充分利用Ollama提供的灵活性和易用性,确保大语言模型在FCU3001上稳定、流畅地运行。步骤如下:

 

(1) 安装CUDA环境:

可以使用NVIDIA Jetson Xavier NX的GPU来运行模型。Ollama的安装方法可以参考上述。

sudoapt  update  

sudoapt upgrade

sudoapt install nvidia-jetpack -y

(2) 进入Ollama官网:

浏览Ollama支持的其他模型。

飞凌嵌入式

 

(3) 选择版本:

从Ollama支持的模型列表中选择千问Qwen1.8B版本。

飞凌嵌入式

 

(4) 运行模型:

在Ollama环境下,使用命令ollamarun qwen:1.8b启动通义千问模型。

ollamarunqwen:1.8b
飞凌嵌入式演示效果图3

 

 

3、交互方式

在前述的部署方式中,交互方式主要基于串口调试,缺少图形界面,无法展示图片、表单等元素,也不能呈现历史对话。为了提升用户体验,我们可以通过集成ChatboxUI或WebUI等方式,提供更为丰富的交互体验。

 

3.1 Chatbox UI

Chatbox是一款集成多种语言模型的AI助手工具,支持如ChatGPT、Claude等多种模型。它不仅具备本地数据存储和多语言切换功能,还支持图像生成、Markdown和LaTeX等格式,提供人性化的界面和团队协作功能。Chatbox支持Windows、macOS、Linux系统,用户可在本地快速实现对大语言模型的交互。步骤如下:

 

(1) 下载Chatbox:

从Chatbox官网(https://chatboxai.app/zh)下载适合的安装包。

飞凌嵌入式

 

(2) 安装并配置:

下载完成后是一个Chatbox-1.10.4-arm64.AppImage的文件,其实就是一个可执行文件,添加权限即可运行,就可以配置本地ollamaAPI下的LLM模型了。

chmod+x Chatbox-1.10.4-arm64.AppImage

./Chatbox-1.10.4-arm64.AppImage

飞凌嵌入式飞凌嵌入式

 

(3) 问答对话:

用户可以通过直观的图形界面与模型进行交流,体验更为便捷、流畅的交互。

飞凌嵌入式

演示效果图4

 

3.2 Web UI

WebUI通过网页或网络应用提供图形化用户界面,使得用户能够轻松通过浏览器与大语言模型进行交互。用户只需在浏览器中访问相应的IP地址和端口号,即可进行实时提问。步骤如下:

 

(1) Web UI环境搭建:

配置WebUI所需的环境。WebUI建议使用python3.11版本。所以使用的Miniconda创建python==3.11虚拟环境。

 

安装Miniconda

wgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh

chmod+x Miniconda3-latest-Linux-aarch64.sh

./Miniconda3-lates

飞凌嵌入式

 

搭建WebUI环境。

condacreate --name Web-Ui python=3.11

condaactivate Web-Ui

pipinstall open-webui -i https://pypi.tuna.tsinghua.edu.cn/simple


(2) 启动WebUI:

使用open-webuiserve启动WebUI应用,服务器的IP地址和端口号为0.0.0.0:8080。

open-webuiserve

 

(3) 访问WebUI:

在浏览器中输入IP地址和端口号,打开WebUI界面,开始与大语言模型互动。

注册账号

飞凌嵌入式演示效果图5

 

 

4、总结

本文全面展示了OK3588-C开发板及FCU3001边缘AI网关上大语言模型的多种移植方式,并介绍了如何通过ChatboxUI和WebUI等多种交互方式提升用户体验。

 

飞凌嵌入式推出了多款嵌入式AI产品,如OK3588-C、OK3576-C、OK-MX9352-C、OK536-C等开发板,还有AI边缘计算终端FCU3001,算力范围从0.5TOPS到21TOPS不等,可以满足不同客户的AI开发需求。如果您对这些产品感兴趣,欢迎随时与我们联系,飞凌嵌入式将为您提供详细的技术支持与指导。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分