在 OCI 上啟用 GPU 加速的 AI 相機分析
此架構接受智慧型攝影機事件、傳統的 RTSP IP 相機串流、行動或邊緣裝置事件、上傳的影像,以及短片。它會將需要大量 CPU 的串流處理與 GPU 推論分開,使用 Oracle Cloud Infrastructure Queue 作為持久的工作緩衝區,並在將警示傳遞給作業系統之前套用以原則為基礎的決策。
此解決方案超越了簡單的物件偵測。它會使用相關資訊環境 (例如角色、區域、時間、信賴度、用戶原則、裝置擁有權以及歷史事件模式) 來評估視覺事件是否為預期、可疑、緊急或操作相關。系統會保留選取的框架、偵測描述資料、規則結果以及順流傳遞狀態,以進行稽核和重新執行。
- 相機、影像或片段工作負載激增
- GPU 成本和使用率需要審慎控制
- 單獨偵測原始資料不足
- 客戶需要可追蹤性、重新執行、多租用戶控制或與現有作業系統整合
Before You Begin - 開始之前
參考架構為模組化。您可以採用任何必要的擷取、推論、決策或作業區塊。
- 定義視訊來源和拓樸,包括智慧型 AI 相機、傳統 IP 相機、行動裝置或邊緣裝置、已上傳媒體或組合。若為傳統 IP 攝影機,請將 VPN、TLS 通道或輸出攝影機連接器規劃到 OCI 端處理層。
- 確認使用案例、物件類別、目標延遲、預期警示新鮮度、保留需求、人工複查需求及下游整合目標。
- 確認生產環境服務層次目標 (SLO) 之前,請先驗證 OCI 區域容量、GPU 資源配置可用性、配額、服務限制及網路頻寬。
- 選取並評估客戶使用案例的推論模型。公布的架構使用 RT-DETR 式偵測和 CLIP 式內容分類作為範例。模型評估和選擇仍然是客戶專屬的。
- 建立用戶、網站、相機、使用者及裝置識別原則。在硬體支援的情況下,規劃裝置註冊、憑證簽發與輪替、雙向 TLS (mTLS)、金鑰管理,以及簽署的韌體驗證。
- 從假設大約 50 個相機饋送、720p 串流的基準大小開始,取樣為每秒 1 到 5 個影格 (FPS) 進行推論;根據相機數量、解析度、FPS、型號和延遲需求調整大小。
架構
下表列出主要架構層、用於導入的 OCI 服務,以及每個層的用途。
| 架構層 | OCI 服務 | 目的 |
|---|---|---|
| 傳入與擷取 | OCI 負載平衡器、 OCI API Gateway 、 OCI Object Storage | 接受可擷取的相機串流、片段以及影像批次。 |
| 資料流處理 | OCI Container 執行處理 | 管理 RTSP 階段作業、解碼 H.264/H.265、範例框架、緩衝區工作以及重新連線階段作業。 |
| 去耦合 | Oracle Cloud Infrastructure Queue | 吸收成組分解流量,讓 GPU 用戶按受控制的速度執行。 |
| GPU 推論 | OCI Compute GPU 執行處理集區 | 與客戶選取的模型執行物件偵測、分類、批次處理及時間關聯。 |
| 決策與作業 | OCI 函數、 OCI 通知、 OCI Connector Hub 、 OCI 物件儲存、 OCI 日誌記錄、 OCI 監控、 OCI Vault 、 OCI 識別與存取管理 | 套用政策、通知下游系統、保留證據、管理秘密並監控平台。 |
下圖說明此參照架構 (並非所有服務都代表)。
容器流處理 - 架構 -oracle.zip#GUID-A16027C3-0928-49C9-BA9D-BD5C6052E1A0
此架構包含下列元件:
- OCI API 閘道
Oracle Cloud Infrastructure API Gateway 可讓您發布具有可從網路存取之專用端點的 API,並視需要向公用網際網路公開這些 API。端點支援 API 驗證、要求與回應轉換、CORS、認證與授權,以及要求限制。
- OCI Compute
您可以使用 Oracle Cloud Infrastructure Compute 在雲端佈建及管理運算主機。您可以啟動資源配置符合 CPU、記憶體、網路頻寬和儲存資源需求的運算執行處理。建立運算執行處理之後,您可以安全地存取、重新啟動、連附及取消連附磁碟區,然後在不再需要運算執行處理時予以終止。
- OCI 連線器中心
Oracle Cloud Infrastructure Connector Hub 是一個訊息匯流排平台,可協調 OCI 上服務之間的資料移動。您可以使用連線器將資料從來源服務移至目標服務。連線器也可讓您選擇性地指定要對資料執行的工作 (例如函數),再將它傳遞至目標服務。
您可以使用 OCI Connector Hub 快速建立安全資訊和事件管理 (SIEM) 系統的記錄日誌聚總架構。
- OCI Functions
Oracle Cloud Infrastructure Functions 是一個完全託管、多租用戶、可高度擴展、隨選、函數即服務 (FaaS) 平台。它由 Fn Project 開放原始碼引擎提供技術支援。OCI Functions 可讓您部署程式碼,以及直接呼叫程式碼或觸發程式碼以回應事件。OCI Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。
- OCI Identity and Access Management
Oracle Cloud Infrastructure Identity and Access Management (IAM) 為 OCI 和 Oracle Cloud Applications 提供使用者存取控制。IAM API 和使用者介面可讓您管理識別網域及其中的資源。每個 OCI IAM 識別網域都代表獨立識別與存取管理解決方案,或代表不同使用者群體。
- 執行處理集區
執行處理集區是區域內的一組執行處理,這些執行處理是從相同的執行處理組態建立,並以群組方式管理。
- OCI Kubernetes 引擎
Oracle Cloud Infrastructure Kubernetes Engine ( OCI Kubernetes Engine 或 OKE) 是完全託管、可擴展且高可用性的服務,可用來將容器化應用程式部署到雲端。您可以指定應用程式所需的運算資源,然後確定在現有租用戶的 OCI 上佈建這些資源。OKE 使用 Kubernetes 將跨主機叢集的容器化應用程式部署、調整規模及管理自動化。
- 負載平衡器
Oracle Cloud Infrastructure Load Balancer 提供從單一進入點到多部伺服器的自動化流量分配功能。
- OCI 記錄日誌Oracle Cloud Infrastructure Logging 是可高度擴展且完全受管理的服務,可讓您從雲端資源存取下列類型的日誌:
- 稽核日誌:與 OCI Audit 產生之事件相關的日誌。
- 服務日誌:由個別服務 (例如 OCI API Gateway 、 OCI Events 、 OCI Functions 、 OCI Load Balancer 、 OCI Object Storage 和 VCN 流量日誌) 發布的日誌。
- 自訂日誌:包含自訂應用程式、其他雲端提供者或內部部署環境之診斷資訊的日誌。
- OCI 監控
Oracle Cloud Infrastructure Monitoring 主動並被動監控您的雲端資源,並使用警訊在指標符合指定的觸發器時通知您。
- OCI 通知
OCI Notifications 會使用低延遲的發佈 - 訂閱模式,將訊息廣播至分散式元件,為 OCI 上代管的應用程式提供安全、高度可靠的持久訊息。
- OCI Object Storage
OCI Object Storage 可讓您存取任何內容類型的大量結構化和非結構化資料,包括資料庫備份、分析資料,以及豐富的內容 (例如影像和影片)。您可以直接從應用程式或雲端平台內安全地儲存資料。您可以擴展儲存,而不會發生效能或服務可靠性的任何降低情況。
針對需要快速、立即及頻繁存取的「熱」儲存使用標準儲存。將封存儲存用於保留一段很長的時間和很少或很少存取的「冷」儲存。
- OCI 佇列
Oracle Cloud Infrastructure Queue 提供可擴展的系統來處理訊息,同時處理複雜的管理工作,例如保證一次性處理、追蹤和用戶端隔離。此集中式服務也會管理訊息排序與處理狀態,讓無狀態從屬端處理作業能夠卸載游標追蹤。
- OCI 地區
OCI 區域是本地化的地理區域,包含一或多個代管可用性網域的資料中心。區域獨立於其他地區,且遠距離能夠分離它們 (跨國家,甚至是大陸)。
- OCI 登錄
Oracle Cloud Infrastructure Registry 是 Oracle 管理的服務,可讓您簡化從開發到生產的工作流程。登錄可讓您輕鬆儲存、共用及管理開發使用者自建物件,例如 Docker 映像檔。
- 租用戶
租用戶是一個安全且隔離的分割區,當您在註冊 OCI 時,Oracle 會在 Oracle Cloud 內建立此分割區。您可以在租用戶內的 OCI 上建立、組織及管理您的資源。租用戶與公司或組織同義字。通常,公司會有單一租用戶,並反映其在該租用戶內的組織結構。單一租用戶通常與單一訂閱關聯,而單一訂閱通常只有一個租用戶。
- OCI 保存庫
Oracle Cloud Infrastructure Vault 可讓您建立並集中管理加密金鑰,這些加密金鑰可保護您的資料,以及用來保護雲端資源存取的安全機密證明資料。預設金鑰管理是 Oracle 管理的金鑰。您也可以使用使用使用 OCI Vault 的客戶管理金鑰。OCI Vault 提供一組豐富的 REST API 來管理保存庫和金鑰。
- OCI 虛擬雲端網路與子網路
虛擬雲端網路 (VCN) 是您在 OCI 區域中設定的可自訂軟體定義網路。與傳統資料中心網路一樣,VCN 可讓您控制網路環境。VCN 可以有多個非重疊的無類別網域間路由 (CIDR) 區塊,您可以在建立 VCN 之後變更這些區塊。您可以將 VCN 區隔成子網路,而子網路的作用領域可以調整到某個區域或可用性網域。每個子網路都是由連續的位址範圍所組成,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用網路。
- VNIC
OCI 資料中心內的伺服器具有實體網路介面卡 (NIC)。當您在這些伺服器之一上建立實例時,該實例使用與實體 Nic 相關的 Networking 服務虛擬 NIC (VNIC) 進行通訊。虛擬網路介面卡 (VNIC) 可讓執行處理連線至 VCN,並決定執行處理如何與 VCN 內部或外部的端點連線。每個 VNIC 都位於 VCN 中的子網路中。
推薦
在客戶專屬的虛擬雲端網路 (VCN) 設計中部署解決方案,將公用傳入與專用處理服務分開。當客戶安全需求呼叫隔離的服務通訊路徑時,參照架構會建議專用子網路、網路安全群組 (NSG)、服務閘道、專用端點、最低權限的 OCI Identity and Access Management 、區間、動態群組以及 OCI Vault 管理的加密密碼。
-
VCN:將 OCI Compute GPU 執行處理集區、 OCI 容器執行處理串流處理器、Oracle Cloud Infrastructure Queue 使用者、規則服務以及專用子網路中的作業服務放置在內。僅透過 OCI 負載平衡器或 OCI API 閘道公開所需的傳入。在適用情況下,透過服務閘道或專用端點使用 OCI Object Storage 和其他 OCI 服務存取。
-
安全性:使用 Oracle Cloud Guard 來監控及維護 Oracle Cloud Infrastructure 中資源的安全性。Cloud Guard 使用偵測器處方,您可以定義這些處方來檢查資源是否有安全漏洞,以及監控操作員和使用者是否有危險活動。偵測到組態錯誤或不安全的活動時,Cloud Guard 會根據您可以定義的回應器處方建議更正動作,並協助您採取這些動作。
對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是與 Oracle 定義的安全原則處方關聯的區間,以最佳做法為基礎。例如,安全區域中的資源不能從公用網際網路存取,而且必須使用客戶管理的金鑰加密。
-
網路安全群組 (NSG):使用 NSG 定義一組適用於特定虛擬網路介面卡 (VNIC) 的傳入和傳出規則。使用 NSG 而非安全清單,因為它們將 VCN 子網路架構與應用程式的安全需求分開。
-
OCI 身分識別與存取管理與加密密碼:套用最低權限的 OCI 身分識別與存取管理原則、區間界限及動態群組。將證明資料和憑證儲存在 OCI Vault 中。加密儲存的媒體和結構化事件有效負載,並使用短期 OCI Object Storage 存取 URL 進行播放,而不是顯示原始媒體路徑。
考慮事項
-
效能:將 CPU 串流處理與 GPU 推論分開調整。Oracle Cloud Infrastructure Queue 可分離 GPU 使用量,而佇列深度、用戶延遲、推論延遲、傳輸量和 GPU 使用率則比單一指標提供更穩定的調整訊號。實際的起點目標是大約 70% 的平均 GPU 使用率,以維持空餘空間的變化。
-
安全:使用專用子網路、網路安全群組 (NSG)、服務閘道或專用端點、最低權限的 OCI 識別與存取管理、 OCI 保存庫、加密、裝置憑證、共同 TLS (mTLS) 以及租用戶感知存取控制。將相關資訊環境分類視為作業訊號,而非識別宣告。保留對敏感工作流程的人工審核,以及稽核模型版本、規則版本、信賴度分數、時間戳記和操作員結果。
-
可用性:盡可能讓串流處理器和模型工作者保持無狀態,保留框架參考、時間歷史記錄,以及在 OCI 管理的服務中重新執行資料。監控相機活動訊號、佇列深度、用戶延遲、GPU 容量、 OCI Object Storage 上傳和通知傳遞。建立相機離線事件、佇列存量 (Backlog)、GPU 無法使用、重複警示、儲存體失敗及通知失敗的 Runbook。包含冪等事件 ID、重試及死訊處理。
-
成本:透過持續的高解析度雲端上傳,偏好事件觸發的上傳。智慧型相機可在本機保留連續影像,並上傳事件中繼資料、縮圖或短片; OCI 處理可以取樣框架,並僅保留已確認事件的高解析度片段。使用影格抽樣、H.265 壓縮、每秒可設定的影格 (FPS)、移動或人員臨界值、區域篩選、短片和 OCI Object Storage 生命週期原則,減少頻寬和儲存。圖像保留層級是標準片段的 7 天、高優先順序安全事件的 30 天,以及受規範或調查工作流程的 90 天。
部署架構
從一組代表性的小型相機和調校模型、抽樣、佇列、原則開始,針對測量的工作負載特性發出警示。
若要部署架構:
- 建立基礎:建立 VCN 和子網路、區間、NSG、 OCI 識別與存取管理原則和動態群組、 OCI 保存庫加密密碼、 OCI 物件儲存儲存桶、 OCI 日誌記錄、 OCI 監控以及生命週期原則。
- 設定擷取:部署 OCI 負載平衡器或 OCI API 閘道,以及安全相機橋接器或產生器服務。註冊相機串流、上傳的媒體來源,或是行動或邊緣產生器。
- 部署串流處理:部署容器化串流處理器以終止 RTSP 階段作業、解碼媒體、範例框架、視需要在本機緩衝,以及將推論工作項目發布至 Oracle Cloud Infrastructure Queue 。
- 部署 GPU 推論:在運算執行處理集區中部署無狀態的 GPU 工作節點。設定偵測與分類模型、批次處理、信賴度臨界值、模型描述資料以及佇列用戶。
- 設定決策與整合:將 JSON、YAML 或原則服務的規則外部化。在將已驗證的事件傳送至 OCI 通知、Webhook、API、 OCI Connector Hub 或服務管理平台之前,先套用角色、區域、時間、信賴度、事件歷史記錄及用戶原則。
- 操作和調校:為佇列深度、推論延遲、GPU 使用率、相機運行狀況、上傳失敗和傳遞狀態建立警報。使用這些訊號即可獨立擴展 CPU 和 GPU 層;測試失敗處理、重新執行、保留以及警示抑制。
