Skip to main content

A CLI tool to fine-tuning and deploying open-source models

Project description


Magemaker by SlashML

Deploy open source AI models to AWS, GCP, and Azure in minutes.
📚 Documentation »

Join our Discord

Table of Contents
  1. About Magemaker
  2. Getting Started
  3. Using Magemaker
  4. What we're working on next
  5. Known issues
  6. Contributing
  7. License
  8. Contact

About Magemaker

Magemaker is a Python tool that simplifies the process of deploying an open source AI model to your own cloud. Instead of spending hours digging through documentation, Magemaker lets you deploy Hugging Face models directly to AWS SageMaker, Google Cloud Vertex AI, or Azure Machine Learning.

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • Python 3.11+ (except 3.12)
  • Cloud provider account(s):
    • AWS for SageMaker
    • GCP for Vertex AI
    • Azure for Azure ML
  • Cloud CLI tools:
    • AWS CLI (optional)s
    • Google Cloud SDK for GCP
    • Azure CLI for Azure
  • Hugging Face account (for access to models)

Installing the package

pip install magemaker

Run it by simply doing the following:

magemaker

The first time you run this command, it will ask you for a cloud provider flag. You can specify it using magemaker --cloud gcp. The possible options for cloud provider flags are gcp|aws|azure|all, where all will configure all providers. If this is your first time running it, it will take some time to configure it. You'll be guided through setting up your chosen cloud provider(s).

Using Magemaker

Deploying models from dropdown

When you run magemaker command it will give you an interactive menu to deploy models. You can choose from a dropdown of models to deploy.

Deploy using a yaml file

We recommend deploying through a yaml file for reproducibility and IAC. Deploy via YAML files by passing the --deploy option:

magemaker --deploy .magemaker_config/model-config.yaml

Example YAML files for deploying facebook/opt-125m:

AWS (SageMaker):

deployment: !Deployment
  destination: aws
  endpoint_name: facebook--opt-125m
  instance_count: 1
  instance_type: ml.m5.xlarge

models:
- !Model
  id: facebook/opt-125m
  source: huggingface
  task: text-generation

GCP (Vertex AI):

deployment: !Deployment
  destination: gcp
  endpoint_name: test-endpoint-12
  accelerator_count: 1
  instance_type: g2-standard-12
  accelerator_type: NVIDIA_L4

models:
- !Model
  id: facebook/opt-125m
  source: huggingface

Azure ML:

deployment: !Deployment
  destination: azure
  endpoint_name: facebook--opt-125m
  instance_count: 1
  instance_type: Standard_DS3_v2

models:
- !Model
  id: facebook/opt-125m
  source: huggingface
  task: text-generation

Deactivating models

⚠️ Any model endpoints you spin up will run continuously unless you deactivate them! Make sure to delete endpoints you're no longer using to avoid unnecessary charges.

What we're working on next

  • More robust error handling for various edge cases
  • Verbose logging
  • Enabling / disabling autoscaling
  • Enhanced multi-cloud support features

Known issues

  • Querying within Magemaker currently only works with text-based models
  • Deleting a model is not instant, it may show up briefly after deletion
  • Deploying the same model within the same minute will break

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Contact

You can reach us through:

We'd love to hear from you! We're excited to learn how we can make this more valuable for the community and welcome any and all feedback and suggestions.

Project details


Download files

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

Source Distribution

magemaker-0.1.15.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

magemaker-0.1.15-py3-none-any.whl (47.0 kB view details)

Uploaded Python 3

File details

Details for the file magemaker-0.1.15.tar.gz.

File metadata

  • Download URL: magemaker-0.1.15.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.6

File hashes

Hashes for magemaker-0.1.15.tar.gz
Algorithm Hash digest
SHA256 ab47bedc91548f8bbac84856ed0aaf91570da3121ca6f7c221e3a7fe944c7361
MD5 697a6ec5a9aa63c2f1b9dec5a77ea798
BLAKE2b-256 1d33a67ef287135a7d9f0070740818030d1a73509070a75fe177d3f8d8bb3192

See more details on using hashes here.

File details

Details for the file magemaker-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: magemaker-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 47.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.6

File hashes

Hashes for magemaker-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 15e32bc488c41be4bedc63f9f739195f0cdbe2f06fd3dc4602501cd1d4aad004
MD5 843872429ba5edaf6cdc4eb1db0fe56d
BLAKE2b-256 2ade06a9b5c81f3cd6c74baa4c26d670100597fd23f7c6fa466a2b4d80caaf8e

See more details on using hashes here.

Supported by

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