工程筆記本 / AIoT&邊緣運算

AIoT&邊緣運算

使用Jetson Orin(Jetson Orin NX)運算模組執行本地端大型語言模型Ollama

郭 俊廷📅 2026-03-12👁 121
撰寫/攝影 郭俊廷
前情提要 之前有介紹在DGX Spark上部署Ollama:https://blog.cavedu.com/2026/02/03/gpt-oss120b_nvidia_dgx_spark/ 也有介紹AI Lab範例:text-generation-webui ,都是執行大型語言模型的工具: https://blog.cavedu.com/2024/08/27/jetson-ai-lab/
時間:1H 材料表 JETSON ORIN系列套件 reComputer Super J4012全配套裝組 (安裝Jetson ORIN NX 16 GB運算模組,含90W電源與Intel AX210 無線網路卡) 鍵盤滑鼠 HDMI線 HDMI螢幕
成本
難度:**
前言: 先前我們介紹過許多 Jetson 系列的 AI 應用範例,本篇將介紹 NVIDIA Jetson AI Lab 的相關教學。 Jetson AI Lab 提供多種範例,讓使用者能在 Jetson Orin 系列裝置上執行本地端大型語言模型(LLM)。本篇文章將示範如何透過 Ollama 在 Jetson 平台上執行 LLM,並搭配 Open WebUI 建立簡單的本地端 AI 對話介面。
本次使用的設備是reComputer Super J4012 (安裝Jetson ORIN NX 16 GB)JetPack 6.2。

本流程亦兼容其他 Jetson Orin 系列套件,唯需注意各型號記憶體容量不同,所能支撐的模型參數大小亦有所差異。

支援設備清單:

  • 高階型: Jetson AGX Orin (64GB / 32GB)

  • 主流型: Jetson Orin NX (16GB/8GB)

  • 入門型: Jetson Orin Nano (8GB)

系統與硬體建議:

  • JetPack 版本: 支援 JetPack 5 (L4T r35.x) 或 JetPack 6 (L4T r36.x)。

  • 儲存空間: 強烈建議安裝 NVMe SSD

    • Ollama 容器鏡像約需 7GB。

    • 模型檔案通常 > 5GB (視選用模型而定)。

  • 記憶體優化: 若使用 Orin Nano 或 8GB/16GB 設備,建議先參考 NVIDIA 記憶體優化指南 進行設定。

目前Jetson AI Lab 已更新為2.0! 部分舊的範例都停止更新,有更新的範例可以參考以下網站: https://www.jetson-ai-lab.com/tutorials/ollama/

系統安裝建置

NVIDIA Jetson AI Lab 主要透過 Docker 來執行相關範例,因此安裝與部署流程相當簡單。

如果之前已安裝過相關環境,可以略過此步驟。

首次使用 Jetson AI Lab 的使用者可以依照以下流程操作。

安裝 jetson-containers

Jetson AI Lab 的範例主要透過 jetson-containers 專案管理。

GitHub 專案:

https://github.com/dusty-nv/jetson-containers

安裝指令:

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

bash jetson-containers/install.sh

設定 Docker GPU Runtime

在建置容器之前,需要將 Docker 的 default-runtime 設定為 nvidia,讓 GPU 能在 Docker build 過程中使用。

如果沒有安裝nano編輯器可以先使用以下指令安裝:
sudo apt-get install nano -y
編輯 daemon.json 檔案:
sudo nano /etc/docker/daemon.json
修改成以下內容
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "default-runtime": "nvidia"
}
修改前的內容與修改後的內容如下兩圖: [gallery ids="62923,62924"]

重新啟動 Docker

設定完成後需要重新啟動 Docker:

sudo systemctl restart docker
可以透過以下指令查看內容來確認是否更改成功,應可看到 Default Runtime: nvidia 訊息,如下圖:
sudo docker info | grep 'Default Runtime'

將使用者加入 Docker 群組

Ubuntu 預設使用者不在 docker 群組 中,因此執行 docker 指令時通常需要使用 sudo

可以將使用者加入 docker 群組:

sudo usermod -aG docker $USER
然後關閉/重新啟動您的終端機(登出或重開機),之後就能夠在執行 docker 命令的時候(如 docker info)不需使用sudo。

安裝 Ollama

首先下載並安裝Ollama
curl -fsSL https://ollama.com/install.sh | sh

執行大型語言模型

接著在終端機執行模型:

(本教學 不使用 Docker 版本的 Ollama,因為後續部分範例需要直接呼叫 Ollama 服務。) 接著執行gemma3:4b的模型 (第一次執行時會下載約 14GB 的模型檔案,所以也需要一些時間,另外請注意你的硬碟空間是否足夠。)
ollama run gemma3:4b

安裝 Open WebUI

為了提供圖形化操作介面,可以使用 Open WebUI

執行以下 Docker 指令:

docker run -d --network=host \
-v open-webui:/app/backend/data \
-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main

開啟 Open WebUI

安裝完成後,開啟瀏覽器並輸入:

http://JETSON_IP:8080
第一次登入需要建立帳號。

注意:

  • 帳號資料僅保存在本機
  • 不會上傳到雲端
  • 若忘記密碼可重新建立容器

測試 LLM 對話

Open WebUI 會預設使用 最新下載的模型

本範例使用:

gemma3:4b

有時候模型的回答會與終端機輸出的結果不同,這是大型語言模型常見的 Hallucination(幻覺)現象

這類問題通常可透過 RAG(Retrieval-Augmented Generation) 技術改善,後續文章會再介紹如何在 Ollama 中實作 RAG。

下載其他模型

在 Open WebUI 左上角可以搜尋可用模型。

Ollama 支援的完整模型列表:

https://ollama.com/library

請注意:

若 Jetson 記憶體不足,建議選擇 較小的模型

Open WebUI 管理指令

Open WebUI 預設會在背景執行。 停止服務指令: docker stop open-webui 查看容器狀態: docker ps -a 若顯示:STATUS: Exited 代表服務已停止。 啟動服務指令: docker start open-webui 若顯示:STATUS: Up 代表服務正常運行。

Jetson 記憶體優化建議

若使用 Jetson Orin Nano 或 16GB 以下記憶體的裝置,建議先進行 記憶體優化設定

Jetson AI Lab 的部分範例會使用大量記憶體。

優化方法可參考:

https://www.jetson-ai-lab.com/tips_ram-optimization.html

若使用 Jetson AGX Orin 64GB 等高階設備,通常不需要進行此優化。

  參考資料: https://github.com/dusty-nv/jetson-containers/ https://www.jetson-ai-lab.com/tutorials/ollama/    

相關文章 📎

留言 💬 (0)

還沒有留言,來當第一個。