tantan的博客

Notes, ideas, and observations

Mooncake 是 Moonshot AI 推出的 LLM 聊天机器人服务 Kimi 的底层服务平台. 该平台采用以 KVCache 为中心的分离式架构: 不仅将 Prefill 集群与 Decoding 集群分离, 还充分利用 GPU 集群中未被充分使用的 CPU, DRAM, SSD 和 NIC 资源, 构建出一个分离式的 KVCache 池. Mooncake 的核心是其以 KVCache 为中心的全局缓存, 以及一个在满足严格的延迟类服务级别目标 (SLO) 的前提下最大化吞吐量的调度器.

终身用户行为建模中,SIM、UBR4CTR 等两级级联框架达到 SOTA: 用简单快速的 GSU 从海量行为中检索与目标最相关的少量行为,再用注意力 ESU 在这些 finalist 上做 Target Attention (TA)。但它们有个根本局限: GSU 与 ESU 的目标-行为相关性度量不一致,导致 GSU 经常漏掉 ESU 高度认可的行为,限制了整体 CTR 精度.

丰富的用户行为数据对 CTR 预估极有价值,尤其在推荐和广告等工业场景。阿里此前的 SOTA 是基于记忆网络的 MIMN,它通过 “学习算法 + 服务系统” 协同设计,第一次把可建模的行为序列长度扩展到 1000。但当序列再长 10 倍以上时,MIMN 无法在给定候选 item 时精准刻画用户兴趣 —— 把所有历史行为编码进固定大小的 memory matrix 会引入大量噪声.

本文介绍了 JAX:一个面向领域的 tracing JIT 编译器,能够从纯 Python 和 NumPy 编写的机器学习程序生成高性能的加速器代码。JAX 借助 XLA 编译基础设施为"最适合加速"的子程序生成优化代码,这些优化后的子程序可以被任意 Python 代码调用和编排。由于 JAX 与 Autograd 完全兼容,它支持对 Python 函数进行任意阶的前向和反向自动微分。由于 JAX 支持结构化控制流,它能够为复杂机器学习算法生成高性能代码。将 JAX 与 Autograd 和 NumPy 结合,可以得到一个既易于编程、又高度高性能的 ML 系统,能够同时面向 CPU、GPU 和 TPU,并可扩展到多核 Cloud TPU。

内存键值存储 (KVS) 被广泛用于缓存热点数据, 以解决基于磁盘的存储系统或分布式系统中的热点问题. 然而, 内存 KVS 内部的热点问题却一直被忽视. 随着近年来热点问题愈发严重, 现有 KVS 由于缺乏热点感知能力, 在高度偏斜的工作负载上往往表现不佳, 且可靠性不足.

0%