This workshop has moved to an official AWS repository and can now be found here. This repository is no longer being maintained.
This workshop is set up following the popular AWS Immersion Day format. It means to provide guidance on how to get started with Generative AI on AWS. The Immersion Day is split up into the following four blocks, consisting of a theory section covered by slides as well of a hands-on lab each:
- Introduction Generative AI & Large Language Models, Large Language Model deployment & inference optimization
- Large Language Model finetuning
- Introduction Visual Foundation Models, deployment & inference optimization of Stable Diffusion
- Engineering GenAI-powered applications on AWS
Note that during an immersion day / workshop potentially only a subset of these topics might be covered.
The repository is structured as follows: The slides can be found in the GenerativeAIImmersionDayPresentationDeck.pdf residing on root level of the repository. Similarily, the labs can be found in respectively named directories:
- Lab 1 - Hosting Large Language Models can be found in the lab1 directory.
- Option 1: For GPT-J start with the notebook option-1-gpt-j-notebook-full.ipynb.
- Option 2: For Falcon40b-instruct start with the notebook falcon40b-instruct-notebook-full.ipynb.
- Lab 2 - Finetuning Large Language Models can be found in the lab2 directory. Start with the notebook fine-tuning.ipynb.
- Lab 3 - Hosting Stable Diffusion can be found in the lab3 directory. Start with the notebook JumpStart_Stable_Diffusion_Inference_Only.ipynb.
- Lab 4 - Building the LLM-powered chatbot "AWSomeChat" with retrieval-augmented generation. Start with the notebook rag-app.ipynb.
For conducting the labs, some basic account setup steps are required. They are described subsequently in what follows.
Click here, paste in the access code and log in to the AWS Workshop Portal to proceed with the lab.
Click Email One-Time Password (OTP) button.
Write down your own email account and click the Send passcode button.
In your email inbox, check for the email subject "Your one-time passcode email" and copy the passcode. Paste the copied passcode as shown below, then press the Sign in button.
Enter the 12-character Event Access Code received from the event organizer and click Next.
Read Terms and Condition and accept by selecting I agree with the Terms and Conditions. Click Join event.
In the next window that appears, click the Open AWS Console button. Note, that the workshop content and region can vary depending on your specific event.
The AWS Console will open in a new browser window.
If you see the following message, your browser has been previously logged into another AWS account.
Click the "here" link to logout of your AWS Console, go back to click on "Open AWS Console" button.
Amazon SageMaker Studio Access: Amazon SageMaker Studio is a web-based, integrated development environment (IDE) for machine learning that lets you build, train, debug, deploy, and monitor your machine learning models. Studio provides all the tools you need to take your models from experimentation to production while boosting your productivity.
If the AWS Account has been provisioned by your AWS Instructor, follow the next steps to access the SageMaker Studio environment:
Open AWS console and switch to AWS region communicated by your instructor.
You can find the list of the AWS regions that support SageMaker Studio here.
Under services search for Amazon SageMaker.
Under Get Started, click on the orange button SageMaker Studio.
A SageMaker Studio environment should already be provisioned. Click on Open Studio (on the right side of the preprovisioned sagemakeruser username).
The page can take 1 or 2 minutes to load when you access SageMaker Studio for the first time.
You will be redirected to a new web tab that looks like the below figure. Click Open Launcher.
Under Notebooks and compute resources, make sure that the Data Science SageMaker image is selected and click on Notebook - Python 3.
You will land in the Untitled.ipynb notebook.
You can rename the notebook by right clicking on the name.
Congratulations!! You have successfully launched a SageMaker Studio Notebook and are now familiar with the basic flow within Sagemaker Studio. You will not need this specific notebook for the upcoming labs, however you can use the exact same notebook configuration (instance, image) throughout the upcoming labs.
!git clone https://github.com/aristsakpinis93/generative-ai-immersion-day
After completion of step 2 you will have llm-immersion-day folder created in left panel of the studio:
Congratulations!! You have successfully downloaded the content of the Generative AI Immersion Day. From now on you can start working on the labs!
Lab 1 - Hosting Large Language Models can be found in the lab1 directory.
- Option 1: For GPT-J start with the notebook option-1-gpt-j-notebook-full.ipynb.
- Option 2: For Falcon40b-instruct start with the notebook falcon40b-instruct-notebook-full.ipynb. Lab 2 - Finetuning Large Language Models can be found in the lab2 directory. Start with the notebook fine-tuning.ipynb. Lab 3 - Hosting Stable Diffusion can be found in the lab3 directory. Start with the notebook JumpStart_Stable_Diffusion_Inference_Only.ipynb. Lab 4 - Building the LLM-powered chatbot "AWSomeChat" with retrieval-augmented generation. Start with the notebook rag-app.ipynb.