LinkedIn AI/ML 平台与VeniceDB的技术演进
在2024年QCon London大会上,LinkedIn的首席工程师Félix GV分享了公司AI/ML平台的技术架构及关键组件,特别深入探讨了用于特征持久化的NoSQL数据库VeniceDB。他还分享了平台在集群管理和库版本控制等方面的经验教训。
LinkedIn AI/ML 平台概述
LinkedIn的AI/ML平台支持多种功能,包括“你可能认识的人”等推荐系统。该平台为数据科学家和工程师提供了端到端的支持,涵盖特征摄取、生成、存储以及模型训练、验证和推理。平台的核心目标是提升生产力,提供统一的开发、实验和操作能力。
平台架构与关键技术
平台的架构包括多个子系统,其中Frame是虚拟特征存储,支持多种存储后端:离线存储(Iceberg表)、流式存储(Kafka主题)和在线存储(VeniceDB和Pinot表)。Frame的部分功能已开源为Feathr项目,并于近期发布了1.0版本。
特征生产化与模型服务
FedEx子系统负责特征的“生产化”,包括数据准备和转换,并将特征数据推送到VeniceDB进行特征服务。King Kong用于模型训练,Model Cloud用于模型服务,提供可观测性、监控、基准测试、GPU支持以及自助服务上线等功能。
VeniceDB的演进与优化
VeniceDB是专门为AI/ML用例设计的派生数据平台,支持在线存储。自2022年9月开源以来,该项目已收到800次提交。VeniceDB支持数据集版本控制,允许从离线源推送大型数据集,并在数据摄取完成后无缝切换版本。通过优化客户端库,VeniceDB的读取延迟从10毫秒(p99)降至10微秒(p99)。
挑战与经验教训
在运营VeniceDB的过程中,LinkedIn团队强调了基础设施布局和集群分配的重要性,以便有效管理不同工作负载。团队还发现,选择压缩算法对存储密集型工作负载至关重要,ZSTD算法在大多数情况下表现更优。此外,优化序列化协议(如使用自研的Avro工具)可以显著减少内存和计算资源的使用。
客户端库版本管理
团队采用了积极的旧版本弃用策略,并通过自动化依赖升级来管理客户端库版本。
未来展望与挑战
Félix GV提到,流处理AI是一个快速增长的类别,未来需要应对更严格的实时性要求。此外,随着生成式AI和大型语言模型(LLM)的普及,GPU资源的有效利用成为关键挑战。LinkedIn已开始在生产中使用LLM,例如为高级会员提供的求职教练功能。
总结
LinkedIn的AI/ML平台通过不断优化和创新,支持了公司众多AI/ML功能的高效运行。VeniceDB作为关键组件,在数据存储和读取性能方面取得了显著进展。未来,随着AI技术的进一步发展,平台将继续面临新的挑战和机遇。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。