# huggingface/peft

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/huggingface-peft).**

20,656 stars · 2,184 forks · Python · apache-2.0

## Links

- GitHub: https://github.com/huggingface/peft
- Homepage: https://huggingface.co/docs/peft
- awesome-repositories: https://awesome-repositories.com/repository/huggingface-peft.md

## Topics

`adapter` `diffusion` `fine-tuning` `llm` `lora` `parameter-efficient-learning` `peft` `python` `pytorch` `transformers`

## Description

This library provides a framework for parameter-efficient fine-tuning, enabling the adaptation of large pretrained models by training only a small subset of parameters. It functions as a distributed model training system and optimization toolkit, designed to reduce the computational and memory requirements typically associated with full model fine-tuning.

The project distinguishes itself through a suite of methods for modular adapter composition, including low-rank matrix decomposition and activation-based scaling. It supports the integration of multiple task-specific adapter modules, allowing users to merge, route, and combine these components into base model architectures. To ensure efficient inference, the library provides capabilities to integrate trained adapter weights directly into the original model.

The framework includes extensive support for memory-optimized training, utilizing techniques such as parameter offloading to system memory, low-bit quantization, and distributed parameter sharding across multiple hardware devices. These features allow for the training of massive models that exceed the memory capacity of individual graphics processing units. The library is distributed as a Python package and includes command-line tools for managing training tasks and authentication.

## Tags

### Artificial Intelligence & ML

- [Parameter Efficient Fine-Tuning](https://awesome-repositories.com/f/artificial-intelligence-ml/parameter-efficient-fine-tuning.md) — Provides a library for parameter-efficient fine-tuning of large pretrained models.
- [Large Language Model Fine-Tuning Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/integrated-development-platforms/machine-learning-platforms/large-language-model-fine-tuning-frameworks.md) — Provides a framework for adapting large pretrained models to downstream tasks through parameter-efficient fine-tuning.
- [Large Language Model Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-optimization-and-inference/serving-and-runtime/large-language-model-optimization.md) — Provides a toolkit for optimizing large language models via weight decomposition and activation scaling.
- [Parameter Adaptation Techniques](https://awesome-repositories.com/f/artificial-intelligence-ml/parameter-adaptation-techniques.md) — Decomposes large model matrices into smaller low-rank matrices to enable fine-tuning with minimal trainable parameters. ([source](https://huggingface.co/docs/peft/conceptual_guides/adapter))
- [Distributed Training Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-frameworks.md) — Functions as a distributed training framework designed for memory-efficient sharding and parameter offloading.
- [Model Adapters](https://awesome-repositories.com/f/artificial-intelligence-ml/model-adapters.md) — Enables modular adapter composition by merging and routing specialized adapter modules into base models.
- [Activation-Based Prompt Tuning](https://awesome-repositories.com/f/artificial-intelligence-ml/active-prompting-techniques/activation-based-prompt-tuning.md) — Implements activation-based tuning to adapt model behavior without modifying base weights.
- [Distributed Training](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-frameworks/distributed-training.md) — Scales model training across multiple hardware devices using distributed parameter sharding.
- [Distributed Training Sharding](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-sharding.md) — Enables training of massive models by partitioning parameters and optimizer states across multiple hardware devices.
- [Distributed Training Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-utilities.md) — Splits model parameters and gradients across multiple devices to train massive models exceeding single-GPU memory. ([source](https://huggingface.co/docs/peft/accelerate/fsdp))
- [Weight Merging Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/architectures/instruction-tuned-language-models/weight-space-merging-techniques/weight-merging-utilities.md) — Integrates trained adapter weights directly into the original model to eliminate inference latency.
- [Memory Optimization Techniques](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-optimization-techniques.md) — Implements memory offloading techniques to move model parameters and optimizer states to system memory during training. ([source](https://huggingface.co/docs/peft/accelerate/deepspeed))
- [Weight Offloading](https://awesome-repositories.com/f/artificial-intelligence-ml/model-weight-management/weight-offloading.md) — Moves sharded model parameters to system memory to reduce graphics memory consumption during training. ([source](https://huggingface.co/docs/peft/accelerate/fsdp))
- [Model Weight Reconstruction](https://awesome-repositories.com/f/artificial-intelligence-ml/model-weight-reconstruction.md) — Integrates trained adapter matrices directly into base model weights to create standalone models for efficient inference. ([source](https://huggingface.co/docs/peft/conceptual_guides/oft))
- [Parameter-Efficient Adaptation](https://awesome-repositories.com/f/artificial-intelligence-ml/parameter-efficient-adaptation.md) — Integrates task-specific adapter modules into base architectures using parameter-efficient adaptation methods.
- [Training Memory Management](https://awesome-repositories.com/f/artificial-intelligence-ml/training-memory-management.md) — Optimizes memory usage during training through parameter offloading and low-bit quantization.
- [Frozen Base Models](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/architecture-and-operations/model-architecture/frozen-base-models.md) — Supports fine-tuning by keeping the primary model parameters frozen while training lightweight adapter layers.
- [Activation Scaling Adapters](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/model-fine-tuning-adaptation/activation-scaling-adapters.md) — Trains learned vectors to rescale internal model activations for task-specific adaptation. ([source](https://huggingface.co/docs/peft/conceptual_guides/ia3))
- [Model Quantization](https://awesome-repositories.com/f/artificial-intelligence-ml/model-quantization.md) — Supports low-bit quantization of model weights during fine-tuning to reduce memory footprint. ([source](https://huggingface.co/docs/peft/accelerate/deepspeed))
- [Orthogonal Adaptation Strategies](https://awesome-repositories.com/f/artificial-intelligence-ml/parameter-efficient-adaptation/orthogonal-adaptation-strategies.md) — Applies multiplicative orthogonal weight updates to frozen models to adapt them to new tasks. ([source](https://huggingface.co/docs/peft/conceptual_guides/oft))
- [Weight Initialization](https://awesome-repositories.com/f/artificial-intelligence-ml/weight-initialization.md) — Uses gradient-based singular value decomposition to initialize adapter weights for faster convergence. ([source](https://huggingface.co/docs/peft/conceptual_guides/adapter))
- [Gradient-Based Initializers](https://awesome-repositories.com/f/artificial-intelligence-ml/weight-initialization/gradient-based-initializers.md) — Accelerates convergence by initializing adapter weights using gradient-based singular value decomposition.
- [Adapter Dimension Suppressors](https://awesome-repositories.com/f/artificial-intelligence-ml/tensor-reductions/dimension-preservers/dimension-squeezing/adapter-dimension-suppressors.md) — Identifies and suppresses specific adapter dimensions that cause catastrophic forgetting to recover original model knowledge. ([source](https://huggingface.co/docs/peft/conceptual_guides/adapter))

### Scientific & Mathematical Computing

- [Low-Rank Decompositions](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/matrix-operations/matrix-vector-products/low-rank-decompositions.md) — Reduces trainable parameter counts by representing large weight updates as the product of two significantly smaller matrices.

### Data & Databases

- [Adapter Routing Strategies](https://awesome-repositories.com/f/data-databases/batch-processing/batch-matrix-multiplication-utilities/matrix-multiplication-utilities/adapter-routing-strategies.md) — Routes and merges multiple trained low-rank modules to solve new tasks. ([source](https://huggingface.co/docs/peft/conceptual_guides/adapter))

### DevOps & Infrastructure

- [Adapter Management](https://awesome-repositories.com/f/devops-infrastructure/model-serving/adapter-management.md) — Combines several trained adapter modules using weighted averages to create unified adapter configurations. ([source](https://huggingface.co/docs/peft/conceptual_guides/ia3))
