写点什么

Karrot 通过在亚马逊云科技上部署全新可扩展的特征平台将转化率提升 70%

  • 2025-12-12
    北京
  • 本文字数:1601 字

    阅读完需:约 5 分钟

大小:804.67K时长:04:34
Karrot通过在亚马逊云科技上部署全新可扩展的特征平台将转化率提升70%

Karrot 将其传统的推荐系统替换为一个可扩展的架构。新架构利用了亚马逊云科技提供的各种服务。该公司希望解决先前解决方案中存在的紧耦合、可扩展性和可靠性差等挑战,并为此选择了一种基于可扩展云服务构建的分布式事件驱动架构。

 

Karrot 是一个韩国领先的本地社区构建平台,使用推荐系统为用户提供个性化的首页内容。该系统包括推荐机器学习模型和一个特征平台,后者是一个存储用户行为历史和文章信息的数据存储。近年来,随着公司推荐系统的不断演变,显而易见,添加新功能变得越来越困难,而且由于特征存储和摄取过程的碎片化,其系统开始受到可扩展性有限和数据质量差等问题的困扰。

 

其推荐系统的初始架构与跳蚤市场 Web 应用程序是紧耦合的,特定于特征的代码是硬编码的。尽管架构使用了可扩展的数据服务,如Amazon AuroraAmazon ElastiCacheAmazon S3,但从多个数据存储中获取数据导致了数据不一致性,并给引入新的内容类型(如本地社区、工作和广告)带来了挑战。

 

Karrot 工程师 Hyeonho Kim、Jinhyeong Seo 和 Minjae Kwon 解释了使用统一、灵活、可扩展的特征存储的重要性:

 

在基于 ML 的系统中,各种高质量的输入数据(点击、转换操作等)被认为是一个关键元素。这些输入数据通常被称为特征。在 Karrot,包括用户行为日志、操作日志和状态值在内的数据统被称为用户特征,与文章相关的日志被称为文章特征。为了提高个性化推荐的准确性,需要综合各种类型的特征。一个能够有效管理这些特征并快速将其交付给 ML 推荐模型的系统就成了必不可少的。

 

该公司为新特征平台设定了雄心勃勃的目标,希望它能支持未来的产品开发和流量增长。技术团队还确定了与服务和摄取流量、总数据量和最大记录大小等相关的技术要求。



Karrot 特征平台的新架构(图片来源:亚马逊云科技架构博客

 

新架构涵盖了三个主要领域:特征服务、流摄取管道和批量摄取管道。特征服务层负责为推荐引擎提供最新的特征数据。工程师考虑了功能和技术要求,并设计了一个多层缓存解决方案和针对特征特性量身定制的专用服务策略。频繁使用的小型数据集将通过位于特征服务器Amazon EKS Pod 中的内存缓存提供服务。使用频率适中的中等特征数据集则从远程 ElastiCache 缓存中获取。对于记录量大、使用频率低的特征类型,则采用统一模式直接从DynamoDB表中获取。此外,团队还创建了一个专用的 On-Demand Feature Server EKS 服务,用于处理动态计算的特征或因合规问题无法持久化的特征。

 

在处理服务层时,工程师解决了多个与常见缓存问题相关的挑战。他们采用了概率性提前失效(PEE)技术来刷新受欢迎的内容,并主动解决缓存未命中问题,减轻缓存踩踏并改善延迟。他们还采用了独立的软/硬时序触发器(TTL),结合抖动写穿透缓存机制来缓解一致性问题,并运用负缓存技术减少不必要的数据库查询。



Karrot 特征平台的流摄取管道(图片来源:亚马逊云科技架构博客

 

作为特征平台改进的一部分,Karrot 为实时事件和批量模式创建了一个新的数据摄取架构。核心流处理机制专注于处理简单ETL逻辑与数据验证,定制化方案用于处理更复杂的用例,例如从预训练模型中创建内容嵌入,或利用大型语言模型(LLM)丰富内容特征。工程师通过组合使用运行在 EKS 上的事件分发器与聚合器服务,从Amazon MSK获取事件数据,高效处理事件与特征之间的多对多关系。



Karrot 特征平台的批量摄取管道(图片来源:亚马逊云科技架构博客

 

该团队曾考虑使用Apache Airflow进行批量摄取,但最终选择了AWS Fargate上的AWS Batch,主要是考虑了后者的简单性和成本效益。然而,随着时间的推移,工程师发现了几个需要改进的地方,包括缺乏DAG支持、手动配置并行处理和监控功能有限。

 

新平台帮助 Karrot 将文章推荐点击率提高了 30%,转化率提高了 70%。该公司在 10 多个不同的空间和服务中使用了新平台,并存储了涵盖许多服务和内容类型的 1000 多个特征。

 

原文链接:

https://www.infoq.com/news/2025/12/karrot-aws-feature-platform/

2025-12-12 15:1095

评论

发布
暂无评论

混合应用开发范式重构:跨端敏捷生态驱动企业降本增效的2025实践路径

xuyinyin

鸿蒙车机开发实战:车载多模态交互控制

yimapingchuan

HarmonyOS开发笔记:车机近场通信中的创新应用

yimapingchuan

鸿蒙开发实战:车机多场景智能联动

yimapingchuan

HarmonyOS开发笔记:车机多网融合通信

yimapingchuan

鸿蒙开发实战:打造车机端到端安全防护

yimapingchuan

鸿蒙车机安全开发:保护企业级车辆数据.

yimapingchuan

TRAE:从代码生成到软件生成的跨越

火山引擎开发者社区

字节跳动

HarmonyOS开发实战:车载电子说明书解析

yimapingchuan

数据上新 | 全新高质量训练数据集重磅发布

数据堂

AI 训练数据 大模型 预训练大模型 数据上新

鸿蒙开发实战:车机安全系统智能联网

yimapingchuan

HarmonyOS开发实战:构建车机核心服务框架

yimapingchuan

HarmonyOS开发实战:智能车控安全系统

yimapingchuan

鸿蒙开发笔记:车机数据安全存储

yimapingchuan

鸿蒙车机开发实战:车载任务自动化编排

yimapingchuan

HarmonyOS开发实战:车载智能天气预报系统

yimapingchuan

鸿蒙开发实战:车载主题动态加载

yimapingchuan

鸿蒙开发实战:车机数据端到端加密

yimapingchuan

鸿蒙车机开发实战:车载硬件深度管理

yimapingchuan

HarmonyOS开发实战:赋能车机多模态安全系统

yimapingchuan

鸿蒙开发实战:优化车机安全系统网络性能

yimapingchuan

HarmonyOS开发实战:车机安全认证体系

yimapingchuan

鸿蒙开发实战:优化车机安全系统性能

yimapingchuan

字节跳动技术副总裁洪定坤:TRAE 想做 AI Development

火山引擎开发者社区

字节跳动

鸿蒙开发实战:车载安全支付解决方案

yimapingchuan

鸿蒙车机管理开发:企业车队集中管理

yimapingchuan

用 Trae 捏了个「数字班主任」,这位老师让师生沟通更高效

火山引擎开发者社区

#Trae

HarmonyOS开发实战:车机跨设备数据共享

yimapingchuan

鸿蒙开发实战:车机设备安全认证

yimapingchuan

Trae MCP 功能升级!新增百个优质 MCP Server 并支持快捷配置

火山引擎开发者社区

#Trae

鸿蒙开发实战:车机多设备协同安全

yimapingchuan

Karrot通过在亚马逊云科技上部署全新可扩展的特征平台将转化率提升70%_架构_Rafal Gancarz_InfoQ精选文章