✨ We just announced Composer to speed up training your models. Check us out on GitHub! ✨

MosaicML + Comet

MosaicML + Comet

We’ve integrated MosaicML Cloud and Composer with Comet's experiment tracking platform, so ML practitioners can easily log relevant metrics and metadata. Improve your speed and efficiency with an end-to-end solution that helps you visualize and track your training runs to get the best model for your needs in the shortest time. In this blog post, we will show how easy it is to monitor and log your training workloads on the MosaicML Cloud with Comet.

Visibility for your Efficient Training

At MosaicML, we make fast, high-quality ML training accessible to everyone. Our MosaicML Cloud leverages algorithmic efficiency and effortless scale to bring the power of large deep learning models within reach of any enterprise. A key part of that accessibility is providing easy-to-use integrations with experiment tracking and training management solutions. Comet offers best-of-breed solutions to help you manage, visualize, and optimize your ML pipeline through dataset management, experiment tracking, a model registry, and production performance monitoring. Train your best model, using your organization’s data, on MosaicML Cloud, and keep track of the full pipeline with Comet.

Together, Comet and MosaicML enable faster, more efficient, and better instrumented model training. Through this combination of capabilities working in concert, your organization can deliver the best models for your business needs.

Start logging runs with Comet experiment tracking

With just a few lines of code and configuration in your MosaicML Cloud training runs, you can use Comet to log:

  • Model-relevant metrics like loss
  • System performance metrics like GPU utilization
  • Hyperparameters
  • Dependencies
  • Debugging samples

and more. MosaicML Cloud’s “integrations” feature helps assemble your environment without all the boilerplate.

NOTE: Before getting started, sign up for MosaicML Cloud access (if you haven't), and make sure you have completed setup for both MosaicML Cloud and Comet.

1. Add your Comet API key

Generate a Comet API Key at this link, then create an environment variable secret using MosaicML’s CLI:

mcli create secret env COMET_API_KEY=[YOUR COMET API KEY]

This command creates a secret which will mount your API key in the run execution environment as the variable COMET_API_KEY.

2. Add the Comet integration to your run configuration

In your run configuration YAML file, specify the workspace and project name within Comet where your run metrics should be logged:

integrations:
  - integration_type: comet_ml
    project_name: my_project
    workspace: my_workspace

3. Pass a CometLogger to your Composer Trainer

In your code, instantiate a CometMLLogger object, and pass it to your Composer Trainer:

from composer import Trainer
from composer.loggers import CometMLLogger

cometml_logger = CometMLLogger()

trainer = Trainer(
    model=model,
    train_dataloader=train_dataloader,
    eval_dataloader=eval_dataloader,
    loggers=[cometml_logger],
)

NOTE: The above is a Composer example, but the CometML integration will set up the environment for any code that uses the `comet_ml` python package.

4. You’re logging to Comet!

Log into your Comet dashboard and watch your training run data appear:

Try out MosaicML Cloud and Comet for yourself

(here's that MosaicML Cloud sign-up link again)

Ready to get started? Check out these helpful resources:

  1. MosaicML Cloud
  2. Comet docs
  3. MosaicML docs
  4. MosaicML Cloud + Comet integration page

If you have any questions, our teams are available on Comet Slack and MosaicML Slack communities.

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.