/images/avatar.png

[斯坦福CS336]作业五:对齐与推理强化学习

1 作业概述

本次作业中,你将获得训练语言模型解决数学问题时进行推理的实践经验。

需实现的内容

  1. 针对 Hendrycks 等人 [2021] 提出的竞赛数学问题数据集 MATH,实现零样本提示基线模型。
  2. 利用更强推理模型(DeepSeek R1,DeepSeekAI 等人,2025)的推理轨迹进行有监督微调(SFT)。
  3. 采用专家迭代(Expert Iteration)方法,通过验证奖励提升推理性能。
  4. 采用组相对策略优化(GRPO)方法,通过验证奖励提升推理性能。

对于感兴趣的同学,我们将在未来几天发布可选作业部分:使语言模型与人类偏好对齐。

[斯坦福CS336] 作业一:构建 Transformer 语言模型

为什么系统爱好者都应该学习大模型?

在当今 AI 技术浪潮中,掌握大模型知识已成为系统开发者的必备技能。通过参与斯坦福 CS336 大模型系统课程,开始从零构建大模型的实践之旅。这门课程很可能在未来 3 年内成为系统领域的标杆课程(正如 CMU 15-445 数据库课程近年来的地位)。

BPE 分词器高性能优化:从 10 分钟到 1 秒的实践

本文是 CS336 作业一 的延伸阅读,详细介绍 BPE 分词器的优化实现。

背景

文档中推荐使用的 cppyy 在 Mac 和 Linux 环境中有问题。为了追求高性能,我使用 Pybind11 来绑定 C++ 代码:预分词由 Python 处理,而 BPE 归并过程交给 C++。实际最大的瓶颈还是预分词,可以直接用已有的代码 pretokenization_example.py 做分块并行(8核 100s → 16核 30s)。

Build Doris on MacBook M1

安装环境依赖

brew install automake autoconf libtool pkg-config texinfo coreutils gnu-getopt \
python@3 cmake ninja ccache bison byacc gettext wget pcre maven llvm@16 openjdk@17 npm

Doris master 目前只支持 jdk17 版本

需要设置的环境变量

export JAVA_HOME="/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home"
export PATH=$JAVA_HOME/bin:$PATH
export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"
export PATH="/opt/homebrew/opt/texinfo/bin:$PATH"

拉取自己的代码

  1. 拉取代码