Skip to content

zackmdavis/ARENA_3.0

 
 

Repository files navigation

This GitHub repo hosts the exercises and Streamlit pages for the ARENA 3.0 program.

You can find a summary of each of the chapters below. For more detailed information (including the different ways you can access the exercises), click on the links in the chapter headings.

Additionally, see this Notion page for a guide to the virtual study materials available.

The material on this page covers the first five days of the curriculum. It can be seen as a grounding in all the fundamentals necessary to complete the more advanced sections of this course (such as RL, transformers, mechanistic interpretability, training at scale, and generative models).

Some highlights from this chapter include:

  • Building your own 1D and 2D convolution functions
  • Building and loading weights into a Residual Neural Network, and finetuning it on a classification task
  • Working with weights and biases to optimise hyperparameters
  • Implementing your own backpropagation mechanism
  • Building your own GANs and VAEs, and using them to generate images

The material on this page covers transformers (what they are, how they are trained, how they are used to generate output) as well as mechanistic interpretability (what it is, what are some of the most important results in the field so far, why it might be important for alignment) and other topics related to interpretability (function vectors & model steering).

Some highlights from this chapter include:

  • Building your own transformer from scratch, and using it to sample autoregressive output
  • Using the TransformerLens library developed by Neel Nanda to locate induction heads in a 2-layer model
  • Finding a circuit for indirect object identification in GPT-2 small
  • Intepreting model trained on toy tasks, e.g. classification of bracket strings, or modular arithmetic
  • Replicating Anthropic's results on superposition, and training sparse autoencoders to recover features from superposition
  • Using steering vectors to induce behavioural changes in GPT2-XL

Unlike the first chapter (where all the material was compulsory), all sections of this chapter are optional extensions other than the first two exercise sets. In these first two sets you will build and train transformers, and gain a basic understanding of mechanistic interpretability of transformer models which includes induction heads & use of TransformerLens. After this, you can pick any of the other six sets of exercises you want - there are no prerequisites!

If you've finished the compulsory material and are choosing between the other six sets of exercises, we weakly recommend choosing one of the first three (IOI, superposition, and function vectors). IOI should appeal to the experimentalists, superposition to the theorists / mathematicians, and function vectors to the engineers, so there's something for everyone!

Additionally, each optional set of exercises includes a lot of suggested bonus material / further exploration once you've finished, including suggested papers to read and replicate.

Reinforcement learning is an important field of machine learning. It works by teaching agents to take actions in an environment to maximise their accumulated reward.

In this chapter, you will be learning about some of the fundamentals of RL, and working with OpenAI’s Gym environment to run your own experiments.

Some highlights from this chapter include:

  • Building your own agent to play the multi-armed bandit problem, implementing methods from Sutton & Bardo
  • Implementing a Deep Q-Network (DQN) and Proximal Policy Optimization (PPO) to play the CartPole game
  • Applying RLHF to autoregressive transformers like the ones you built in the previous chapter

Additionally, the later exercise sets include a lot of suggested bonus material / further exploration once you've finished, including suggested papers to read and replicate.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 91.9%
  • Jupyter Notebook 5.8%
  • Python 2.3%