0%

【机器学习与数据科学之旅】B2 《算法与数据中台》读书笔记

中台这个词现在已经非常火了,17 年开始搞算法平台和大数据平台,到这两年才知道这就是中台。以前更多是凭借自己的感觉和经验在设计和开发,希望这本书能给我带来一些大厂的视角。

注:本书可以看做是一个大杂烩技术简介,入门可以参考。


更新历史

  • 2020.12.07: 完成初稿

前言

  • 大家普遍希望通过中台战略来实现数据整合、技术沉淀、能力共享和功能复用,并期望以此为切入点来引领组织架构的升级和重塑。
  • 算法中台和数据中台是紧密联系的。算法挖掘数据,而数据决定了算法的效果上限。

算法与数据中台概述

算法与数据中台的技术体系,汇总如下:

  • 在线算法平台
    • 倒排检索系统同
    • 相似检索系统
    • 策略机制引擎
    • 模型预估服务
    • 动态配置系统
    • 特征服务
    • 多租户平台
    • 效果监控系统
    • AB 实验平台
    • 在线开关系统
  • 机器学习平台
    • 深度学习框架
    • 算法组件
    • 模型管理
    • 特征管理
    • 模型可视化
    • AutoML
    • 作业调度
    • 数据标注
    • 样本拼接
    • 样本管理
  • 分布式数据库平台
    • 键值数据库
    • 表格数据库
    • 缓存数据库
    • 图数据库
    • NewSQL
    • 关系数据库
    • 对象存储数据库
    • Gossip 协议库
    • 分布式事务协议库
    • 分布式一致性协议库
  • 大数据平台
    • 集群管理系统
    • 分布式协调系统
    • 分布式文件系统
    • 分布式计算系统
    • 数据查询系统
    • 数据仓库系统
    • 数据可视化平台
    • 消息管道系统
  • 基础设施平台
    • 代码构建系统
    • 通用压测服务
    • 服务发布平台
    • 服务注册发现
    • 监控告警系统
    • 持续集成系统
    • 远程通信框架
    • 日志检索平台
    • 服务治理平台
    • 链路跟踪系统

常见的互联网场景:搜索引擎、推荐系统、数字广告、电子商务、本地生活服务

基础设施

这一部分对于小公司来说,不要过重,不然反而影响效率

  • 代码审查:Phabricator
  • 持续集成:Jenkins
  • 监控报警:Prometheus + Grafana

在线算法系统

整体架构

  • 在线流程
    • 物料检索系统
      • 物料召回
        • 倒排索引:Lucene, BitMap, NoSQL
        • 相似检索:FM 模型,双塔模型,Faiss 检索库
      • 模型粗排
    • 模型预估服务
      • 流量分发管理
      • 预测框架路由:WBL, Tensorflow, XGBoost, ONNX
      • 模型计算引擎
        • 模型加载管理
        • 模型预测:特征抽取,模型计算
    • 策略机制引擎
  • 集群管理平台
    • 资源管理
    • 模型管理
    • 配置管理
    • 监控报警
  • 效果评估系统
    • 数据分析
    • AB 实验系统
    • 报表系统

机器学习平台

机器学习的研发流程

  • 业务需求 -> 业务建模
  • 数据收集:数据集成、清洗、规约、变换
  • 数据探索分析
  • 特征工程
  • 模型训练,参数优化
  • 模型评估
    • 效果达标:则上线模型、AB 测试、效果监控、数据回流
    • 效果不达标:则优化数据、特征、模型,直到达标

