- Syllabus for Artificial Intelligence for Product Innovation Master of Engineering
- AIPI 561: Operationalizing Large Language Models (LLMOPs)
- Rubric
In this course, you will learn about the methodologies involved in operationalizing Large Language Models. By the end of the course, you will be able to develop applications that use software development best practices with large language models.
Faculty
Table of Contents
- Prerequisites
- Week 1: Introduction to Generative AI Concepts
- Week 2: Setup Development Environment
- Week 3: Interacting with Large Language Models
- Week 4: Using Local Large Language Models
- Week 5: Applied Solutions with LLMs
- Week 6: Extensibility Using Plugins and Functions
- Week 7: Using Retrieval Augmented Generation
- Week 8: Introduction to Python Web Frameworks for APIs
- Week 9: DevOps Principles
- Week 10: Deploying Machine Learning APIs
- Week 11: LLM Platforms
- Week 12: Final Presentations
By the end of the course, you will be able to:
- Build Large Language Model (LLM) or Small Language Model (SLM) solutions
- Build, share and present compelling portfolios using: Github, YouTube, and Linkedin.
- Setup a provisioned project environment
- Develop a non-linear life-long learning skill
Note
Diversity Statement: As educators and learners, we must share a commitment to diversity and equity, removing barriers to education so that everyone may participate fully in the community. In this course, we respect and embrace the unique experiences that brought each person here, including backgrounds, identities, learning styles, ways of expression, and academic interests. The broad spectrum of perspectives represented by our students enrich everyone’s experiences, and we strive to meet each perspective with openness and respect.
This course requires basic Linux and programming skills. You can complete all coursework with either Python or Rust. Use the following recommendations to get up to speed on these skills.
Linux If students lack basic Linux skills it is recommended to take this course: Duke+Coursera: Python, Bash and SQL Essentials for Data Engineering Specialization
Important
You don't need both programming languages for this course, you can pick either or.
Python
These two modules from the Introduction to Python course covers the basics of Python:
- Python Essentials for MLOps-Week1-Introduction to Python
- Python Essentials for MLOps-Week2-Python Functions and Classes
Rust
This course on Rust Fundamentals covers the basics of the Rust Programming Language.
Although this course is based on the Large Language Model Operations (LLMOPs) specialization, you can use these additional resources as supporting material:
Courses:
- Duke+Coursera: Large Language Model Operations (LLMOps) Specialization
- Duke+Coursera: MLOps, Machine Learning Operations Specialization
- Rust Programming Specialization
- Duke+Coursera: Cloud Computing for Data Coursera Course
Books:
Rust:
Python:
- Python Essentials for MLOps-Week1-Introduction to Python
- Python Essentials for MLOps-Week2-Python Functions and Classes
- Python Essentials for MLOps-Week4-Introduction to Pandas and NumPy
- Introduction to Generative AI
- Public Speaking
- Developing Effective Technical Communication
- Exploring Cloud Onboarding
Weekly Demo video prompt: Discuss your plan and idea to build out your individual project and how you will do them on time. Use the Public Speaking guidelines to make sure you are delivering great demos.
Python:
- Python Development Environments_
- Pytest Master Class
- Python Essentials for MLOps-Week5-Applied Python for MLOps
Rust:
Weekly Demo video prompt: Describe your programming language choice and what are some of the advantages and potential pitfalls.
- Interacting with models
- Building robust Generative AI systems
- Introduction to MLOps Walkthrough
- MLOPs Foundations: Chapter 2 Walkthrough of Practical MLOps
- Chapter 1: Introduction to MLOps
- Chapter 2. MLOps Foundations
Weekly Demo video prompt: Discuss your plan and idea to build out your individual project and how you will do them on time.
- Beginning Llamafile for Local Large Language Models (LLMs)
- Getting Started with Open Source Ecosystem
- Foundations of Local Large Language Models
Weekly Demo video prompt: Describe your evaluation of the different Local Large Language and Small Language Models available with Llamafile and which one would work best for your project.
- Local LLMOps
- AI Pair Programming from CodeWhisperer to Prompt Engineering
- Using Local LLMs from Llamafile to Whisper.cpp
- Open Source Platforms for MLOps-Week2-Introduction to Hugging Face
- Open Source Platforms for MLOps-Week3-Deploying Hugging Face
- Open Source Platforms for MLOps-Week4-Applied Hugging Face
Weekly Demo video prompt: Explain the architectural overview of your application and what are some challenges with this type of design.
- Extending with Functions and Plugins
- Applications of LLMs
- MLOps Platforms: Amazon SageMaker and Azure ML-Week1
Weekly Demo video prompt: What are some benefits of adding plugins and functions to your application idea? What would be a challenge in a production environment?
Weekly Demo video prompt: How would adding RAG to your application affect the overall experience for an end user? Why or why wouldn't you consider using RAG in your application?
- Introduction to FastAPI Framework
- Introduction to Flask Framework
- Applied Python for MLOPs
- Cloud Virtualization, Containers and APIs
Weekly Demo video prompt: What are some benefits of using the framework you chose? Describe how you will make it work with your application.
- Responsible Generative AI
- Applying DevOps Principles
- MLOps Platforms: Amazon SageMaker and Azure ML-Week2
- MLOps Platforms: Amazon SageMaker and Azure ML-Week3
Weekly Demo video prompt: How would you apply DevOps, Responsible AI Principles, and automation for your application? What are some challenges you may face?
Weekly Demo video prompt: What are some difficulties of using automation? How will using automation benefit your application?
- Introduction to LLMOps with Azure
- mlflow-project-best-practices
- MLOps Platforms From Zero: Databricks, MLFlow/MLRun/SKLearn
- Azure Databricks, Pandas, and Opendatasets
- MLOps Platforms: Amazon SageMaker and Azure ML-Week5
- MLOps Platforms: Amazon SageMaker and Azure ML-Week4
Weekly Demo video prompt: How would adding a cloud platform enable your application? What are some potential drawbacks in using an LLM platform?
- Turn in Final Project
This class is based on a single and individual class project. You will start work on this project from Week 1 and will deliver the completed project with final presentation on Week 12.
See the rubric for more details.
Important
Do not build a model yourself. Reuse a LLM or an SLM model. Use Mozilla Llamafile as a reference.
The primary two resources you will need to build an LLM solution using a local API are these:
- Beginning Llamafile for Local Large Language Models (LLMs)
- Getting Started with Open Source Ecosystem
- Python MLOps Cookbook
- databricks-zero-to-mlops
- Python Fire
- Refactoring a Python script into a library called by Python Click CLI
- Container Continuous Delivery
- Functions to Containerized Microservice Continuous Delivery to AWS App Runner with Fast API
- mlflow-project-best-practices
- databricks-zero-to-mlops
- Python MLOps Cookbook
- Edge Computer Vision
- Github Codespaces
- AWS Academy
- Azure for Students
- Google Qwiklabs
- Practical MLOps
- Pragmatic AI
- AWS Bootcamp
- Gift, N (2020) Python for DevOps Sebastopol, CA: O'Reilly.
- Gift, N (2021) Practical MLOps, Sebastopol, CA: O'Reilly
- Gift, N (2021) Cloud Computing for Data Analysis
- Gift, N (2020) Pragmatic AI: An Introduction to Cloud-Based Machine Learning
- AWS Training & Certification
- AWS Educate
- AWS Academy
- Google Qwiklabs - Hands-On Cloud Training
- Coursera
- Microsoft Learn
- edX
- Applied Computer Vision with Python Lectures: https://learning.oreilly.com/videos/applied-computer-vision/60652VIDEOPAIMLL/
- Learn Python in One Hour: https://learning.oreilly.com/videos/learn-python-in/60645VIDEOPAIML/
- Cloud Computing with Python: https://learning.oreilly.com/videos/cloud-computing-with/60650VIDEOPAIML/
- Python for Data Science with Colab and Pandas in One Hour: https://learning.oreilly.com/videos/python-for-data/62062021VIDEOPAIML/
- GCP Cloud Functions:
https://learning.oreilly.com/videos/learn-gcp-cloud/50101VIDEOPAIML/ - Azure AutoML
https://learning.oreilly.com/videos/learn-azure-ml/50104VIDEOPAIML/
- AWS Cloud Practitioner
- AWS ML
- AWS SA
-
Building AI Applications with GCP: https://learning.oreilly.com/videos/building-ai-applications/9780135973462/
-
Build GCP Cloud Functions:
https://learning.oreilly.com/videos/learn-gcp-cloud/50101VIDEOPAIML/
- Data Science, Pandas, and Colab
https://learning.oreilly.com/videos/python-for-data/62062021VIDEOPAIML/
- Python and DevOps
https://learning.oreilly.com/videos/python-devops-in/61272021VIDEOPAIML/ - Python Command-line Tools
https://learning.oreilly.com/videos/learn-python-command-line/50102VIDEOPAIML/
-
Docker containers:
https://learning.oreilly.com/videos/learn-docker-containers/50103VIDEOPAIML/ -
Learn the Vim Text Editor:
https://learning.oreilly.com/videos/learn-vim-in/50100VIDEOPAIML/
Grading and feedback turnaround will be one week from the due date. You will be notified if the turnaround will be longer than one week.
The discussion forums, written assignments, demo videos, and final project will be graded based on specific criteria or a rubric. The criteria or rubric for each type of assessment will be available in the course. To view the discussion forum rubric, click the gear icon in the upper right corner of the page and choose Show Rubric. The Written Assignment Rubric and Final Project Rubric will automatically appear on the page.
Late work will be accepted only in the event of an instructor-approved absence. Contact your instructor as soon as possible, at least 24 hours in advance.
The purpose of the discussion boards is to allow students to freely exchange ideas. It is imperative to remain respectful of all viewpoints and positions and, when necessary, agree to respectfully disagree. While active and frequent participation is encouraged, cluttering a discussion board with inappropriate, irrelevant, or insignificant material will not earn additional points and may result in receiving less than full credit. Frequency matters, but contributing content that adds value is paramount. Please remember to cite all sources—when relevant—in order to avoid plagiarism. Please post your viewpoints first and then discuss others’ viewpoints.
The quality of your posts and how others view and respond to them are the most valued. A single statement mostly implying “I agree” or “I do not agree” is not counted as a post. Explain, clarify, politely ask for details, provide details, persuade, and enrich communications for a great discussion experience. Please note, there is a requirement to respond to at least two fellow class members’ posts. Also, remember to cite all sources—when relevant—in order to avoid plagiarism.
Beyond interacting with your instructor and peers in discussions, you will be expected to communicate by Canvas message, email, and sync session. Your instructor may also make themselves available by phone or text. In all contexts, keep your communication professional and respect the instructor’s posted availability.
Just as you expect a response when you send a message to your instructor, please respond promptly when your instructor contacts you. Your instructor will expect a response within two business days. This will require that you log into the course site regularly and set up your notifications to inform you when the instructor posts an announcement, provides feedback on work or sends you a message.
This course will not meet at a particular time each week. All course goals, session learning objectives, and assessments are supported through classroom elements that can be accessed at any time. To measure class participation (or attendance), your participation in threaded discussion boards is required, graded, and paramount to your success in this course. Please note that any scheduled synchronous meetings are optional. While your attendance is highly encouraged, it is not required and you will not be graded on your attendance or participation.
This course will involve a number of different types of interactions. These interactions will take place primarily through Microsoft Teams. Please take the time to navigate through the course and become familiar with the course syllabus, structure, and content and review the list of resources below.
Students in an online program should be able to do the following:
- Communicate Teams discussion forums.
- Use web browsers and navigate the World Wide Web.
- Use the learning management system Teams.
- Use Teams
- Use applications to create documents and presentations (e.g., Microsoft Word, PowerPoint).
- Use applications to share files (e.g., Box, Google Drive).
In order to be successful in an online course, students should be able to locate, evaluate, apply, create, and communicate information using technology.
Students in this online course should be able to do the following:
- Create, name, compose, upload, and attach documents.
- Download, modify, upload, attach document templates.
- Create, name, design, and upload presentations.
- Access and download Course Reserve readings; read and review PDF documents.
- Access and use a digital textbook.
- Record and upload video taken with a webcam or smartphone.
- Use the library website for scholarly research tasks.
- Search the Internet strategically and assess the credibility of Internet sources.
- Participate in threaded discussions by contributing text responses, uploading images, sharing links.
- Coordinate remote work with peers, which may include contacting each other by e-mail, phone, video conference, or shared document.
- Edit and format pages in the course site using a WYSIWIG (What You See is What You Get) editor or basic HTML.
- Using a quizzing tool to answer multiple choice, true/false, matching, and short response questions within a given time period.
- Follow directions to engage with a remote proctor by text, webcam, and audio.
- Use a video player to review content, including pausing and restarting video.
You may want to complement this course with the following certifications: