How to upload and load multiple model from hub

There is a use case when we need multiple similar models for same task that we want to train and upload into same repo(at client level). We can manage different repos at client level. But for every client we need to train the multiple models. In our use case we need to train multiple models on subsets of our datasets, while serving we need to load all the model from same repo and inference will pass conditionally to the models.

Below is the few things that I’m thinking to achieve this:

  1. we can maintain different tags, but tags doesn’t make a lot of sense for multiple models for same task.
  2. we can write a custom logic to upload the model and related configs in separate folder and while downloading the model we have to do the same(loading all the models from a particular client repo)

I didn’t find a way to push/load the model into/from separate folder while using model.push_to_hub() and .from_pretrained() method.

Is there a better way of doing this?
I really appreciate any suggestions, Thanks!