There is arithmetic and it is simple enough to do in your head once you know the terms.
Start with the weights. Memory for weights is roughly parameters × bytes per parameter. So for seven billion:
- 16-bit (half precision): 2 bytes each → about 14 GB
- 8-bit quantised: 1 byte → about 7 GB
- 4-bit quantised: half a byte → about 3.5 GB
That is where the whole range in your question comes from, and it is the single biggest factor.
Then add overhead for inference: the runtime itself, and the key-value cache that grows with how much context you are holding. Budget roughly 1–3 GB on top for a modest context, more if you want a long one — the cache can become the dominant term at very long contexts.
So a 4-bit 7B model fits comfortably on an 8 GB card; a 16-bit one needs 16 GB and is tight.