Well, according to what you have described: “model1 affects to the whole network more than model2”, then you probably want to decrease the weight of model 2 instead.
I have played around changing the weights of different loss terms. If the two have the same type of loss, for example both are MSE_loss, or both are CrossEntropyLoss, then it should work as you expect. But, I have seen this weighting schemes becomes ineffective if the two losses are different.
Another idea you can try is to apply these losses in different steps, for example, model1_loss is applied every iteration, but model2_loss is only applied every 2 iterations.