But ChatGPT doesn’t do that, either. If the input is the same—context, random seed and all—so will the output be. In that sense, you can use ChatGPT to determinstically reproduce data.
I think part of the confusion here is that naively, compression just reproduces data, and generates nothing new. But that’s just a choice that’s convenient for the purposes we usually want compression to fulfill. It’s perfectly simple to use compression systems to generate novelty; after all, each compression algorithm has to infer certain data from an incomplete representation. There’s nothing inherent to compression that prohibits this from extrapolating novel data—it’s just that that’s typically not what we want.
If I fit a data series, I can use the resulting function to approximately recreate every data point—as such, it will compress the data. But I can also interpolate data I never measured, or even extrapolate beyond the original data. This will yield data that wasn’t in the original ‘training set’; but that doesn’t mean that the fit function isn’t a compressed version of the original data.