將 AI 模型從研究室導入產線,建立自動化 CI/CD、版本控管與監控的全流程 MLOps 管線。
目標
追蹤模型訓練資料與版本。
技術:DVC
、MLflow
流程圖描述:
資料/程式 → DVC 追蹤 → MLflow 紀錄 → Model Registry
程式碼
dvc init
dvc add data/train.csv
mlflow run .
目標
自動測試與部署模型。
技術:GitHub Actions
, Jenkins
流程圖描述:
Push → 自動測試 → 建構映像檔 → 部署 → 驗證
程式碼
name: ml-ci
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: pip install -r requirements.txt
- run: pytest
目標
讓模型能快速擴展與部署。
技術:Docker
, Kubernetes
流程圖描述:
模型 → Docker Image → Container Registry → Kubernetes Pod → API
程式碼
FROM python:3.10
COPY . /app
RUN pip install -r requirements.txt
CMD ["python","app.py"]
目標
確保模型上線後持續穩定運作。
技術:Prometheus
, Grafana
, Airflow
流程圖描述:
模型預測 → 收集實際標籤 → 評估 → 若性能下降 → 觸發再訓練
程式碼
from airflow import DAG
from airflow.operators.bash import BashOperator
dag = DAG('retrain', schedule_interval='@weekly')
BashOperator(task_id='retrain_model', bash_command='python train.py', dag=dag)
結論與效益
MLOps 能縮短模型上線時程,降低維護成本並確保品質一致。