Currently, pipeline parallel partitioning requires manual configuration of pipeline_parallel_first_stage_less_layers and pipeline_parallel_last_stage_less_layers to address the computation imbalance introduced by embedding layers. This manual setup can be challenging for non-expert users, as these hyperparameters are not intuitive and often require specific adjustments for different model configurations.
To improve usability, we have developed a prototype for an automatic partitioning method that considers the computation cost of embedding layers. This implementation aims to dynamically balance the pipeline stages without needing manual intervention for the aforementioned parameters. We wonder whether a PR of integrating it to torchtitan as an experimental feature is welcomed.