Meta 把广告特征发布拆成单条:F3 Lightning 让上线快约3.6倍,算力不增
核心概要
Meta 为广告排序模型的特征服务框架 F3 增加了 F3 Lightning 层,把特征发布从整张合并图里拆出来,每条特征独立编译、验证、部署和回滚。此前合并图既是执行单元也是发布单元,一个定义出错就会卡住全部特征;早期按特征发布的原型又因不再共享计算而抬高 CPU。F3 Lightning 在启动时重建共享执行计划,使可比的特征抽取上线速度约为原 F3 的3.6倍,且基础设施算力成本不增加。
深度剖析
Meta 的广告特征框架 F3 现在可以让每条特征单独发布,一条特征出错不再拖住同一服务里的其他特征。 F3 把全部特征编译成一张合并图,这张图同时是发布单元,因此一个失败或无效的定义会阻塞整条发布流水线。 F3 最初只服务几百条特征时合并基本顺利,如今单次请求可涉及超过2万条特征,且已被模型使用的特征要先跑计算昂贵的模型相关测试,合并发布让其他特征一起等待。
共享执行在服务启动时重建,而不是在发布时合并,因此独立发布不必牺牲 F3 原有的计算效率。 早期按特征发布的原型只拆开了部署,执行不再共享,每条配置作为独立图分别执行,重复了合并图已经消除的读取、过滤和聚合,CPU 用量明显高于传统 F3。 F3 Lightning 用四步补齐:编译器按操作、参数和输入标识符派生稳定标识符;启动时用拓扑排序生成单一执行计划并压平成有序列表;每次请求使用一个共享内存缓冲区;再把标识符映射为连续整数槽位,使读取变成直接数组索引。
可比的特征抽取上线速度约为原 F3 的3.6倍,基础设施算力成本没有增加。 此前每一轮对合并图的改进只能暂时恢复发布速度,随着特征数量增加,收益又被侵蚀。 这一对比针对可比的特征抽取,发布周期缩短也让同一时间段内可以完成更多模型迭代。
启示与展望
报道范围限于 Meta 广告排序模型的特征编写、编译与服务框架 F3 及其上层的 F3 Lightning,对比对象是此前的 F3,指标为可比特征抽取的上线速度与基础设施算力成本。
约3.6倍是可比特征抽取的上线速度对比,来源未给出分项基准、误差范围或不同特征类型的分别结果;算力不增的结论同样以这一可比范围为限。
