#opg $OPG

人們常常以為,AI 基礎設施最難的部分是打造更好的模型。
我讀到的文件越多,就越不相信真正的工程挑戰在那裡。
@OpenGradient 裡有一個細節不斷把我的注意力拉回來:網路是以 ONNX 為核心,而不是依賴單一模型框架。
一開始這聽起來只是個相容性的簡單選擇。
但不是。
每個主要的 AI 生態系統都會以不同方式演進。PyTorch、TensorFlow 和其他工具鏈會隨著時間發布新的運算子、最佳化與模型格式。每當底層生態改變,就要求開發者重寫應用程式,會產生不斷累積的技術債,累積速度遠比模型品質提升快。
使用 ONNX 會改變這個等式。
把模型匯出成通用的中介表示(intermediate representation),就能更容易地在不同執行環境之間移動,而不是被綁死在某一家供應商的執行階段(runtime)上。這降低的是遷移成本,而不是逼迫應用程式必須跟著每一次框架決策跑。
第二個後果更為微妙。因為推論節點會執行標準化的表示,基礎設施就能在不考慮原始模型如何訓練的情況下獨立最佳化執行。這把應用開發與低階的執行階段工程分離開來。
第三,版本管理會更容易。更新模型不再必然意味著要重新設計周邊的應用程式,只要執行介面保持穩定即可。
第四,異質硬體變得更實用,因為同一種表示可以對不同的加速器目標最佳化,而不是把工作負載鎖死在單一堆疊(stack)中。
最後,SDK 會更耐用。開發者是在對一個抽象概念進行開發,而不是不斷追逐變動的模型供應商。
這讓我開始用不同方式看待 #OPG
也許 $OPG 的長期價值不會來自於最先部署最新的模型。
它也許在於:當明天的 AI 生態系統不可避免地改變時,仍能讓昨天的應用持續運作。