Exact VRAM memory allocation, dynamic KV-cache requirements, and tensor parallelism slicing for Llama-3.3 70B High-Efficiency quantized in FP16 Uncompressed Native deployed on NVIDIA H100 80GB SXM5.
Neither. It has the same 70.6B-parameter architecture with 128K context; the improvements came from post-training.
A 4-bit build at one request and 8K context totals 38.8 GB in the calculator, so one 48 GB card or two 24 GB cards work for single-user use.
A single stream is limited by memory bandwidth: about 3.35 TB/s divided by 70 GB of FP8 weights is a ceiling near 48 tokens per second, before overheads.
Meta published Llama 3.3 70B Instruct in December 2024. It is a text-only, instruction-tuned model, and Meta released no separate base checkpoint for it. Its improvements came from post-training, not from a new architecture: the configuration matches Llama 3.1 70B, with about 70.6B parameters, 80 layers, 64 query heads, 8 key-value heads and a 128K-token context. It officially supports eight languages (English, German, French, Italian, Portuguese, Hindi, Spanish and Thai) and ships under the Llama 3.3 Community License.
For capacity planning that is good news: anything you measured or sized for Llama 3.1 70B carries over unchanged. Swapping 3.1 Instruct for 3.3 is a model-file change, not a hardware change. This page therefore focuses on the questions people deploying 3.3 most often ask: how small a machine can run it, and what the quantized files really weigh.
Memory = weights + attention cache + a fixed allowance. Weights are 70 billion × bytes per parameter. The cache allowance is a flat 0.5 MB per cached token at 16-bit (0.25 MB at lower precisions) multiplied by context length and the number of simultaneous requests. The fixed allowance is 1.8 GB. The calculator then divides by 92% of the GPU size you enter to get a card count.
With 16-bit weights, an 8,192-token window, 2 concurrent requests and 80 GB cards, the result is 140.0 GB of weights, 8.0 GB of cache and 1.8 GB of overhead, 149.8 GB in total, or 3 × 80 GB GPUs (149.8 ÷ 73.6 = 2.04, rounded up). In deployment you would round to four GPUs, because tensor parallelism needs the 64 attention heads to divide evenly.
Most people running 3.3 do not use 16-bit weights, so here are the same inputs at other precisions:
| Precision | Weights (calculator) | Total (8K × 2) | Real-world file size to expect |
|---|---|---|---|
| BF16 | 140.0 GB | 149.8 GB | about 141 GB (70.6B × 2 bytes) |
| FP8 | 70.0 GB | 75.8 GB | about 71 GB |
| GGUF Q4_K_M | 39.4 GB | 45.2 GB | about 42–43 GB |
| AWQ/GPTQ 4-bit | 35.0 GB | 40.8 GB | about 37–40 GB including scales and unquantized embeddings |
The right-hand column differs because llama.cpp's Q4_K_M keeps some tensors at higher precision and averages close to 4.8 bits per weight, and because 4-bit GPU formats store group scales and often leave the embedding and output layers in 16-bit. When the margin is tight, check the actual file size on the model page instead of trusting 4.5 or 4 bits.
Each generated token reads every weight once. An H100 SXM5 moves 3.35 TB/s, so 70 GB of FP8 weights sets a single-stream ceiling near 48 tokens per second on one card, before any overhead. Two concurrent requests share those reads, so total throughput can be higher. The calculator's "tokens/second" line is a rough heuristic and can exceed this physical ceiling for one stream; do not quote it as a measured speed.