Syllabus

Course Structure

Each class involves a lecture introducing the topic, followed by a hands-on lab session where we work on exercises related to the lecture content. Students are expected to complete the readings before class each week, and to submit their lab work via Brightspace.

See the Weekly Content chapters for detailed content for each session.

Schedule at a Glance

Week Topic Lab
1 Introduction Setting up a Python development environment
2 Text-as-Data Dealing with textual data in Python
3 Embeddings Measuring text similarity using embeddings
4 Transformers Fine tuning transformers for text classification
5 Validation and Performance Measurement Measuring model performance with scikit-learn
6 Generative Language Models I Introduction to HuggingFace transformers
7 Generative Language Models II Introduction to langchain
Study Break
8 Interpretability, Explainability and Bias Applying interpretability tools; visualising bias
Good Friday
10 Ethical Use of LLMs? Measuring environmental costs of LLM use
11 Beyond Text Working with images, audio and video in Python
12 Project Presentations

Textbooks and Readings

All mandatory readings are indicated in the weekly chapters and are open access or available through the UCD Library. Readings should be completed ahead of class each week.

Approachable

  • Alammar, J. and Grootendorst, M. (2024) Hands-On Large Language Models: Language Understanding and Generation. 1st edition. O’Reilly Media.
  • Grimmer, J., Roberts, M.E. and Stewart, B.M. (2022) Text as Data: A New Framework for Machine Learning and the Social Sciences. Princeton University Press.

Deeper Dive

  • Raschka, S. (2024) Build a Large Language Model (From Scratch). Manning.
  • Kamath, U. et al. (2024) Large Language Models: A Deep Dive: Bridging Theory and Practice. Springer.