{"id":13789268,"url":"https://github.com/ModelTC/EasyLLM","last_synced_at":"2025-05-12T05:32:09.816Z","repository":{"id":209276729,"uuid":"723640276","full_name":"ModelTC/EasyLLM","owner":"ModelTC","description":"Built upon Megatron-Deepspeed and HuggingFace Trainer, EasyLLM has reorganized the code logic with a focus on usability. While enhancing usability, it also ensures training efficiency.","archived":false,"fork":false,"pushed_at":"2024-09-18T08:42:34.000Z","size":1452,"stargazers_count":46,"open_issues_count":0,"forks_count":7,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-04T21:39:39.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ModelTC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-26T10:12:52.000Z","updated_at":"2025-03-05T08:53:01.000Z","dependencies_parsed_at":"2023-11-26T11:25:47.096Z","dependency_job_id":"dc1a10c0-59e0-4749-b320-9cca2c98dd0f","html_url":"https://github.com/ModelTC/EasyLLM","commit_stats":null,"previous_names":["modeltc/easyllm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelTC%2FEasyLLM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelTC%2FEasyLLM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelTC%2FEasyLLM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ModelTC%2FEasyLLM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ModelTC","download_url":"https://codeload.github.com/ModelTC/EasyLLM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253682526,"owners_count":21946955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T21:01:00.899Z","updated_at":"2025-05-12T05:32:07.755Z","avatar_url":"https://github.com/ModelTC.png","language":"Python","funding_links":[],"categories":["Tools"],"sub_categories":["Other"],"readme":"# EasyLLM\n\nBuilt upon Megatron-Deepspeed and HuggingFace Trainer, EasyLLM has reorganized the code logic with a focus on usability. While enhancing usability, it also ensures training efficiency.\n\n## Install\n\n  - Install python requirements\n\n    ```shell\n    pip install -r requirements.txt\n    ```\n    other dependency\n    * flash-attn (dropout_layer_norm) (maybe you need to compile it by yourself)\n\n  - Pull deepspeed \u0026 add them to pythonpath\n\n    ```shell\n    export PYTHONPATH=/path/to/DeepSpeed:$PYTHONPATH\n    ```\n\n  - Install package in development mode\n\n    ```shell\n    pip install -e . -v\n    ```\n\n\n## Train\n\n[Train Example](./docs/train.md)\n\n## Infer and Eval\n\n[Infer Example](./docs/infer.md)\n\n## Support Models\n* qwen14b,\n* internlm7-20b,\n* baichuan1/2 (7b-13b)\n* llama1-2 (7b/13b/70b)\n\n[Model Example](./docs/model.md)\n\n## Data\n\n[Data Example](./docs/data.md)\n\n## 3D Parallel config setting\n\n[Parallel Example](docs/parallel.md)\n\n## Speed Benchmark\n\n[Speed Benchmark](docs/benchmark.md)\n\n## Dynamic Checkpoint\n\nTo optimize the model training performance in terms of time and space, EasyLLM supports Dynamic Checkpoint. Based on the input token size, it enables checkpointing for some layers. The configuration file settings are as follows:\n\n[Dynamic Checkpoint Example](docs/dc.md)\n\n## License\n\nThis repository is released under the [Apache-2.0](LICENSE) license.\n\n## Acknowledgement\n\nWe learned a lot from the following projects when developing EasyLLM.\n- [DeepSpeed](https://github.com/microsoft/DeepSpeed.git)\n- [Megatron-DeepSpeed](https://github.com/microsoft/Megatron-DeepSpeed.git)\n- [Megatron-LM](https://github.com/NVIDIA/Megatron-LM.git)\n- [Flash Attention 1\u00262](https://github.com/Dao-AILab/flash-attention)\n- [LightLLM](https://github.com/ModelTC/lightllm)\n- [Huggingface Transformers](https://github.com/huggingface/transformers.git)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FModelTC%2FEasyLLM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FModelTC%2FEasyLLM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FModelTC%2FEasyLLM/lists"}