Skip to content

๐Ÿค– ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป for ๐—ณ๐—ฟ๐—ฒ๐—ฒ how to ๐—ฏ๐˜‚๐—ถ๐—น๐—ฑ an end-to-end ๐—ฝ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐˜๐—ถ๐—ผ๐—ป-๐—ฟ๐—ฒ๐—ฎ๐—ฑ๐˜† ๐—Ÿ๐—Ÿ๐—  & ๐—ฅ๐—”๐—š ๐˜€๐˜†๐˜€๐˜๐—ฒ๐—บ using ๐—Ÿ๐—Ÿ๐— ๐—ข๐—ฝ๐˜€ best practices: ~ ๐˜ด๐˜ฐ๐˜ถ๐˜ณ๐˜ค๐˜ฆ ๐˜ค๐˜ฐ๐˜ฅ๐˜ฆ + 12 ๐˜ฉ๐˜ข๐˜ฏ๐˜ฅ๐˜ด-๐˜ฐ๐˜ฏ ๐˜ญ๐˜ฆ๐˜ด๐˜ด๐˜ฐ๐˜ฏ๐˜ด

License

Notifications You must be signed in to change notification settings

decodingml/llm-twin-course

Repository files navigation

LLM Twin Course: Building Your Production-Ready AI Replica

Learn to architect and implement a production-ready LLM & RAG system by building your LLM Twin

From data gathering to productionizing LLMs using LLMOps good practices.

by Paul Iusztin, Alexandru Vesa and Alexandru Razvant

Your image description

Why is this course different?

By finishing the "LLM Twin: Building Your Production-Ready AI Replica" free course, you will learn how to design, train, and deploy a production-ready LLM twin of yourself powered by LLMs, vector DBs, and LLMOps good practices.

Why should you care? ๐Ÿซต

โ†’ No more isolated scripts or Notebooks! Learn production ML by building and deploying an end-to-end production-grade LLM system.

What will you learn to build by the end of thisย course?

You will learn how to architect and build a real-world LLM system from start to finishโ€Š-โ€Šfrom data collection to deployment.

You will also learn to leverage MLOps best practices, such as experiment trackers, model registries, prompt monitoring, and versioning.

The end goal? Build and deploy your own LLM twin.

What is an LLM Twin? It is an AI character that learns to write like somebody by incorporating its style and personality into an LLM.

Table of contents

The architecture of the LLM twin is split into 4 Python microservices:

LLM Twin Architecture

The data collection pipeline

  • Crawl your digital data from various social media platforms.
  • Clean, normalize and load the data to a Mongo NoSQL DB through a series of ETL pipelines.
  • Send database changes to a RabbitMQ queue using the CDC pattern.
  • โ˜๏ธ Deployed on AWS.

The feature pipeline

  • Consume messages from a queue through a Bytewax streaming pipeline.
  • Every message will be cleaned, chunked, embedded and loaded into a Qdrant vector DB in real-time.
  • In the bonus series, we refactor the cleaning, chunking, and embedding logic using Superlinked, a specialized vector compute engine. We will also load and index the vectors to Redis vector search.
  • โ˜๏ธ Deployed on AWS.

The training pipeline

  • Create a custom dataset based on your digital data.
  • Fine-tune an LLM using QLoRA.
  • Use Comet ML's experiment tracker to monitor the experiments.
  • Evaluate and save the best model to Comet's model registry.
  • โ˜๏ธ Deployed on Qwak.

The inference pipeline

  • Load the fine-tuned LLM from Comet's model registry.
  • Deploy it as a REST API.
  • Enhance the prompts using advanced RAG.
  • Generate content using your LLM twin.
  • Monitor the LLM using Comet's prompt monitoring dashboard.
  • In the bonus series, we refactor the advanced RAG layer to write more optimal queries using Superlinked.
  • โ˜๏ธ Deployed on Qwak.
  • Wrap up everything with a Gradio UI (as seen below) where you can start playing around with the LLM Twin.

Gradio UI

Along the 4 microservices, you will learn to integrate 3 serverless tools:

Who is thisย for?

Audience: MLE, DE, DS, or SWE who want to learn to engineer production-ready LLM systems using LLMOps good principles.

Level: intermediate

Prerequisites: basic knowledge of Python, ML, and the cloud

How will youย learn?

The course contains 11 hands-on written lessons and the open-source code you can access on GitHub.

You can read everything and try out the code at your own pace.ย 

Costs?

The articles and code are completely free. They will always remain free.

If you plan to run the code while reading it, you have to know that we use several cloud tools that might generate additional costs.