分布式数据库

  • OLAP(On-Line Analytical Processing):数据计算与分析
  • OLTP(On-Line Transaction Processing):面向实时交易和在线数据访问
  • ACID 理论
    • Atomicity 原子性
    • Consistency 一致性
    • Isolation 隔离性:事务的并发控制
      • Read-Uncommitted
      • Read-Committed
      • Repeatable-Read
      • Serializable
    • Durability 持久性
  • CAP 理论:一个分布式系统最多只能三选二
    • Consistency 一致性:强一致性、弱一致性、最终一致性
    • Availability 可用性
    • Partition-Tolerance 分区容错性
  • BASE 理论:基本指导思想
    • Basically-Available 基本可用
    • Soft-State 软状态
    • Eventually-Consistent 最终一致性
  • 数据分片策略
    • 评估点
      • 数据分布的均匀程度
      • 元数据管理的复杂程度(有无状态)
      • 路由规则额复杂程度(计算开销)
      • 弹性伸缩的灵活度
      • 数据的迁移成本
    • 常用方法
      • 哈希取模分片策略
      • 一致性哈希分片策略
      • 连续区域分片策略
  • 数据复制策略:异步、同步
  • Gossip 协议(Cassandra, Consul)
    • 优点:简单、可扩展、去中心化、健壮
    • 缺点:消息延迟、消息冗余、弱一致性
  • 分布式一致协议
    • Paxos 理论上解决了分布式一致性问题
    • Multi-Paxos 大幅度提升运行性能和工程可执行性
    • Raft 增强可理解性并降低实现难度
  • 分布式事务协议
    • 二阶段提交协议
    • 三阶段提交协议
    • 尽量避免使用,从系统机制上解决,因为这些协议都不完美,还会极大增加系统的复杂度和运维难度

大数据平台

整体架构

  • 分布式协调系统:Google Chubby, ZooKeeper, Consul
  • 数据仓库与查询系统:Scuba, Google BigQuery, Presto, Hive
  • 分布式计算系统:MapReduce, Spark, Flink, Apache Beam
  • 分布式文件系统:Google GFS, HDFS, Dropbox MP
  • 消息管道系统:Google Pubsub, Kafaka
  • 集群管理系统:Google Borg, YARN, K8S

推荐系统

整体架构

  • 业务流量入口:信息流推荐、相似推荐、关系推荐、个性化消息
  • 特征与画像服务:统计、序列、组合、向量、标签
  • 召回与索引服务:标签、规则、关系图、语义、向量
  • 在线存储系统:SQL, NoSQL, NewSQL
  • 集群管理平台:日志分析、性能监控、链路跟踪、负载均衡
  • 数据挖掘平台:内容理解、用户理解、标签生产、行为分析
  • 在线预估服务:LR, GBDT, FM, DNN
  • 机器学习平台
  • 排序策略服务:动态配置、流量标签、负反馈、竞价机制、冷启动、多样性、上下文理解、自定义运营逻辑
  • 数据管道与数据仓储平台:日志收集、数据清洗、反作弊、大数据处理、流式计算
  • AB 实验平台
  • BI 商业分析平台

数字广告

整体架构

  • 广告业务平台:广告投放、效果展示、结算报表、商业工具
  • 广告投放平台:广告召回、收益管理、模型预估、广告结算、策略机制、商业智能
  • 在线存储系统:广告索引、用户画像、策略数据、特征数据、效果数据、向量仓库
  • 在线预测系统:点击率预测、互动率预测、转化率预测、向量计算
  • 大数据平台:行为分析、样本拼接、数据清洗、AB 实验数据、数据聚合、流式计算
  • 机器学习平台:特征处理、模型评估、模型训练、模型验证

网约车平台

整体架构如下,该例子介绍的比较清晰,是很好的参考

  • 产品接入平台:乘客 APP、司机 APP
  • 业务中台:需求池、调度系统、运力池、订单系统、分单系统、抢单系统、定价系统、策略引擎、司机系统
  • 算法与数据中台:用户画像服务、LBS 数据服务、机器学习平台、在线预估服务、司机画像服务、特征服务、样本拼接系统、训练框架
  • 基础架构:分布式存储、流式计算引擎、服务发现系统、资源调度系统、运维系统、编译测试系统