DeepRacer on AWS transforms complex reinforcement learning concepts into an approachable, practical experience through its interactive, user-friendly platform. Users learn the fundamentals of reinforcement learning in a gamified setting without traditional barriers to entry. The platform provides immediate feedback through virtual or physical racing, creating an engaging learning loop that serves both beginners and advanced users.
Overview
With DeepRacer on AWS you'll learn fundamental concepts, skills, and machine learning (ML) training techniques that power foundation models in some of the most advanced generative AI applications today through the fun of racing autonomous cars. DeepRacer on AWS gives you a fun and hands-on way to learn to train ML models, where you can see your training come to life by deploying your model in a virtual racing environment or onto an autonomous RC car and miniature race track.
Benefits
Hands-on learning
Experiment and grow
Test model training fundamentals using the DeepRacer on AWS 3D racing simulator. Experiment with multiple sensor inputs, the latest reinforcement learning algorithms, neural network configurations and simulation to-real domain transfer methods.
Learn through competition
Once you have built your model, it's time to race! Compete against colleagues, host community races or create your own league to put your machine learning skills to the test.
How it works
You can automatically deploy this architecture using the implementation guide and the accompanying AWS CloudFormation template.
View implementation guide
Step 1
A user accesses the DeepRacer on AWS user interface through an Amazon CloudFront distribution, which delivers static web assets from the UI assets bucket and video streams from simulations.
The user interface assets are hosted in an Amazon S3 bucket that stores the static web assets comprising the user interface.
An Amazon Cognito user pool manages users and user group membership.
An Amazon Cognito identity pool manages federation and rule-based role mapping for users.
AWS Identity and Access Management roles define permissions and level-of-access for each user group in the system, used for access control and authorization.
AWS Lambda registration hooks execute pre- and post-registration actions including assigning new users as racers, handling initial admin profile creation, and more.
AWS WAF provides intelligent protection for the API against common attack vectors and allows customers to define custom rules based on individual use cases and usage patterns.
Amazon API Gateway routes API requests to their appropriate handler using a defined Smithy model.
A single Amazon DynamoDB table is responsible for storing and managing profiles, training jobs, models, evaluation jobs, submissions, and leaderboards.
AWS Lambda functions are triggered in response to requests routed from the API and are responsible for CRUD operations, dispatching training/evaluation jobs, and more.
A global settings handler (AWS Lambda function) reads and writes application-level settings to the configuration.
An AWS AppConfig hosted configuration stores application-level settings, such as usage quotas.
Model export handlers (AWS Lambda functions) retrieve the asset URL and package assets for use in exporting models from the system.
An Amazon Simple Queue Service dead-letter queue catches failed export jobs from the asset packaging function.
A virtual model bucket stores exported models and provides access to them via pre-signed URL.
A model import handler (AWS Lambda function) receives requests to import a model onto the system and creates a new import job.
A model import queue (Amazon Simple Queue Service) receives jobs from the model import function and holds them until they are accepted by the dispatcher; a DLQ handles failed jobs.
A failed request handler (AWS Lambda function) manages failed requests and updates their status to reflect their current state.
An import dispatching function takes a job from the queue and dispatches it to the workflow.
A reward function validator (AWS Lambda function) checks the reward function and validates/sanitizes the customer-provided code before it is saved to the system.
An imported model validator function checks and validates the imported model before it is saved to the system.
An imported model assets handler (AWS Lambda function) brings in model assets from the upload bucket.
An import completion handler (AWS Lambda function) handles status updates when a job is completed successfully.
An upload bucket (Amazon S3) stores uploaded (but not yet imported) assets from the user.
An Amazon Simple Queue Service FIFO queue receives requests for training and evaluation jobs and stores them in FIFO order.
A job dispatcher function picks a job off the top of the FIFO queue and dispatches it to the workflow.
Workflow functions handle setting up the job, setting status, and other workflow tasks.
Amazon SageMaker AI training jobs perform the actual training and evaluation of the model using the reward function and hyperparameters provided.
Amazon Kinesis Video Streams handles presenting the simulation video to the user from the training job.
A user data bucket stores all user data including trained models, evaluation results, and other assets generated during the DeepRacer workflow.
Deploy with confidence
Everything you need to launch this AWS Solution in your account is right here.
We'll walk you through it
Get started fast. Read the implementation guide for deployment steps, architecture details, cost information, and customization options.
Let's make it happen
Ready to deploy? Follow a step-by-step guide in the AWS Console to begin setting up the infrastructure you need. You'll be prompted to access your AWS account if you haven't yet logged in.
Deployment tools
Follow these links for direct access to the artifacts for this AWS Solution.
CloudFormation template
View or modify the CloudFormation template to customize your deployment.
Source code
The source code for this AWS Solution is available in GitHub.
Implementation guide
Follow the implementation guide for step-by-step actions to deploy this AWS Solution.
Related content
Amazon DeepRacer Chatbot
This Guidance illustrates how to deploy and use the AWS DeepRacer Chatbot, an intelligent virtual assistant powered by multimodal generative AI and domain adaptation techniques.
Training an AWS DeepRacer Model using Amazon SageMaker AI
This Guidance demonstrates how software developers can use an Amazon SageMaker AI Notebook instance to directly train and evaluate AWS DeepRacer models with full control.
AWS DeepRacer Event Management
This Guidance demonstrates how to deploy and configure DeepRacer Event Manager (DREM), a set of tools that simplify the hosting of AWS DeepRacer events.