Pay as you go

  • AWS offers accessible plans to new joiners.
    • For a new first-time account, you could get up to 300$ in free credits which are valid for 6 months. For more, consult the AWS Offerings page.
  • Qwak has a QPU based pricing plan. Here's what you need to know:
    • A QPU stands for Qwak Processing Unit, and is the equivalent of 4vCPU-16GB.
    • Qwak offers up to 100QPU/month for free for up to one year after registration.
    • After that, a policy of 1.2$/QPU is applied as a pay-as-you-go tactic.
    • To find more about Qwak pricing, consult Qwak Pricing Page
    • To find more about Qwak Compute Instances, consult Qwak Instances Page

Freemium (Free-of-Charge)

Questions and troubleshooting

Please ask us any questions if anything gets confusing while studying the articles or running the code.

You can ask any question by opening an issue in this GitHub repository by clicking here.

Lessons

โ†’ Quick overview of each lesson of the LLM Twin free course.

Important

To understand the entire code step-by-step, check out our articles โ†“

The course is split into 12 lessons. Every Medium article represents an independent lesson.

The lessons are NOT 1:1 with the folder structure!

System design

  1. An End-to-End Framework for Production-Ready LLM Systems by Building Your LLM Twin

Data engineering: Gather & store the data for your LLM twin

  1. The Importance of Data Pipelines in the Era of Generative AI
  2. Change Data Capture: Enabling Event-Driven Architectures

Feature pipeline: prepare data for LLM fine-tuning & RAG

  1. SOTA Python Streaming Pipelines for Fine-tuning LLMs and RAG โ€” in Real-Time!
  2. The 4 Advanced RAG Algorithms You Must Know to Implement

Training pipeline: fine-tune your LLM twin

  1. The Role of Feature Stores in Fine-Tuning LLMs: From raw data to instruction dataset
  2. How to fine-tune LLMs on custom datasets at Scale using Qwak and CometML
  3. Best Practices when evaluating fine-tuned LLMs

Inference pipeline: serve your LLM twin

  1. Architect scalable and cost-effective LLM & RAG inference pipelines
  2. How to evaluate your RAG using RAGAs Framework

Bonus: refactor and optimize the RAG system

  1. Build a scalable RAG ingestion pipeline using 74.3% less code
  2. Build Multi-Index Advanced RAG Apps

Install & Usage

To understand how to install and run the LLM Twin code, go to the INSTALL_AND_USAGE dedicated document.

Note

Even though you can run everything solely using the INSTALL_AND_USAGE dedicated document, we recommend that you read the articles to understand the LLM Twin system and design choices fully.

Bonus Superlinked series

The bonus Superlinked series has an extra dedicated README that you can access under the 6-bonus-superlinked-rag directory.

In that section, we explain how to run it with the improved RAG layer powered by Superlinked.

Meet your teachers!

The course is created under the Decoding ML umbrella by:

Paul Iusztin
Senior ML & MLOps Engineer
Alexandru Vesa
Senior AI Engineer
Rฤƒzvanศ› Alexandru
Senior ML Engineer

License

This course is an open-source project released under the MIT license. Thus, as long you distribute our LICENSE and acknowledge our work, you can safely clone or fork this project and use it as a source of inspiration for whatever you want (e.g., university projects, college degree projects, personal projects, etc.).

Contributors

A big "Thank you ๐Ÿ™" to all our contributors! This course is possible only because of their efforts.

Sponsors

Also, another big "Thank you ๐Ÿ™" to all our sponsors who supported our work and made this course possible.

Comet Bytewax Qdrant Qwak Superlinked
Comet Bytewax Qdrant Qwak Superlinked

About

๐Ÿค– ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป for ๐—ณ๐—ฟ๐—ฒ๐—ฒ how to ๐—ฏ๐˜‚๐—ถ๐—น๐—ฑ an end-to-end ๐—ฝ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐˜๐—ถ๐—ผ๐—ป-๐—ฟ๐—ฒ๐—ฎ๐—ฑ๐˜† ๐—Ÿ๐—Ÿ๐—  & ๐—ฅ๐—”๐—š ๐˜€๐˜†๐˜€๐˜๐—ฒ๐—บ using ๐—Ÿ๐—Ÿ๐— ๐—ข๐—ฝ๐˜€ best practices: ~ ๐˜ด๐˜ฐ๐˜ถ๐˜ณ๐˜ค๐˜ฆ ๐˜ค๐˜ฐ๐˜ฅ๐˜ฆ + 12 ๐˜ฉ๐˜ข๐˜ฏ๐˜ฅ๐˜ด-๐˜ฐ๐˜ฏ ๐˜ญ๐˜ฆ๐˜ด๐˜ด๐˜ฐ๐˜ฏ๐˜ด

Topics

Resources

License

Stars

Watchers

Forks