Thank you for your reply.
The example is just a simplification of what I really need. The forward pass of the EffectsModel would be more like:
    def forward(self,x):
        x = self.some_effects(x)
        x = self.base_model(x)
        return self.other_effect(x)

In there, the effects of each m1 to m would be different. Also, I need the learning parameters of each m1 to mn to be different.
I am still looking for an optimal way to do this.