I just checked:
for epoch in checkpoint:
   print(checkpoint[epoch]['loss'])

yields the entire history of loss values over all epochs that are saved. I assume it is the same for the model and the optim dictionaries. But as I said before I am then confused as to why the file size does not grow over time…