⚡

senior-ml-engineerSkill senior-ml-engineer

高级机器学习工程师技能,专注于生产中模型的部署、MLOps流程构建以及大型语言模型的集成。涵盖模型部署、特征存储、漂移监控、RAG系统和成本优化。

机器学习 1 次安装 50 次浏览 更新于 3/5/2026

高级机器学习工程师

生产机器学习工程模式,用于模型部署、MLOps基础设施和大型语言模型(LLM)集成。


目录


模型部署工作流

将训练好的模型部署到生产环境,并进行监控:

  1. 将模型导出为标准化格式(ONNX、TorchScript、SavedModel)
  2. 将模型及其依赖项打包到Docker容器中
  3. 部署到暂存环境
  4. 对暂存环境进行集成测试
  5. 将流量的5%部署到生产环境
  6. 监控1小时的延迟和错误率
  7. 如果指标通过,则推广到全面生产
  8. 验证: p95延迟<100ms,错误率<0.1%

容器模板

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推理服务器 非常低 非常高 GPU推理,批处理
TensorFlow Serving 低 高 TensorFlow模型
TorchServe 低 高 PyTorch模型
Ray Serve 中等 高 复杂管道,多模型

MLOps管道设置

建立自动化训练和部署:

  1. 为训练数据配置特征存储(Feast、Tecton)
  2. 设置实验跟踪(MLflow、Weights & Biases)
  3. 创建带有超参数日志记录的训练管道
  4. 在模型注册表中注册模型,并带有版本元数据
  5. 配置由注册表事件触发的暂存部署
  6. 设置A/B测试基础设施以比较模型
  7. 启用漂移监控和警报
  8. 验证: 新模型自动与基线评估

特征存储模式

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集成工作流

将LLM API集成到生产应用程序中:

  1. 为供应商灵活性创建提供商抽象层
  2. 实现带有指数退避的重试逻辑
  3. 配置回退到次要提供商
  4. 设置令牌计数和上下文截断
  5. 为重复查询添加响应缓存
  6. 实施每请求成本跟踪
  7. 添加结构化输出验证与Pydantic
  8. 验证: 响应正确解析,成本在预算内

提供商抽象

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

RAG系统实现

构建检索增强生成管道:

  1. 选择向量数据库(Pinecone、Qdrant、Weaviate)
  2. 根据质量/成本权衡选择嵌入模型
  3. 实施文档分块策略
  4. 创建带有元数据提取的摄取管道
  5. 构建带有查询嵌入的检索
  6. 添加重新排名以提高相关性
  7. 格式化上下文并发送到LLM
  8. 验证: 响应引用检索到的上下文,无幻觉

向量数据库选择

数据库 托管 规模 延迟 最适合
Pinecone 托管 高 低 生产,托管
Qdrant 两者 高 非常低 性能关键
Weaviate 两者 高 低 混合搜索
Chroma 自托管 中等 低 原型制作
pgvector 自托管 中等 中等 现有Postgres

分块策略

策略 块大小 重叠 最适合
固定 500-1000个令牌 50-100 一般文本
句子 3-5句话 1句话 结构化文本
语义 可变 基于含义 研究论文
递归 层次结构 父子 长文档

模型监控

监控生产模型的漂移和退化:

  1. 设置延迟跟踪(p50、p95、p99)
  2. 配置错误率警报
  3. 实施输入数据漂移检测
  4. 跟踪预测分布变化
  5. 在可用时记录真实情况
  6. 使用A/B指标比较模型版本
  7. 设置自动重新训练触发器
  8. 验证: 在用户可见退化之前触发警报

漂移检测

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%

参考文档

MLOps生产模式

references/mlops_production_patterns.md包含:

  • 带有Kubernetes清单的模型部署管道
  • Feast示例的特征存储架构
  • 带有漂移检测代码的模型监控
  • 带有流量分割的A/B测试基础设施
  • 带有MLflow的自动重新训练管道

LLM集成指南

references/llm_integration_guide.md包含:

  • 提供商抽象层模式
  • 带有tenacity的重试和回退策略
  • 少量样本、CoT的提示工程模板
  • 使用tiktoken进行令牌优化
  • 成本计算和跟踪

RAG系统架构

references/rag_system_architecture.md包含:

  • 带有代码的RAG管道实现
  • 向量数据库比较和集成
  • 分块策略(固定、语义、递归)
  • 嵌入模型选择指南
  • 混合搜索和重新排名模式

工具

模型部署管道

python scripts/model_deployment_pipeline.py --model model.pkl --target staging

生成部署工件:Dockerfile、Kubernetes清单、健康检查。

RAG系统构建器

python scripts/rag_system_builder.py --config rag_config.yaml --analyze

带有向量存储集成和检索逻辑的RAG管道搭建。

ML监控套件

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