機器學習工程將實驗與可靠的系統連接起來。它包括資料契約、可重現訓練、評估、封裝、部署、監控和迭代,而不只是選擇模型架構。
科學計算 Python 基礎 #
NumPy 提供核心的多維陣列型別和數值運算。SciPy 建構於 NumPy 之上,提供用於最佳化、統計、訊號處理和科學計算的演算法。scikit-learn 提供經典機器學習模型、前處理、模型選擇和評估工具的易用實作。
python -m pip install numpy scipy scikit-learn請使用虛擬環境並鎖定相依套件版本,以實現可重複的工作流程。NumPy、SciPy 和 scikit-learn 是作用範圍互補的獨立專案。
深度學習與模型函式庫 #
PyTorch 提供張量、自動微分、神經網路模組和分散式訓練原語:
python -m pip install torch torchvisionHugging Face Transformers 提供許多預訓練架構的實作和載入工具。它通常與 PyTorch 搭配使用,但這不代表可以忽略對模型分詞器、設定或授權條款的理解。
vLLM、TensorRT-LLM 和 Text Generation Inference 等推論引擎專注於高效能服務。DeepSpeed、FSDP 和 PyTorch Lightning 等訓練框架則處理不同的問題。應根據工作負載選擇元件,而不是將它們視為可以相互替換的模型函式庫。
模型工件與安全性 #
常見的工件格式包括 NumPy 的 .npy 陣列、PyTorch 檢查點和 safetensors 檔案。基於 Python pickle 的格式在載入期間可能執行任意程式碼,因此絕不要反序列化來自不受信任來源的工件。safetensors 的設計目標是在不具備這種程式碼執行行為的情況下儲存張量。
工程工作流程 #
從可量測的產品目標和具有代表性的評估集開始。對資料、程式碼、設定和模型工件進行統一版本管理。在部署前,測試延遲、記憶體使用量、失敗模式,以及應用程式所關注的人口切片上的行為。部署後,監控資料漂移、品質訊號、成本和回歸問題,並保留安全的回滾路徑。
評論
在 GitHub 上閱讀或評論(發表評論需要登入)