A | B | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||||||||||||||||
2 | Date | Recommended Resources | Action items | TODO | Presentations | TAs | ||||||||||||||||||||
3 | Prereqs (<6hr/day): | |||||||||||||||||||||||||
4 | Wed: Env set-up + Linear algebra prereqs | July 3rd | ARENA Reference: https://arena3-chapter0-fundamentals.streamlit.app/[0.0]_Prerequisites#linear-algebra Note: We have not budgeted time for the other math subjects. Consider substituting probability/stats, calculus, or information theory for other prereq material with which you are more comfortable General -If you are rusty on linear algebra, a reasonable refresher is available here: https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab. -You will not have time to take a more fulsome approach, but a more traditional approach (to the extent you wanted to drill down more into a specific topic) is availble here: https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/ Specifics: -https://www.lesswrong.com/posts/iupCxk3ddiJBAJkts/six-and-a-half-intuitions-for-svd - https://web.stanford.edu/~mrosenfe/soc_meth_proj3/matrix_OLS_NYU_notes.pdf For Environment Set-up: https://gist.github.com/zachlipp/9ed6bac71a507c87acd716674a22c580#file-tech_setup-md | Read through the this link: https://github.com/changlinli/intro-to-technical-ai-safety-slides/blob/master/basic_linear_algebra_exercises/exercises.md and do the exercises on the page | Get a minimum example of set-up for people to run on the first | Week 1: Day 3 (Feb 28th): Implement PyTorch backprop and tensors, modules, parameters, and more from scratch: https://arena3-chapter0-fundamentals.streamlit.app/[0.4]_Backprop Day 4 (Feb 29th): Build transformers from scratch (a.k.a. build your own GPT): https://arena3-chapter1-transformer-interp.streamlit.app/[1.1]_Transformer_from_Scratch Day 5 (Mar 1st): Intro to mechanistic interpretability (a.k.a. understanding why models say the things they do): https://arena3-chapter1-transformer-interp.streamlit.app/[1.2]_Intro_to_Mech_Interp Week 2: Day 6 (Mar 4th): More mechanistic interpretation. Have some options here. Can decide to look at how a transformer model is able to balance parentheses, how to use specially crafted vectors to "steer" a model's behavior, or how a model is about to identify the indirect object of a sentence (https://arena3-chapter1-transformer-interp.streamlit.app/[1.7]_Balanced_Bracket_Classifier or https://arena3-chapter1-transformer-interp.streamlit.app/~/+/[1.5]_Function_Vectors_&_Model_Steering or https://arena3-chapter1-transformer-interp.streamlit.app/[1.3]_Indirect_Object_Identification). These are long so you'll likely just end up doing part 1 of one of these especially if you choose indirect object identification. Day 7 (Mar 5th): Finish one of the tasks from yesterday if you haven't yet, or do another. Day 8 (Mar 6th): Tabular reinforcement learning and Deep Q-Learning culminating in teaching an agent how to keep a wobbly pole standing: https://arena3-chapter2-rl.streamlit.app/[2.1]_Intro_to_RL and https://arena3-chapter2-rl.streamlit.app/[2.2]_Q-Learning_and_DQN (both chapters are short so we'll combine them together) Day 9 (Mar 7th): Using PPO + ResNets to train an agent to play the Atari game Breakout: https://arena3-chapter2-rl.streamlit.app/[2.3]_PPO Day 10 (Mar 8th): Using RLHF to tune a language model's behavior: https://arena3-chapter2-rl.streamlit.app/[2.4]_RLHF | ||||||||||||||||||||
5 | Friday: Tensor manipulation | July 5th | ARENA Reference: https://arena3-chapter0-fundamentals.streamlit.app/[0.0]_Prerequisites#libraries General: -https://pytorch.org/tutorials/beginner/basics/intro.html -https://pytorch.org/tutorials/beginner/nn_tutorial.html Specifics: -https://medium.com/analytics-vidhya/pytorch-contiguous-vs-non-contiguous-tensor-view-understanding-view-reshape-73e10cdfa0dd -skim: https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf | https://github.com/peluche/pre-arena -At a high level, what is a torch.Tensor? -What is a nn.Parameter, and nn.Module? -When you call .backward(), where are your gradients stored? -What is a loss function? In general, what does it take for arguments, and what does it return? -What does an optimization algorithm do? -What is a hyperparameter, and how does it differ from a regular parameter? -What are some examples of hyperparameters? https://github.com/rougier/numpy-100/blob/master/100_Numpy_exercises.ipynb (optional) | Regis Schiavi | |||||||||||||||||||||
6 | Prereqs cont'd + Fundamentals | |||||||||||||||||||||||||
7 | Monday: Einops p1, p2 | July 8th | ARENA Reference: General: -https://einops.rocks/1-einops-basics/ -https://einops.rocks/api/einsum/ -https://rockt.github.io/2018/04/30/einsum Specifics: -https://arena3-chapter0-fundamentals.streamlit.app/~/+/[0.0]_Prerequisites#einops-einsum-tensor-manipulation | 1. https://colab.research.google.com/drive/1TCd8ujgWqD9LOBG4WBCcW8mklvK4fWBZ?usp=sharing#scrollTo=5-mRNVeE9cDh (scroll down past answers at the top to view the questions) 2. Work through einops exercises on this page. Click einops in the bottom left corner: https://arena3-chapter0-fundamentals.streamlit.app/[0.0]_Prerequisites | ||||||||||||||||||||||
8 | Tuesday: Neural networks from scratch | July 9th | https://karpathy.ai/zero-to-hero.html (especially through part 4; it isn't practical to watch this all in a day and even those 4 parts is too much) | https://github.com/changlinli/neural-nets-from-scratch | ||||||||||||||||||||||
9 | Wednesday: 0.2 CNNs and ResNets | July 10th | https://arena3-chapter0-fundamentals.streamlit.app/[0.2]_CNNs_&_ResNets https://colah.github.io/posts/2014-07-Conv-Nets-Modular/ | Create a ResNet model to do more general image classification (and implement some common PyTorch modules. On Day 3 we'll implement the actual Module class from scratch): https://arena3-chapter0-fundamentals.streamlit.app/[0.2]_CNNs_&_ResNets https://colab.research.google.com/drive/1sZpsnjN7gI4EucRcD0mCafN5Vg1DPOnm | Thien | |||||||||||||||||||||
10 | Thursday: 0.2 CNNs and ResNets | July 11th | ||||||||||||||||||||||||
11 | Friday: 0.3 - Optimization | July 12th | Create PyTorch's optimizers from scratch and do hyperparameter sweeps with Weights and Biases: https://arena3-chapter0-fundamentals.streamlit.app/[0.3]_Optimization | |||||||||||||||||||||||
12 | Monday: 0.3 - Optimization | July 15th | ||||||||||||||||||||||||
13 | Tuesday - Pause for Impossible day! | July 16th | ||||||||||||||||||||||||
14 | Wednesday: 0.4 Backprop | July 17th | Implement PyTorch backprop and tensors, modules, parameters, and more from scratch: https://arena3-chapter0-fundamentals.streamlit.app/[0.4]_Backprop | |||||||||||||||||||||||
15 | Transformers and Mech Interp | |||||||||||||||||||||||||
16 | Thursday: 1.1 - Transformers from Scratch | July 18th | https://karpathy.ai/zero-to-hero.html: https://www.youtube.com/watch?v=kCc8FmEb1nY, https://youtu.be/zduSFxRajkE | Build transformers from scratch (a.k.a. build your own GPT): https://arena3-chapter1-transformer-interp.streamlit.app/[1.1]_Transformer_from_Scratch | ||||||||||||||||||||||
17 | Friday 1.1 - Transformers from Scratch | July 19th | https://karpathy.ai/zero-to-hero.html: https://www.youtube.com/watch?v=kCc8FmEb1nY, https://youtu.be/zduSFxRajkE | Build transformers from scratch (a.k.a. build your own GPT): https://arena3-chapter1-transformer-interp.streamlit.app/[1.1]_Transformer_from_Scratch | ||||||||||||||||||||||
18 | Monday: 1.2 - Intro to Mech Interp | July 22 | Intro to mechanistic interpretability (a.k.a. understanding why models say the things they do): https://arena3-chapter1-transformer-interp.streamlit.app/[1.2]_Intro_to_Mech_Interp Feel free to continue with Transformers intro if you haven't finished | |||||||||||||||||||||||
19 | Tuesday 1.2 - Intro to Mech Interp | July 23 | ||||||||||||||||||||||||
20 | Wednesday: 1.3 - Indirect Object Identification OR 1.5 - Function Vectors and Model Steering OR 1.7 - Balanced Bracket Classifier | July 24 | ||||||||||||||||||||||||
21 | Thursday: 1.3 - Indirect Object Identification OR 1.5 - Function Vectors and Model Steering OR 1.7 - Balanced Bracket Classifier | July 25 | ||||||||||||||||||||||||
22 | Friday 1.3 - Indirect Object Identification OR 1.5 - Function Vectors and Model Steering OR 1.7 - Balanced Bracket Classifier | July 26 | ||||||||||||||||||||||||
23 | Week 4 - Reinforcement Learning | |||||||||||||||||||||||||
24 | Monday: 2.1 - Intro to Reinforcement Learning | July 29 | ||||||||||||||||||||||||
25 | Tuesday 2.2 Q-Learning and DQN | July 30 | Tabular reinforcement learning and Deep Q-Learning culminating in teaching an agent how to keep a wobbly pole standing: https://arena3-chapter2-rl.streamlit.app/[2.1]_Intro_to_RL and https://arena3-chapter2-rl.streamlit.app/[2.2]_Q-Learning_and_DQN (both chapters are short so we'll combine them together | |||||||||||||||||||||||
26 | Wednesday 2.3 - PPO | July 31 | ||||||||||||||||||||||||
27 | Thursday : 2.4 - RLHF | August 1 | ||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |