One case study, all week
Intelligent Support Ticket Processing. Given an English or Arabic customer message, identify its intent, find similar historical cases, assign a category and priority, and draft a grounded recommended reply. Every lab adds a component to this system.
Represent
Tokenization, embeddings, transformers, decision models
Generate
LLMs, decoding, structured outputs, RAG, model selection
Adapt
Encoder fine-tuning, LoRA for LLMs, evaluation, serving
Demonstrate
Team capstones: live demo, results, technical Q&A
Schedule and materials
Each day: Session 1 → 10' break → Session 2 → 20' break → Session 3 → 10' break → Session 4. In the slides press F for fullscreen, ← → to navigate, N for speaker notes, ? for help.
Text Representation & Transformer Foundations
| Session | Lab notebook (opens in Colab) |
|---|---|
| 1 · Tokenization: BPE/WordPiece, IDs, masks, Arabic fertility | D1_1_tokenization |
| Break · 10 min | |
| 2 · Embeddings & semantic search: cosine, pooling, FAISS, Hit@k/MRR | D1_2_embeddings_semantic_search |
| Break · 20 min | |
| 3 · Inside the transformer: attention, encoder vs. decoder, Hugging Face | D1_3_transformers_inside |
| Break · 10 min | |
| 4 · Decision models: zero-shot, embeddings + LR, F1, thresholds | D1_4_decision_models |
LLMs & Applied NLP Systems
| Session | Lab notebook (opens in Colab) |
|---|---|
| 1 · Generative LLMs: next-token prediction, chat templates, decoding | D2_1_generative_llms |
| Break · 10 min | |
| 2 · Prompting & structured outputs: few-shot, schemas, validation, injection | D2_2_prompting_structured_outputs |
| Break · 20 min | |
| 3 · Retrieval-augmented generation: chunking, hybrid search, reranking, citations | D2_3_rag |
| Break · 10 min | |
| 4 · Model selection & evaluation: encoder vs. LLM, latency, cost, cascade | D2_4_model_selection_evaluation |
Fine-Tuning & NLP Engineering
| Session | Lab notebook (opens in Colab) |
|---|---|
| 1 · Fine-tuning fundamentals & data: splits, leakage, imbalance, Datasets | D3_1_finetuning_data_prep |
| Break · 10 min | |
| 2 · Fine-tune a decision model: classification head, Trainer, early stopping | D3_2_finetune_encoder (GPU) |
| Break · 20 min | |
| 3 · LLM adaptation: SFT, LoRA/QLoRA, loss masking, FT vs. RAG | D3_3_lora_llm (GPU) |
| Break · 10 min | |
| 4 · Evaluate, deploy & capstone kickoff: leaderboard, error analysis, Gradio | D3_4_evaluate_deploy |
Capstone Project Presentations
| Session | Notes |
|---|---|
| 1 · Opening + presentations | Expectations (15'), teams 1–2 |
| Break · 10 min | |
| 2 · Presentations | Teams 3–5 |
| Break · 20 min | |
| 3 · Presentations | Teams 6–8 |
| Break · 10 min | |
| 4 · Final presentations, review & closing | Teams 9–10, peer feedback, lessons learned |
Capstone
Teams of 2–3 build an applied NLP solution, choosing one of:
- Intelligent Support Ticket Assistant: classify, retrieve similar cases, draft grounded replies
- Arabic Document Intelligence: extract and categorize; answer questions with evidence
- Voice of Customer Analyzer: classify feedback, cluster issues, summarize insights
Submit a repository with working code, README, evaluation results and sample inputs/outputs. Template: labs/capstone/.
Rubric
Participants will be able to
- Explain and implement tokenization, embeddings and transformer inference
- Build semantic search and text classification systems
- Develop structured-output and retrieval-grounded LLM applications
- Choose between discriminative decision models and generative LLMs
- Fine-tune transformers with supervised and parameter-efficient methods
- Evaluate, compare and demonstrate practical NLP solutions
Setup
Audience: Python-proficient developers and data scientists with basic ML. No prior transformer experience needed.
Environment: Google Colab (GPU) or local with uv. Run 00_setup_check before Day 1; see labs/README.md.
Stack: Hugging Face Transformers, Tokenizers, Datasets, PEFT · Sentence Transformers · FAISS · scikit-learn · PyTorch · Pydantic · Gradio · an OpenAI-compatible LLM endpoint (optional).