我有多年 IT 技術與跨域學習經驗,現在把 AI、Cloud、Infrastructure 串起來。
前一天談到 AI 專案需要固定 Code、Model、Environment 與 Configuration,但真正開始整理 Python 專案時,很快就會遇到一個熟悉的檔案:requirements.txt。
很多人會把它當成「把套件列出來」的清單,但我在實作 AI/ML 專案後,逐漸發現,Dependency 管理其實也是 Reproducibility 的一部分。「Reproducibility」不只是概念,實際是一個工程師每天真的都會碰到的東西。
例如同樣執行 pip install,如果套件沒有明確固定版本,幾個月後重新安裝時,取得的版本可能已經不同;而某個底層套件更新後,也可能連帶改變其他套件的相依關係。Python Packaging 官方也說明,requirements files 常被用來列出完整環境的具體版本,以協助重複安裝。
我自己越接觸 AI Infrastructure,越覺得「可以安裝」與「可以重現」是兩回事。今天能成功安裝,只代表現在的環境成立;真正的挑戰是半年後,另一台機器能不能建立出相近的環境。
所以問題來了:
requirements.txt 已經固定套件版本了,真的就足以讓一個 AI 專案完整重現嗎?
這也是《AI Infrastructure 實戰:AI Demo 為什麼上不了 Production?》中,我開始思考 Dependency、Runtime 與 Container 如何一起管理的原因。Docker 官方的 Python 範例也直接使用 pinned dependencies。Dependency 管理本身就是 AI Reproducibility 的一部分。Docker 官方目前也強調 reproducible build 不只涉及 Python dependencies,還包含 Base Image、Git、遠端檔案等 build inputs;甚至建議以 immutable digest 固定 Image。
例如前幾天cursor的f5模型被大家瘋狂的刷BUG免費使用,如果你是該團隊或公司真的敢讓 AI 環境重現這種BUG嗎?那裡有免費TOKEN或FREE AI API,大家肯定狂用,不論AI專案管理、還是寫CODE,讓 AI 自動追蹤專案進度、利用 AI 進行多任務排程、多資源調配等等,讓專案進度推進更具雛形或完整。真的重複刷爆寫好寫滿很開心,但或許有人卻要哭了或破產~
關於作者
我是一名 AI × Infrastructure Solution / Integration 技術實作者,專注於 AI、MLOps、Cloud、Docker、Kubernetes、GPU、LLM 與 AI Agent 等技術的整合與落地,跨足 LLM、GPU、Docker、Kubernetes、MLOps 與 AI Agents,持續研究企業 AI 從 Prototype 到 Production 所需要的工程能力。協助企業理解 AI 從 Prototype 到 Production 所需要的技術能力。
本系列同時是《AI Infrastructure 實戰:AI Demo 為什麼上不了 Production?》的延伸實戰筆記。如果想完整理解這些更深的技術問題,未來可以去看這本書(書中包含了一些的範例與提示詞,特別是AMD W7900 48G的使用技術心得,這些是外面很少有的獨家踩坑經驗,未來買書真的賺到!)。敬請期待唷~