Breaking the Memory Wall for Heterogeneous Federated Learning via Model Splitting