COMPFOR 302/LING 394: Alien Anatomy: How ChatGPT Works

Course being developed and taught by Steve Abney and Mark Guzdial

Key Ideas

  • No prior programming experience needed.
  • You don’t need more mathematics than what you already know (algebra).
  • Learn about AI and machine learning techniques
  • Learn the parts and mechanisms of ChatGPT
  • Does ChatGPT think? Does it think like humans?

Students will learn about the basic AI and machine learning techniques that make up UM ChatGPT, such as neural networks, back propagation, transformers, training, and guardrails. Students will build several AI projects, including a chatbot, image recognizer, and gesture recognizer. Readings and discussions will explore the limitations of ChatGPT and similar LLM technologies, the possibility of Artificial General Intelligence (AGI), how to regulate AI, and the contrast between ChatGPT and how humans learn and process language. Students will complete a final project on applications of ChatGPT.

Topics and Driving Questions of the Course

  • History of AI — the earliest chatbots
  • What changed with AI such that we could build ChatGPT?
  • What does it mean to “train” an ML system? How was ChatGPT trained?
  • What is a neural network? How does a neural network work?
  • How do we use a neural network to understand language? What does it mean to generate language via probabilistic terms?
  • How do we use a neural network to understand images?
  • How do professionals create ML systems?
  • How do humans learn and understand language?
  • Is ChatGPT intelligent? Could it be?
  • What can’t ChatGPT do? What are the costs of ChatGPT?
  • Ethical and Explainable AI

Grades will be based on participation in class, reflections on readings, student homeworks, bi-weekly quizzes (lowest score dropped), and a team final project. There will be no midterm or final exams.

Student Homeworks

Most of the homework will be in Snap, as in the SnapGPT project and Music-GPT project.

  • Build a chatbot out of production rules
  • Build a classifier for processing images of hand gestures
  • Build a gesture recognizer
  • Build a simple neural network
  • Build a text generator based on a statistical language model
  • Build a neural network in Python using Jupyter notebooks

Some of the Readings

Final Project

Students work in teams to make a poster exploring an application of LLMs. This could be a positive one (e.g., using LLMs to help students to proofread essays, cover letters, and resumes) or a negative one (e.g., the biases built in to LLMs or the lies that they produce).