跳至內容
測試伺服器
開發伺服器

pylon AI 入門指南#

本主題說明如何設定開發環境,以便使用 Pylon 的 AI 功能。

若要使用 pylon AI,您必須安裝以下元件:

  • pylon Software Suite
  • pylon AI 的 pylon 補充套件
    本主題說明了如何安裝此補充套件。
  • 您還需要為欲使用的vTools取得授權。有關如何取得及啟用這些授權的資訊,請參閱「vTool 授權」主題。

pylon AI 的「pylon 補充套件」提供了一項後端服務,使 AI vTools 能夠執行深度學習模型。此後端服務即為 NVIDIA Triton 推論伺服器,並整合了 Basler 附加元件,以支援模型加密與授權功能。

以下概述了 Triton 推論伺服器在開發環境中的位置:

人工智慧開發環境概覽

安裝 Triton Server 有兩種方式:

  • 在本地電腦上
  • 在網路中的某台遠端電腦上

若您是獨自進行個人專案,建議選擇第一種方式;若是在團隊中工作,則第二種方式更為適合。

Basler 並未提供 Triton 伺服器的即時執行個體,也不建議將該伺服器發佈為公開的網際網路端點。您應始終將其視為開發環境的一部分,並據此採取相應的保護措施。

pylon AI 的 pylon 補充套件包含一個經過修改的 Docker 映像檔,用於將 Triton 推論伺服器設定為可與pylon AI vTools 及pylon AI Agent 配合使用。該套件還包含設定與啟動腳本,以及發行說明和第三方授權資訊。

系統需求#

Ubuntu 以及適用於 WSL 的 Ubuntu#

  • x86_64 CPU:最新的 Intel Core i5(或更高階)或同等級處理器。
  • Memory:至少 8 GB 可用 RAM。建議具備 16 GB 或更多可用 RAM。
  • Disk type:建議使用 SSD。
  • 磁碟空間:安裝至少需要 20 GB 的可用磁碟空間。模型儲存庫所需的空間取決於您計劃部署的模型大小與數量。每個模型的大小可能從幾兆位元組到數吉位元組不等。
  • CUDA version:12+
  • GPU 顯示卡:適合的顯示卡範例包括 NVIDIA RTX A5000、NVIDIA RTX A2000 筆記型電腦版GPU 、NVIDIA Tesla T4 等。

資訊

一般 CPU 已足以執行 Triton 推論伺服器。若您需要更快的效能,建議使用GPU 。

Jetson 背著 JetPack 的家庭 6#

  • 模組:所有NVIDIA 模組Jetson
  • Memory:至少 8 GB 可用 RAM。建議具備 16 GB 或更多可用 RAM。
  • Disk type:建議使用 SSD。
  • 磁碟空間:安裝至少需要 20 GB 的可用磁碟空間。模型儲存庫所需的空間取決於您計劃部署的模型大小與數量。每個模型的大小可能從幾兆位元組到數吉位元組不等。

先決條件#

資訊

  • 安裝過程中需要連線至網際網路。

  • 請確保您的本地電腦未封鎖 8000、8001、8002 及 22350 這些埠。
    由於用戶端可能出現的狀況種類繁多且複雜,Basler 無法提供通用的解決方案。因此,潛在的存取問題必須由客戶在 IT 部門的協助下自行處理。

Ubuntu#

如需更多資訊,請參閱「在 Ubuntu 上安裝 Docker」。

如果您的電腦搭載 NVIDIAGPU ,請參閱《安裝 NVIDIA 驅動程式》及《NVIDIA Container Toolkit》。

適用於 WSL 的 Ubuntu#

資訊

請勿在 WSL 內安裝任何Linux 顯示卡驅動程式。驅動程式應僅直接安裝於Windows 上。

請依照以下說明,在 WSL 上安裝Ubuntu 作業系統。

請依照以下說明,在 WSL 上的 Ubuntu 中安裝Docker。

Jetson Family(JetPack 6.x)#

您必須使用SDK Manager 對裝置進行韌體刷寫。此操作需要 JetPack 6.x,該版本已內建 Docker。

所有作業系統版本#

