[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-intelligent-machine-learning--dlrover":3,"tool-intelligent-machine-learning--dlrover":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":76,"owner_url":77,"languages":78,"stars":118,"forks":119,"last_commit_at":120,"license":121,"difficulty_score":122,"env_os":123,"env_gpu":124,"env_ram":125,"env_deps":126,"category_tags":135,"github_topics":136,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":141,"updated_at":142,"faqs":143,"releases":173},5102,"intelligent-machine-learning\u002Fdlrover","dlrover","DLRover: An Automatic Distributed Deep Learning System","DLRover 是一个专为大规模人工智能模型设计的自动分布式深度学习系统。它旨在让大模型的分布式训练变得简单、稳定、高效且绿色，帮助开发者从繁琐的工程细节中解脱出来，专注于模型架构本身。\n\n在传统的大模型训练中，硬件加速配置、分布式运行管理以及节点故障处理往往耗费大量精力。DLRover 完美解决了这些痛点，支持在 Kubernetes 和 Ray 集群上实现全自动化的运维管理。即使训练过程中出现硬件故障，系统也能确保持续运行而不中断。\n\n这款工具特别适合从事大语言模型、搜索推荐及广告算法研发的 AI 工程师和研究人员。无论是使用 PyTorch 还是 TensorFlow，用户都能通过 DLRover 及其扩展库（如 ATorch 和 TFPlus）获得显著的训练加速体验。\n\nDLRover 拥有多项独特的技术亮点：它具备弹性伸缩能力，可根据负载动态调整资源以提升利用率；集成了 XPU Timer 进行实时诊断；更引入了“闪速检查点”技术，能将内存中的状态秒级持久化，使大规模模型训练在发生故障时仅需数秒即可恢复，极大提升了研发效率。","\n\u003Cdiv id=\"top\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_ff9dcc7e7fe7.png\" alt=\"Editor\" width=\"350\">\n  \n\u003Ch1>DLRover: An Automatic Distributed Deep Learning System\u003C\u002Fh1>\n\n[![Build](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Feasydl\u002Factions\u002Fworkflows\u002Fmain.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Feasydl\u002Factions\u002Fworkflows\u002Fmain.yml)\n[![OpenSSF Best Practices](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_50ccde67b228.png)](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F9827)\n[![Code Coverage](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fintelligent-machine-learning\u002Fdlrover\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fintelligent-machine-learning\u002Fdlrover)\n[![GitHub contributors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Fintelligent-machine-learning\u002Fdlrover?style=flat)](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fgraphs\u002Fcontributors)\n[![PyPI Status Badge](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fdlrover.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fdlrover\u002F)\n\u003C\u002Fdiv>\n\nDLRover makes the distributed training of large AI models easy, stable, fast and green.\nIt can automatically train the Deep Learning model on the distributed cluster.\nIt helps model developers to focus on model architecture, without taking care of\nany engineering stuff, say, hardware acceleration, distributed running, etc.\nNow, it provides automated operation and maintenance for deep learning\ntraining jobs on K8s\u002FRay. Major features as\n\n- **Full-Scene**: Support deep learning full-scene distributed training computation implementation.\n- **Fault-Tolerance**: The distributed training can continue running in the event of failures.\n- **Auto-Scaling**: The distributed training can scale up\u002Fdown resources to improve the stability, throughput\nand resource utilization.\n- **Others**:\n  - **XPU Timer Integration**: With runtime xpu-timer integration, can possess stronger runtime diagnostics and fault tolerance capabilities.\n  - **Flash Checkpoint**: The distributed training can recover failures from the in-memory checkpoint in seconds.\n\nFurthermore, DLRover offers extension libraries for PyTorch and TensorFlow to expedite training. These are also open-source projects available in our [GitHub repositories](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning).\n- [ATorch](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch): an extension library of PyTorch to Speed Up Training of Large LLM.\n- [TFPlus](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Ftfplus)(K8S platform only): an extension library of TensorFlow to Speed Up Training of Search, Recommendation and Advertisement.\n\n## Latest News\n\n- [2025\u002F12] [DLRover on Ray's new architecture achieves its first official release.](docs\u002Fblogs\u002Fdlrover_on_ray.md)\n- [2025\u002F08] [Practice: Gang Scheduling with DLRover.](docs\u002Ftutorial\u002Fgang_scheduling.md)\n- [2025\u002F03] [Paper: How XPU-Timer working](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2502.05413)\n- [2025\u002F01] [EDiT: A Local-SGD-Based Efficient Distributed Training Method for Large Language Models, ICLR'25.](https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.07210)\n- [2024\u002F06] [DLRover-RM has been accepted by VLDB'24.](docs\u002Fblogs\u002Fdlrover_rm.md)\n- [2024\u002F04] [Flash Checkpoint Supports HuggingFace transformers.Trainer to Asynchronously persist checkpoints.](docs\u002Fblogs\u002Fflash_checkpoint.md#huggingface-transformerstrainer)\n- [2024\u002F02] [Flash Checkpoint Saves the Megatron-LM Checkpoint in Seconds.](docs\u002Fblogs\u002Fmegatron_flash_checkpoint.md)\n- [2024\u002F01] [Flash Checkpoint to Recover Large Model Training From Failure in Seconds.](docs\u002Fblogs\u002Fflash_checkpoint.md)\n- [2023\u002F11] [ATorch supporting efficient and easy-to-use model training is released.](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch)\n- [2023\u002F10] [AGD: an Auto-switchable Optimizer using Stepwise Gradient Difference as Preconditioning Matrix, NeurIPS'24.](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch\u002Fblob\u002Fmain\u002Fdocs\u002FREADME-AGD.md)\n- [2023\u002F09] [Weighted Sharpness-Aware Minimization (WSAM) has been accepted by KDD'23.](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch\u002Fblob\u002Fmain\u002Fdocs\u002FREADME-WSAM.md)\n- [2023\u002F08] [DLRover improves the stability of pre-trained model training over thousands of GPUs.](docs\u002Fblogs\u002Fstabilize_llm_training_cn.md)\n- [2023\u002F04] [DLRover auto-scales nodes of a DeepRec distributed training job.](docs\u002Fblogs\u002Fdeeprec_autoscale_cn.md)\n\n## Why DLRover?\n\n### Fault Tolerance to Reduce the Downtime of a Large Scale Training Job\n\nDLRover can restore the training when the process fails without stopping the\ntraining job. The actions to restore training in DLRover are:\n\n1. Automatically diagnose the failure reason.\n2. Restart the process not the node due to software errors.\n3. Restart the failed nodes due to hardward errors.\n\nFor detail, we can see the [blog of fault-tolerance and elasticity](docs\u002Fblogs\u002Fstabilize_llm_training_cn.md).\n**With fault tolerance, the goodput of GLM-65B training\non thousands of GPUs increased from 69% to 95%**. The goodput is the time spent computing\nuseful new steps over the elapsed time of the training job.\nThe downtime details are shown:\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_c88c452435d9.jpg\" alt=\"Editor\" width=\"600\">\n\u003C\u002Fdiv>\n\n#### Fault Tolerance and Flash Checkpoint to Reduce Downtime of PyTorch Training\n\nIn addition to fault tolerance, DLRover provides the [flash checkpoint](docs\u002Fblogs\u002Fflash_checkpoint.md) to\nsave\u002Fload checkpoint in seconds. With flash checkpoint, the training can\nfrequently save checkpoints and reduce the roll-back step to resume training\nfrom the latest checkpoint when a failure happens. The features of flash checkpoint are:\n\n1. Asynchronously persist the checkpoint to the storage.\n2. Persist the checkpoint to the storage once the training process fails.\n3. Load the checkpoint from the host memory after the training process restarts.\n4. APIs for DDP, FSDP, DeepSpeed and Megatron-LM([cb995d5](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM\u002Ftree\u002Fcb995d571faea19d01a1bf55ed0fd89523b9ce64)).\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_9c2a8fd40d66.png\" alt=\"Editor\" width=\"396\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_5a71b4a20a82.jpg\" alt=\"Editor\" width=\"400\">\n\n\u003Ctext> The Performance of DLRover Flash Checkpoint to Save\u002FLoad GPT2-1.5B.\u003C\u002Ftext>\n\u003C\u002Fdiv>\n\nThe figure illustrates that the I\u002FO time of different DL frameworks to read checkpoint files\nwhen resuming training processes. With DLRover Flash Checkpoint,\nrecovery could be completed in the order of seconds by loading checkpoints directly from shared memory,\nwhich is much faster compared to loading checkpoints from SSD and NAS.\n\n#### Fault Tolerance Improves the Stability of TensorFlow PS Training\n\nDLRover can recover failed parameter servers and workers to resume training.\n\n1. DLRover can automatically launch a Pod with more memory to recover the OOM node.\n2. DLRover can reassign the training data of a failed worker to other workers.\n3. DLRover can automatically scale up the parameter servers to fit the model size.\n\nIn AntGroup, DLRover manages hundreds of DL training jobs every day on the customized Kubernetes cluster in AntGroup.\nExcept for the failed job resulting from code errors, **the rate of completed jobs increase from 89%\nwith tf-operator in KubeFlow to 95%**. Other unrecoverable failure reasons of a job are data error,\nNaN loss of the model, network breakdown, and so on.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_f377a572d61d.png\" alt=\"Editor\" width=\"600\">\n\u003C\u002Fdiv>\n\n### Auto-Scaling to Improve Training Performance and Resource Utilization\n\nDLRover automatically scales up\u002Fdown resources (for parameter servers or workers) at the runtime of a training job.\nBy monitoring the workload of nodes and throughput, DLRover can diagnose the bottleneck of the resource configuration.\nThe common bottleneck contains node straggler, the unbalanced workload of PS, insufficient CPU cores of nodes,\nand the insufficient number of nodes. DLRover can improve the training performance by dynamic resource adjustment.\n\nIn order to improve the training througphput, users prefer to\nconfigure their jobs with over-provision resources to\navoid any potential risk from insufficient resources.\nThis usually ends up in huge resource waste. DLRover Auto-Scaling\ncan allocate resources by the demand of model training to reduce\nthe waste of resources.\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_6db3cf44ca8c.png\" alt=\"Editor\" width=\"1000\">\n\u003C\u002Fdiv>\n\n### Dynamic Data Sharding For Elasticity and Fault-tolerance\n\nDynamic data sharding splits the dataset into many small shards and each shard only\ncontains a few batches of training samples. The worker will get a shard only when it using up\nsamples of the last one. With the dynaic sharding, DLRover can\n\n- recover the shard if the worker fails before using up samples of the shard.\n- mitigate the worker straggler by assigning more shards to the fast worker.\n\n### Integration to Offline and Online Deep Learning\n\nWith the data source transparency provided by dynamic data sharding, DLRover can be integrated with\noffline training which consumes batch data, and also supports online learning with real-time streaming data.\n(fed with a message queue like RocketMQ\u002FKafka\u002FPulsar\u002F...,\nor executed as a training sink node inside Flink\u002FSpark\u002FRay\u002F...)\n\nBy practice, DLRover is an ideal component to build an end-to-end industrial online learning system,\n[estimator.md](docs\u002Ftutorial\u002Festimator.md) provides a detailed example implemented with `tf.estimator.Estimator`.\n\n## How to Use DLRover to Train Your Models?\n\n### Under Kubernetes\n#### Train a PyTorch Model\n\nWe can use `dlrover-run` to run the training script which\n`torchrun` or `torch.distributed.run` can run.\n\n```bash\npip install dlrover[k8s, torch]\ndlrover-run --nnodes=1 --nproc_per_node=$NUM_TRAINERS train_scripts.py\n```\n\nThe more detail tutorials are:\n\n- [Elastic scheduling tutorial](docs\u002Ftutorial\u002Ftorch_elasticjob_on_k8s.md) to\nsupport elasticity and fault tolerance of Pod on k8s.\n- [Node detection tutorial](docs\u002Ftutorial\u002Fcheck_node_health.md) to check the fault or slow node in a distributed job.\n- [Flash Checkpoint](docs\u002Fblogs\u002Fflash_checkpoint.md) to speed up checkpoint during training.\n\n#### Train a TensorFlow Model\n\nWe can use DLRover to train a TensorFlow by the following steps:\n\n- Use TensorFlow estimator to develop the TensorFlow model.\n- Define the input of `tf.dataset` in a training configuration of DLRover.\n- Define your reader to read samples from the dataset file.\n\nWe can refer to the [estimator.md](docs\u002Ftutorial\u002Festimator.md) to train\na model with DLRover.\n\n### Under Ray\n\nDifferent from using Kubernetes, in the architecture based on Ray, not only can \nPyTorch\u002FTensorFlow be used for training, but more complex heterogeneous \ncomputing scenarios are also supported.\nUsers are free to explore and implement more general and complex deep learning \ncomputations. \n\nThe differences between the two architectures(kubernetes \u003C-> ray) can be found \nhere: [overview](docs\u002Fdesign\u002Fdlrover-overview.md)\n\nMore detail tutorials please refer to: [unified tutorial](docs\u002Ftutorial\u002Funified\u002FREADME.md)\n\n\n## What's Next?\n\n- Continuous evolution and improvement of large model training stability \n  capabilities.\n- Ongoing iteration and deep integration of XPU-TIMER.\n- Full stack solution for Online Deep Learning based on Ray.\n- ...\n\n## Contributing\n\nPlease refer to the [DEVELOPMENT](docs\u002Fdeveloper_guide.md)\n\n## Quick Start\n\n[Train a GPT Model on Ray.](examples\u002Funified\u002Felastic\u002Fnanogpt\u002FREADME.md)\n\n[RL with OpenRLHF-PPO on Ray.](examples\u002Funified\u002Frl\u002Fopenrlhf\u002Fppo\u002Frun.sh)\n\n[An Example of Flash Checkpoint.](examples\u002Fpytorch\u002Ffcp_demo.py)\n\n[Train a PyTorch Model on Kubernetes.](docs\u002Ftutorial\u002Ftorch_elasticjob_on_k8s.md)\n\n[Train a GPT Model on Kubernetes.](docs\u002Ftutorial\u002Ftorch_nanogpt.md)\n\n[Train a TensorFlow Estimator on Kubernetes.](docs\u002Ftutorial\u002Ftf_elasticjob_on_k8s.md)\n\n## Community\n\nWelcome to scan the DingTalk QR or search \"AI Infra\" in WeChat(微信) to join DLRover group.\nThe DingTalk QR is:\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_b2095608f2ad.jpg\" alt=\"Editor\" width=\"400\">\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_2b64cb7106b4.png\" alt=\"Editor\" width=\"400\">\n\u003C\u002Fdiv>\n","\u003Cdiv id=\"top\" align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_ff9dcc7e7fe7.png\" alt=\"编辑器\" width=\"350\">\n  \n\u003Ch1>DLRover：自动化的分布式深度学习系统\u003C\u002Fh1>\n\n[![构建](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Feasydl\u002Factions\u002Fworkflows\u002Fmain.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Feasydl\u002Factions\u002Fworkflows\u002Fmain.yml)\n[![OpenSSF 最佳实践](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_50ccde67b228.png)](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F9827)\n[![代码覆盖率](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fintelligent-machine-learning\u002Fdlrover\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fintelligent-machine-learning\u002Fdlrover)\n[![GitHub 贡献者](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Fintelligent-machine-learning\u002Fdlrover?style=flat)](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fgraphs\u002Fcontributors)\n[![PyPI 状态徽章](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fdlrover.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fdlrover\u002F)\n\n\u003C\u002Fdiv>\n\nDLRover 让大型 AI 模型的分布式训练变得简单、稳定、快速且环保。它能够在分布式集群上自动训练深度学习模型，帮助模型开发者专注于模型架构设计，而无需关心硬件加速、分布式运行等工程细节。目前，DLRover 已支持在 K8s 和 Ray 上对深度学习训练任务进行自动化运维。其主要特性包括：\n\n- **全场景支持**：支持深度学习全场景下的分布式训练计算实现。\n- **容错能力**：在出现故障时，分布式训练仍可继续运行。\n- **自动扩缩容**：能够根据需求动态调整资源规模，以提升稳定性、吞吐量和资源利用率。\n- **其他功能**：\n  - **XPU 定时器集成**：通过与运行时 XPU 定时器的集成，具备更强的运行时诊断和容错能力。\n  - **闪存检查点**：分布式训练可在几秒钟内从内存中的检查点恢复。\n\n此外，DLRover 还为 PyTorch 和 TensorFlow 提供了扩展库，以加速训练过程。这些扩展库同样是开源项目，可在我们的 [GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning) 中找到：\n- [ATorch](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch)：一个用于加速大型语言模型训练的 PyTorch 扩展库。\n- [TFPlus](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Ftfplus)（仅限 K8S 平台）：一个用于加速搜索、推荐和广告领域训练的 TensorFlow 扩展库。\n\n## 最新消息\n\n- [2025年12月] [DLRover 在 Ray 新架构上的首个正式版本发布。](docs\u002Fblogs\u002Fdlrover_on_ray.md)\n- [2025年8月] [实践：使用 DLRover 进行组调度。](docs\u002Ftutorial\u002Fgang_scheduling.md)\n- [2025年3月] [论文：XPU 定时器的工作原理](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2502.05413)\n- [2025年1月] [EDiT：一种基于局部 SGD 的高效大型语言模型分布式训练方法，ICLR'25。](https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.07210)\n- [2024年6月] [DLRover-RM 被 VLDB'24 接受。](docs\u002Fblogs\u002Fdlrover_rm.md)\n- [2024年4月] [闪存检查点支持 HuggingFace transformers.Trainer 异步保存检查点。](docs\u002Fblogs\u002Fflash_checkpoint.md#huggingface-transformerstrainer)\n- [2024年2月] [闪存检查点可在几秒钟内保存 Megatron-LM 的检查点。](docs\u002Fblogs\u002Fmegatron_flash_checkpoint.md)\n- [2024年1月] [闪存检查点可在几秒钟内从故障中恢复大型模型训练。](docs\u002Fblogs\u002Fflash_checkpoint.md)\n- [2023年11月] [支持高效易用模型训练的 ATorch 发布。](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch)\n- [2023年10月] [AGD：一种基于分步梯度差作为预条件矩阵的自动切换优化器，NeurIPS'24。](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch\u002Fblob\u002Fmain\u002Fdocs\u002FREADME-AGD.md)\n- [2023年9月] [加权尖锐性感知最小化（WSAM）被 KDD'23 接受。](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fatorch\u002Fblob\u002Fmain\u002Fdocs\u002FREADME-WSAM.md)\n- [2023年8月] [DLRover 提升了在数千张 GPU 上预训练模型训练的稳定性。](docs\u002Fblogs\u002Fstabilize_llm_training_cn.md)\n- [2023年4月] [DLRover 自动扩缩 DeepRec 分布式训练作业的节点规模。](docs\u002Fblogs\u002Fdeeprec_autoscale_cn.md)\n\n## 为什么选择 DLRover？\n\n### 故障容忍以减少大规模训练任务的停机时间\n\nDLRover能够在进程失败时恢复训练，而无需停止整个训练任务。DLRover用于恢复训练的操作包括：\n\n1. 自动诊断故障原因。\n2. 由于软件错误，仅重启进程而不重启节点。\n3. 由于硬件错误，重启发生故障的节点。\n\n有关详细信息，请参阅[关于容错与弹性的博客](docs\u002Fblogs\u002Fstabilize_llm_training_cn.md)。\n**借助故障容忍机制，在数千张GPU上训练GLM-65B的有效率从69%提升至95%**。有效率是指在训练任务的总耗时中，用于计算有用新步骤的时间占比。\n停机时间的详细情况如下所示：\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_c88c452435d9.jpg\" alt=\"Editor\" width=\"600\">\n\u003C\u002Fdiv>\n\n#### 故障容忍与闪存检查点技术，降低PyTorch训练的停机时间\n\n除了故障容忍之外，DLRover还提供了[闪存检查点](docs\u002Fblogs\u002Fflash_checkpoint.md)，可在几秒钟内完成检查点的保存和加载。借助闪存检查点，训练可以更频繁地保存检查点，并在发生故障时将回滚步数减少到从最新检查点恢复训练的程度。闪存检查点的主要特性包括：\n\n1. 异步将检查点持久化到存储设备。\n2. 在训练进程失败时立即将检查点持久化到存储设备。\n3. 训练进程重启后，直接从主机内存加载检查点。\n4. 提供适用于DDP、FSDP、DeepSpeed以及Megatron-LM（[cb995d5](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM\u002Ftree\u002Fcb995d571faea19d01a1bf55ed0fd89523b9ce64)）的API接口。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_9c2a8fd40d66.png\" alt=\"Editor\" width=\"396\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_5a71b4a20a82.jpg\" alt=\"Editor\" width=\"400\">\n\n\u003Ctext> DLRover闪存检查点保存\u002F加载GPT2-1.5B的性能。\u003C\u002Ftext>\n\u003C\u002Fdiv>\n\n该图展示了不同深度学习框架在恢复训练进程时读取检查点文件所需的I\u002FO时间。使用DLRover闪存检查点，只需从共享内存中直接加载检查点即可在几秒钟内完成恢复，相比从SSD和NAS加载检查点要快得多。\n\n#### 故障容忍提升TensorFlow PS训练的稳定性\n\nDLRover能够恢复失败的参数服务器和工作节点，从而继续进行训练。\n\n1. DLRover可以自动启动一个具有更多内存的Pod来恢复发生OOM的节点。\n2. DLRover可以将失败的工作节点的训练数据重新分配给其他工作节点。\n3. DLRover可以自动扩展参数服务器的数量以适应模型规模。\n\n在蚂蚁集团，DLRover每天都在蚂蚁集团的定制Kubernetes集群上管理数百个深度学习训练任务。除因代码错误导致的任务失败外，**成功完成的任务比例从使用Kubeflow中的tf-operator时的89%提高到95%**。其他不可恢复的失败原因包括数据错误、模型出现NaN损失、网络中断等。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_f377a572d61d.png\" alt=\"Editor\" width=\"600\">\n\u003C\u002Fdiv>\n\n### 自动扩缩容以提升训练性能和资源利用率\n\nDLRover可以在训练任务运行时自动扩缩容资源（针对参数服务器或工作节点）。通过监控节点的工作负载和吞吐量，DLRover能够诊断出资源配置中的瓶颈。常见的瓶颈包括节点拖尾、参数服务器负载不均衡、节点CPU核心不足以及节点数量不足等问题。DLRover可以通过动态调整资源来提升训练性能。\n\n为了提高训练吞吐量，用户通常倾向于为任务配置过剩的资源，以避免因资源不足而带来的潜在风险。然而，这往往会导致大量资源浪费。DLRover的自动扩缩容功能可以根据模型训练的需求动态分配资源，从而减少资源浪费。\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_6db3cf44ca8c.png\" alt=\"Editor\" width=\"1000\">\n\u003C\u002Fdiv>\n\n### 动态数据分片实现弹性与容错能力\n\n动态数据分片会将数据集拆分为许多小分片，每个分片只包含少量的训练样本。只有当工作节点用完当前分片的样本后，才会获取下一个分片。借助动态分片技术，DLRover可以：\n\n- 如果工作节点在用完分片样本之前发生故障，可以恢复该分片。\n- 通过向快速工作的节点分配更多分片，缓解节点拖尾问题。\n\n### 与离线和在线深度学习的集成\n\n凭借动态数据分片提供的数据源透明性，DLRover既可以与消耗批量数据的离线训练集成，也可以支持使用实时流式数据的在线学习。\n（可通过消息队列如RocketMQ\u002FKafka\u002FPulsar等提供数据，\n或作为训练接收节点部署在Flink\u002FSpark\u002FRay等平台上...）\n\n实践中，DLRover是构建端到端工业级在线学习系统的理想组件，\n[estimator.md](docs\u002Ftutorial\u002Festimator.md) 提供了一个使用`tf.estimator.Estimator`实现的详细示例。\n\n## 如何使用DLRover训练您的模型？\n\n### 在Kubernetes环境下\n#### 训练PyTorch模型\n\n我们可以使用`dlrover-run`来运行`torchrun`或`torch.distributed.run`可以执行的训练脚本。\n\n```bash\npip install dlrover[k8s, torch]\ndlrover-run --nnodes=1 --nproc_per_node=$NUM_TRAINERS train_scripts.py\n```\n\n更多详细教程包括：\n\n- [弹性调度教程](docs\u002Ftutorial\u002Ftorch_elasticjob_on_k8s.md)，用于支持Kubernetes上Pod的弹性和容错能力。\n- [节点健康检测教程](docs\u002Ftutorial\u002Fcheck_node_health.md)，用于检查分布式任务中的故障或慢速节点。\n- [闪存检查点](docs\u002Fblogs\u002Fflash_checkpoint.md)，用于加速训练过程中的检查点操作。\n\n#### 训练TensorFlow模型\n\n我们可以通过以下步骤使用DLRover训练TensorFlow模型：\n\n- 使用TensorFlow estimator开发TensorFlow模型。\n- 在DLRover的训练配置中定义`tf.dataset`的输入。\n- 定义读取器以从数据集文件中读取样本。\n\n您可以参考[estimator.md](docs\u002Ftutorial\u002Festimator.md)来使用DLRover训练模型。\n\n### 在Ray环境下\n与使用Kubernetes不同，在基于Ray的架构中，不仅可以使用PyTorch\u002FTensorFlow进行训练，还支持更为复杂的异构计算场景。\n用户可以自由探索并实现更通用、更复杂的深度学习计算。\n\n两种架构（Kubernetes vs. Ray）之间的差异可在此处找到：[概述](docs\u002Fdesign\u002Fdlrover-overview.md)\n\n更多详细教程请参阅：[统一教程](docs\u002Ftutorial\u002Funified\u002FREADME.md)\n\n\n## 下一步计划？\n\n- 持续演进和改进大模型训练的稳定性能力。\n- 不断迭代并深入集成XPU-TIMER。\n- 基于Ray的在线深度学习全栈解决方案。\n- ...\n\n## 贡献\n\n请参阅 [开发指南](docs\u002Fdeveloper_guide.md)。\n\n## 快速入门\n\n[在 Ray 上训练 GPT 模型。](examples\u002Funified\u002Felastic\u002Fnanogpt\u002FREADME.md)\n\n[在 Ray 上使用 OpenRLHF-PPO 进行强化学习。](examples\u002Funified\u002Frl\u002Fopenrlhf\u002Fppo\u002Frun.sh)\n\n[Flash 检查点示例。](examples\u002Fpytorch\u002Ffcp_demo.py)\n\n[在 Kubernetes 上训练 PyTorch 模型。](docs\u002Ftutorial\u002Ftorch_elasticjob_on_k8s.md)\n\n[在 Kubernetes 上训练 GPT 模型。](docs\u002Ftutorial\u002Ftorch_nanogpt.md)\n\n[在 Kubernetes 上训练 TensorFlow Estimator。](docs\u002Ftutorial\u002Ftf_elasticjob_on_k8s.md)\n\n## 社区\n\n欢迎扫描钉钉二维码或在微信中搜索“AI Infra”加入 DLRover 群组。\n钉钉二维码如下：\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_b2095608f2ad.jpg\" alt=\"编辑器\" width=\"400\">\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_readme_2b64cb7106b4.png\" alt=\"编辑器\" width=\"400\">\n\u003C\u002Fdiv>","# DLRover 快速上手指南\n\nDLRover 是一个自动化的分布式深度学习系统，旨在让大模型的分布式训练更简单、稳定、高效且绿色。它支持在 Kubernetes 和 Ray 架构上自动进行容错处理、资源弹性伸缩和动态数据分片，帮助开发者专注于模型架构而非底层工程细节。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐 Ubuntu 18.04+ 或 CentOS 7+)\n- **运行环境**:\n  - **方案 A (Kubernetes)**: 需要已部署的 K8s 集群，并配置好 `kubectl` 访问权限。\n  - **方案 B (Ray)**: 需要安装 Ray 运行环境。\n- **Python**: Python 3.8 或更高版本\n- **深度学习框架**: PyTorch 或 TensorFlow (根据需求选择)\n\n### 前置依赖\n确保已安装以下基础工具：\n```bash\n# 检查 Python 版本\npython3 --version\n\n# 检查 pip 版本\npip3 --version\n\n# 若使用 K8s 方案，确保 kubectl 已配置\nkubectl version --client\n```\n\n## 安装步骤\n\n### 1. 安装 DLRover 核心包\n推荐使用国内镜像源加速安装（如清华源或阿里源）。\n\n**通用安装命令：**\n```bash\npip install dlrover -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n**按需安装扩展依赖：**\n\n*   **针对 Kubernetes + PyTorch 用户：**\n    ```bash\n    pip install \"dlrover[k8s,torch]\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n*   **针对 Ray 架构用户：**\n    ```bash\n    pip install \"dlrover[ray]\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n*   **针对 TensorFlow 用户：**\n    ```bash\n    pip install \"dlrover[tf]\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n## 基本使用\n\nDLRover 提供了统一的命令行工具 `dlrover-run`，其用法与原生 `torchrun` 类似，但增加了弹性调度和容错能力。\n\n### 场景一：在 Kubernetes 上训练 PyTorch 模型\n\n这是最常用的场景，适用于大规模分布式训练。\n\n1.  **准备训练脚本**\n    假设你有一个标准的 PyTorch 分布式训练脚本 `train_scripts.py`（兼容 `torch.distributed.run`）。\n\n2.  **执行训练任务**\n    使用 `dlrover-run` 替换 `torchrun`。以下示例启动一个包含 1 个节点、每个节点使用 `$NUM_TRAINERS` 个进程的任務：\n\n    ```bash\n    export NUM_TRAINERS=4\n    dlrover-run --nnodes=1 --nproc_per_node=$NUM_TRAINERS train_scripts.py\n    ```\n\n    > **说明**：DLRover 会自动监控节点状态。如果发生硬件故障，它会自动重启失败节点；如果是软件错误，仅重启进程，无需停止整个训练任务。\n\n### 场景二：在 Ray 上训练模型 (以 NanoGPT 为例)\n\nRay 架构支持更复杂的异构计算场景。\n\n1.  **启动 Ray 集群** (如果尚未启动)\n    ```bash\n    ray start --head\n    ```\n\n2.  **运行训练示例**\n    DLRover 提供了现成的示例脚本。你可以直接运行官方提供的 NanoGPT 示例：\n\n    ```bash\n    # 进入示例目录 (需先 git clone 本项目)\n    cd examples\u002Funified\u002Felastic\u002Fnanogpt\n    \n    # 运行训练脚本\n    python run.py --ray_address=localhost:6379\n    ```\n\n### 进阶功能：秒级断点续训 (Flash Checkpoint)\n\n为了减少故障恢复时间，DLRover 支持 Flash Checkpoint，可将保存\u002F加载检查点的时间从分钟级降低到秒级。\n\n**在代码中启用：**\n在你的 PyTorch 训练代码中，引入 DLRover 的检查点接口（具体 API 参考 `examples\u002Fpytorch\u002Ffcp_demo.py`）：\n\n```python\nfrom dlrover.python.elastic_agent.master_client import MasterClient\n\n# 初始化客户端\nclient = MasterClient()\n\n# 保存检查点 (异步持久化到存储，故障时从内存快速加载)\n# 伪代码示例，具体实现请参考官方 demo\nif should_save_checkpoint:\n    client.report_checkpoint_state(checkpoint_data)\n```\n\n**效果**：即使训练中断，恢复过程也可在数秒内完成，显著提升千卡规模训练的 Goodput（有效计算时间占比）。\n\n---\n*更多详细教程（如弹性调度配置、节点健康检测、TensorFlow Estimator 集成等），请参阅项目官方文档。*","某大型电商算法团队正在基于 K8s 集群训练千亿参数推荐大模型，以应对即将到来的大促流量高峰。\n\n### 没有 dlrover 时\n- **故障恢复漫长**：训练过程中若某个 GPU 节点宕机，整个任务立即中断，需人工介入重启并从头加载磁盘检查点，耗时数小时。\n- **资源浪费严重**：为防突发故障，团队被迫长期预留大量冗余算力，导致集群资源利用率低下，成本居高不下。\n- **运维负担沉重**：算法工程师需花费大量精力处理分布式通信超时、显存溢出等工程问题，无法专注于模型架构优化。\n- **检查点写入阻塞**：保存大规模模型状态时，同步写入磁盘会阻塞训练进程，显著降低整体吞吐量。\n\n### 使用 dlrover 后\n- **秒级故障自愈**：借助 Flash Checkpoint 技术，dlrover 能在节点故障后利用内存快照秒级恢复训练，无需人工干预且几乎不丢失进度。\n- **弹性伸缩降本**：dlrover 根据负载自动扩缩容计算资源，在保障稳定性的同时动态释放闲置算力，大幅降低云资源成本。\n- **专注核心算法**：dlrover 自动接管硬件加速与分布式调度，让工程师彻底从底层工程琐事中解脱，全心投入业务逻辑迭代。\n- **异步无感存盘**：通过异步持久化机制，模型检查点在后台静默保存，彻底消除训练过程中的 I\u002FO 阻塞停顿。\n\ndlrover 将不稳定的分布式训练转变为自动化、高可用的生产流程，让大模型训练真正变得简单、快速且绿色。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fintelligent-machine-learning_dlrover_ff9dcc7e.png","intelligent-machine-learning","IML","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fintelligent-machine-learning_26007d24.jpg","",null,"https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning",[79,83,87,91,95,99,103,107,111,115],{"name":80,"color":81,"percentage":82},"Python","#3572A5",76.7,{"name":84,"color":85,"percentage":86},"Go","#00ADD8",12.1,{"name":88,"color":89,"percentage":90},"C++","#f34b7d",6.5,{"name":92,"color":93,"percentage":94},"HTML","#e34c26",1.6,{"name":96,"color":97,"percentage":98},"Perl","#0298c3",0.9,{"name":100,"color":101,"percentage":102},"C","#555555",0.7,{"name":104,"color":105,"percentage":106},"Starlark","#76d275",0.6,{"name":108,"color":109,"percentage":110},"Shell","#89e051",0.5,{"name":112,"color":113,"percentage":114},"Dockerfile","#384d54",0.2,{"name":116,"color":117,"percentage":114},"JavaScript","#f1e05a",1641,211,"2026-04-06T17:13:37","NOASSERTION",4,"Linux","未说明（支持分布式训练，通常需 NVIDIA GPU，具体取决于模型规模；支持 XPU Timer 集成进行硬件诊断）","未说明（支持自动扩缩容以应对 OOM，可根据任务动态调整）",{"notes":127,"python":128,"dependencies":129},"DLRover 是一个分布式深度学习系统，主要部署在 Kubernetes 或 Ray 集群上，而非单机环境。它支持 PyTorch 和 TensorFlow，提供故障容忍、自动扩缩容和秒级检查点（Flash Checkpoint）功能。安装时需根据部署平台选择额外依赖（如 k8s 或 ray）。具体资源需求取决于所训练模型的规模及集群配置。","未说明",[130,131,132,133,134],"kubernetes (可选，用于 K8s 部署)","ray (可选，用于 Ray 部署)","torch (用于 PyTorch 扩展)","tensorflow (用于 TensorFlow 扩展)","dlrover[k8s, torch] 或 dlrover[ray]",[35,14],[137,138,139,140],"distributed-training","k8s","llm-training","hacktoberfest","2026-03-27T02:49:30.150509","2026-04-08T01:01:40.482460",[144,149,154,159,163,168],{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},23187,"如何在 Megatron-LM 中集成并使用 Flash Checkpoint？","需要替换原生的导入语句。将 `from megatron.checkpointing import load_checkpoint` 和 `save_checkpoint` 替换为 `from dlrover.trainer.torch.flash_checkpoint.megatron import save_checkpoint, load_checkpoint, StorageType`。如果遇到错误，请尝试升级 dlrover 版本：`pip install dlrover[torch]==0.3.3 -U`。注意检查数据分割参数（如 `--split 900,50,50`）是否与脚本兼容。","https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fissues\u002F977",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},23188,"使用 Hugging Face Trainer 配合 Flash Checkpoint 时，执行 save_to_memory 为什么会卡死（Hang）？","这通常是因为使用了 `dlrover-run` 启动命令导致的。当 `finetune.py` 在主进程中实现了 `TrainingArguments` 时，`dlrover-run` 启动的异步检查点保存子进程无法导入该参数，从而导致死锁。解决方案是改用 `torchrun` 启动训练任务。在单节点环境下，`dlrover-run` 相比 `torchrun` 没有提供额外优势，直接使用 `torchrun` 即可正常运行。","https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fissues\u002F1079",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},23189,"部署 elasticjob-controller 时 Pod 反复重启并报错 ScalePlan CRD 未配置怎么办？","这是因为代码更新移除了对 ScalePlan CRD 的依赖，但使用的镜像版本可能过旧或不匹配。请参考相关的修复 PR（如 #1561）更新控制器代码或使用最新版本的镜像。确保集群中安装的 CRD 定义与控制器版本一致。","https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fissues\u002F1518",{"id":160,"question_zh":161,"answer_zh":162,"source_url":158},23190,"在 ARM64 架构机器上运行 elasticjob-controller 镜像报错 \"exec format error\" 如何解决？","该问题通常是由于 Docker Hub 上的镜像标签（tag）架构标记错误或拉取了不匹配的架构镜像导致的。虽然日志显示镜像可能是 arm64，但在 ARM64 机器上启动失败提示格式错误，建议检查镜像的实际架构元数据。如果是官方镜像标记错误，需等待维护者修复；临时方案可尝试自行构建适配 ARM64 的基础镜像或寻找明确支持 arm64 的稳定版镜像标签。",{"id":164,"question_zh":165,"answer_zh":166,"source_url":167},23191,"Megatron-LM 在使用 Pipeline Parallelism（流水线并行）时，Flash Checkpoint 无法保存到磁盘怎么办？","当日志出现 \"Skip persisting the checkpoint... cached step in memory are not consistent\" 错误时，表明内存中的分片状态不一致。这通常与分布式优化器或特定的并行配置有关。尝试添加 `--use-distributed-optimizer` 参数可能会改变行为，但也可能引发新的分片数量不匹配错误（如 \"The number of ready shards is X != Y\"）。此类问题通常涉及复杂的并行策略交互，建议检查 GPU 数量、TP\u002FPP 设置与分片逻辑是否匹配，或参考项目最新的修复补丁（如关联 Issue #1529）。","https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fissues\u002F1146",{"id":169,"question_zh":170,"answer_zh":171,"source_url":172},23192,"如何使用 Dlrover 检测国产加速卡（非 Nvidia GPU）的节点慢速或故障问题？","目前 Dlrover 的 `node_check` 功能主要针对 Nvidia GPU 进行了适配。对于国产加速器，需要社区或用户自行适配新的加速器类型，类似于实现一个针对特定硬件的脚本（类似 `Nvidia_gpu.py` 的逻辑），以支持节点健康检查和性能监控。目前该功能仍在探索中，建议关注官方后续对多硬件支持的更新。","https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fissues\u002F1338",[174,179,184,189,194,199,204,209,214,219,224,229,234,239,244],{"id":175,"version":176,"summary_zh":177,"released_at":178},136877,"v0.6.1","# Bug 修复与增强：\n- 修复诊断工具注册问题。\n- 添加关于在 Kubernetes 上使用节点组的文档：[文档](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fblob\u002Fmaster\u002Fdocs\u002Ftutorial\u002Fnode_group_on_k8s.md)\n\n","2026-01-06T02:48:01",{"id":180,"version":181,"summary_zh":182,"released_at":183},136878,"v0.6.0","# 功能特性：\n- [介绍](https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fblob\u002Fmaster\u002Fdocs\u002Fblogs\u002Fdlrover_on_ray.md) 一种基于 Ray 的全新架构设计，可用于解决全场景下的深度学习问题。\n- 引入节点组的新概念及其相应实现，以支持在超级节点上的容错等现有能力。注：需要 Kubernetes 侧的调度支持）。\n- 新增基于设备内存的预检查功能。\n- 支持 Moore Threads GPU 设备。@zhwentao\n- 支持使用 arm64 架构的控制器\u002F主节点镜像。\n- 支持 NUMA 亲和性配置。\n- 支持指定节点退出原因的扩展，该原因可通过 API Server 从 Pod 信息中获取并解析。\n\n\n# Bug修复与增强：\n- 重构依赖项要求。\n- 更新开发用的 pre-commit 工具。\n- 在节点重启时增强节点对象的生成逻辑。\n- 对孤儿进程的处理进行优化。\n- 为服务器-客户端通信添加 UID 变量校验，以避免大规模集群中可能出现的通信交互污染问题。\n- 从代码中移除对 pynvml 的强制依赖。感谢 @yifeng-x 的建议。https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fissues\u002F1651 https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Fissues\u002F1647\n- 增加更 robust 的进程泄漏回收机制，以应对极端场景。\n- 修复节点故障原因上报问题。\n- 对 rendezvous 事件进行优化。\n- 针对 Ascend 设备进行优化。\n- 其他修复与增强。","2025-12-29T03:15:00",{"id":185,"version":186,"summary_zh":187,"released_at":188},136879,"v0.5.1","# 错误修复与增强：\n- 修复主镜像依赖问题，并使用标签 0.5.1 重新发布主镜像。","2025-07-31T12:16:03",{"id":190,"version":191,"summary_zh":192,"released_at":193},136880,"v0.5.0","# 功能特性：\n- 基于 Tensor Util 的新型训练挂起检测。\n- 新的日志导出机制，使不同训练框架能够以更灵活的方式嵌入关键信息，并高效地将这些信息传递至相应的后端系统，用于后续的统计与分析。\n- 支持在训练前进行同步检查流程，以提升稳定性。\n- 支持 Gang Scheduling（已与 [Kueue](https:\u002F\u002Fkueue.sigs.k8s.io\u002F) 完整对接）。\n- 为开发镜像和发布镜像实现自动化 CI 流程。\n- 在 Ray 上构建统一框架，以支持通用 AI 计算（开发中）。\n\n\n# Bug 修复与优化：\n- 修复了节点意外失败计数问题，避免容错行为超出限制。\n- 提升了 rendezvous 过程中的容错能力。\n- 重构（简化）诊断系统。\n- 重构监控与报告模块。\n- 缩短 rendezvous 超时时间。\n- 修复了训练结束时的 barrier 问题。\n- 解决了 Pickle CVE 漏洞问题。\n- 修复了 Pod 创建过程中的线程安全问题。\n- 修复了 TF_CONFIG 变量状态意外设置的问题（使用 TensorFlow 时）。\n- 提升单元测试的性能与稳定性。\n- 其他修复与优化。","2025-07-07T03:01:35",{"id":195,"version":196,"summary_zh":197,"released_at":198},136881,"v0.4.0","# DLRover v0.4.0\n## 功能特性：\n- 支持 PyTorch 2.4.x 及更高版本。2.4.x 版本已在生产环境中经过充分验证，而 2.5 版本则进行了有限的初步可用性验证。\n- 支持 Python 3.10。\n- 支持 XPU_TIMER 指标集成及训练挂起检测（第一版），并实现了新的阳性诊断机制。\n- 针对 TensorFlow 场景，在等待超时的情况下，支持新的快速失败策略。\n- 增加了更多关键事件监控支持。\n- 重构资源监控模块。\n\n## Bug 修复与优化：\n- 修复了当工作进程数小于默认重试次数（3）时，工作进程容错计数不符合预期的问题。\n- 修复了步骤 0 无法保存的问题。\n- 修复了并发删除目录可能导致异常的偶发问题。\n- 修复了大规模训练场景中，rdzv 中主节点地址读取偶尔先于写入的问题。\n- 修复了一些节点管理方面的已知问题。\n- 修复了 PyTorch 训练中偶尔出现的主节点地址获取问题。\n- 在某些边缘情况下增强了节点心跳机制。\n- 修复了因资源配额问题导致的意外故障转移失败。\n- 修复了使用 Ascend NPU 时出现的意外进程泄漏问题（临时解决方案）。\n- 重构了 `job_context`，以统一控制所有关键状态的读写操作。\n- 修复了与主节点容错相关的已知问题（内部功能）。\n- 优化了节点检查流程。\n- 提升了单元测试性能。\n- 其他一些小的修复和优化。\n\n## 其他\n- 调整代码库结构。\n- 提升了单元测试性能。\n\n\n# XPU_Timer v0.1.0\n恭喜！XPU 定时器的第一个版本已正式发布。","2025-01-20T06:30:18",{"id":200,"version":201,"summary_zh":202,"released_at":203},136882,"v0.3.8","# 功能：\n- 添加了第一版正向诊断的基本实现。\n- 在一些边界场景下，支持训练任务的“快速失败”策略，例如待处理的情况。\n- 将 Pod 创建从同步方式优化为异步方式，以提升速度。\n- 添加了结构化事件日志记录的基本实现。\n\n# Bug修复：\n- 修复了在偶发容错场景中出现的意外 rendezvous 失败问题。\n- 修复了在 Socket 服务器创建之前意外创建 Socket 客户端的问题。\n- 针对 Ascend NPU 优化了网络检查的实现。\n- 针对 Master 容错（内部）场景，优化了部分实现。\n- 修复并优化了其他多项已知问题。","2024-09-29T02:02:40",{"id":205,"version":206,"summary_zh":207,"released_at":208},136883,"v0.3.7","# 功能：\n- Flash 检查点支持删除旧的检查点。\n\n# Bug 修复：\n- 在 Megatron-LM 模型中，保存和加载与参数无关的分布式优化器变量。\n- 代理在退出前会等待异步检查点保存完成。","2024-05-13T06:02:23",{"id":210,"version":211,"summary_zh":212,"released_at":213},136884,"v0.3.6","# 特性：\nFlash checkpoint 提供了 `FlashCkptTrainer`，以支持 Hugging Face 的 `transformers.Trainer`。\nFlash checkpoint 支持从内存中加载 Megatron-LM 的检查点。\nFlash Checkpoint 支持保存和加载包含完整状态字典的 FSDP 检查点。\n作业主节点可以根据节点的接入交换机对节点排名进行排序。\n\n# BugFix：\n修复了在重启训练过程时发生的段错误。","2024-04-24T06:18:57",{"id":215,"version":216,"summary_zh":217,"released_at":218},136885,"v0.3.5","# 功能：\n- 闪存检查点支持保存和加载 Megatron-LM MOE 模型。#1042\n- 提供 API 以扩展模块，用于检查使用不同芯片的节点。#1023\n- 如果节点失败，则自动将其标记为不可调度。#1025\n\n# Bug修复：\n- 修复 MNIST 的 DDP 示例，使其能够保存和加载检查点。#1051\n- 修复 DDP 的检查点名称问题。#1034","2024-03-29T07:02:22",{"id":220,"version":221,"summary_zh":222,"released_at":223},136886,"v0.3.4","# 特性：\n\n- 快照检查点功能支持从多个计算节点并行保存和加载 Megatron-LM 模型。\n- `dlrover-run --auto-config` 可自动配置节点数量及每个节点的进程数。\n- 用户可自定义存储 API，将检查点保存到不同的文件系统中。\n- 提供清理旧检查点文件的策略。\n\nBugFix：\n- 当检查点大小发生变化时，共享内存不存在。","2024-02-21T07:10:49",{"id":225,"version":226,"summary_zh":227,"released_at":228},136887,"v0.3.3","# Features:\r\n- Support Python > 3.10.\r\n- Support restarting the training process on Ascend NPU.\r\n- Support asynchronously saving the checkpoint of the distributed optimizer of Megatron-LM to the storage.\r\n\r\n# BugFix:\r\n- Fix the checkpoint shard inconsistency of all ranks.\r\n- Fix the bug to asynchronously save the Megatron-LM checkpoint of the job with multi-GPUs on multi-nodes.\r\n- Fix the bug to load the Megatron-LM checkpoint.\r\n\r\n","2024-01-25T02:28:59",{"id":230,"version":231,"summary_zh":232,"released_at":233},136888,"v0.3.1","# Feature:\r\n- Users can use flash checkpoint using `torchrun` or `python -m torch.distributed.launch`.\r\n\r\n# Bugfix:\r\n- The dlrover master cannot print the error message of the fault node in a kubeflow\u002FPytorchJob.","2024-01-10T01:54:58",{"id":235,"version":236,"summary_zh":237,"released_at":238},136889,"v0.3.0","# Features:\r\n\r\n- Flash Checkpoint to asynchronously persist checkpoint to storage.\r\n- Flash Checkpoint recovers failure in memory.\r\n- Flash Checkpoint supports DDP\u002FFSDP\u002FDeepSpeed\u002FMegatron\r\n- Node detection supports NPU.\r\n\r\n# Examples\r\n\r\n- The example of training nanoGPT using DeepSpeed.\r\n- The example to save\u002Fload sharding FSDP checkpoint.","2024-01-03T06:54:41",{"id":240,"version":241,"summary_zh":242,"released_at":243},136890,"v0.2.2","# ElasticJob\r\n\r\n## Features:\r\n\r\n- `dlrover-run` can run on any distributed jobs with the `NODE_RANK` and `DLROVER_MASTER_ADDR` in the environment.\r\n- DLRover can asynchronously save the checkpoint into the storage which only block the training with a few time.\r\n\r\n## BugFix:\r\n\r\n- Fix the bug to load the FSDP checkpoint.\r\n","2023-11-21T06:41:26",{"id":245,"version":246,"summary_zh":247,"released_at":248},136891,"v0.2.1","# DLRover:\r\n\r\n## ElasticJob:\r\n- Autotuning batch size without restarting the job.\r\n- Automatically detect the straggler (slow worker).\r\n\r\n## TFPlus\r\n\r\nTFPlus 0.1.0 has been released, see detail in https:\u002F\u002Fgithub.com\u002Fintelligent-machine-learning\u002Fdlrover\u002Ftree\u002Fmaster\u002Ftfplus\r\n\r\n### Kv Variable (Core Embedding Capability)\r\n- High-performance Embedding Ops\r\n- Kv Variable low level APIs (4 in total)\r\n    - `tfplus.get_kv_variable`\r\n    - `embedding_lookup`\r\n    - `embedding_lookup_sparse`\r\n    - `safe_embedding_lookup_sparse`\r\n-  Dynamic expansion and partitioning of Embedding weights\r\n-  Support for both single-machine training and PS\u002FWorker cluster training\r\n\r\n### High-performance Optimizers\r\n-  Common optimizers compatible with Kv Variable\r\n      - Adam\r\n      - Adagrad\r\n-  In-house deep learning optimizers based on Sparse Group Lasso\r\n      - Group Adam\r\n      - Group Adagrad","2023-10-11T09:38:11"]