Thank you for answer!
Like we can see here vision/engine.py at 59ec1dfd550652a493cb99d5704dcddae832a204 · pytorch/vision · GitHub 1 all models in torchvision in train state return dictionary of losses (of course in state eval they return prediction).  I think it is common way because it incapsulate losses in model that very convenient.
But anyway, when we combine losses it has a lot of subtleties because we combine graphs with gradient not just values. Here more details python - How can i process multi loss in pytorch? - Stack Overflow
I guess that exist reason related to autograd or something else  why in all place losses combinated via python сomprehension  sum(loss for loss in loss_dict_reduced.values()) not just sum(loss_dict_reduced.values())
One man told me that it related with torchscript that it not supports sum of dictionary values by direct. But he not sure.