Skip to main content

header

Features • Installation • Tutorials • Community • Citing • License

Overview

fasterAI is a PyTorch-based library that makes neural networks smaller, faster, and more efficient through state-of-the-art compression techniques. The library provides simple but powerful implementations of pruning, knowledge distillation, quantization, and other network optimization methods that can be applied with just a few lines of code.

Why compress your models with fasterai?

  • Reduce model size by up to 90% with minimal accuracy loss
  • Speed up inference for deployment on edge devices
  • Lower energy consumption for more sustainable AI
  • Simplify architectures while maintaining performance
Performance Improvements

Features

1. Sparsification

Sparsification

Make your model sparse by replacing selected weights with zeros using Sparsifier or SparsifyCallback.

Parameter Description Options
sparsity Percentage of weights to zero out 0-100%
granularity Level at which to apply sparsity 'weight', 'vector', 'kernel', 'filter'
context Scope of sparsification 'local' (per layer), 'global' (whole model)
criteria Method to select weights 'magnitude', 'movement', 'gradient', etc.
schedule How sparsity evolves during training 'one_shot', 'iterative', 'gradual', etc.

2. Pruning

Pruning

Remove zero-weight nodes from your network structure using Pruner or PruneCallback.

Parameter Description Options
pruning_ratio Percentage of weights to remove 0-100%
context Scope of sparsification 'local' (per layer), 'global' (whole model)
criteria Method to select weights 'magnitude', 'movement', 'gradient', etc.
schedule How sparsity evolves during training 'one_shot', 'iterative', 'gradual', etc.

3. Knowledge Distillation

Distillation

Transfer knowledge from a large teacher to a smaller student using KnowledgeDistillationCallback.

Parameter Description Options
teacher Teacher model Any PyTorch model
loss Distillation loss function 'SoftTarget', 'Logits', 'Attention', etc.
activations_student Student layers to match Layer names as strings
activations_teacher Teacher layers to match Layer names as strings
weight Balancing weight for distillation 0.0-1.0

4. Regularization

Regularization

Push weights toward zero during training using RegularizeCallback.

Parameter Description Options
criteria Regularization criteria Same as sparsification criteria
granularity Level of regularization Same as sparsification granularity
weight Regularization strength Floating point value
schedule How sparsity evolves during training 'one_shot', 'iterative', 'gradual', etc.
layer_types Layer types to regularize 'nn.Conv2d', 'nn.Linear', etc.

5. Quantization

Quantization

Reduce the precision of weights and activations using Quantizer or QuantizeCallback.

Parameter Description Options
backend Target backend 'x86', 'qnnpack'
method Quantization method 'static', 'dynamic', 'qat'
use_per_tensor Force per-tensor quantization True/False

Quick Start

This is how easy it is to induce Sparsification in your PyTorch model:

from fasterai.sparse.all import *

learn = vision_learner(dls, model)
learn.fit_one_cycle(n_epochs, cbs=SparsifyCallback(sparsity, granularity, context, criteria, schedule))

Installation

pip install git+https://github.com/FasterAI-Labs/fasterai.git

or

pip install fasterai

Tutorials


Join the community

Join our discord server to meet other FasterAI users and share your projects!


Citing

@software{Hubens,
  author       = {Nathan Hubens},
  title        = {fasterai},
  year         = 2022,
  publisher    = {Zenodo},
  version      = {v0.3.0},
  doi          = {10.5281/zenodo.6469868},
  url          = {https://doi.org/10.5281/zenodo.6469868}
}

License

Apache-2.0 License.

footer

Metadata

Release files for fasterai 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fasterai 0.4.1
File Size Uploaded
fasterai-0.4.1.tar.gz 87.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fasterai 0.4.1
File Interpreter ABI Platform
fasterai-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 184.9 kB

Release files / fasterai-0.4.1.tar.gz

Download URL fasterai-0.4.1.tar.gz
Size 87.9 kB
Tags Source
SHA-256 checksum
How to use checksums
bb08ccd89f99d9d9080115dce32d14ed32c09cb05d27ea76451e0f9f209d97fb
BLAKE2b-256 checksum
How to use checksums
9c23c78829d09c519b02cd8dd8a1684795c3b48be75dfd5930c9498b12819373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release files / fasterai-0.4.1-py3-none-any.whl

Download URL fasterai-0.4.1-py3-none-any.whl
Size 97.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a41cde10056a0cfd46e9d2ed5ffe3b7d60cfd1fff21d2b8f59461902878d7d36
BLAKE2b-256 checksum
How to use checksums
40a4f4661bb9242b75a0ecf5a4f228a8e7d995e4570da5f35c78e8ffc3d26188
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.12

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page