How paddlepaddle/paddlenlp works
PaddleNLP is a Paddle-based NLP and large-language-model development suite spanning data preparation, model training and alignment, compression, inference, and application serving. A representative workflow is to prepare data, train or fine-tune a supported model, optionally compress it, then run inference or deploy a service. The README documents distributed training, hardware diversity, PEFT, and high-performance inference; sampled sources confirm selected pipeline, engine, and serving relationships. Other subsystem links are documented capability-level connections because their implementation was not sampled.
Main entry points: run_pretrain.py LLM training entry · engine.py LLM runtime · transformers Model families · trainer.py Trainer
Components 22
Data and models
- Dataset loaders
paddlenlp/datasets/dataset.py - Data utilities
paddlenlp/data - Model families
paddlenlp/transformers
Training and alignment
- LLM training entry
llm/run_pretrain.py - Trainer
paddlenlp/trainer/trainer.py - Parallel engine
slm/model_zoo/gpt-3/ppfleetx/core/engine/auto_engine.py - Eager engine
slm/model_zoo/gpt-3/ppfleetx/core/engine/eager_engine.py - Unified checkpoint
paddlenlp/trainer/unified_checkpoint/async_handler.py - PEFT methods
paddlenlp/peft - Alignment workflows
llm/alignment
Compression and kernels
- Quantization
llm/run_quantization.py - Optimized operators
ops/src/paddlenlp_kernel
Inference and serving
- Generation APIs
paddlenlp/generation/utils.py - LLM runtime
llm/server/server/server/engine/engine.py - Resource manager
llm/server/server/server/engine/resource_manager.py - Task queue
llm/server/server/server/engine/task_queue_manager.py - Token processor
llm/server/server/server/engine/token_processor.py - HTTP server
llm/server/server/server/http_server/app.py
Applications and tooling
- NLP pipelines
slm/pipelines/pipelines/pipelines/standard_pipelines.py - SimpleServer
paddlenlp/server/server.py - PaddleNLP CLI
paddlenlp/cli/main.py
Other components
- Developer
Connections 22
- Developer → LLM training entry: starts training
README.md - Dataset loaders → Data utilities: provides data
README.md - Data utilities → LLM training entry: feeds training
README.md - Model families → LLM training entry: trains models
README.md - LLM training entry → Trainer: runs training
README.md - LLM training entry → Parallel engine: supports parallelism
README.md - Parallel engine → Eager engine: offers engine
README.md - Trainer → Unified checkpoint: saves checkpoints
README.md - Trainer → PEFT methods: supports fine-tuning
README.md - LLM training entry → Alignment workflows: supports alignment
README.md - Model families → Quantization: compresses models
README.md - Quantization → LLM runtime: enables inference
README.md - Optimized operators → LLM runtime: accelerates inference
README.md - Model families → Generation APIs: generates outputs
README.md - HTTP server → LLM runtime: routes requests
llm/server/server/server/http_server/app.py - LLM runtime → Resource manager: uses resources
llm/server/server/server/engine/engine.py - LLM runtime → Task queue: uses queue
llm/server/server/server/engine/engine.py - LLM runtime → Token processor: uses processor
llm/server/server/server/engine/engine.py - Developer → NLP pipelines: builds applications
README.md - NLP pipelines → Model families: retrieves answers
README.md - Developer → SimpleServer: deploys services
README.md - Developer → PaddleNLP CLI: uses commands
paddlenlp/cli/main.py