Skip to main content
Back to timeline
Engineering at MetaSource publication:

Meta splits ad-feature releases one by one: F3 Lightning ships comparable features about 3.6x faster with no added compute

Synopsis

Meta added F3 Lightning on top of F3, the framework that authors, compiles and serves the machine-learning features behind ads ranking models, so each feature is compiled, validated, deployed and rolled back independently. Previously the merged graph was both the execution unit and the release unit, so one bad definition blocked every feature, while early per-feature prototypes raised CPU use by dropping shared computation. F3 Lightning rebuilds a shared execution plan at startup, and comparable extraction features now reach production about 3.6x faster than on prior F3 with no increase in infrastructure compute cost.

Source-provided article image: F3 Lightning: How Meta Accelerates Ads ML Features to Production at Scale
Figure 1 · Meta AI

Interpretation

Meta's ads feature framework F3 can now release each feature on its own, so one faulty feature no longer holds back the others in the same service. F3 compiled all features into a single merged graph that also served as the release unit, so a single failure or invalid definition blocked the entire release pipeline. F3 originally served a few hundred features, where merges largely succeeded; today a single request can require more than 20,000 features, and features already consumed by a model must first pass computationally expensive model-related tests that run only in a later release stage, making every other feature wait.

Shared execution is rebuilt at service startup rather than merged at release time, so independent releases need not give up F3's computational efficiency. Early per-feature release prototypes separated deployment only; execution was no longer shared, each configuration ran as its own graph, and repeated reads, filters and aggregations that the merged graph had eliminated pushed CPU use substantially above traditional F3. F3 Lightning closes the gap in four steps: the compiler derives stable identifiers from the operation, its parameters and its inputs' identifiers; startup builds one execution plan via topological sort and flattens it into an ordered list; each request uses one shared memory buffer; and identifiers are mapped to consecutive integer slots so reads become direct array indexing.

Comparable extraction features reach production about 3.6x faster than on prior F3, with no increase in infrastructure compute cost. Earlier rounds of improvement to the merged graph restored release speed only for a while, and the gains eroded as more features landed. The comparison covers comparable extraction features, and the shorter release cycle also allows more model iterations in the same period.

Perspective

The report covers F3, Meta's framework for authoring, compiling and serving the features behind ads ranking models, and the F3 Lightning layer built on it; the comparison is against prior F3, measured by release speed for comparable extraction features and infrastructure compute cost.

The about 3.6x figure is a release-speed comparison for comparable extraction features; the source gives no per-component benchmark, error range or separate results by feature type, and the no-added-compute conclusion is limited to the same comparable scope.