hardware · Level 3
GPU memory maths for LLMs and SLMs
Work out whether a language model will fit and run, for inference, fine-tuning and training, before you buy or download anything.

Your next step
Start this course online
Register your start, then work through the lessons and exercises at your own pace. You can download the PDF separately. Where a scored exam is available, you will find it after the lessons.
Register or resume your course
Start with the essentials
The short answer
A language model fits when its weights, its key-value cache and an overhead allowance add up to less than your device's memory, with a safety margin. Weights are parameters times bytes per parameter. Training needs far more: gradients, optimiser state and activations, starting at 16 bytes per parameter for mixed-precision Adam-style training. Lower precision, adapters and shorter context can bring a model within reach.
What you will learn
- You will be able to work out the memory a model's weights need at any precision.
- You will be able to size the key-value cache from a model card, and know when the standard formula does not apply.
- You will be able to explain what the 16-bytes-per-parameter training figure includes and what it leaves out.
- You will understand how activation checkpointing and adapters trade time or flexibility for memory.
- You will be able to run a fit check with a safety margin and choose a fix when a model does not fit.
- You will be able to say honestly what one GPU can fine-tune or train, and what it cannot.
Who it is for
Anyone comfortable with basic arithmetic who wants to know, before buying hardware or downloading a model, whether a language model will fit and run. You need multiplication and division, and a terminal for the calculator.
Before you start
- Comfort with basic arithmetic (multiplying and dividing) and the ideas of a model's parameters and precision. The Which AI model workbook is helpful background, and Inference engines explained is the natural next step.
Learn in your browser · Chapter 01 of 06
Weights: parameters times bytes
Every fit check starts with the weights, the number you can compute exactly.
A model is a long list of numbers called parameters, each stored in a set number of bytes chosen by its precision. The rule never changes: weights in bytes = parameters x bytes per parameter. For a mixture-of-experts model (one split into many expert blocks, of which only a few run for each token), count every expert.
Here 1 GB is 1,000,000,000 bytes. Some tools report GiB (1,073,741,824 bytes, about 7.4% more), so check the unit. Card sizes here are examples only: read the vendor's specification page for yours.
Worked examples use hypothetical models invented for teaching. Model A has 7 billion parameters, 36 layers, 32 query heads, 4 key-value heads and head dimension 128.
Scroll sideways to see every column.
| Precision | Bytes per parameter | Model A weights |
|---|---|---|
| 32-bit float | 4 | 28.00 GB |
| 16-bit (fp16 or bf16) | 2 | 14.00 GB |
| 8-bit integer | 1 | 7.00 GB |
| 4-bit | 0.5 | 3.50 GB |
At 16-bit: 7 billion x 2 = 14 billion bytes = 14.00 GB. Real 4-bit files are a little larger than the simple sum, because each block of weights also stores a scale, so trust the file size on the download page.
Learn in your browser · Chapter 02 of 06
The key-value cache
While it generates, a model stores two vectors per layer for every earlier token. That store can rival the weights.
These are keys and values, so the store is the key-value cache (KV cache).
kv_per_token = 2 x layers x kv_heads x head_dim x bytes_per_value
kv_cache = kv_per_token x tokens_in_context x simultaneous_chatsThe 2 is for keys and values. Use key-value heads, not attention heads: grouped-query attention shares each key-value head across several query heads, and multi-query attention shares one across all. The paged-attention paper's example, 2 x 5,120 (hidden size) x 40 (layers) x 2 (bytes) per token, is this sum with full multi-head attention.
Worked example: Model A, 16-bit values, 16,384 tokens.
per token = 2 x 36 x 4 x 128 x 2 = 73,728 bytes
one chat = 73,728 x 16,384 = 1,207,959,552 bytes = 1.21 GBWith full multi-head attention (32 key-value heads), each token costs 2 x 36 x 32 x 128 x 2 = 589,824 bytes, and 589,824 x 16,384 = 9.66 GB: eight times the cache, from one line of a model card.
Try it yourself · Activity 01
8 minRead a cache off a model card
A hypothetical model has 24 layers, 8 key-value heads, head dimension 64 and 16-bit values. Size the cache for 2 chats of 8,192 tokens each.
- Work out the bytes per token, then the cache.
- Repeat with 24 key-value heads and note the ratio.
Which model-card line matters most here?
Worked answer
Per token: 2 x 24 x 8 x 64 x 2 = 49,152 bytes. Cache: 49,152 x 8,192 x 2 = 805,306,368 bytes = 0.81 GB. With 24 key-value heads: 147,456 bytes per token and 2.42 GB, three times as much (24 / 8 = 3).
Learn in your browser · Chapter 03 of 06
Activations, overhead and the allowance
Weights and cache are exact. The rest is not, so budget an allowance, then measure.
Activations are the temporary tensors each layer produces. In inference they need not be kept for a training step, so they are usually small, but a long prompt needs more scratch space than one generation step. Framework overhead adds the runtime's own memory and memory the allocator cannot reuse. The ZeRO paper reports out-of-memory failures with over 30% of memory still free, in some extreme cases, when training very large models.
None of this has a published constant, so this workbook assumes an allowance of the larger of 1 GB or 10% of everything else counted. It is our planning assumption, not a published rule: measure and replace it. It also assumes a separate safety margin, keeping 10% of capacity free for other programs and for errors in your inputs.
fit rule: weights + cache + allowance <= 0.9 x capacityWorked example: Model A, 16-bit weights, one 16,384-token chat, on a card with 16 GB (an example size). Allowance = max(1.00, 10% x (14.00 + 1.21)) = 1.52 GB. Need = 14.00 + 1.21 + 1.52 = 16.73 GB. Usable = 0.9 x 16.00 = 14.40 GB. It is short by 2.33 GB.
Scroll sideways to see every column.
| Same context (GB) | Weights | Cache | Allowance | Need | Fits in 14.40? |
|---|---|---|---|---|---|
| 16-bit weights | 14.00 | 1.21 | 1.52 | 16.73 | No |
| 8-bit weights | 7.00 | 1.21 | 1.00 | 9.21 | Yes |
| 4-bit weights | 3.50 | 1.21 | 1.00 | 5.71 | Yes |
Cutting the context to 4,096 tokens leaves the cache at 0.30 GB but the 16-bit total at 14.00 + 0.30 + 1.43 = 15.73 GB. The weights dominate: change the biggest term first.
Try it yourself · Activity 02
10 minFit Model A on a 12 GB card
Which precisions of Model A fit a 12 GB card (an example size) for one 8,192-token chat?
- Work out the cache, then the need at 16-bit, 8-bit and 4-bit.
- Compare each with 0.9 x 12 GB.
What would you spend any spare room on?
Worked answer
Cache: 73,728 x 8,192 = 0.60 GB. 16-bit: 14.00 + 0.60 + 1.46 = 16.06 GB. 8-bit: 7.00 + 0.60 + 1.00 = 8.60 GB (the 1 GB floor). 4-bit: 3.50 + 0.60 + 1.00 = 5.10 GB. Usable is 0.9 x 12 = 10.80 GB. So 16-bit fails, 8-bit leaves 2.20 GB spare and 4-bit 5.70 GB.
Learn in your browser · Chapter 04 of 06
Training memory: what learning adds
Inference only reads the weights. Training changes them, and the model states alone need eight times the size of a 16-bit model file.
In a training step, the forward pass keeps activations, the backward pass uses them to compute a gradient for every trainable parameter, and the optimiser updates the weights using the gradients and its own state. An Adam-style optimiser keeps a running average of the gradients (momentum) and of their squares (variance). Mixed precision runs both passes in 16-bit but keeps a 32-bit master copy of the weights.
Scroll sideways to see every column.
| Mixed-precision Adam-style state | Precision | Bytes per parameter |
|---|---|---|
| Working weights | 16-bit | 2 |
| Gradients | 16-bit | 2 |
| Master weights | 32-bit | 4 |
| Momentum | 32-bit | 4 |
| Variance | 32-bit | 4 |
| Total | 16 |
The ZeRO paper writes this as 2P + 2P + KP = 16P bytes, with P the parameter count and K = 12 for mixed-precision Adam. Its example: 1.5 billion x 16 = 24 billion bytes, which it calls at least 24 GB.
Activations are kept for the backward pass and scale with batch size, sequence length and depth. One published estimate for a plain 16-bit transformer layer is s x b x h x (34 + 5 x a x s / h) bytes, where s, b, h and a are sequence length, micro-batch, hidden size and attention heads. The ZeRO paper's rule is roughly 12 x h x b x s x layers values, or 24 x h x b x s x layers bytes at 16-bit. Here they differ mostly because the first counts attention scores, which some implementations avoid storing.
Worked example: hypothetical Model B has 1 billion parameters, 24 layers, hidden size 2,048, 16 attention heads. Train it at sequence length 1,024, micro-batch 2.
states = 1 billion x 16 = 16.00 GB
s x b x h = 1,024 x 2 x 2,048 = 4,194,304
per layer = 4,194,304 x (34 + 5 x 16 x 1,024 / 2,048)
= 4,194,304 x 74 = 310,378,496 bytes = 0.31 GB
24 layers = 7,449,083,904 bytes = 7.45 GBThe second rule gives 2.42 GB here: plan for a range, then measure.
Activation checkpointing keeps only some activations and recomputes the rest in the backward pass. The original paper's method needs memory growing with the square root of the layer count, for one extra forward pass. A backward pass costs about twice a forward pass, so that adds about a third more compute, matching the ZeRO paper's 33%. One simple scheme stores each layer's input, 2 x s x b x h bytes, plus one layer's full activations.
inputs = 2 x 4,194,304 x 24 = 0.20 GB
activations = 0.20 + one layer 0.31 = 0.51 GB (was 7.45 GB)With the allowance: 16.00 + 7.45 + 2.34 = 25.79 GB without checkpointing, and 16.00 + 0.51 + 1.65 = 18.16 GB with it. The states are untouched, so neither fits the 16 GB card.
Try it yourself · Activity 03
12 minBudget one training step
Hypothetical Model C has 500 million parameters, 20 layers, hidden size 1,536 and 12 attention heads. Train it with mixed-precision Adam, sequence length 1,024, micro-batch 8, on a 12 GB card (an example size). Does it fit, with and without checkpointing?
- Work out the states and the activations for all 20 layers.
- Repeat with checkpointing, add allowances, and compare with 0.9 x 12 GB.
Which change helped most, and what did it cost?
Worked answer
States: 500 million x 16 = 8.00 GB. Per layer: s x b x h = 1,024 x 8 x 1,536 = 12,582,912, times (34 + 5 x 12 x 1,024 / 1,536) = 74, gives 0.93 GB. Twenty layers: 18.62 GB. Checkpointed: 2 x 12,582,912 x 20 = 0.50 GB, plus 0.93 GB = 1.43 GB. Without: 8.00 + 18.62 + 2.66 = 29.28 GB. With: 8.00 + 1.43 + 1.00 = 10.43 GB. Usable is 10.80 GB, so only the checkpointed run fits, with 0.37 GB spare.
Learn in your browser · Chapter 05 of 06
Adapters: fine-tuning with far less state
Full fine-tuning pays 16 bytes for every parameter. Adapters train a tiny fraction and skip most of that bill.
LoRA freezes a pretrained matrix W and adds a small trainable correction, B x A, where B is d x r, A is r x k and the rank r is far smaller than d and k. Frozen weights need no gradients or optimiser state, which the paper credits for its saving. The adapters pay the full 16 bytes each, but there are only r x (d + k) per matrix.
Worked example: Model B, rank 16 adapters on the query and value matrices of every layer, both assumed square at 2,048 x 2,048. Use true shapes for real models.
per matrix = 16 x (2,048 + 2,048) = 65,536 parameters
matrices = 2 x 24 = 48
adapters = 48 x 65,536 = 3,145,728 parameters (0.31% of 1 billion)
adapter states = 3,145,728 x 16 = 0.05 GB
frozen base = 1 billion x 2 = 2.00 GBScroll sideways to see every column.
| Model B fine-tuning (GB) | Full, checkpointing | Adapters, no checkpointing | Adapters, checkpointing |
|---|---|---|---|
| Weights and states | 16.00 | 2.05 | 2.05 |
| Activations | 0.51 | 7.45 | 0.51 |
| Allowance | 1.65 | 1.00 | 1.00 |
| Need | 18.16 | 10.50 | 3.56 |
Adapters cut the states from 16.00 GB to 2.05 GB but not most of the activations, because gradients still flow back through the frozen layers, so the table keeps the full estimate as a cautious plan. Storing the frozen base at 4-bit too is the QLoRA paper's approach. The LoRA paper reports results on par with full fine-tuning on its tasks, and no added inference delay.
Try it yourself · Activity 04
8 minCount the adapters
For Model C, add rank-8 adapters to the query and value matrices of every layer (both square, 1,536 x 1,536) on a frozen 16-bit base, with checkpointing. Find the total.
- Count the adapter parameters and their states.
- Add the frozen base, activations and allowance.
Which term did the adapters not shrink?
Worked answer
Per matrix: 8 x (1,536 + 1,536) = 24,576. Matrices: 2 x 20 = 40. Adapters: 40 x 24,576 = 983,040 parameters (0.20% of 500 million). States: 983,040 x 16 = 0.02 GB. Base: 500 million x 2 = 1.00 GB. Activations: 1.43 GB. Allowance: 1.00 (the floor). Total: 1.00 + 0.02 + 1.43 + 1.00 = 3.45 GB, against 10.43 GB for full training with checkpointing.
Learn in your browser · Chapter 06 of 06
The fit check, the fixes and the honest limits
Turn the method into a repeatable procedure, then be straight about what one GPU can do.
- Note the device's free memory and unit, and the model card's parameters, layers, key-value heads, head dimension and context.
- Choose a precision: weights, then cache (for training, states and activations), then the allowance. Compare with 0.9 x capacity, or with the free memory if that is lower.
- Load it, read the peak memory your framework reports, and replace the allowance with that.
Save the calculator below as memcalc.py, edit the numbers at the bottom, and run python memcalc.py. It should print the two lines that follow it.
# memcalc.py: rough GPU fit check
GB = 1e9 # decimal GB
def weights(params, bits):
return params * bits / 8
def kv_cache(layers, kv_heads, head_dim, tokens, chats=1, bits=16):
return 2 * layers * kv_heads * head_dim * tokens * chats * bits / 8
def activations(s, b, h, a, layers, checkpoint=False):
layer = s * b * h * (34 + 5 * a * s / h) # plain attention, 16-bit
return (2 * s * b * h * layers + layer) if checkpoint else layer * layers
def need(parts):
base = sum(parts)
return base + max(1 * GB, 0.10 * base) # base plus the allowance
if __name__ == "__main__":
w = weights(7e9, 16)
kv = kv_cache(36, 4, 128, 16384)
usable = 0.9 * 16 * GB
print(f"weights {w/GB:.2f} kv {kv/GB:.2f} need {need([w, kv])/GB:.2f} usable {usable/GB:.2f}")
act = activations(1024, 2, 2048, 16, 24, checkpoint=True)
print(f"states {1e9 * 16 / GB:.2f} activations {act/GB:.2f}")weights 14.00 kv 1.21 need 16.73 usable 14.40
states 16.00 activations 0.51Scroll sideways to see every column.
| When it does not fit | What it changes | What you pay |
|---|---|---|
| Lower precision | Weights | Some quality. |
| Shorter context, fewer chats | Cache | Less text, less concurrency. |
| Smaller model | Everything | Capability. |
| Offload to system memory | Data off the device | Speed. |
| More devices | Splits weights, states | Communication, engineering. |
| Smaller batch, checkpointing, adapters | Training memory | Time or flexibility. |
The honest scope: a laptop or one GPU can run models that fit its memory, fine-tune small ones (especially with adapters) and train toy ones from scratch. It cannot pretrain a production frontier-scale model, and memory is only one reason. 7 billion parameters need 112.00 GB of states before activations, and splitting them across devices divides that by about the device count, at a cost in communication.
Compute time. The scaling-laws paper estimates about 6 operations per parameter per training token. The compute-optimal paper found that parameters and tokens should grow together: its model used 1.4 trillion tokens for 70 billion parameters, 20 per parameter, a rough guide. The table assumes a made-up sustained 100 trillion operations per second. Replace it with a rate you have measured.
Scroll sideways to see every column.
| Hypothetical model | States (16 bytes each) | Tokens (20 per parameter) | Time at the assumed rate |
|---|---|---|---|
| 10 million | 0.16 GB | 200 million | 2 minutes |
| 7 billion | 112.00 GB | 140 billion | 680.6 days |
| 70 billion | 1,120.00 GB | 1.4 trillion | 186.5 years |
For 7 billion (7e9 is shorthand for 7 followed by nine zeros): tokens = 20 x 7e9 = 1.4e11. Operations = 6 x 7e9 x 1.4e11 = 5.88e21. Seconds = 5.88e21 / 1e14 = 5.88e7, and 5.88e7 / 86,400 = 680.56 days.
Even at ten times that rate, the 7-billion run takes 68.1 days and the 70-billion run 18.6 years. Then come data to collect, clean and license, and engineering: keeping many devices running for weeks and surviving failures.
Try it yourself · Activity 05
15 minRun the fit check on your own hardware
Run the procedure on a real model and a device you own or are considering.
- Take the device's memory and the model card's numbers. Edit the calculator and change one variable at a time until the model fits.
- If you can load it, compare the peak memory with your estimate.
How far off was your estimate, and what allowance will you use next time?
Worked answer
Model answer: a hypothetical 13-billion-parameter model (40 layers, 8 key-value heads, head dimension 128), 4,096 tokens, one chat, 16 GB card, usable 14.40 GB. Cache: 2 x 40 x 8 x 128 x 2 x 4,096 = 0.67 GB. 16-bit: 26.00 + 0.67 + 2.67 = 29.34 GB, no. 8-bit: 13.00 + 0.67 + 1.37 = 15.04 GB, short by 0.64. 4-bit: 6.50 + 0.67 + 1.00 = 8.17 GB, fits with 6.23 spare.
Keep learning
The complete workbook
This workbook teaches one repeatable method for answering the question 'will it fit?'. You will work out weights at any precision, size the key-value cache from a model card, budget the extra memory that training and fine-tuning need, and run a small calculator with a safety margin. It ends with an honest account of what one GPU can and cannot train.
- 01Weights: parameters times bytesRead here · Reading
Every fit check starts with the weights, the number you can compute exactly.
- 02The key-value cacheRead here · 1 exercise
While it generates, a model stores two vectors per layer for every earlier token. That store can rival the weights.
- 03Activations, overhead and the allowanceRead here · 1 exercise
Weights and cache are exact. The rest is not, so budget an allowance, then measure.
- 04Training memory: what learning addsRead here · 1 exercise
Inference only reads the weights. Training changes them, and the model states alone need eight times the size of a 16-bit model file.
- 05Adapters: fine-tuning with far less stateRead here · 1 exercise
Full fine-tuning pays 16 bytes for every parameter. Adapters train a tiny fraction and skip most of that bill.
- 06The fit check, the fixes and the honest limitsRead here · 1 exercise
Turn the method into a repeatable procedure, then be straight about what one GPU can do.
Also inside: a 9-point checklist, a glossary of 12 terms and 10 questions and answers to test yourself. 5 hands-on exercises, each with a worked answer at the back where the workbook gives one.
The PDF is free. We ask for your name and email before downloading. Read the privacy notice at the download form. Free to download and use for personal learning, study groups and inside your own team. Please do not resell the workbooks or republish them as your own. Link people to trust-agent.ai instead.
Get your free PDF workbook
Enter your name and email, then download the complete workbook. This form also works without JavaScript.
Test yourself
Questions and answers
How do I work out how much memory a model's weights need?
Multiply the parameter count by the bytes per parameter: 2 for 16-bit, 1 for 8-bit, 0.5 for 4-bit, plus the small extra real 4-bit formats add for scaling values. A 7-billion-parameter model is 14 GB at 16-bit, 7 GB at 8-bit and about 3.5 GB at 4-bit. Check whether your tool reports GB or GiB.
What is the KV cache and what sets its size?
It stores the keys and values of every token already in the conversation, so the model need not recompute them. Per token it is 2 x layers x key-value heads x head dimension x bytes per value, multiplied by the tokens held and the number of simultaneous chats. Read the key-value head count from the model card, not the attention head count.
Does the KV cache formula always apply?
No. It assumes every layer keeps every past token in full. Sliding-window attention looks only at a recent window, so older tokens may not need keeping, and compressed designs such as latent attention store a smaller vector per token, so the formula can overstate them. Some models mix layer types. Use the publisher's stated cache size where given, and measure your own setup.
What does 16 bytes per parameter for training mean?
It is the ZeRO paper's count of model states for mixed-precision training with an Adam-style optimiser: 2 bytes for 16-bit weights, 2 for 16-bit gradients, and 12 for the 32-bit master weights, momentum and variance. It counts the parameter-related tensors only.
Does 16 bytes per parameter include activations?
No. The paper counts activations, temporary buffers and fragmented memory separately, as residual states. Treat 16 bytes per parameter as a floor. Activations grow with batch size, sequence length and depth, so estimate them, or measure a small run, and add them.
What is activation checkpointing?
It keeps only some activations during the forward pass and recomputes the rest when the backward pass needs them. The original paper's method needs memory that grows with the square root of the layer count, for one extra forward pass, roughly a third more compute per step. It does not shrink weights, gradients or optimiser state.
Why does LoRA need less memory than full fine-tuning?
The pretrained weights are frozen, so they need no gradients and no optimiser state. Only the small adapter matrices are trained, and only they pay the full per-parameter training cost. Most activations are still needed, so checkpointing and smaller batches still matter.
How much safety margin should I leave?
There is no published constant. This workbook plans to use at most 90% of the device's memory, leaving 10% for other programs and errors, plus an allowance of the larger of 1 GB or 10% of everything else counted. Both are planning assumptions. Measure your real peak memory and adjust.
What should I do when a model does not fit?
Change the biggest term first. Lower the precision, choose a smaller model, shorten the context or serve fewer chats, offload some data to system memory at a cost in speed, or split the model across more devices. For training, use a smaller batch, activation checkpointing or adapters.
Can one GPU pretrain a frontier-scale model?
No. Memory is only one constraint. Model states alone need 16 bytes per parameter, compute time runs to years on one device at that scale by this workbook's estimates, and the data and engineering needs are large too. A single GPU can run models that fit its memory, fine-tune small ones with adapters and train toy models.
Write as you go
My notes
Use this scratchpad for your own notes, working or answers as you read. Notes are saved in this browser on this device. Downloading makes a local copy; it does not send your notes to Mickai.
Consolidate your learning
Review your work
Work through the exercises and questions, then compare your reasoning with the worked answers. A scored exam and verifiable certificate are not yet available for this course.
Review the questionsLearn the language
Key terms
- Parameter
- One learned number inside a model. The parameter count times the bytes per parameter gives the size of the weights.
- Precision
- How many bits store each number, for example 32, 16, 8 or 4. Fewer bits mean less memory and usually some loss of quality.
- KV cache
- Stored keys and values for every token already in the conversation, so attention does not recompute them. It grows with context and with simultaneous chats.
- Key-value heads
- The number of separate key and value sets in each layer. Grouped-query and multi-query attention use fewer than the number of query heads, which shrinks the cache.
- Activations
- The temporary tensors each layer produces. In training they are kept for the backward pass and can dominate memory.
- Gradient
- The calculated slope showing how each trainable parameter should change to reduce the error. Training stores one per trainable parameter.
6 of the workbook's 12 terms. The complete glossary is in the workbook.
Follow the evidence
Sources and checks
Facts last checked: .
Examples in this workbook were run on: Python 3.12.10 on Windows 11 (2026-09-25).
These workbooks use AI assistance. See how the workbooks are made.
- ZeRO: Memory Optimizations Toward Training Trillion Parameter ModelsarXiv, 1910.02054
- LoRA: Low-Rank Adaptation of Large Language ModelsarXiv, 2106.09685
- QLoRA: Efficient Finetuning of Quantized LLMsarXiv, 2305.14314
- Training Deep Nets with Sublinear Memory CostarXiv, 1604.06174
- Mixed Precision TrainingarXiv, 1710.03740
- Reducing Activation Recomputation in Large Transformer ModelsarXiv, 2205.05198
- FlashAttention: Fast and Memory-Efficient Exact Attention with IO-AwarenessarXiv, 2205.14135
- Efficient Memory Management for Large Language Model Serving with PagedAttentionarXiv, 2309.06180
- GQA: Training Generalized Multi-Query Transformer Models from Multi-Head CheckpointsarXiv, 2305.13245
- Fast Transformer Decoding: One Write-Head is All You NeedarXiv, 1911.02150
- Longformer: The Long-Document TransformerarXiv, 2004.05150
- DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language ModelarXiv, 2405.04434
- Scaling Laws for Neural Language ModelsarXiv, 2001.08361
- Training Compute-Optimal Large Language ModelsarXiv, 2203.15556
Created by Mickarle Wagstaff-Irons - Micky Irons with the Mickai team. Published by Mickai LTD. Last updated 25 September 2026.
NextKeep going
Where to go next
Recommended for you
Inference engines explained
How inference engines run a model: memory maths, quantisation, prefill and decode, batching, hardware, and serving a model safely over a local API.
Recommended for you
Host a chatbot on your website, safely
Put a chatbot on your site without leaking keys or running up bills: server function, limits, CORS, privacy, accessibility, fallbacks, monitoring and a launch checklist.
Recommended for you
How to evaluate a new frontier model the day it lands
A ten-step method for judging a new model: primary sources, licence, architecture, hardware, benchmarks, your own tests, safety, jurisdiction and a decision record.