How zhziszz/dllm works
dLLM is a library for training, sampling from, and evaluating diffusion language models. The principal workflow is to prepare training data, train a model with a reusable algorithm trainer or a model-specific pipeline, sample outputs, and evaluate them. Separate branches cover model conversion, accelerated inference, editing-based diffusion, and GRPO reasoning training. The README documents these capabilities, while source-level edges below are limited to relationships visible in excerpts or the SOURCE INDEX; unsampled internals are not assumed.
Main entry points: trainers/mdlm.py MDLM Trainer · samplers/mdlm.py MDLM Sampler · base.py Sampler Interface · datasets.py GRPO Datasets
Components 25
Shared Runtime
- MDLM Trainer
dllm/core/trainers/mdlm.py - BD3LM Trainer
dllm/core/trainers/bd3lm.py - Diffusion Schedulers
dllm/core/schedulers/alpha.py - Sampler Interface
dllm/core/samplers/base.py - MDLM Sampler
dllm/core/samplers/mdlm.py - BD3LM Sampler
dllm/core/samplers/bd3lm.py - Core Evaluation
dllm/core/eval/base.py
Model Pipelines
- Dream Pipeline
dllm/pipelines/dream/models/modeling_dream.py - Dream Generation
dllm/pipelines/dream/models/generation_utils.py - LLaDA Models
dllm/pipelines/llada/models/modeling_llada.py - LLaDA 2 Models
dllm/pipelines/llada2/models/modeling_llada2_moe.py - LLaDA 2.1 Models
dllm/pipelines/llada21/models/modeling_llada21_moe.py - AR Conversion
dllm/pipelines/a2d/convert.py - EditFlow Pipeline
dllm/pipelines/editflow/trainer.py - Fast-dLLM
dllm/pipelines/fastdllm/llada/sampler.py
Reasoning Training
- GRPO Datasets
dllm/pipelines/rl/grpo/datasets.py - Task Rewards
dllm/pipelines/rl/grpo/rewards/math.py - GRPO Trainer
dllm/pipelines/rl/grpo/trainer.py
Data and Utilities
- Dataset Loaders
dllm/data - Data Preparation
dllm/utils/data.py - Batch Collators
dllm/utils/collators.py - Training Config
dllm/utils/configs.py - Model Utilities
dllm/utils/models.py - Output Visualizers
dllm/utils/visualizers.py
Other components
- User
Connections 24
- User → Dataset Loaders: selects data
README.md - Dataset Loaders → Data Preparation: prepare data
- Data Preparation → MDLM Trainer: supply training data
README.md - MDLM Trainer → Training Config: reads config
dllm/core/trainers/mdlm.py - MDLM Trainer → Data Preparation: processes data
dllm/core/trainers/mdlm.py - BD3LM Trainer → MDLM Trainer: extends trainer
dllm/core/trainers/bd3lm.py - BD3LM Trainer → Batch Collators: uses collators
dllm/core/trainers/bd3lm.py - Sampler Interface → Diffusion Schedulers: defaults scheduler
dllm/core/samplers/base.py - MDLM Sampler → Sampler Interface: implements
dllm/core/samplers/mdlm.py - BD3LM Sampler → Sampler Interface: implements
dllm/core/samplers/bd3lm.py - MDLM Sampler → Diffusion Schedulers: uses schedule
- User → MDLM Sampler: requests generation
README.md - User → Core Evaluation: requests evaluation
README.md - Dream Pipeline → Dream Generation: uses generation
dllm/pipelines/dream/models/modeling_dream.py - User → AR Conversion: converts models
README.md - User → EditFlow Pipeline: trains edit models
README.md - User → Fast-dLLM: requests fast inference
README.md - User → LLaDA Models: trains or evaluates
README.md - User → LLaDA 2 Models: requests inference
README.md - User → LLaDA 2.1 Models: requests inference
README.md - User → GRPO Datasets: starts GRPO training
README.md - GRPO Datasets → Task Rewards: maps task rewards
dllm/pipelines/rl/grpo/datasets.py - GRPO Trainer → GRPO Datasets: uses task data
- GRPO Trainer → Task Rewards: scores completions