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.0

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.0
File Size Uploaded
fasterai-0.4.0.tar.gz 86.9 kB Details

Built distribution (wheel)

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

Total release size: 182.8 kB

Release files / fasterai-0.4.0.tar.gz

Download URL fasterai-0.4.0.tar.gz
Size 86.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f83864c5735277200e92996e05f1932de6e57e495ad14eea9ebf23898e8a9083
BLAKE2b-256 checksum
How to use checksums
e9a3b223aa7259de6e5f34d06ec5979738b7f25fe998216b6caf9763bf5074bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

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

Download URL fasterai-0.4.0-py3-none-any.whl
Size 95.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
78030d2d9fa7195e1e913fefe6e20622f75a258f1b489236412a2cebebc24500
BLAKE2b-256 checksum
How to use checksums
c2bdada1514f4e1b20bf1cc2ba8212bafa438d3db86faba375285bd4d03711a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

0.4.1

2 release files

This release

0.4.0 This release

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