Course Instructor. Dr. Pranav Rajpurkar (Assistant Professor, Harvard University)
Course Overview. This course will take you on a deep dive into cutting-edge AI development tools such as PyTorch, Lightning, and Hugging Face, and optimize your workflow with VSCode, Git, and Conda. You'll learn how to leverage the cloud computing power of AWS and Colab to train large-scale deep learning models with lightning-fast GPU acceleration. In addition, you will master best practices for managing large numbers of experiments using Weights and Biases. This course will also teach you how to systematically read research papers, generate new ideas, and present them in slides or papers. You'll even learn valuable project management and team communication skills used by top AI researchers.
Course Objective.
- Mastery of tools and techniques commonly used in AI research.
- Ability to perform literature searches, read and summarize AI research papers.
- Ability to use various frameworks and libraries for model development, training, and evaluation.
- Ability to perform experiment management, hyperparameter searches and model performance comparisons.
- Ability to generate, iterate and evaluate research ideas.
- Ability to write and organize research papers and produce high quality slides.
- Ability to work effectively in teamwork and project management.
Course Catalog.
I. Course Description and Foundations (Chapters 1-2, 59 pages)
- Chapter 1: You Complete My Sandwiches - Exciting Advances with AI Language Models
- Learning Objectives:
- Interact with the language model using zero and small sample learning to test its capabilities.
- Build simple applications using GPT-3's text completion and Codex's code generation capabilities.
- Understand the harmful tendency of language models to potentially reflect social biases.
- Corresponding notes: Harvard CS197 Lecture 1 Notes
- Learning Objectives:
- Chapter 2: The Zen of Python - Software Engineering Fundamentals
- Learning Objectives:
- Efficiently edit the Python code base using the VSCode editor.
- Proficient in the use of Git and Conda in coding workflows.
- Use breakpoints and log points for debugging, not print statements.
- Use linting to find errors and improve Python code style.
- Corresponding notes: Harvard CS197 Lecture 2 Notes
- Learning Objectives:
II. Literature reading and model fine-tuning (Chapters 3-4, 41 pages)
- Chapter 3: Shoulders of Giants - Reading AI Research Papers
- Learning Objectives:
- Conduct a literature search to identify papers related to the topic of interest.
- Read machine learning research papers and summarize their contributions.
- Summarize previous work in a particular area.
- Corresponding notes: Harvard CS197 Lecture 3 Notes
- Learning Objectives:
- Chapter 4: In-Tune with Jazz Hands - Fine-tuning a Language Model using Hugging Face
- Learning Objectives:
- Use the datasets library to load and process natural language processing datasets.
- Segment a text sequence and understand the steps used in segmentation.
- Constructing datasets and training steps for causal language modeling.
- Corresponding notes: Harvard CS197 Lecture 4 Notes
- Learning Objectives:
III. PyTorch In-Depth with Visual Transformer (Chapters 5-7, 33 pages)
- Chapter 5: Lightning McTorch - Fine-tuning a Vision Transformer using Lightning (Lightning McTorch - Fine-tuning a Vision Transformer using Lightning)
- Learning Objectives:
- Interact with the code to explore image data loading and tokenization for use with the Visual Transformer.
- Parsing the code of the PyTorch architecture and modules used to build the Visual Transformer.
- Familiarize yourself with example training workflows using PyTorch Lightning.
- Corresponding notes: Harvard CS197 Lecture 5 Notes
- Learning Objectives:
- Chapters 6-7: Moonwalking with PyTorch - Solidifying PyTorch Fundamentals
- Learning Objectives:
- Perform tensor operations in PyTorch.
- Understanding forward and backward propagation in neural networks in the context of Autograd.
- Detecting common problems in PyTorch training code.
- Corresponding notes: Harvard CS197 Lecture 6 & 7 Notes
- Learning Objectives:
IV. Experiment Management and Hyperparameter Search (Chapters 8-9, 22 pages)
- Chapters 8-9: Experiment Organization Sparks Joy - Organizing Model Training with Weights & Biases and Hydra Hydra)
- Learning Objectives:
- Manage experiment logging and tracking through Weights & Biases.
- Perform a hyperparametric search using Weights & Biases Sweeps.
- Manage complex configurations with Hydra.
- Corresponding notes: Harvard CS197 Lecture 8 & 9 Notes
- Learning Objectives:
V. Research Ideas and Essay Writing (Chapters 10-13, 23 pages)
- Chapters 10-11: I Dreamed a Dream - A Framework for Generating Research Ideas
- Learning Objectives:
- Identify gaps in the research paper, including the research question, experimental setup, and results.
- Generate ideas based on the research paper, considering the task of interest, the evaluation strategy, and the elements of the proposed methodology.
- Iterate your ideas to improve their quality.
- Corresponding notes: Harvard CS197 Lecture 10 & 11 Notes
- Learning Objectives:
- Chapters 12-13: Today Was a Fairytale - Structuring a Research Paper
- Learning Objectives:
- Deconstructing the elements of a research paper and their order.
- Document the global and local structure of research paper writing.
- Corresponding notes: Harvard CS197 Lecture 12 & 13 Notes
- Learning Objectives:
VI. Deep Learning and Model Fine-Tuning in the Cloud (Chapters 14-17, 31 pages)
- Chapters 14-15: Deep Learning on Cloud Nine - AWS EC2 for Deep Learning: Setup, Optimization, and Hands-on Training with CheXzero (Deep Learning on Cloud Nine - AWS EC2 for Deep Learning on AWS EC2: Setup, Optimization, and Hands-on Training with CheXzero)
- Learning Objectives:
- Learn how to set up and connect to an AWS EC2 instance for deep learning.
- Learn how to modify deep learning code to use the GPU.
- Gain hands-on experience running the model training process using a real code base.
- Corresponding notes: Harvard CS197 Lecture 14 & 15 Notes
- Learning Objectives:
- Chapters 16-17: Make your dreams come tuned - Fine-Tuning Your Stable Diffusion Model
- Learning Objectives:
- Create and fine-tune Stable Diffusion models using the Dreambooth template notebook.
- Use AWS acceleration to train Stable Diffusion models using GPUs.
- Use unfamiliar codebases and new tools, including Dreambooth, Colab, Accelerate, and Gradio, without having to dive into them.
- Corresponding notes: Harvard CS197 Lecture 16 & 17 Notes
- Learning Objectives:
VII. Research efficiency and teamwork (Chapters 18-19, page 19)
- Chapter 18: Research Productivity Power-Ups - Tips to Manage Your Time and Efforts
- Learning Objectives:
- Learn how to use update meetings and work sessions to stay on the same page and make progress on projects.
- Learn how to use a variety of tools and techniques to improve team communication and project organization.
- Learn strategies for organizing project work, considering the phases of the project and the various tasks involved.
- Corresponding notes: Harvard CS197 Lecture 18 Notes
- Learning Objectives:
- Chapter 19: The AI Ninja - Making Progress and Impact in AI Research
- Learning Objectives:
- Learn how to make steady progress in your research, including managing relationships with mentors and developing skills.
- Gain a deeper understanding of how to increase the impact of your work.
- Corresponding notes: Harvard CS197 Lecture 19 Notes
- Learning Objectives:
VIII. Slide production and statistical testing (Chapters 20-21, 25 pages)
- Chapter 20: Bejeweled - Tips for Creating High-Quality Slides
- Learning Objectives:
- Apply key principles of the assertion-evidence approach to create effective presentation slides.
- Identify common pitfalls in typical slide presentations and strategies to avoid them.
- Apply the techniques learned in this lecture to real examples of research presentation slides to improve their effectiveness.
- Corresponding notes: Harvard CS197 Lecture 20 Notes
- Learning Objectives:
- Chapter 21: Model Showdown - Statistical Testing to Compare Model Performances
- Learning Objectives:
- Learn about the different statistical tests that can be used to compare machine learning models, including the McNemar test, paired t-tests, and bootstrap methods.
- The ability to implement these statistical tests in Python to evaluate the performance of two models on the same test set.
- Ability to select appropriate tests for a given research problem, including tests of statistical superiority, non-inferiority, and equivalence.
- Corresponding notes: Harvard CS197 Lecture 21 Notes
- Learning Objectives:
IX. Assignments
- Assignment 1: The Language of Code
- Assignment 2: First Dive in AI (AI初探)
- Assignment 3: Torched (Torch)
- Assignment 4: Spark Joy
- Assignment 5: Ideation and Organization
- Assignment 6: Stable Diffusion and Research Operations
X. Course Project
- Project Details. You will build a cutting-edge research program that applies artificial intelligence to medicine. The course provides a clearly defined research direction, allowing you to formulate a research question and conduct end-to-end research. You will utilize the research tools and technical skills learned in class to complete this project. From this final project, you will gain valuable experience in conducting real research in medical AI and handle a project from concept to full manuscript.
XI. Concluding remarks (Congratulations)
We hope you find this study catalog helpful! Good luck with your studies!
download address