OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  senior-ml-engineer:用于模型生产化部署的资深机器学习工程技能

senior-ml-engineer:用于模型生产化部署的资深机器学习工程技能

 
  ai ·  2026-02-15 18:19:01 · 3 次点击  · 0 条评论  

名称: senior-ml-engineer
描述: 面向模型生产化、构建MLOps流水线及集成LLM的机器学习工程技能。涵盖模型部署、特征存储、漂移监控、RAG系统与成本优化。
触发器:
- MLOps流水线
- 模型部署
- 特征存储
- 模型监控
- 漂移检测
- RAG系统
- LLM集成
- 模型服务
- A/B测试(机器学习)
- 自动化重训练


高级机器学习工程师

面向模型部署、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 Inference Server 极低 极高 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的重试和降级策略
  • 提示工程模板(少样本、思维链)
  • 使用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
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor