前言
之前我們介紹了NVIDIA Jetson AI Lab其中的一個範例text-generation-webui ,如何安裝及使用。本次先把目前的範例整理一下大概介紹一下功能及使用需求。
相關的安裝教學可以參考 [NVIDIA Jetson AI Lab範例:text-generation-webui],JetPack 6.0 正式版安裝請參考 [NVIDIA Jetson AGX Orin 安裝 JetPack 6.0 正式版]。
https://blog.cavedu.com/2024/08/10/jetson-agx-orin-jp6-install/
攝影/撰寫 | 郭俊廷 | 材料表 |
|
時間 | 1小時 ((看網路速度和主機效能決定多久) | ||
難度 | 2(滿分5) |
本文
本文要為您詳細介紹 NVIDIA Jetson AI Lab 各範例的功能與系統需求,有些需要JetPack 5有些需要JetPack 6,有些範例只能在AGX Orin上執行有些Orin Nano就可以執行,詳細的的需求會隨著範例的進度而更新,這裡列出目前2024年7月的進度(有些範例會隨著時間改版或刪除)。
之前介紹 NVIDIA Jetson AI Lab 時,有些使用者在使用範例時會發生錯誤或無法使用的情形,因此我們整理了一篇文章,列出了可以使用的裝置以及可使用的 JetPack 版本。大家可以參考一下自己需要使用的範例來決定要使用的裝置。不過,這些介紹會隨時間而更新,最終版本還是需要參考原廠網站的介紹。
這篇文章將有助於你了解哪些裝置和 JetPack 版本適合你所需的範例,希望能幫助你在使用 NVIDIA Jetson AI Lab 的過程中更順利。
首先介紹一下NVIDIA Jetson AI Lab可以使用的硬體
根據 Jetson AI lab 頁面,目前可執行相關範例的 Jetson Orin 裝置如下 (相關Orin系列設備,如要購買可參考機器人王國商城或來電洽詢 0223062900 ):
- Jetson AGX Orin 64GB Developer Kit 64GB
- Jetson AGX Orin Developer Kit 32GB
- Jetson Orin Nano Developer Kit 8GB
Jetson Orin NX 經我們測試後也可以執行,詳細結果可以參考以下表格。
以下根據模型的模態、資料處理或生成類型,大致分為以下幾個類別。
Text 文字類別 (LLM)
範例名稱 | 可使用裝置 | 可使用JetPack 版本 | 範例介紹 |
text-generation-webui |
|
|
使用 oobabooga 的 text-generation-webui 來運行大型語言模型(LLM),與本地的 AI 助手互動。 |
Ollama |
|
|
輕鬆開始部署 GGUF 模型,用於網頁介面聊天 |
llamaspeak |
|
JetPack 6 (L4T r36) | 使用 Riva 的語音識別/語音合成 技術與 Llama 即時對話,並與 Llava 討論圖片! |
Small LLM (SLM) |
|
JetPack 6 (L4T r36.x) | 小型語言模型 (SLM) 是一類參數少於 7B 的語言模型,例如 StableLM、Phi-2 和 Gemma-2B。它們較小的記憶體佔用和較快的效能,使其成為在 Jetson Orin Nano 上部署的好選擇。 |
API Examples |
|
|
學習如何使用 API 編寫 Python 代碼進行大型語言模型推理 |
Text + Vision (VLM) 文字+視覺
讓你的邊緣裝置所執行的 LLM 還能進一步搭配視覺功能!LLaVA(Large Language-and-Vision Assistant)是一種結合了大型語言模型與電腦視覺的技術,希望能實現更強大的多模態理解和互動。這項技術結合了文字和圖像兩種資訊來源,藉由將自然語言處理與視覺處理結合,可以提供更豐富、更準確的回答,尤其在需要理解圖像內容的情境下表現優異。
範例名稱 | 可使用裝置 | 可使用JetPack 版本 | 範例介紹 |
Mini-GPT4 |
|
|
Mini-GPT4,一種展示視覺語言功能的開源模型。 |
LLaVA |
|
|
大型語言和視覺助手,多模態模型,結合了視覺編碼器和大型語言模型 (LLM) 進行視覺和語言理解。 |
Live LLaVA |
|
JetPack 6 (L4T r36.x) | 在即時攝影機輸入或視訊串流上運行視覺語言模型,並重複對其應用相同的提示。 |
NanoVLM |
|
JetPack 6 (L4T r36) | 使用迷你視覺/語言模型和優化的多模態管道線來進行即時影像串流。 |
Image Generation(影像生成)
支援以 Stable Duffision 為主的影像生成模型。
範例名稱 | 可使用裝置 | 可使用JetPack 版本 | 範例介紹 |
Stable Diffusion |
|
|
在 NVIDIA Jetson 上執行 AUTOMATIC1111 的 stable-diffusion-webui,根據提示詞產生圖像! |
Stable Diffusion XL |
|
|
Stable Diffusion XL 的新型整合管線,由基礎模型和精煉器組成,實現顯著增強和詳細的圖像生成能力。SDXL 1.0 擁有 66 億個模型參數,而原始 SD 1.5 模型有 9.8 億個模型參數。 |
Vision Transformers (ViT)
Vision Transformers 相較於 CNN,將影像分割成一系列小的固定大小的 patch,並將這些 patch 視為序列輸入 Transformer 模型。這些模型最初是在自然語言處理 (NLP) 領域發展出來的,並在處理序列數據方面展現出強大的能力。ViTs 的優點在於它們能夠自動學習影像的長程依賴關係,而不是像 CNN 那樣依賴於卷積核的局部感知。這使得 ViTs 能夠更靈活地處理複雜的影像資訊,
範例名稱 | 可使用裝置 | 可使用JetPack 版本 | 範例介紹 |
EfficientVIT |
|
|
麻省理工學院Han實驗室的 EfficientViT,用於高解析度密集預測的多尺度線性注意力 |
NanoOWL |
|
|
OWL-ViT 經過最佳化,可以透過 NVIDIA TensorRT 在 Jetson 上即時運行 |
NanoSAM |
|
|
NanoSAM,能夠在 Jetson 上即時運行的 SAM 模型變體 |
SAM(Segment Anything) |
vit_h 由於 OOM,最大的(2.4GB) 型號可能無法運行,但vit_l(1.1GB) 可以在 Jetson Orin Nano 上運行 |
|
Meta 的 SAM,Segment Anything 模型 |
TAM(Track-Anything) |
|
|
TAM,Track-Anything 模型,是一種用於視訊物件追蹤和分割的互動式工具 |
RAG & Vector Database(檢索增強生成和向量資料庫)
- NanoDB 是一種專為嵌入式系統設計的小型資料庫系統,它在資源有限的環境下提供高效的資料存儲和檢索功能,特別適合運行在像 Jetson Nano 這類邊緣裝置上,因為它具有輕量化的設計,能夠有效地管理記憶體和運算資源。
- LlamaIndex 是一個專為處理大規模文字資料而設計的索引系統,特別適合用於自然語言處理 (NLP) 任務。它能夠快速高效地對大規模文字進行索引和查詢,提供了高度最佳化的資料檢索能力。這對於需要處理大規模文字資料集的應用場景,如搜索引擎或語義理解系統,尤其有用。
- Jetson Copilot 是一個專為 NVIDIA Jetson 平台設計的多功能輔助工具,希望簡化開發者在嵌入式系統上的開發過程。這個工具結合了多種功能,包括模型推理、資料處理、自動化流程控制等,使得在 Jetson 系列設備上開發 AI 應用變得更加高效。
範例名稱 | 可使用裝置 | 可使用JetPack 版本 | 範例介紹 |
NanoDB |
|
|
NanoDB 互動演示展示處理多模態資料的向量資料庫的影響 |
LlamaIndex |
|
|
讓我們使用 LlamaIndex 來實現 RAG(檢索增強生成),這樣一來,LLM 就可以處理您的文件了! |
Jetson Copilot |
|
|
Jetson Copilot 是本地 AI 助理的參考應用程序,它演示了:
在裝置上執行開源 LLM(大型語言模型) RAG(檢索增強生成)讓 LLM 能夠存取您的本機索引知識 |
Audio(聲音)
- Whisper: Whisper 是一種專門設計用於語音辨識的技術,能夠高效將語音轉換為文字。該技術的特點是高準確率的語音辨識能力,即使在嘈雜環境中也能有效運行。
- AudioCraft: AudioCraft 是一個專為音頻生成和處理設計的工具套件。它可以生成各種類型的音效、音樂或語音片段,並提供了豐富的處理功能來調整和最佳化音頻輸出。
- VoiceCraft: VoiceCraft 是一個專門為語音合成設計的工具,能夠將文本轉換為自然流暢的語音輸出。這個技術非常適合用於開發語音助手、語音導航系統或其他需要語音交互的應用。
範例名稱 | 可使用裝置 | 可使用JetPack 版本 | 範例介紹 |
Whisper |
|
|
OpenAI 的 Whisper,用於自動語音辨識 (ASR) 的預訓練模型 |
AudioCraft |
|
|
Meta 的 AudioCraft,用於製作高品質的音訊和音樂 |
Voicecraft |
|
|
語音編輯和零樣本語音合成 (TTS) |
Metropolis Microservices
MMJ 是指 Metropolis Microservices for Jetson,是專為 NVIDIA Jetson 平台設計的微服務架構,幫助開發者快速打造各種電腦視覺和 AI 應用。
範例名稱 | 可使用裝置 | 可使用JetPack 版本 | 範例介紹 |
Metropolis Microservices |
|
|
使用 NVStreamer 和 AI NVR 功能在 Jetson 上啟動並執行 Metropolis Microservices。 |
參考資料
https://github.com/dusty-nv/jetson-containers/
https://www.jetson-ai-lab.com/tutorial-intro.html