How to Train Object Detection Models at Scale with Determined

This post is a recap of Determined’s lunch-and-learn session from January 26: “Scalable Object Detection with Determined”.

Lunch!

Deep learning is hard. If you’re like us, you believe that deep learning - and artificial intelligence, more broadly - is going to impact every industry in our lifetime. But fast advancements in the field make it increasingly difficult to keep up with state-of-the-art research. That’s why we thought it would be useful to delve into an interactive tutorial of how to understand and reproduce advanced approaches of a popular use case for deep learning: object detection.

At Determined we’re constantly trying to make our deep learning training platform the easiest, fastest, and most reliable way to train models - not only for our customers but for our growing open-source community as well. We hosted a free lunch-and-learn session to walk through how to train state-of-the-art object detection models at scale using Determined. Here’s a recap of how the session went!

Background

Object detection is a critical part of computer vision - a subclass of machine learning that aims to understand natural images to enable applications like self-driving cars and novel drug discovery. Training object detection models at scale can be time-consuming and expensive, so we wanted to show how users can leverage Determined to speed up model development.

For the session, we chose a recent framework by Facebook Research called DEtection TRansformers (DETR) and Deformable DETR, a model that improves DETR recently published in ICLR 2021. Folks were encouraged to install Determined beforehand and join the community slack so that we could handle questions in real-time. Our host for the session was Liam Li, an Applied Machine Learning Engineer at Determined.

Learning!

Liam started off by going through some of the basics of object detection, covering the problem statement, what a typical dataset looks like, and how to evaluate the performance of object detection models.

Level-setting on training object detection models

Liam then jumped into the method of the hour - DETR (Detection Transformers) from developers at Facebook. DETR takes a slightly different approach to object detection training by using transformers to replace complicated, hand-designed components that are commonplace in object detection pipelines. Liam then explained how using Deformable DETR can result in better performance with fewer training epochs, which set the stage for the hands-on part of the session.

Here’s a breakdown of what the order of activities looked like:

Demo Outline: Clone our repo to follow along!

git clone https://github.com/determined-ai/lunch_and_learn
  • Determined command line
    • Working with notebooks for interactive data analysis
  • Training DETR in Determined
    • Organizing code with our Trial API
    • Distributed training via changing a single config field
    • Monitoring experiments with the WebUI
  • Using the model registry
    • Saving and loading trained models for downstream usage
  • Improve performance of DETR with HP search
    • Run state-of-the-art early-stopping search methods by changing just the config
    • Visualize learning curves of HP search experiments

Rolling Up Our Sleeves

On to the fun part! Attendees were asked to clone the Determined GitHub repo and follow along with Liam’s demo on their own machines. Each user spun up a Jupyter notebook to dive into the DETR architecture before launching their experiments on the Determined cluster.

Over 30 minutes or so, users got their hands dirty training DETR in Determined; we covered how to do distributed training, run advanced hyperparameter search, monitor experiments in the WebUI, and store models for later use in the model registry.

Loading models from the Determined Model Registry

Checking in on hyperparameters

By The Numbers

The lunch-and-learn was a huge success! We had over 100 folks on the Zoom webinar, a little over 30 active participants in our lunch-and-learn Slack channel, and 11 Jupyter notebooks running on the Determined cluster.

Throughout the demo, several Determined engineers were monitoring the community slack lunch-and-learn channel to help folks get Determined up and running.

Debugging!

Conclusion & Next Steps

The lunch-and-learn session was the perfect way to kick off the New Year, engage with Determined community members old and new, and thank our users by buying lunch. Our next lunch-and-learn session, as requested by our community, will cover the best practices of distributed training! We will be posting the details of the event on our Determined AI Meetup group over the next few days - so stay tuned!

Check these links to access the lunch-and-learn GitHub repo and slide deck for the session, and be sure to join our Slack community before the next lunch-and-learn session.