Learned Cross-Task Relationships in Multi-Task Models
Victor Zhang, Yiping Yuan, Florian Raudies, Bosun Adeoti, Brian Y. C. Leung, Sanjay Surendranath Girija, Naijing Zhang
cs.AI
2026-09-24
YouTube adds cross-label and unconditioned heads to approximate task covariance. Notifications: +0.17% DAU, -1.05% opt-outs, 7.21% fewer sends; Homepage/Watch Next lift watch time.
YouTube's user-engagement models are standard multi-task learning: clicks, likes, saves, and watch time each get a head, losses are a weighted sum, and the body is shared. Training labels are drawn from a joint distribution. The served output is often a vector of marginals. A full joint over N binary tasks needs O(2^N) heads. N marginals throw the dependence away at the last layer.
A reinforcement-learning policy then consumes those predictions as environment state, for example whether to send a notification or which homepage item to rank. Even if the policy network can cross features, E[X]E[Y] is not E[XY]. The missing term is covariance. Without it the state cannot tell "this video is clicked and saved" from "clicked once and never again".
The full joint is not modeled. Only the missing pairwise term is filled in. If unconditional heads X and Y already exist, add a cross-label head for E[XY], the logical AND. If the model has X and a conditional head Y|X, the joint follows from the chain rule and the missing piece is unconditional E[Y], trained on all examples. With E[X], E[Y], and E[XY], all four binary cells can be recovered. Complexity drops from exponential to at most O(N^2), and only informative pairs are added.
Nested pairs (Y implies X), mutually exclusive pairs (the cross is always 0), and unconditionals already implied by the chain rule are skipped. Connecting the auxiliary head to the shared body without stopping gradients is the pattern that scaled across YouTube models. Tying it to the top hidden layer of the parent heads also works, with fewer extra parameters.
Two hypotheses are tested separately. Transfer learning: add the heads, hide their outputs from the policy, and read original-head AUC plus live metrics. Environment modeling: then feed the new predictions into the policy. Duplicating heads or raising loss weights did not substitute. A cross head concentrates gradient on the sparse subset where both tasks are positive; scalar weights cannot.
Live A/B tests use tens of millions of users per arm. Deltas are small because the system is already mature.
| Surface | Phase | Auxiliary heads | Main live deltas |
| Notifications | Transfer plus policy | 10 Open/Dismiss × Visit crosses | DAU +0.17%, valued watch +0.19%, opt-outs -1.05%, sends -7.21%, CTR +7.67% |
| Homepage | Transfer only, 5 unconditioned heads | Click conditioning lifted | Valued watch +0.05%, Shorts +0.10%, low-quality impressions -0.24% |
| Homepage | Transfer only, 7 more heads | Share unconditioned, Save×Action | Valued watch +0.05%, Shorts +0.06%, low-quality impressions -0.16% |
| Homepage | Policy consumes 11 heads | Control already has the MTL change | Home engagement +0.03%, Shorts +0.10%, low-quality impressions -0.64% |
| Watch Next | Transfer only, 4 unconditioned heads | Continuation, like, dislike, subscribe | Watch Next valued watch +0.19%, sitewide +0.08%, low-quality impressions -0.42% |
Offline AUC is mixed: notifications direct heads +3% to +8%, homepage primary heads +0.2% to +0.5%, Watch Next original heads +0.2% to +2.6%. Unrelated heads sometimes regress slightly. Live tests do not trade engagement for satisfaction: fewer sends, fewer opt-outs, fewer low-quality impressions, together with DAU and watch time.
After notifications moved from overlapping variants to disjoint ones, routing the cross-task loss into the shared event base beat sending it through variant towers, by about 0.6% to 4% AUC on sparse tasks.
This is a small production patch: stop optimizing only marginals, and add E[XY] or an unconditioned head for the task pairs you actually care about. No new gated backbone, and no relabeling. For stacks that already feed MTL predictions into an RL ranker, the two-phase launch splits "original heads got better" from "the policy can see covariance". 0.1%-level live moves are real at YouTube scale and should not be copied as magnitudes onto a small product.
Pair selection is manual; automated selection is listed as future work. Metrics and labels are proprietary variants, so outside groups cannot reproduce the exact formulas. Offline AUC is heterogeneous, including small regressions, while live tests are consistently positive, leaving a mechanistic gap. Feeding 11 heads to the homepage policy helps less than the transfer-only launches, so the environment-modeling hypothesis holds but is the smaller piece. Watch Next has not finished the policy-consumption phase. The method is a cousin of ESMM-style conversion funnels; the increment is that unconditioned and cross heads are built as RL state, not as another conversion chain.