名称: senior-ml-engineer
描述: 面向模型生产化、构建MLOps流水线及集成LLM的机器学习工程技能。涵盖模型部署、特征存储、漂移监控、RAG系统与成本优化。
触发器:
- MLOps流水线
- 模型部署
- 特征存储
- 模型监控
- 漂移检测
- RAG系统
- LLM集成
- 模型服务
- A/B测试(机器学习)
- 自动化重训练
面向模型部署、MLOps基础设施和LLM集成的生产级机器学习工程模式。
将训练好的模型部署到生产环境并进行监控:
FROM python:3.11-slim
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY model/ /app/model/
COPY src/ /app/src/
HEALTHCHECK CMD curl -f http://localhost:8080/health || exit 1
EXPOSE 8080
CMD ["uvicorn", "src.server:app", "--host", "0.0.0.0", "--port", "8080"]
| 选项 | 延迟 | 吞吐量 | 适用场景 |
|---|---|---|---|
| FastAPI + Uvicorn | 低 | 中 | REST API,小型模型 |
| Triton Inference Server | 极低 | 极高 | GPU推理,批处理 |
| TensorFlow Serving | 低 | 高 | TensorFlow模型 |
| TorchServe | 低 | 高 | PyTorch模型 |
| Ray Serve | 中 | 高 | 复杂流水线,多模型 |
建立自动化的训练与部署流程:
from feast import Entity, Feature, FeatureView, FileSource
user = Entity(name="user_id", value_type=ValueType.INT64)
user_features = FeatureView(
name="user_features",
entities=["user_id"],
ttl=timedelta(days=1),
features=[
Feature(name="purchase_count_30d", dtype=ValueType.INT64),
Feature(name="avg_order_value", dtype=ValueType.FLOAT),
],
online=True,
source=FileSource(path="data/user_features.parquet"),
)
| 触发条件 | 检测方式 | 动作 |
|---|---|---|
| 计划任务 | Cron(每周/每月) | 完全重训练 |
| 性能下降 | 准确率 < 阈值 | 立即重训练 |
| 数据漂移 | PSI > 0.2 | 评估后重训练 |
| 新数据量 | 新增X个样本 | 增量更新 |
将LLM API集成到生产应用程序中:
from abc import ABC, abstractmethod
from tenacity import retry, stop_after_attempt, wait_exponential
class LLMProvider(ABC):
@abstractmethod
def complete(self, prompt: str, **kwargs) -> str:
pass
@retry(stop=stop_after_attempt(3), wait=wait_exponential(min=1, max=10))
def call_llm_with_retry(provider: LLMProvider, prompt: str) -> str:
return provider.complete(prompt)
| 供应商 | 输入成本 | 输出成本 |
|---|---|---|
| GPT-4 | $0.03/1K | $0.06/1K |
| GPT-3.5 | $0.0005/1K | $0.0015/1K |
| Claude 3 Opus | $0.015/1K | $0.075/1K |
| Claude 3 Haiku | $0.00025/1K | $0.00125/1K |
构建检索增强生成流水线:
| 数据库 | 托管方式 | 扩展性 | 延迟 | 最佳适用场景 |
|---|---|---|---|---|
| Pinecone | 托管 | 高 | 低 | 生产环境,托管服务 |
| Qdrant | 两者皆可 | 高 | 极低 | 性能关键型应用 |
| Weaviate | 两者皆可 | 高 | 低 | 混合搜索 |
| Chroma | 自托管 | 中 | 低 | 原型开发 |
| pgvector | 自托管 | 中 | 中 | 已有Postgres环境 |
| 策略 | 分块大小 | 重叠 | 最佳适用场景 |
|---|---|---|---|
| 固定大小 | 500-1000令牌 | 50-100 | 通用文本 |
| 句子 | 3-5个句子 | 1个句子 | 结构化文本 |
| 语义 | 可变 | 基于语义 | 研究论文 |
| 递归 | 分层 | 父子关系 | 长文档 |
监控生产模型的漂移和性能退化:
from scipy.stats import ks_2samp
def detect_drift(reference, current, threshold=0.05):
statistic, p_value = ks_2samp(reference, current)
return {
"drift_detected": p_value < threshold,
"ks_statistic": statistic,
"p_value": p_value
}
| 指标 | 警告 | 严重 |
|---|---|---|
| p95延迟 | > 100ms | > 200ms |
| 错误率 | > 0.1% | > 1% |
| PSI(漂移) | > 0.1 | > 0.2 |
| 准确率下降 | > 2% | > 5% |
references/mlops_production_patterns.md 包含:
references/llm_integration_guide.md 包含:
references/rag_system_architecture.md 包含:
python scripts/model_deployment_pipeline.py --model model.pkl --target staging
生成部署工件:Dockerfile、Kubernetes清单、健康检查。
python scripts/rag_system_builder.py --config rag_config.yaml --analyze
搭建包含向量存储集成和检索逻辑的RAG流水线脚手架。
python scripts/ml_monitoring_suite.py --config monitoring.yaml --deploy
设置漂移检测、告警和性能仪表板。
| 类别 | 工具 |
|---|---|
| ML框架 | PyTorch, TensorFlow, Scikit-learn, XGBoost |
| LLM框架 | LangChain, LlamaIndex, DSPy |
| MLOps | MLflow, Weights & Biases, Kubeflow |
| 数据 | Spark, Airflow, dbt, Kafka |
| 部署 | Docker, Kubernetes, Triton |
| 数据库 | PostgreSQL, BigQuery, Pinecone, Redis |