Doppel如何利用Modal消除機器學習基礎設施負擔
Doppel是一家AI網路安全平臺,透過遷移至Modal,顯著提升了模型訓練和推理的效率。訓練方面,實現了並行實驗,縮短了反饋迴圈;推理方面,簡化了部署流程,實現了自動伸縮,降低了運維成本。
Doppel是一家專注於檢測和破壞社交工程攻擊的人工智慧原生平臺。由於威脅形勢不斷變化,其機器學習模型需要快速迭代。這對其ML工作負載提出了兩個核心要求:快速實驗和可靠、可擴充套件的推理。然而,長期以來,基礎設施的摩擦在這兩個方面都拖慢了進度。訓練實驗序列執行,推理部署需要繁重的容器管道,各種運營細節在整個技術棧中累積。
近期,Doppel將其大部分ML工作流程遷移到了Modal,這顯著改變了其迭代速度。在訓練方面,過去最大的瓶頸是實驗吞吐量。實驗序列執行導致新假設必須等待前一次執行完成,一旦失敗,整個反饋迴圈就會重新開始。為了最大化每次執行的價值,團隊常常將多個想法捆綁到單個實驗中,這反而使效能提升的源由難以隔離。透過Modal,Doppel能夠輕鬆並行執行實驗,無需構建額外的編排基礎設施。例如,K折交叉驗證的每一折可以同時執行,程式碼路徑保持不變,Modal在後臺處理並行執行。這種模式貫穿於整個訓練流程,使團隊能夠同時評估多個假設,大幅縮短從想法到結果的週期。
此外,Doppel還結合了編碼代理來改進實驗迴圈。他們的訓練工作流遵循“提出變更→執行實驗→總結結果→基於證據提出下一步”的緊湊迭代週期。代理負責啟動實驗、收集指標和總結結果等機械步驟,而機器學習工程師則決定哪些想法值得測試。Modal的CLI天然適配這一流程,代理可直接透過命令列啟動實驗、檢查日誌、獲取輸出並觸發後續執行。結合Modal的並行能力,團隊在相同時間內能評估多得多的想法,瓶頸已經從基礎設施轉向了“下一步該測試哪個實驗”的決策。
在推理方面,Doppel的模型驅動即時檢測管道,需要低延遲和彈性可擴充套件性。攻擊流量不可預測,模型可能長時間空閒,然後因釣魚活動突然遭受請求洪峰。他們之前的GCP推理棧涉及自定義Docker容器、Cloud Run服務和Flask端點。大型模型映象構建常常耗時10-30分鐘,任何小配置變更都會拖慢部署和迭代。Cloud Run的每個例項僅能掛載單個GPU,擴充套件GPU推理通常需要橫向擴充套件多個單GPU例項,流量峰值還可能觸發冷啟動或資源置備延遲。此外,每個模型部署都需要圍繞Flask端點構建HTTP服務層以處理認證、序列化和路由,這些瑣碎程式碼累積起來嚴重拖慢了進度。
Modal透過映象層快取和持久卷將模型構建時間縮短了10倍,即使複雜模型也能在一分鐘內完成熱構建。其無伺服器架構根據需求自動伸縮推理工作負載,能夠吸收突發流量。Modal還移除了HTTP服務層,推理函式可直接透過Modal的抽象呼叫,無需暴露端點。最終,部署流程大幅簡化,需要維護的整合程式碼顯著減少。
總結而言,Modal為Doppel帶來的最大變化是降低了模型周圍的運營成本。對於訓練,它將序列實驗轉變為並行工作負載;對於推理,它消除了手動打包、部署和擴充套件模型服務的大部分開銷。對一支專注於快速交付檢測模型的小型ML團隊來說,Modal使得構建可擴充套件架構變得簡單而直觀。如今,限制工作流程的因素不再是基礎設施,而是生成和評估下一個想法的速度。