Input: <previous words of article>
Label: <next word>
Your point is well taken that the number of input data points is also important when considering the complexity of the problem. In this case however the number of data points more or less exactly equals the number of labels.
(About Me: the first year+ of my PhD was focused on large scale language modelling, during which transformers came out.)
GPT is trained to predict the input (estimating p(x)), versus predicting a label given an input (p(y|x)). So in the case of GPT you can use the input dimensionality as a "label", as another responder has mentioned. ImageNet classification is different (excepting recent semi-supervised or unsupervised approaches to image recognition).
The ability to generalize in the typical imagenet setting is, as the article says, a byproduct of SGD with early stopping, which in practice limits the number of functions a deep neural network can express (something not considered in an analysis which only considers parameter count).
Input dimensionality is absolutely important when determining net size.
Maybe I understood that question wrong, but regardless, even if early stopping wasn't implemented, a NN would have more predictive power than the hash mapping. Both would be completely overfit on the training data set, yet the NN would most likely be able to make some okay guesses with OOD data.
Which all adds to the number of constraints / equations.
What you should look at is the number of outputs times the number of data points for each output. If this number is lower than the number of parameters then it should be possible to find multiple solutions.
Of course in this case you're not looking for a solution, but an optimum, and not even a global one, so it's not too troubling per se that you don't get a unique answer. Though it does somewhat suggest you should be able to get an equivalent fit with far fewer parameters, but finding it could be quite tricky.
This is one of the key misunderstandings are still deeply rooted in people's minds. For modern DL, a large part of the learning comes from "internal" data points, in this case the pixels of the image, as opposed to the labels. If you count the number of pixels, you will likely get something like 1.2 trillion, more than enough to justify the 4.8e8 parameters. It's the usage of internal data that prevents overfitting, NOT the random initialization and SGD as claimed in the article.
Another way to see this is: if you need more labels than parameters, how can GPT3 have ANY parameters at all? It is trained purely on raw text data.