Skip to main content

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

Project description


Magemaker v0.1.7, 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.9.tar.gz (35.6 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.9-py3-none-any.whl (47.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: magemaker-0.1.9.tar.gz
  • Upload date:
  • Size: 35.6 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.9.tar.gz
Algorithm Hash digest
SHA256 e72e4b654f986934ebe41e4138d501c148e24e15c0c935eaad4c9c5cd15993e8
MD5 8e4d3cdb5c5f43bfb519a82590835fef
BLAKE2b-256 26cc4aa1378232129ff04340db5131ca117e6ab0a275588525456c04a24d0e6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: magemaker-0.1.9-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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a3505c67d1357b405b1c50656d189c781243f47f89137199baaa6fed811bb286
MD5 d4691e425707234bee5e0558a3cb342d
BLAKE2b-256 596549ee0f243673de22f63139451e515dd3f65400e8003acfce68e4d5159425

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