Techniques described herein relate to training artificial intelligence and machine learning models on non-iid or heterogeneous data, for adapting previously-trained models to new data sources, and for using these models to make inferences. In various embodiments, data may be obtained from one or more data sources that are available in a given domain. The data may be in a domain-specific form that is specific to the given domain. The data may be processed using one or more trained machine learning models. The one or more trained machine learning models may include: a domain-specific set of weights that is tailored to the given domain, and a global set of weights that is shared across a plurality of domains of a federated learning system. An outcome of the process may be provided at one or more output components.
TRAINING AND APPLYING MODELS WITH HETEROGENOUS DATA