近日,NVIDIA 發布了 Jetson 生成式人工智能實驗室,使開發人員能夠使用 NVIDIA Jetson 邊緣設備在現實世界中探索生成式人工智能的無限可能性。與其他嵌入式平臺不同,Jetson 能夠運行大型語言模型(LLM)、視覺轉換器和穩定的本地擴散。其中包括在 Jetson AGX Orin 上運行的最大的 Llama-2-70B 型號,以交互速率運行。
要在 Jetson 上快速測試最新的模型和應用程序,請使用 Jetson Generative AI 實驗室提供的教程和資源。現在,您可以專注于揭示生成 AI 在物理世界中尚未開發的潛力。
在這篇文章中,我們將探討您可以在 Jetson 設備上運行和體驗的令人興奮的生成人工智能應用程序,所有這些都在實驗室教程中全面介紹。
處于邊緣的生成型人工智能
在人工智能快速發展的環境中,聚光燈明亮地照射在生成模型上,尤其是以下方面:
- LLM 能夠進行類似人類的對話。
- 視覺語言模型(VLM),為大語言模型 (LLM) 提供通過相機感知和理解真實世界的能力。
- 擴散模型能夠將簡單的文本提示轉化為令人驚嘆的視覺作品。
這些非凡的人工智能進步吸引了許多人的想象力。然而,如果你深入研究支持這種尖端模型推斷的基礎設施,你會發現它們通常與云相連,依賴數據中心的處理能力。這種以云為中心的方法使某些需要高帶寬低延遲數據處理的邊緣應用程序在很大程度上未被探索。
在本地環境中運行大語言模型 (LLM) 和其他生成模型的新興趨勢正在開發人員社區中獲得勢頭。如在 Reddit 上的r/LocalLlama等蓬勃發展的在線社區,為愛好者提供了一個平臺,討論生成人工智能技術的最新發展及其在現實世界中的應用。在 Medium 等平臺上發表的大量技術文章深入探討了在本地環境中運行開源 LLM 的復雜性,其中一些文章利用了 NVIDIA Jetson。
Jetson Generative AI 實驗室是發現最新生成人工智能模型和應用程序并學習如何在 Jetson 設備上運行它們的中心。隨著該領域的快速發展,幾乎每天都有新的 LLM 出現,量化庫的進步一夜之間重塑了基準, NVIDIA 認識到提供最新信息和有效工具的重要性。我們提供易于遵循的教程和預構建的容器。
賦能力量是 jetson-containers,這是一個經過深思熟慮的設計和精心維護的開源項目,旨在為 Jetson 設備構建容器。使用 GitHub Actions,它正在以 CI/CD 的方式構建 100 個容器。這些功能使您能夠在 Jetson 上快速測試最新的人工智能模型、庫和應用程序,而無需配置底層工具和庫。
Jetson Generative AI 實驗室和 Jetson 容器使您能夠與 Jetson 一起專注于探索生成 AI 在現實世界中的無限可能性。
演練
以下是 Jetson generative AI 實驗室中 NVIDIA Jetson 設備上運行的一些令人興奮的生成 AI 應用程序。
穩定擴散 webui

A1111 的 stable-diffusion-webui 為 Stable Diffusion 提供了一個用戶友好的界面。它使您能夠執行許多任務,包括以下任務:
- txt2img :基于文本提示生成圖像。
- img2img:根據輸入的圖像和相應的文本提示生成圖像。
- inpainting:填充輸入圖像中缺失或被屏蔽的部分。
- outpainting:將輸入圖像擴展到其原始邊界之外。
該網絡應用程序在第一次啟動時自動下載 Stable Diffusion v1.5 模型,因此您可以立即開始生成圖像。如果您有一個 Jetson-Orin 設備,它就像執行以下命令一樣簡單,如教程中所述。
git clone https: //github.com/dusty-nv/jetson-containers cd jetson-containers ./run.sh $(./autotag stable-diffusion-webui) |
有關運行 Stable Diffusion webui 的更多信息,請參閱 Jetson Generative AI 實驗室教程。Jetson AGX Orin 還能夠運行更新的 Stable Diffusion XL(SDXL)型號,該型號生成了本文頂部的特色圖像。
文本生成 webui

Oobabooga 的 text-generation-webui 是另一個基于 Gradio 的 web 界面,用于在本地環境中運行 LLM。官方存儲庫為平臺提供了一鍵安裝程序,但 jetson 容器提供了一種更簡單的方法。
使用該界面,您可以從 HuggingFace模型庫 中選擇模型。對于 4 位量化,經驗法則是 Jetson Orin Nano 通常可以容納 7B 參數模型,Jetson Orin NX 16GB 可以運行 13B 參數模型,而 Jetson AGX Orin 64GB 可以運行高達 70B 參數的模型。
許多人現在正在努力研究 Llama-2,這是 Meta 的開源大型語言模型,可免費用于研究和商業用途。還有一些基于 Llama-2 的模型使用了監督精細轉彎(SFT)和來自人類反饋的強化學習(RLHF)等技術進行訓練。有些人甚至聲稱,它在某些基準測試中超過了 GPT-4。
文本生成 webui 提供擴展,并使您能夠開發自己的擴展。這可以用于集成您的應用程序,正如您稍后在 llamaspeak 示例中看到的那樣。它還支持多模式 VLM,如 Llava 和圖像聊天。

