Delio D'Anna

Delio D’Anna holds a degree in computing and mathematical science and earned a postgrad diploma in computing. He’s worked in the software industry for over 10 years, mainly on web applications with languages such as PHP, JavaScript, Python, and JavaFirst, as well as Go. He co-authored a book titled The Go Workshop. His focus remains on microservices, scalability, and domain-driven design. In the last 2 years, he’s been working with Python to put trained models in production and automate training pipelines, with a focus on leveraging the increasingly popular Ray framework and tools for ensuring that several models and inference pipelines can be run in parallel.

projects by Delio D'Anna

Deploy ML Models in Production with Ray

3 weeks · 6-8 hours per week average · INTERMEDIATE

In this series of liveProjects, you’ll play roles at three different companies, leveraging the Ray framework to prepare and deploy machine learning models to production. Working for a company that wants to find new markets for its lifestyle products, you’ll use Ray to build a web scraper and prepare your scraped data for training an ML model.

As a machine learning engineer working for a healthcare company that provides software to hospitals, you’ll use the Ray framework to serve a model through a webpage and help your client save lives by using its patients’ parameters to predict imminent heart failure.

Finally, you’ll help protect the reputation of a company that provides a news feed aggregator by deploying and optimizing a complex, compound NLP model that distinguishes fake news from real news. When you’re finished with these liveProjects, you’ll have learned Ray basics, as well as more advanced features for preprocessing large volumes of data, making concurrent use of all CPUs, and deploying ML models to production.

Serve a Compound Model

1 week · 4-6 hours per week · INTERMEDIATE

The company you work for, which provides a news feed aggregator, is plagued with an influx of hoaxes that are putting its reputation in jeopardy. The data science team has already trained a set of complex natural language processing (NLP) models to distinguish real news from fake news. Your task is to build a service, using Ray, that exposes the endpoint that returns the JSON object categorized as either a hoax or news. Then, you’ll optimize the service for performance and speed, enabling it to perform more parallel operations and use as many GPUs as possible. When you’re finished, you’ll have firsthand experience using some of Ray Serve’s advanced features for serving and optimizing a compound model—and you’ll have kept your company’s reputation safe.

Serve a Model

1 week · 4-6 hours per week · INTERMEDIATE

Step into the role of a machine learning engineer working for a healthcare company that provides software to hospitals. One of your clients, a national health provider, has asked your company to provide software that predicts heart failure in patients. Using scikit-learn, you’ll develop a model that uses linear regression on a public Kaggle dataset containing heart failure data. Using Ray Serve, you’ll first deploy a function that accepts a wide range of parameters, then serve your model and provide functionality for multiple concurrent requests. When you’re done, you’ll have learned to use the Ray framework to serve your model through a webpage and helped your client save lives by using its patients’ parameters to predict imminent heart failure.

Preprocess Data in Parallel

1 week · 8-10 hours per week · INTERMEDIATE

The company you work for, which offers lifestyle products, has enjoyed success for several years, but management has decided it’s not competitive enough. Your task is to identify current market trends and new niche markets for the company’s lifestyle products. Using Python and Ray, you’ll build a web scraper that will load and save multiple web pages concurrently. To preprocess the data, you’ll read each of your locally stored pages, split them into sentences, tokenize each sentence with Hugging Face tokenizers, and store your tokenized documents in a new (pickled) format in your file system. When you’re finished, you’ll have leveraged Ray to preprocess a large amount of data while bypassing Python’s notorious concurrency limitations. The data science team will thank you for helping minimize the data preparation time, and the management team will thank you for helping the company sharpen its competitive edge.