Skip to main content

composing methods for ML training efficiency

Project description

MosaicML Composer

MosaicML Composer contains a library of methods, and ways to compose them together for more efficient ML training. We aim to ease the transition from research to industry through reproducible code and rigorous benchmarking.

The library features:

  • Implementation of 20+ efficiency methods curated from the research community
  • Standardized approach to implement and compose efficiency methods, extended from two-way callbacks (Howard et al, 2020)
  • Easy way to access our methods either directly for your trainer loops, or through the MosaicML Trainer.

Open In Colab

Installing Composer

To install Composer:

pip install mosaicml

Using Composer

A few ways to use Composer:

  1. Import the functional form of our methods:
from composer import functional as CF
import torchvision

model = torchvision.models.resnet50()

# replaces eligible layers with BlurPool (Zhang, 2019)
CF.apply_blurpool(model)

for epoch in range(max_epochs):
    for data in your_data:
        ...
    # freeze layers at the end of every epoch
    CF.freeze_layers(model)

We have a growing collection of deeply characterized methods, see Methods.

  1. Compose methods together using our Trainer:
from composer import trainer, algorithms, Trainer

trainer_hparams = trainer.load("resnet50")
trainer_hparams.algorithms = algorithms.load_multiple("squeeze_excite", "scale_schedule")
trainer_hparams.set_datadir('your/dataset/path/')

learner = Trainer.create_from_hparams(hparams=trainer_hparams)
learner.fit()

Composer TL;DR

Composer methods are either curated from the literature, or developed internally, and rigorously measured on public benchmarks. To explore the benchmarks, see our MosaicML Explorer.

To compose methods together, we used the excellent two-way callbacks system (Howard et al, 2020). Each method is implemented as a two-way callback, and also in functional form for standalone access and extension.

Documentation

See our documentation for installation instructions and how to get started.

Community

We welcome contributions of new methods, models, and datasets Also join our community slack to talk about ML training efficiency!

Our library builds upon ideas from the broader ML community! We are exploring integrations into other libraries to make the Composer efficiency methods available to all.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mosaicml-0.3.1.tar.gz (171.5 kB view details)

Uploaded Source

Built Distribution

mosaicml-0.3.1-py3-none-any.whl (250.7 kB view details)

Uploaded Python 3

File details

Details for the file mosaicml-0.3.1.tar.gz.

File metadata

  • Download URL: mosaicml-0.3.1.tar.gz
  • Upload date:
  • Size: 171.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for mosaicml-0.3.1.tar.gz
Algorithm Hash digest
SHA256 1caf6c555f7c4ac0d5db25f82b119cc573c5ad78f98083981b863b6f44589e42
MD5 03e3ffc28d66419d542de4313300c6c9
BLAKE2b-256 5152c17a8ea03363304426233206b9f6e3d853fc79951ae2dbb9826fe8285640

See more details on using hashes here.

File details

Details for the file mosaicml-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: mosaicml-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 250.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for mosaicml-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0cfa314fe69df1acedc022fd6f49d456d8335b4fff4b3b7db0a7f22292d9fe8e
MD5 221edc143076870522cbfd354894e149
BLAKE2b-256 6099dd44738c22b1d67b68e22c4449f16485990d181b989c9917591be8bd3cef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page