教程:VENTUNO Q/Ollama

来自WindwizPi wiki

概述

本教程将引导你安装 Ollama——一个用于在本地运行大语言模型的框架——并在 Arduino® VENTUNO™ Q 的 Qualcomm® Dragonwing™ QCS8275 处理器上运行轻量级模型。

注意:

注意:请知悉,安装 Ollama 加上一个模型会占用大量磁盘空间,并且需要稳定的互联网连接。

所需硬件与软件

访问开发板 Shell

本教程需要你访问 VENTUNO Q 上的 shell。要访问 shell(终端),可以使用 adb 或 ssh。

要通过 adb 连接,用 USB-C® 线缆连接 VENTUNO Q 与电脑,然后运行:

# Using adb (Android Debug Bridge)
adb shell

要通过 ssh 连接,请确保 VENTUNO Q 与电脑连接到同一网络,然后运行:

# Using ssh (Secure Shell)
ssh arduino@<ip-address>

说明:

有关远程访问开发板的更多替代方式,请参阅 Remote Access 教程。

安装 Ollama

可使用 curl 安装 Ollama:

# Download and run the official Ollama installer
curl -fsSL https://ollama.com/install.sh | sh

说明:

说明: 安装程序会写入 /usr/local 并注册 systemd 服务,因此会要求输入密码。请在开发板上的交互式终端中运行——在非交互会话中无法回答该提示,安装会停在 sudo: a password is required。

完成后,Ollama 会作为后台服务运行。可用以下命令检查:

ollama --version
systemctl is-active ollama

在 VENTUNO Q 上运行 LLM

# Recommended for minimal memory usage (~500 MB RAM)
ollama run qwen2.5:0.5b

# Balanced option with better output quality (~1.5 GB RAM required)
ollama run llama3.2:1b

模型权重下载完成后,不再需要互联网访问。你可以完全离线运行推理。

Ollama 在 CPU 上运行

Ollama 是让本地模型尽快跑起来的最快方式,但在 VENTUNO Q 上它仅使用 CPU——无法利用 Hexagon™ NPU 或 Adreno™ GPU。可在模型已加载时确认:

ollama ps

PROCESSOR 列会报告 100% CPU。Ollama 服务器日志在启动时也会说明同样的情况,将 cpu 列为它所发现的唯一推理设备。

这是构建产物的特性,而非开发板本身的限制。官方 Linux arm64 发行版附带 CPU 后端(libggml-cpu-armv8.0 到 armv9.2)以及 CUDA,没有 Vulkan、OpenCL 或 QNN 后端,因此没有可卸载到的加速器。开发板本身是有能力的:Adreno™ 623 同时提供 OpenCL 3.0 和 Vulkan 1.3(后者通过 Mesa turnip 驱动),并且 llama.cpp 已成功在其上使用 OpenCL。

Ollama 的 Vulkan 后端确实存在于上游,但属于实验性功能,且未包含在任何已发布的二进制中。使用 -DGGML_VULKAN=ON 从源码构建 Ollama 确实会生成可用的 libggml-vulkan.so,运行时随后会找到 GPU——在用 OLLAMA_IGPU_ENABLE=1 启用集成 GPU 后,它会报告 library=Vulkan description=Adreno623,并将模型的每一层卸载到 Vulkan 缓冲区。然而推理本身会以段错误终止。因此,此硬件上的 GPU 路径目前尚不可用,上文的打包安装程序仍是运行 Ollama 的合理方式。

完全没有通向 Hexagon™ NPU 的 Ollama 路径:没有任何构建选项会添加该能力。

在选择运行时时这一点很重要。在运行 Ubuntu 24.04 的 VENTUNO Q 上测得:

运行时 模型 运行于 生成速度
Ollama Qwen2.5 0.5B CPU 5.3 tok/s
llama.cpp(OpenCL 构建) Qwen2.5 1.5B Adreno™ GPU 7.4 tok/s
GenieX Qwen2.5 1.5B Hexagon™ NPU ~25 tok/s

加速运行时在三倍大的模型上反而更快。当便利性最重要时使用 Ollama——它会为你管理下载、模型文件和 API 服务器。若要使用加速器,请参阅 在 NPU 上使用 GenieX 运行 LLM 和 VLM,它既是最快的选项,安装也几乎同样简单;或者如果你想自行构建技术栈,请参阅 在 Ventuno Q 上运行本地 LLM。

结论

你已成功安装 Ollama,并在 Dragonwing™ QCS8275 上本地运行了轻量级 LLM。此设置非常适合在开发期间进行边缘 AI 推理,而无需依赖云服务。


原文:https://docs.arduino.cc/tutorials/ventuno-q/ollama/ 本页为 Arduino 官方教程的中文翻译,供内部查阅。命令与代码保持原文。