Alignment Research Engineer Accelerator (ARENA)
Our mission is to provide talented individuals with the skills, tools, and environment necessary for upskilling in ML engineering, for the purpose of contributing directly to AI alignment in technical roles.
课程官网: ARENA 课程资源页: Virtual Resources 课程仓库: Github
课程的名字可能比较难以理解,但是拆成一个一个词就是对齐 (Alignment),研究 (Research),工程师 (Engineer),加速器 (Accelerator)。简单来说,课程的主要目的是为了让所有有志于投身 AI 领域的朋友快速掌握现代工程方面知识和能力。因此课程中没有太多传统机器学习等内容,而主要聚焦于神经网络,大模型,强化学习等领域。完整的课程分为五个章节,分别为
- Chapter 0 - 基础 (Fundamentals)
- Chapter 1 - Transformers & Mechanistic Interpretability
- Chapter 2 - Reinforcement Learning
- Chapter 3 - Model Evaluation
- Chapter 4 - Capstone Projects
考虑到不是所有的朋友愿意花大量的时间在 AI 上,本教程将仅包含 Chapter 0 部分。作为抛砖引玉的内容,希望可以让大家浅浅了解一下关于神经网络的基础知识。
Chapter 0 - Fundamentals
任务仓库
以下是本章节的目录
- [0.0] Prerequisites (前置准备)
- [0.1] Ray Tracing (光线渲染)
- [0.2] CNNs & ResNets (卷积神经网络和残差神经网络)
- [0.3] Optimization (优化)
- [0.4] Backprop (反向传播)
- [0.5] GANs & VAEs (对抗生成网络和变分自编码器)
在正式开始学习之前,你需要了解的内容
在课程的资源页找到本章节并进入可以打开一个 streamlit 界面,里面有课程所需的绝大部分文本资源。 在本课程所有的 Home 页面中,左上角可以选择对应的小章节,左下角会展示本页内容的大纲,右上角可以 Fork 项目,查看本页面对应的 streamlit 代码(对应的 github 页面)还有调节亮色暗色模式等等。在对应的小章节中,需要注意每个小章节除了小章节主页以外还会有别的小节页面,在左下角可以进行切换。
虽然课程的主办方使用 Colab 进行学习,但是因为一些众所周知的原因,还是建议在看本教程的朋友选择将仓库 pull 到本地后进行学习。请依次执行以下命令。
git clone https://github.com/callummcdougall/ARENA_3.0.git
conda create --name arena-env python=3.11
conda activate arena-env
pip install -r requirments.txt
2
3
4
课程的每一章都对应一个目录,每个目录下面都会有:
- 一个 instructoins 文件夹,包含了网页展示所需的资源。
- 一个 exercises 文件夹,里面包含诸如
solutions.py
和test.py
等文件,还有一些练习必要的资源(比如 [0.1] 的 exercises 文件夹中就会有一个模型文件)。在课程原仓库中并没有准备类似answer.py
的文件来方便学习者填入答案,学习者需要自己导入模块并复制问题等等。在这里我们提供的仓库中加上了这一部分。可能有一些练习由于量较大,重复性较高等原因我们并没有放到到answer.py
文件中,这一部分练习是可选的。
.
├── chapter0_fundamentals
│ ├── exercises
│ │ ├── part1_ray_tracing
│ │ │ ├── solutions.py
│ │ │ ├── tests.py
│ │ │ └── answers.py*
│ │ ├── part2_cnns
│ │ ⋮ ⋮
│ └── instructions
│ └── Home.py
├── chapter1_transformer_interp
├── chapter2_rl
└── requirements.txt
2
3
4
5
6
7
8
9
10
11
12
13
14
- 每组学习预计需要 1 天甚至更长时间(原文)。在每一组学习中,你需要先阅读材料,随后完成练习。练习会分为几个小节,在左下角的大纲中也会展示目前进度以便把控时间。并不是所有的练习都是完成代码,也有一些需要浏览推荐的材料。
- 在每个练习中会有一些描述告诉你你需要实现的功能,并提供测试函数以便检查并在代码出错时返回错误。每个练习有对应的难度和重要性评估,你也可以参考这个内容评估自己的完成时间或在时间有限时选择性的跳题。在每个练习下面也会有默认折叠的正确答案,如果发现自己在某个部分卡了太久请立刻去查看答案而不是死磕题目!
Difficulty: 🔴🔴⚪⚪⚪
Importance: 🔵🔵🔵⚪⚪
You should spend up to 10-15 minutes on this exercise.
2
3
4