IN5640 – Developing Large Language Models

Schedule, syllabus and examination date

Course content

This advanced-level MSc course focuses on state-of-the-art approaches to developing large language models (LLMs) from scratch. It covers all the main steps in the LLM training pipeline: planning, data selection and cleaning, tokenizing, pre-training, mid-training, instruction tuning, preference learning, and evaluation. The course has a strong practical component (using HPC clusters available to the University of Oslo), offering the possibility to master all the skills required for real-world LLM creation and evaluation. The course is based on recent achievements in the field from both academia and industry. It includes group project work as the main requirement for passing.

Learning outcome

Upon completion of the course you:

  • understand the science behind developing state-of-the art large language models;
  • are able to find and critically read relevant academic papers;
  • know how to plan the training of different types of LLMs, depending on their intended use, computational and data constraints;
  • have the technical skills allowing you to train a large language model from scratch;
  • understand common approaches to LLM evaluation and their limitations;
  • can design, conduct, analyze, and describe large-scale experiments with modern LLM training frameworks.

Admission to the course

Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.

If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.

The class presupposes a solid understanding of the foundations of deep learning and the transformer architecture. It is recommended that students have completed either IN5550 – Neural Methods in Natural Language Processing or IN4310 – Deep Learning for Image Analysis, or equivalent.
For students with no prior exposure to machine learning for natural language, it may also be an advantage to have completed IN4080– Natural Language Processing, or another introduction to NLP.

Finally, the class is applied and practical. Programming experience in Python will be presupposed.

Teaching

Four hours of instruction per week, mostly split into two hours of lectures and reading groups and another two hours with hands-on workshops. Strong focus on self-supervised work involving reading and discussing recent literature on the topic.

One practical group project unfolding throughout the course and leading to the exam (developing a specific type of LLM from scratch).

Examination

The examination consists of a practical project and summary report (and its presentation), both of which must be passed and both must be passed in the same semester.

Grading scale

Grades are awarded on a pass-fail scale. Read more about the grading system.

More about examinations at UiO

You will find further guides and resources at the web page on examinations at UiO.

Last updated from FS (Felles studentsystem) Nov. 5, 2026 7:24:35 PM

Facts about this course

Level
Master
Credits
10
Teaching
Autumn
Examination
Autumn
Teaching language
English