This repository contains the necessary files and configurations to deploy the Llama3-8B model on AWS Inferentia 2 instances using Amazon EKS (Elastic Kubernetes Service) and vLLM.
-
Dockerfile: Defines the container image for running vLLM with Llama3-8B on Inferentia 2. -
cluster-config.yaml: Configuration file for creating the Amazon EKS cluster. -
deployment.yaml: Kubernetes deployment configuration for the Llama3-8B model. -
nodegroup-config.yaml: Configuration for the Inferentia 2 node group in the EKS cluster.
This project demonstrates how to:
- Set up an Amazon EKS cluster
- Configure Inferentia 2 node groups
- Build and push a custom Docker image for vLLM
- Deploy Llama3-8B model using vLLM on Inferentia 2 instances
- Configure Kubernetes probes for health checking
- Scale the deployment
- AWS CLI
- eksctl
- kubectl
- docker
- Create the EKS cluster using the
cluster-config.yamlfile. - Set up the Inferentia 2 node group using the
nodegroup-config.yamlfile. - Build and push the Docker image using the provided
Dockerfile. - Deploy the Llama3-8B model using the
deployment.yamlfile.
- The deployment uses 8 Neuron cores per replica for optimal performance.
- Initial startup time for model compilation is around 25 minutes.
- Proper monitoring and scaling strategies are crucial for production use.
For detailed instructions and explanations, please refer to the accompanying blog post.
- Dmitri Laptev - Senior GenAI Solutions Architect at AWS
- Maurits de Groot - Solutions Architect at AWS
- Ziwen Ning - Software Development Engineer at AWS
- Jianying Lang - Principal Solutions Architect at AWS Worldwide Specialist Organization (WWSO)