混合雲 AI 模型自動化推論系統
類別:Hybrid Cloud · MLOps技術棧:Python · PyTorch · PostgreSQL · FastAPI · Vue.js · Cloud Scheduler
背景
模型訓練完成後,真正的挑戰才開始:如何讓它每天持續、穩定地產出有價值的推論結果,同時不讓雲端費用失控?
這個系統的核心目標有兩個:
- 大幅降低單純依賴雲端運算的成本
- 徹底消除手動操作的低效率
解法是混合雲架構:雲端負責資料儲存與調度,本地端伺服器負責高成本的模型推論。
系統架構
1. 雲端資料層
每天由排程工具(Cloud Scheduler)定時觸發,從雲端基礎建設(S3、資料庫)拉取最新的海量資料。這些資料可能是前一天由裝置端上傳、或是其他上游系統產生的原始資料。
2. 自動化資料處理
資料抵達後,Python 腳本全自動執行:
- 清洗:過濾無效資料、補齊缺失欄位
- 格式轉換:統一音檔格式(取樣率、位元深度、聲道)
- 前處理:對齊模型輸入規格(特徵提取、正規化)
整個過程無需人工介入,資料直接進入下一階段。
3. 本地端模型推論
處理好的資料送到本地端伺服器,由 PyTorch 載入訓練好的模型進行批次推論。
本地端推論的關鍵在於穩定性與效能:
記憶體管理 大量批次推論很容易造成記憶體洩漏或 OOM(Out of Memory)。我針對伺服器規格做了嚴密的效能優化:
- 控制 batch size,避免單次推論佔用過多記憶體
- 推論完成後主動釋放 tensor,防止記憶體累積
- 加入記憶體使用量監控,超過閾值自動告警
穩定性監控 推論過程設有詳細的 log,包含每批次的處理時間、成功率與異常紀錄,確保問題可被及時發現。
4. 結果儲存與 Dashboard
推論結果寫入 PostgreSQL 後,FastAPI 後端自動定時讀取並推送至前端。
Vue.js Dashboard 將資料渲染成即時圖表,讓使用者不需要查資料庫,直接在網頁上看到最新的推論結果。
全自動化流程
雲端資料 → Python 清洗/轉換 → 本地 PyTorch 推論
↓
Vue.js Dashboard ← FastAPI ← PostgreSQL從資料拉取、清洗、推論到圖表更新,整個流程完全自動,每天定時執行,使用者打開 Dashboard 就能看到最新結果。
成果
- 將大量推論工作從雲端移至本地端,顯著降低雲端運算費用
- 全程自動化,消除每天手動操作的時間成本
- 即時 Dashboard 讓非技術人員也能追蹤模型輸出
- 本地端記憶體優化確保大量推論穩定運行,無需人工監視
反思
混合雲架構不是為了「用很多服務」,而是把每個層的工作分配給最適合它的地方做。雲端的彈性適合調度與儲存,本地伺服器的固定算力適合高頻推論。找到這個平衡點,才是控制成本與維持效能的關鍵。