想要獲取更多關于運行文本生成 webui 的信息,請參閱 Jetson Generative AI 實驗室教程。
駱駝峰

Llamaspeak 是一款交互式聊天應用程序,采用 NVIDIA Riva ASR / TTS 實時聊天,使您能夠與本地運行的 LLM 進行口頭對話。它目前是作為 Jetson 集裝箱的一部分提供的。
為了進行流暢無縫的語音對話,最大限度地縮短 LLM 的第一個輸出令牌的時間至關重要。最重要的是,llamaspeak 被設計用于處理會話中斷,這樣您就可以在 llamaspeag 仍在 TTS 生成響應時開始交談。容器微服務用于 Riva、LLM 和聊天服務器。
llamaspeak 具有響應式接口,可從瀏覽器麥克風或連接到 Jetson 設備的麥克風獲得低延遲音頻流。有關自己運行它的更多信息,請參閱 jetson 容器文件。
NanoOWL

使用視覺轉換器的開放世界本地化(OWL-ViT)是由 Google Research 開發的一種用于開放詞匯檢測的方法。此模型使您能夠通過為對象提供文本提示來檢測對象。
例如,要檢測人員和汽車,請使用描述類的文本提示系統:
prompt = “a person, a car”
這對于快速開發新應用程序非常有價值,無需訓練新模型。為了在邊緣解鎖應用程序,我們的團隊開發了一個項目,NanoOWL,使用 NVIDIA TensorRT 對該模型進行了優化,以在 NVIDIA Jetson Orin 平臺上獲得實時性能(在 Jetson AGX Orin 上的編碼速度約為 95FPS)。這種性能意味著您可以運行遠高于普通相機幀速率的 OWL-ViT。
該項目還包含一個新的樹檢測管道,使您能夠將加速 OWL-ViT 模型與 CLIP 相結合,以實現任何級別的零樣本檢測和分類。例如,要檢測人臉并將其分類為快樂或悲傷,請使用以下提示:
prompt = “[a face (happy, sad)]”
要檢測人臉,然后檢測每個感興趣區域中的人臉特征,請使用以下提示:
prompt = “[a face [an eye, a nose, a mouth]]”
將它們組合起來:
prompt = “[a face (happy, sad)[an eye, a nose, a mouth]]”
這個列表還在繼續。雖然這個模型對某些對象或類的準確性可能比其他對象或類更好,但開發的容易性意味著你可以快速嘗試不同的提示,看看它是否適合你。我們期待著您開發出令人驚嘆的應用程序!
分段任意模型
Meta 發布了一種先進的圖像分割模型 – Segment Anything 模型(SAM),旨在精確識別和分割圖像中的對象,無論其復雜性或上下文如何。
他們的官方存儲庫也有 Jupyter 筆記本,可以輕松檢查模型的影響,jetson 容器提供了一個內置 Jupyter 實驗室的方便容器。
NanoSAM

Segment Anything(SAM)是一個令人難以置信的模型,能夠將點轉化為分割掩碼。不幸的是,它不是實時運行的,這限制了它在邊緣應用程序中的有用性。
為了克服這個限制,我們最近發布了一個新項目,NanoSAM,將 SAM 圖像編碼器提取為輕量級模型。同時,我們使用 NVIDIA TensorRT 對該模型進行了優化,以在 NVIDIA Jetson Orin 平臺上實現實時性能。現在,您可以輕松地將現有的邊界框或關鍵點檢測器轉換為實例分割模型,而無需任何培訓。
跟蹤任何模型
Track Anything Model(TAM)是一種模型,其團隊論文解釋為,“Segment Anything meet videos。”他們開源的、基于 Gradio 的界面讓你能夠點擊輸入視頻的一幀,指定要跟蹤和分割的任何內容。它甚至展示了通過修復來移除被跟蹤對象的額外功能。

NanoDB
除了在邊緣有效地索引和搜索數據外,這些向量數據庫還經常與 LLM 一起用于檢索增強生成(RAG),以獲得超出其內置上下文長度的長期內存(Llama-2 模型為 4096 個令牌)。視覺語言模型也使用相同的嵌入作為輸入。
有了所有來自邊緣的實時數據和理解這些數據的能力,他們就能夠與現實世界進行互動。如果您想在自己的圖像和數據集上嘗試使用 NanoDB,可以參考 實驗室教程 獲取更多信息。
結論
給你!許多令人興奮的生成人工智能應用程序正在出現,您可以按照這些教程在 Jetson Orin 上輕松運行它們。要見證生成 AI 在本地運行的令人難以置信的能力,請探索 Jetson Generative AI 實驗室。
如果您在 Jetson 上構建自己的人工智能應用程序,并有興趣分享您的想法,請務必訪問 Jetson 項目論壇。

請于 2023 年 11 月 7 日星期二上午 9 點加入我們的在線研討會,更深入地研究這篇文章中討論的許多話題,并參與現場問答!
- NVIDIA Jetson 上部署 LLM 和 VLM 的加速 API 和量化方法
- 使用 NVIDIA TensorRT 優化視覺轉換器
- 多模式代理和矢量數據庫
- 與 NVIDIA Riva ASR/TTS 的實時對話
?