在完成作業系統的準備工作後,請確保符合以下要求:

  • CodeMeter 已安裝 Runtime。
    CodeMeter Runtime 的安裝是pylon Software Suite 安裝程序的一部分。
  • AI vTools 現已開放授權。
    如需更多資訊,請造訪Basler 網站。
  • Docker Engine 已安裝。
    若要檢查是否已安裝 Docker Engine:

    docker --version
    
  • 關於GPU 的使用方式:已安裝 NVIDIA Container Toolkit。
    若要檢查是否已安裝此工具包:

    nvidia-container-toolkit -version
    

    若尚未安裝,請閱讀以下段落。

安裝 NVIDIA 驅動程式與 NVIDIA Container Toolkit(使用GPU 所必需)#

NVIDIA Container Toolkit 提供了GPU 加速運算所需的函式庫與工具。Triton 推論伺服器利用 CUDA 執行GPU 加速運算,例如模型推論。NVIDIA Container Toolkit 的版本應與 Triton 伺服器所要求的版本,以及您正在部署的模型版本相符。

若要檢查 NVIDIA 驅動程式的版本,請開啟終端機並輸入以下指令:

nvidia-smi

若尚未安裝任何驅動程式或工具包,請依照此頁面上的指示操作:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

請參閱此頁面,以確認您的 NVIDIA 驅動程式是否與 NVIDIA Container Toolkit 及 Triton Inference Server 相容:https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel-24-11.html#rel-24-11

安裝 Triton 推論伺服器#

模型儲存庫會在安裝過程中於您的家目錄中建立,例如:/home/username/pylon_ai/model_repository。請切勿更改此路徑。

線上安裝#

若要從 pylon AI 的 pylon 補充套件安裝 Triton 推論伺服器,請依照以下步驟操作:

  1. 請切換至存放您從 Basler 網站下載的pylon-supplementary-package-for-pylon-ai-*.tar.gz壓縮檔的目錄。
  2. 將 pylon AI 的 tar.gz 壓縮檔中的「pylon 補充套件」解壓縮至您選擇的目錄中(若要解壓縮至其他目錄,請將./pylon_ai_setup替換為該目錄名稱)。

    mkdir pylon_ai_setup && tar -xzvf ./pylon-supplementary-package-for-pylon-ai-*.tar.gz -C pylon_ai_setup
    
  3. 切換至您解壓縮 pylon AI 補充套件的資料夾。

    cd pylon_ai_setup
    
  4. 請以 root 權限執行設定腳本。

    sudo chmod +x setup-pylon-ai-triton-inference-server.sh && sudo ./setup-pylon-ai-triton-inference-server.sh
    

離線安裝#

若無法連上網際網路,請依照以下步驟操作。

  1. 請在可連網的電腦上,造訪 Docker Hub 並下載 Basler Triton Server 的 Docker 映像檔。
    此映像檔可透過以下連結取得:https://hub.docker.com/repository/docker/basler/tritonserver/general
  2. 將映像檔傳輸至您欲安裝 Triton Server 的電腦上。
    您可以使用以下指令來執行步驟 1 和 2。

    docker pull basler/tritonserver:[tagname]
    
    docker save basler/tritonserver:[tagname] | gzip > tritonserver.[tagname].tgz
    

    範例:

    docker image save basler/tritonserver:24.11-py3_1.3.0 | gzip > tritonserver.24.11-py3_1.3.0_rc4.tgz
    

  3. 請切換至存放您從 Basler 網站下載的pylon-supplementary-package-for-pylon-ai-*.tar.gz壓縮檔的目錄。

  4. 將 pylon AI 的 tar.gz 壓縮檔中的「pylon 補充套件」解壓縮至您選擇的目錄中(若要解壓縮至其他目錄,請將./pylon_ai_setup替換為該目錄名稱)。

    mkdir pylon_ai_setup && tar -xzvf ./pylon-supplementary-package-for-pylon-ai-*.tar.gz -C pylon_ai_setup
    
  5. 將已儲存的.tar檔案複製到pylon_ai_setup資料夾中。

  6. 請以 root 權限執行設定腳本。

    sudo chmod +x setup-pylon-ai-triton-inference-server.sh && sudo ./setup-pylon-ai-triton-inference-server.sh
    

