π What Are Parameters?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>What Are Parameters?</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,600&family=Inter:wght@500;600;700&display=swap" rel="stylesheet">
<style>
html, body { margin: 0; padding: 0; }
.infographic-params {
--ink: #1a1a1a;
--ink-soft: #5c5c5c;
--paper: #ffffff;
--paper-alt: #f0ece4;
--accent: #2563eb;
--accent-soft:#e3ebfd;
--line: #ddd6c9;
--radius: 10px;
--display-font: 'Newsreader', serif;
--body-font: 'Inter', system-ui, sans-serif;
box-sizing: border-box;
max-width: 560px;
margin: 0 auto;
padding: 2rem 1.5rem 2.25rem;
font-family: var(--body-font);
color: var(--ink);
background: var(--paper);
}
.infographic-params[data-theme="dark"] {
--ink: #e8e6e1;
--ink-soft: #9a968c;
--paper: #13171F;
--paper-alt: #1e1e26;
--accent: #5b8def;
--accent-soft:#202942;
--line: #2c313d;
}
.infographic-params * { box-sizing: border-box; }
.infographic-params .pr-title { font-family: var(--display-font); font-weight: 600; font-size: 1.2rem; text-align: center; margin: 0 0 1.5rem; }
.infographic-params .pr-controls { display: flex; justify-content: center; gap: 0.5rem; margin-bottom: 1.75rem; }
.infographic-params .pr-btn {
display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%;
border: 1px solid var(--line); background: var(--paper); color: var(--ink); cursor: pointer;
box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.infographic-params .pr-btn:hover { border-color: var(--accent); color: var(--accent); }
.infographic-params .pr-btn svg { width: 16px; height: 16px; }
.infographic-params .pr-stage { position: relative; height: 300px; margin-bottom: 1rem; }
.infographic-params .pr-grid {
position: absolute; inset: 0; display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(5, 1fr);
gap: 6px; padding: 6px;
}
.infographic-params .pr-dot { border-radius: 50%; background: var(--line); opacity: 0.35; justify-self: center; align-self: center; width: 12px; height: 12px; }
.infographic-params.is-playing .pr-dot { animation: prDotPulse 12s ease-in-out infinite; animation-delay: var(--d); }
@keyframes prDotPulse {
0% { opacity: 0.35; background: var(--line); transform: scale(1); }
4% { opacity: 1; background: var(--accent); transform: scale(1.6); }
9% { opacity: 0.55; background: var(--accent); transform: scale(1); }
22% { opacity: 0.55; background: var(--accent); }
28% { opacity: 0; background: var(--accent); transform: scale(0.4); }
100% { opacity: 0; }
}
.infographic-params .pr-core-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.infographic-params .pr-core {
width: 84px; height: 84px; border-radius: 50%; background: var(--accent-soft); color: var(--accent);
display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(37,99,235,0.2);
opacity: 0; transform: scale(0.6); position: relative; z-index: 2;
}
.infographic-params .pr-core svg { width: 40px; height: 40px; }
.infographic-params.is-playing .pr-core { animation: prCore 12s ease-in-out infinite; }
@keyframes prCore {
0%,26% { opacity: 0; transform: scale(0.6); }
34%,92% { opacity: 1; transform: scale(1); }
98%,100% { opacity: 0; transform: scale(0.6); }
}
.infographic-params .pr-skill {
position: absolute; display: flex; flex-direction: column; align-items: center; gap: 0.35rem; opacity: 0; z-index: 1;
}
.infographic-params .pr-skill-badge {
width: 46px; height: 46px; border-radius: 50%; background: var(--paper-alt); border: 1px solid var(--line); color: var(--ink);
display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.infographic-params .pr-skill-badge svg { width: 20px; height: 20px; }
.infographic-params .pr-skill-label { font-size: 0.68rem; font-weight: 700; color: var(--ink-soft); }
.infographic-params .pr-skill-write { top: 8%; left: 50%; transform: translateX(-50%); }
.infographic-params .pr-skill-reason { top: 55%; left: 10%; }
.infographic-params .pr-skill-code { top: 55%; right: 10%; }
.infographic-params.is-playing .pr-skill-write { animation: prSkillWrite 12s ease-in-out infinite; }
.infographic-params.is-playing .pr-skill-reason { animation: prSkillReason 12s ease-in-out infinite; }
.infographic-params.is-playing .pr-skill-code { animation: prSkillCode 12s ease-in-out infinite; }
@keyframes prSkillWrite { 0%,38%{opacity:0; transform:translate(-50%,8px);} 44%,92%{opacity:1; transform:translate(-50%,0);} 98%,100%{opacity:0;} }
@keyframes prSkillReason { 0%,42%{opacity:0; transform:translate(8px,8px);} 48%,92%{opacity:1; transform:translate(0,0);} 98%,100%{opacity:0;} }
@keyframes prSkillCode { 0%,46%{opacity:0; transform:translate(-8px,8px);} 52%,92%{opacity:1; transform:translate(0,0);} 98%,100%{opacity:0;} }
.infographic-params .pr-caption { text-align: center; min-height: 1.4em; font-size: 0.92rem; color: var(--ink-soft); position: relative; }
.infographic-params .pr-caption span { position: absolute; left: 0; right: 0; opacity: 0; }
.infographic-params .pr-caption .pr-cap-1 { opacity: 1; }
.infographic-params.is-playing .pr-caption .pr-cap-1 { animation: prCap1 12s ease-in-out infinite; }
.infographic-params.is-playing .pr-caption .pr-cap-2 { animation: prCap2 12s ease-in-out infinite; }
@keyframes prCap1 { 0%,20%{opacity:1;} 26%,100%{opacity:0;} }
@keyframes prCap2 { 0%,26%{opacity:0;} 32%,92%{opacity:1;} 98%,100%{opacity:0;} }
@media (prefers-reduced-motion: reduce) {
.infographic-params * { animation: none !important; }
}
</style>
</head>
<body>
<div class="infographic-params" id="paramsRoot">
<div class="pr-controls">
<button class="pr-btn" id="prPlayBtn" aria-label="Play">
<svg id="prPlayIcon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="6 3 20 12 6 21 6 3"/></svg>
<svg id="prPauseIcon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:none"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg>
</button>
<button class="pr-btn" id="prRestartBtn" aria-label="Restart">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/><path d="M3 3v5h5"/><path d="M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"/><path d="M16 16h5v5"/></svg>
</button>
</div>
<div class="pr-stage">
<div class="pr-grid" id="prGrid"></div>
<div class="pr-core-wrap">
<div class="pr-core">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 18V5"/><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"/><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"/><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"/><path d="M18 18a4 4 0 0 0 2-7.464"/><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"/><path d="M6 18a4 4 0 0 1-2-7.464"/><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"/></svg>
</div>
</div>
<div class="pr-skill pr-skill-write">
<div class="pr-skill-badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/></svg></div>
<span class="pr-skill-label">Write</span>
</div>
<div class="pr-skill pr-skill-reason">
<div class="pr-skill-badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/><path d="M9 18h6"/><path d="M10 22h4"/></svg></div>
<span class="pr-skill-label">Reason</span>
</div>
<div class="pr-skill pr-skill-code">
<div class="pr-skill-badge"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m18 16 4-4-4-4"/><path d="m6 8-4 4 4 4"/><path d="m14.5 4-5 16"/></svg></div>
<span class="pr-skill-label">Code</span>
</div>
</div>
<div class="pr-caption">
<span class="pr-cap-1">One parameter, alone, is meaningless.</span>
<span class="pr-cap-2">Billions together behave like intelligence.</span>
</div>
</div>
<script>
(function () {
var wrapper = document.getElementById('paramsRoot');
var bodyAttr = document.body.getAttribute('data-darkmode');
var dark;
if (bodyAttr === 'true') { dark = true; }
else if (bodyAttr === 'false') { dark = false; }
else {
var match = document.cookie.match(/(?:^|;\s*)darkMode=([^;]+)/);
dark = match ? match[1] === 'true' : false;
}
if (dark) wrapper.setAttribute('data-theme', 'dark');
var grid = document.getElementById('prGrid');
var total = 40;
for (var i = 0; i < total; i++) {
var dot = document.createElement('div');
dot.className = 'pr-dot';
dot.style.setProperty('--d', (i * 0.03).toFixed(3) + 's');
grid.appendChild(dot);
}
var playBtn = document.getElementById('prPlayBtn');
var restartBtn = document.getElementById('prRestartBtn');
var playIcon = document.getElementById('prPlayIcon');
var pauseIcon = document.getElementById('prPauseIcon');
var playing = false;
function setPlaying(state) {
playing = state;
wrapper.classList.toggle('is-playing', playing);
playIcon.style.display = playing ? 'none' : '';
pauseIcon.style.display = playing ? '' : 'none';
}
playBtn.addEventListener('click', function () { setPlaying(!playing); });
restartBtn.addEventListener('click', function () {
wrapper.classList.remove('is-playing');
void wrapper.offsetWidth;
var animated = wrapper.querySelectorAll('.pr-dot, .pr-core, .pr-skill, .pr-caption span');
animated.forEach(function (el) {
el.style.animation = 'none';
void el.offsetWidth;
el.style.animation = '';
});
setPlaying(true);
});
})();
</script>
</body>
</html>Think of parameters as tiny learned settings inside an AI model β internal values the model picks up during training that help it recognise patterns, store knowledge, and generate outputs.
No single parameter does anything impressive on its own. But combine billions of them together, and you get something that behaves remarkably like intelligence.
π§© One parameter = meaningless. A billion parameters working together = a language model that can write, reason, and code.
π How Parameter Counts Exploded
Early ML models were tiny β a credit score predictor might have had 20 to 200 parameters. Deep learning changed that dramatically, and GPT models show just how fast things scaled:
Model | Parameters |
|---|---|
π± GPT-1 | 117 Million |
π GPT-2 | 1.5 Billion |
π GPT-3 | 175 Billion |
π§ GPT-4 | ~1.76 Trillion |
π₯ Modern Frontier Models | Possibly tens of trillions |
Each jump wasn't just bigger β it unlocked entirely new capabilities.
π‘ Bigger Isn't Always Better
For a long time, the dominant strategy was simple: more parameters = smarter model. That's still broadly true, but modern AI has complicated the picture.
Google's Gemma model has just 270 million parameters β smaller than GPT-2 β yet outperforms it significantly. Better architecture, smarter training, and improved optimisation techniques mean models can now do more with less.
This is also why modern LLMs come in multiple sizes:
Model Family | Sizes Available |
|---|---|
π€ GPT | Nano β Mini β Full |
π¦ Llama | 3B β 8B β 70B+ |
π Claude | Haiku β Sonnet β Opus |
Larger = more powerful, but also more expensive to run.
Smaller = faster and cheaper, but with some trade-offs in capability.
ποΈ Two Ways to Make AI Better
Modern AI improves through two distinct but complementary strategies:
β‘ Strategy 1: Training Time Scaling
Make the model bigger and train it on more data.
The idea is straightforward β a larger model trained on more data learns more. This was the dominant approach for years and is summarised by the Chinchilla Scaling Laws: as you increase parameters, you need to proportionally increase training data, otherwise that extra capacity goes to waste.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Training Time Scaling</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,600&family=Inter:wght@500;600;700&display=swap" rel="stylesheet">
<style>
html, body { margin: 0; padding: 0; }
.infographic-scaling {
--ink: #1a1a1a;
--ink-soft: #5c5c5c;
--paper: #ffffff;
--paper-alt: #f0ece4;
--accent: #2563eb;
--accent-soft:#e3ebfd;
--line: #ddd6c9;
--radius: 10px;
--display-font: 'Newsreader', serif;
--body-font: 'Inter', system-ui, sans-serif;
box-sizing: border-box;
max-width: 620px;
margin: 0 auto;
padding: 2rem 1.5rem 2.25rem;
font-family: var(--body-font);
color: var(--ink);
background: var(--paper);
}
.infographic-scaling[data-theme="dark"] {
--ink: #e8e6e1;
--ink-soft: #9a968c;
--paper: #13171F;
--paper-alt: #1e1e26;
--accent: #5b8def;
--accent-soft:#202942;
--line: #2c313d;
}
.infographic-scaling * { box-sizing: border-box; }
.infographic-scaling .sc-title { font-family: var(--display-font); font-weight: 600; font-size: 1.2rem; text-align: center; margin: 0 0 1.5rem; }
.infographic-scaling .sc-controls { display: flex; justify-content: center; gap: 0.5rem; margin-bottom: 1.75rem; }
.infographic-scaling .sc-btn {
display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%;
border: 1px solid var(--line); background: var(--paper); color: var(--ink); cursor: pointer;
box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.infographic-scaling .sc-btn:hover { border-color: var(--accent); color: var(--accent); }
.infographic-scaling .sc-btn svg { width: 16px; height: 16px; }
/* Equation row */
.infographic-scaling .sc-equation { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 2rem; }
.infographic-scaling .sc-op { font-size: 1.3rem; font-weight: 700; color: var(--ink-soft); }
.infographic-scaling .sc-input { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; width: 92px; }
.infographic-scaling .sc-badge {
width: 56px; height: 56px; border-radius: 50%; background: var(--paper-alt); color: var(--ink-soft);
display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,0.06);
transform: scale(1); position: relative;
}
.infographic-scaling .sc-badge svg { width: 25px; height: 25px; }
.infographic-scaling .sc-label { font-size: 0.7rem; font-weight: 700; text-align: center; color: var(--ink-soft); }
.infographic-scaling .sc-badge.sc-result { background: var(--ink); color: var(--paper); width: 64px; height: 64px; }
.infographic-scaling[data-theme="dark"] .sc-badge.sc-result { background: var(--accent); }
.infographic-scaling .sc-badge.sc-result svg { width: 28px; height: 28px; }
.infographic-scaling .sc-dot-cluster { position: absolute; inset: 0; }
.infographic-scaling .sc-dot-cluster span { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); opacity: 0; }
/* Balance bars */
.infographic-scaling .sc-balance { display: flex; align-items: flex-end; justify-content: center; gap: 2.5rem; height: 110px; margin-bottom: 0.75rem; }
.infographic-scaling .sc-bar-col { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.infographic-scaling .sc-bar-track { width: 40px; height: 90px; border-radius: 6px; background: var(--paper-alt); border: 1px solid var(--line); position: relative; overflow: hidden; display: flex; align-items: flex-end; }
.infographic-scaling .sc-bar-fill { width: 100%; background: var(--accent); height: 0%; border-radius: 5px 5px 0 0; }
.infographic-scaling .sc-bar-label { font-size: 0.7rem; font-weight: 700; color: var(--ink-soft); }
.infographic-scaling .sc-balance-check {
display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%;
background: var(--accent-soft); color: var(--accent); opacity: 0; align-self: center;
}
.infographic-scaling .sc-balance-check svg { width: 16px; height: 16px; }
.infographic-scaling .sc-caption { text-align: center; min-height: 1.4em; font-size: 0.9rem; color: var(--ink-soft); position: relative; }
.infographic-scaling .sc-caption span { position: absolute; left: 0; right: 0; opacity: 0; }
.infographic-scaling .sc-caption .sc-cap-1 { opacity: 1; }
/* --- Equation animations --- */
.infographic-scaling.is-playing .sc-badge[data-in="model"] { animation: scModel 12s ease-in-out infinite; }
.infographic-scaling.is-playing .sc-badge[data-in="data"] { animation: scPulse 12s ease-in-out infinite; }
.infographic-scaling.is-playing .sc-badge[data-in="compute"] { animation: scPulse 12s ease-in-out infinite; }
.infographic-scaling.is-playing .sc-badge.sc-result { animation: scResult 12s ease-in-out infinite; }
@keyframes scModel {
0%,4% { transform: scale(1); background: var(--paper-alt); color: var(--ink-soft); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
10%,22% { transform: scale(1.25); background: var(--accent-soft); color: var(--accent); box-shadow: 0 0 0 8px var(--accent-soft); }
92%,100% { transform: scale(1); background: var(--paper-alt); color: var(--ink-soft); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
}
@keyframes scPulse {
0%,4% { background: var(--paper-alt); color: var(--ink-soft); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
10%,22% { background: var(--accent-soft); color: var(--accent); box-shadow: 0 0 0 8px var(--accent-soft); }
92%,100% { background: var(--paper-alt); color: var(--ink-soft); box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
}
@keyframes scResult {
0%,24% { opacity: 0; transform: scale(0.6); }
32%,90% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 10px var(--accent-soft); }
96%,100% { opacity: 0; transform: scale(0.6); }
}
.infographic-scaling.is-playing .sc-dot-cluster span:nth-child(1) { animation: scDot 12s ease-in-out infinite; animation-delay: 0.1s; top: 10%; left: 20%; }
.infographic-scaling.is-playing .sc-dot-cluster span:nth-child(2) { animation: scDot 12s ease-in-out infinite; animation-delay: 0.3s; top: 60%; left: 70%; }
.infographic-scaling.is-playing .sc-dot-cluster span:nth-child(3) { animation: scDot 12s ease-in-out infinite; animation-delay: 0.5s; top: 70%; left: 25%; }
.infographic-scaling.is-playing .sc-dot-cluster span:nth-child(4) { animation: scDot 12s ease-in-out infinite; animation-delay: 0.2s; top: 20%; left: 65%; }
.infographic-scaling.is-playing .sc-dot-cluster span:nth-child(5) { animation: scDot 12s ease-in-out infinite; animation-delay: 0.4s; top: 40%; left: 45%; }
@keyframes scDot {
0%,4% { opacity: 0; transform: scale(0.5); }
10%,22% { opacity: 1; transform: scale(1); }
92%,100% { opacity: 0; transform: scale(0.5); }
}
/* --- Balance bars --- */
.infographic-scaling.is-playing .sc-bar-fill[data-bar="params"] { animation: scBarParams 12s ease-in-out infinite; }
.infographic-scaling.is-playing .sc-bar-fill[data-bar="data"] { animation: scBarData 12s ease-in-out infinite; }
.infographic-scaling.is-playing .sc-balance-check { animation: scCheck 12s ease-in-out infinite; }
@keyframes scBarParams { 0%,30%{height:0%;} 55%,90%{height:85%;} 96%,100%{height:0%;} }
@keyframes scBarData { 0%,30%{height:0%;} 55%,90%{height:85%;} 96%,100%{height:0%;} }
@keyframes scCheck { 0%,55%{opacity:0; transform:scale(0.6);} 62%,90%{opacity:1; transform:scale(1);} 96%,100%{opacity:0;} }
/* --- Captions --- */
.infographic-scaling.is-playing .sc-cap-1 { animation: scCap1 12s ease-in-out infinite; }
.infographic-scaling.is-playing .sc-cap-2 { animation: scCap2 12s ease-in-out infinite; }
@keyframes scCap1 { 0%,28%{opacity:1;} 34%,100%{opacity:0;} }
@keyframes scCap2 { 0%,34%{opacity:0;} 40%,90%{opacity:1;} 96%,100%{opacity:0;} }
@media (prefers-reduced-motion: reduce) {
.infographic-scaling * { animation: none !important; }
}
</style>
</head>
<body>
<div class="infographic-scaling" id="scalingRoot">
<div class="sc-controls">
<button class="sc-btn" id="scPlayBtn" aria-label="Play">
<svg id="scPlayIcon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="6 3 20 12 6 21 6 3"/></svg>
<svg id="scPauseIcon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:none"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg>
</button>
<button class="sc-btn" id="scRestartBtn" aria-label="Restart">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/><path d="M3 3v5h5"/><path d="M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"/><path d="M16 16h5v5"/></svg>
</button>
</div>
<div class="sc-equation">
<div class="sc-input">
<div class="sc-badge" data-in="model">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 18V5"/><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"/><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"/><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"/><path d="M18 18a4 4 0 0 0 2-7.464"/><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"/><path d="M6 18a4 4 0 0 1-2-7.464"/><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"/></svg>
</div>
<span class="sc-label">Bigger Model</span>
</div>
<span class="sc-op">+</span>
<div class="sc-input">
<div class="sc-badge" data-in="data">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 21 19V5"/><path d="M3 12A9 3 0 0 0 21 12"/></svg>
<div class="sc-dot-cluster">
<span></span><span></span><span></span><span></span><span></span>
</div>
</div>
<span class="sc-label">More Data</span>
</div>
<span class="sc-op">+</span>
<div class="sc-input">
<div class="sc-badge" data-in="compute">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20v2"/><path d="M12 2v2"/><path d="M17 20v2"/><path d="M17 2v2"/><path d="M2 12h2"/><path d="M2 17h2"/><path d="M2 7h2"/><path d="M20 12h2"/><path d="M20 17h2"/><path d="M20 7h2"/><path d="M7 20v2"/><path d="M7 2v2"/><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="8" y="8" width="8" height="8" rx="1"/></svg>
</div>
<span class="sc-label">More Compute</span>
</div>
<span class="sc-op">=</span>
<div class="sc-input">
<div class="sc-badge sc-result">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09"/><path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05"/></svg>
</div>
<span class="sc-label">Better Capability</span>
</div>
</div>
<div class="sc-balance">
<div class="sc-bar-col">
<div class="sc-bar-track"><div class="sc-bar-fill" data-bar="params"></div></div>
<span class="sc-bar-label">Parameters</span>
</div>
<div class="sc-balance-check">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>
</div>
<div class="sc-bar-col">
<div class="sc-bar-track"><div class="sc-bar-fill" data-bar="data"></div></div>
<span class="sc-bar-label">Data</span>
</div>
</div>
<div class="sc-caption">
<span class="sc-cap-1">Bigger model + more data + more compute.</span>
<span class="sc-cap-2">Scale them together β the Chinchilla Law.</span>
</div>
</div>
<script>
(function () {
var wrapper = document.getElementById('scalingRoot');
var bodyAttr = document.body.getAttribute('data-darkmode');
var dark;
if (bodyAttr === 'true') { dark = true; }
else if (bodyAttr === 'false') { dark = false; }
else {
var match = document.cookie.match(/(?:^|;\s*)darkMode=([^;]+)/);
dark = match ? match[1] === 'true' : false;
}
if (dark) wrapper.setAttribute('data-theme', 'dark');
var playBtn = document.getElementById('scPlayBtn');
var restartBtn = document.getElementById('scRestartBtn');
var playIcon = document.getElementById('scPlayIcon');
var pauseIcon = document.getElementById('scPauseIcon');
var playing = false;
function setPlaying(state) {
playing = state;
wrapper.classList.toggle('is-playing', playing);
playIcon.style.display = playing ? 'none' : '';
pauseIcon.style.display = playing ? '' : 'none';
}
playBtn.addEventListener('click', function () { setPlaying(!playing); });
restartBtn.addEventListener('click', function () {
wrapper.classList.remove('is-playing');
void wrapper.offsetWidth;
var animated = wrapper.querySelectorAll('.sc-badge, .sc-dot-cluster span, .sc-bar-fill, .sc-balance-check, .sc-caption span');
animated.forEach(function (el) {
el.style.animation = 'none';
void el.offsetWidth;
el.style.animation = '';
});
setPlaying(true);
});
})();
</script>
</body>
</html>π Strategy 2: Inference Time Scaling
Make the model think smarter when it's actually being used.
Rather than just building a bigger model, this approach improves performance at the moment of use. Two powerful techniques:
π§ Chain-of-Thought Reasoning β Instead of jumping straight to an answer, the model reasons through the problem step by step first. Simply adding "think step-by-step" to a prompt can meaningfully improve accuracy.
π§© Context Engineering β Feed the model exactly what it needs: relevant data, documents, policies, or tool outputs. A travel assistant given live prices and schedules will always outperform one working from memory alone. This is also the foundation of RAG (Retrieval-Augmented Generation) β where the model retrieves fresh information and injects it into context before responding.
π‘ Training scaling builds a bigger brain. Inference scaling teaches it to think better.
π§ Mixture of Experts (MoE)
As models grew to hundreds of billions of parameters, running the entire model for every single query became impractical. The solution? Don't.
Mixture of Experts (MoE) splits a large model into specialised sub-models β "experts" β and only activates the ones relevant to the task at hand:
Coding question β coding experts activate
Maths question β maths experts activate
Writing task β language experts activateThis makes massive models far more efficient β you get the capability of a trillion-parameter model without paying the full compute cost every time.
Models like DeepSeek (~671B parameters) use this approach, achieving enormous scale while remaining practically usable.
π₯ The Full Evolution

Traditional ML
β
Neural Networks
β
Deep Learning
β
Large Transformers
β
Training Scaling
β
Inference Scaling
β
Reasoning + Agents + Context Systems
AI is no longer just about building bigger models β it's about building smarter systems.