Columbia Logo

COMS 4705: Natural Language Processing

Columbia University, Fall 2025, Section 2

Instructor

John Hewitt
Email: jh5020@columbia.edu

Course Description

Learning from, and learning to generate, natural language is one of the core strategies in modern artificial intelligence. Systems built from the tools learned in this class are increasingly deployed in the world. This section (Section 2) provides a generative models-focused introduction to this field of natural language processing, with the goal of understanding and implementing the foundational ideas beneath state-of-the-art systems.

Topics will include: language modeling, neural network design, text tokenization, web-scale text datasets, machine translation, summarization, accelerators like GPU and TPUs, linguistics and the structure of language, reinforcement learning, and many others.

Prerequisites

For this class, it would be useful to be familiar with any of: linear algebra, python programming, probability, differential calculus. We've provided a set of notes for filling some gaps in preparation, Lecture Note 0 and here for PDF.

Schedule

Lectures: Tuesdays and Thursdays, 2:40 PM – 3:55 PM
Location: TBD

Lectures

Background Lecture Notes (PDF)
Week Tuesday Thursday
1Introduction, Language ModelingTokenization
2Background ReviewRepresentation Learning 1 (Architectures)
3Representation Learning 2 (Learning Algorithms)Tasks and Evaluation
4Exam 1Parallelization and GPUs
5Parallelizable ArchitecturesSelf-Attention and Transformers
6FinetuningPretraining 1
7Generation AlgorithmsPosttraining 1: Instruction Following
8Posttraining 2: Reinforcement LearningExam 2
9Experimental DesignRetrieval and Tools
10AI SafetyBias, Fairness, Privacy
11History of NLPDebugging Language Models
12Guest Lecture 1Interpretability and Analysis
13Guest Lecture 2Looking to the future
14Final Project HelpFinal Project Help

Office Hours

John: TBD

TA Office Hours: TBD