啟動 Triton 推論伺服器#

本節詳細說明啟動推論伺服器的三種不同方式。請根據您的需求選擇最適合的方式,並同時參考以下關於遠端執行伺服器及 vTools 的相關資訊。

當您啟動推論伺服器時,伺服器會預期模型儲存庫位於預設位置,即/home/username/pylon_ai/model_repository。如果您不慎將儲存庫重新命名或刪除,則必須透過重新安裝伺服器來重新建立該儲存庫。

遠端執行伺服器與 vTools

如果您在遠端電腦上執行 Triton 推論伺服器,同時又從其他位置執行 AI vTools 或 AI Agent,請注意以下重要的限制與注意事項:

  • 資料在發出推論請求的 vTools 與 Triton Inference Server 之間傳輸所需的時間可能會影響整體回應時間。
  • 高延遲會拖慢推論過程,特別是對於即時應用程式而言。
  • 有限的網路頻寬可能會導致通訊緩慢或不可靠,特別是在傳輸大量資料時。
  • 遠端功能需要開放 8000、8001 和 8002 埠。(這可能需要您的 IT 部門提供協助,例如執行防火牆和代理伺服器的檢查。)

在需要時啟動伺服器#

如果您不希望在電腦啟動時將 Triton 推論伺服器作為 Docker 容器啟動,可以使用以下 shell 腳本,在需要時手動啟動 Triton 推論伺服器。

  1. 切換至您解壓縮 pylon AI 補充套件的資料夾。
  2. 啟動 Triton 推論伺服器。

    sudo chmod +x run-pylon-ai-triton-inference-server.sh && sudo ./run-pylon-ai-triton-inference-server.sh
    

在開機時啟動伺服器#

若要在開機時自動啟動 Triton Inference Server Docker 容器,或在發生當機時自動重新啟動該容器,您可以透過執行「run-pylon-ai-triton-inference-server.sh」 shell 腳本並附加額外參數,來建立符合您需求的 systemd 服務。

  1. 切換至您解壓縮 pylon AI 補充套件的資料夾。
  2. 執行安裝程式腳本。

    sudo chmod +x run-pylon-ai-triton-inference-server.sh && sudo ./run-pylon-ai-triton-inference-server.sh --service
    

將 Triton 推論伺服器安裝為服務後,您可在需要時暫時停止其運作。請注意,裝置重新啟動後,該服務將會自動啟動。

若要暫時停止負責執行 Triton 推論伺服器的 systemd 服務,請開啟終端機(位於任何目錄中),並執行以下指令:

sudo systemctl stop tritonserver.service

若要重新啟動該服務,請執行以下指令來啟動它:

sudo systemctl start tritonserver.service

若您遇到由該服務管理的目前正在運行的伺服器所引發的問題,您可以執行以下指令來重新啟動它:

sudo systemctl restart tritonserver.service

若要永久停用此服務,請執行以下指令:

sudo systemctl disable tritonserver.service

授權#

您可以在此處,或於 pylon AI 的 pylon 補充套件中所含的授權檔案中,查閱授權資訊。

疑難排解#

CodeMeter 此設定會在 Pylon 安裝過程中完成,以確保 Triton 推論伺服器能夠存取所需的授權。

在極少數情況下,此操作可能會失敗。若發生此情況,請將CodeMeter 設定為網路伺服器:

  1. 開啟CodeMeter 控制中心,並點擊右下角的「WebAdmin」按鈕。
  2. 在CodeMeter WebAdmin 中,導航至「設定」>「伺服器」>「伺服器存取」。
  3. 在「網路伺服器」區域中,選取「啟用」,然後按「套用」確認。
  4. 返回「CodeMeter 」控制中心。
  5. 在「程序」選單中,按一下「重新啟動CodeMeter 服務」,以將CodeMeter 重新啟動為網路伺服器。

Known Issues#

Jetson Orin 上的 ONNX 執行階段錯誤

在Jetson 的 Orin 裝置上執行 run-pylon-ai-triton-inference-server.sh 若裝置處於低功耗模式,則會出現此錯誤。不過,您嘗試載入的模型仍會被成功載入。為避免此錯誤,請在Jetson Orin 上設定較高的功耗模式。