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.8.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.8-py3-none-any.whl (47.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: magemaker-0.1.8.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.8.tar.gz
Algorithm Hash digest
SHA256 fcb286f91d44307ba01f58cf7d9cf8d612d7a8e6f8b80606821ede8f7ba43387
MD5 cceeafbf1acfdbe7db0bd61329a5bb33
BLAKE2b-256 fe64f9f7793fff99d128d00652b57003972c72788f9a92ca568a74864af76941

See more details on using hashes here.

File details

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

File metadata

  • Download URL: magemaker-0.1.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e2a95cbb27f3e7015c6953a8fbc77382ded73bf93316e3962d68c897c2d6261e
MD5 e2b13245be9d52d537a031703c7d00b8
BLAKE2b-256 d99672c3a18732d2dd41619d4d38c8f47c1208435d534c77bbf62f5ec98f1a59

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