Research Blog

Bloom Labs » Research » Scaling Laws Revisited

Scaling Laws Revisited: What We Learned Training Bloom 4.6

Posted by Research Team on August 19, 2026 at 11:03 AM · 9 Comments

Every time Bloom Labs sits down to plan a new model, the first fight in the room isn't about architecture — it's about the compute budget spreadsheet. When we started training Bloom 4.6, our balanced mid-tier model, we had enough GPU-hours allocated to go one of two ways: pour it all into parameters and ship a bigger model, or split it between parameters and training data and ship a smarter one. We chose smarter. Here's the math behind that call, and why we think it's the right one for a model that's meant to sit in production answering millions of requests a day, not just win a leaderboard.

The Compute-Optimal Frontier

Classic scaling-law research treats training compute as a fixed budget C, roughly proportional to parameter count N times training tokens D (C ≈ 6ND). For any fixed C, there's a frontier of (N, D) pairs that minimize training loss, and it is emphatically not the pair you get by maximizing parameters alone. Early in the field, a lot of teams over-indexed on parameter count because bigger numbers make better press releases. We did the opposite calculation for Bloom 4.6: we fixed the budget, then swept dozens of candidate (N, D) pairs at smaller scale, measured loss, and extrapolated the curve up to our real training budget before committing a single dollar of compute to the full run.

The result surprised even some of our own engineers: the compute-optimal parameter count for our budget was noticeably smaller than what our first draft plan called for. We had originally spec'd a model nearly 40% larger. The swept curves said that extra weight would have been better spent as additional training tokens.

Why We Cut Parameters and Added Data

  • Diminishing returns on width. Past a certain point on our loss curves, adding parameters bought less loss reduction per FLOP than adding tokens did. The crossover for our target budget landed well below where we'd originally planned to build.
  • Inference cost compounds. Bloom 4.6 is being engineered to be the workhorse model — the one we expect will eventually handle the majority of day-to-day Bloom Labs traffic once it's released. Every extra billion parameters is a permanent tax on every single inference call, forever. A smaller, better-trained model wins on total cost of ownership even if its raw parameter count looks less impressive on paper.
  • Data quality had headroom left. We weren't anywhere near saturating what our curated training corpus could teach a model of this size. Under-training a large model on too few tokens leaves capability on the table that a smaller, longer-trained model can capture instead.
  • Serving latency is a product feature. A chunkier model would have meant a slower time-to-first-token in production. For a mid-tier model that needs to feel instant, that tradeoff wasn't close.

So we rebalanced: fewer parameters than our first draft, meaningfully more training tokens, same total compute envelope. The chart below shows how that reallocation played out across our internal loss-efficiency benchmark, comparing the parameter-heavy draft plan against the data-heavy plan we ultimately committed to for Bloom 4.6.

Draft Plan (parameter-heavy, under-trained)71%
Shipped Bloom 4.6 (compute-optimal, data-heavy)93%
Inference Cost Efficiency vs. Draft Plan88%

"Bigger Isn't Always Better" — What That Actually Means

We want to be precise about this claim, because it's easy to misread. We are not saying scale doesn't matter — Homan 2.96, our flagship, is proof that pushing scale aggressively still produces the strongest internal results Bloom Labs has ever measured when the budget and use case call for it. What we're saying is narrower: for a fixed compute budget aimed at a mid-tier, high-volume production model, the optimal allocation of that budget is rarely "as many parameters as will fit." It's whatever point on the (N, D) frontier minimizes loss for that specific budget, and for Bloom 4.6, that point called for restraint on size and aggression on data.

This also explains why Bloom 4.6 punches well above its parameter count on many of our internal evals compared to older, larger models from earlier training runs. It isn't magic — it's a longer, better-fed training run on a right-sized architecture.

What's Next

We're now running the same sweep methodology against candidate configurations for our next-generation lineup, and we're extending the analysis to account for inference-time compute (test-time reasoning) as a third axis alongside parameters and training tokens. Early results suggest the frontier shifts in interesting ways once a model is allowed to "think longer" at inference time instead of only getting bigger at training time. We'll have more to share on that in a future post.

Bloom 4.6 has completed internal development and testing, but it hasn't been released publicly yet. Every number in this post — the sweeps, the bench-row results above, the projections about the traffic it's meant to eventually carry — comes from Bloom Labs' internal infrastructure, not from outside usage. Given how capable this model is, we're being deliberate about when it goes out the door: our safety team is running a full risk review, and Bloom 4.6 won't ship publicly until we're confident it can't cause harm. In the meantime, here's a closer look at what this training approach produced.

See Full Bloom 4.6 Specs »

Comments (9)

ml_infra_kevinAug 19, 2026, 11:34 AM
This matches what we've seen internally too — the inference-cost-compounds point doesn't get talked about enough. Everyone benchmarks training cost and forgets you pay for parameters on every single request forever.
dr_priya_nAug 19, 2026, 12:15 PM
Did you sweep the (N, D) pairs at a single smaller scale and extrapolate, or at multiple scales before fitting the curve up to the full budget? Curious how many points were on your IsoFLOP curves before you trusted the extrapolation.
Bloom Labs Research TeamAug 19, 2026, 12:41 PM
@dr_priya_n multiple scales — we ran the sweep at several smaller compute budgets, fit the loss-minimizing (N, D) pair at each one, then extrapolated the trend to our target budget rather than trusting a single-scale sweep. More scales gave us a lot more confidence before committing the full run.
quant_skepticAug 19, 2026, 1:07 PM
Honestly refreshing to see a lab publish "we planned to go bigger and then didn't" instead of just quietly shipping whatever and calling it optimal after the fact.
tobias_writes_codeAug 19, 2026, 1:52 PM
The test-time compute teaser at the end is the real headline here IMO. A third axis on the frontier changes the whole optimization problem. Please write that post soon.
gpu_poor_gregAug 19, 2026, 2:20 PM
These latency numbers have me way more excited than I expected to be about a scaling-law post. If it holds up like this once it's actually out, Bloom 4.6 is going to feel incredible for a mid-tier model. Any rough timeline on when the safety review wraps up and it ships?
sarah.codesAug 19, 2026, 3:05 PM
Was the curated corpus you mention the bottleneck, or could you have kept scaling tokens even further past what you used for the shipped run? i.e. was 4.6 data-optimal or data-limited?
Bloom Labs Research TeamAug 19, 2026, 3:29 PM
@sarah.codes good question — we had headroom left in the corpus at the token count we trained on, so 4.6 landed on the compute-optimal point rather than a data-limited one. Going further on tokens for this parameter count would have cost more compute than reallocating it elsewhere was worth.
anon_lurker404Aug 19, 2026, 4:47 PM
wish more of the industry thought about total cost of ownership instead of just chasing parameter counts for marketing. good post.