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

pylon AI 入門#

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

為了使用 pylon AI,您必須安裝下列元件:

  • pylon Software Suite
  • 用於 pylon AI 的 pylon 補充套件
    本主題將說明此補充套件的安裝方式。
  • 您同時需要欲使用之 vTools 的授權。如需如何取得與啟用這些授權的資訊,請參閱 vTool 授權主題。

用於 pylon AI 的 pylon 補充套件提供後端服務,可讓 AI vTools 執行深度學習模型。此後端服務為搭載 Basler 附加元件的 NVIDIA Triton Inference Server,支援模型加密與授權。

以下為 Triton Inference Server 在開發環境中配置位置的概述:

AI 開發環境概述

您有兩種安裝 Triton Server 的選項:

  • 在本機電腦上
  • 在網路中的遠端電腦上

第一種選項建議用於獨立進行個人專案,而第二種選項則較適合團隊協作。

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

pylon 針對 pylon AI 的補充套件(pylon Supplementary Package for pylon AI)包含修改過的 Docker 映像檔,可讓 Triton Inference Server 搭配 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 的可用磁碟空間。模型儲存庫所需的空間取決於您計劃部署的模型大小與數量。模型的容量從幾 megabytes 到數個 gigabytes 不等。
  • CUDA version:12+
  • GPU 卡:適用卡的範例包括 NVIDIA RTX A5000、NVIDIA RTX A2000 Laptop GPU、NVIDIA Tesla T4 等。

資訊

CPU 足以執行 Triton Inference Server。如果您需要更快的效能,建議使用 GPU。

具備 JetPack 6 的 Jetson Family#

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

先決條件#

資訊

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

  • 請確保本機電腦上的連接埠 8000、8001、8002 和 22350 未遭到封鎖。
    由於使用者端可能發生的情況繁多且複雜,Basler 無法提供通用解決方案。因此,潛在的存取問題必須由客戶自行在其 IT 部門的支援下處理。

Ubuntu#

如需詳細資訊,請參閱 install docker on Ubuntu。

如果您的電腦配備 NVIDIA GPU,請參閱 Installing NVIDIA drivers and the NVIDIA Container Toolkit。

用於 WSL 的 Ubuntu#

資訊

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

請遵循這些指示在 Ubuntu OS on WSL 上進行安裝。

請遵循這些指示在 Docker within Ubuntu on WSL 上進行安裝。

Jetson Family (JetPack 6.x)#

您的裝置必須使用 SDK Manager 進行韌體寫入 (Flash)。需要 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 Inference Server 使用 CUDA 來執行 GPU 加速運算,例如模型推論。NVIDIA Container Toolkit 版本應符合 Triton Server 和您所部署模型所期望的版本。

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

nvidia-smi

切換至包含您從 Basler 網站下載的 pylon-supplementary-package-for-pylon-ai-*.tar.gz 封存檔的目錄。

請檢查此頁面,以確保您的 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 Inference Server#

模型儲存庫 (Model repository) 在安裝過程中建立於您的主目錄中,例如 /home/username/pylon_ai/model_repository。您不得變更它。

線上安裝#

若要從 pylon Supplementary Package for pylon AI 安裝 Triton Inference Server,請遵循下列步驟:

  1. 請切換至存放您從 Basler 網站下載的pylon-supplementary-package-for-pylon-ai-*.tar.gz壓縮檔的目錄。
  2. 將 pylon Supplementary Package for pylon AI tar.gz 封存檔解壓縮至您選擇的目錄中(如果要解壓縮至不同的目錄,請取代 ./pylon_ai_setup)。

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

    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. 在連線至網際網路的電腦上,造訪 dockerhub 並下載 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 Supplementary Package for pylon AI tar.gz 封存檔解壓縮至您選擇的目錄中(如果要解壓縮至不同的目錄,請取代 ./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 Inference Server#

本節詳細說明啟動 Inference Server 的三種不同方式。請考量以下關於遠端執行伺服器與 vTools 的資訊,選擇最符合您需求的方式。

當您啟動 Inference Server 時,伺服器預期模型儲存庫位於預設位置,也就是 /home/username/pylon_ai/model_repository。如果您不小心重新命名或刪除該儲存庫,必須透過重新安裝伺服器來重新建立。

遠端執行伺服器與 vTools

如果您在遠端電腦上執行 Triton Inference Server,同時也從其他位置執行 AI vTools 或 AI Agent,請注意以下重要限制與注意事項:

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

在需要時啟動伺服器#

如果您不想在電腦開機時將 Triton Inference Server 以 Docker 容器啟動,您可以在需要時使用下列 Shell 指令碼來啟動 Triton Inference Server。

  1. 切換至您解壓縮 pylon AI 的 pylon Supplementary Package 的資料夾。
  2. 啟動 Triton Inference Server。

    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 的 pylon Supplementary Package 的資料夾。
  2. 啟動安裝程式指令碼。

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

將 Triton Inference Server 安裝為服務後,您可以在需要時暫時停止它。請注意,在您的裝置重新開機後,它將會自動啟動。

若要暫時停止負責執行 Triton Inference Server 的 systemd 服務,請開啟終端機(在任何目錄中)並執行:

sudo systemctl stop tritonserver.service

如果您想要恢復該服務,必須透過執行以下指令來啟動它:

sudo systemctl start tritonserver.service

如果您在使用服務所管理、目前正在執行的伺服器時遇到問題,可以透過執行以下指令來重新啟動它:

sudo systemctl restart tritonserver.service

如果您想要永久停用該服務,可以透過執行以下指令來達成:

sudo systemctl disable tritonserver.service

授權#

您可以在此處或 pylon AI 的 pylon Supplementary Package 所包含的授權檔案中找到授權資訊。

疑難排解#

CodeMeter 會在 pylon 安裝期間進行設定,以便 Triton Inference Server 能夠存取所需的授權。

在罕見的情況下,這可能會失敗。如果發生這種情況,請將 CodeMeter 設定為網路伺服器:

  1. 開啟 CodeMeter Control Center,然後按一下右下角的 WebAdmin 按鈕。
  2. 在 CodeMeter WebAdmin 中,導覽至 Configuration > Server > Server Access。
  3. 在 Network Server 區域中,選取 Enable 並按一下 Apply 確認。
  4. 返回 CodeMeter Control Center。
  5. 在 Process 功能表中,按一下 Restart CodeMeter Service 以將 CodeMeter 重新啟動為網路伺服器。

Known Issues#

Jetson Orin 上的 ONNX Runtime 錯誤

當裝置在低功耗模式下執行時,在 Jetson Orin 裝置上執行 run-pylon-ai-triton-inference-server.sh 指令會出現執行階段錯誤。不過,您嘗試載入的模型仍會被載入。若要預防此錯誤,請在 Jetson Orin 上設定較高的功耗模式。