编程 冻结 GPT-2/ViT 当通用计算引擎:universal-computation 的 7 个任务与复现命令

2026-09-22 00:05:12

冻结 GPT-2/ViT 当通用计算引擎:universal-computation 的 7 个任务与复现命令

项目信息

Overview

官方代码库,对应论文 Pretrained Transformers as Universal Computation Engines。包含 demo notebook 和复现实验的脚本。

Project Demo

冻结预训练 Transformer 的最小演示见 demo.ipynb。运行该 notebook 可在几分钟内复现 Bit XOR 实验,并可视化学到的注意力图。未实测。

Status

当前没有更新计划,但未来可能添加新功能。

目前仓库支持以下任务:

['bit-memory', 'bit-xor', 'listops', 'mnist', 'cifar10', 'cifar10-gray', 'remote-homology']

以及以下模型:

['gpt2', 'gpt2-medium', 'gpt2-large', 'gpt2-xl', 'vit', 'lstm']

注意,CIFAR-10 LRA 是 cifar10-gray,patch size 为 1。

Usage

Installation

  1. 安装 Anaconda 环境:
$ conda env create -f environment.yml
  1. universal-computation/ 加入 PYTHONPATH,即在 ~/.bashrc 添加:
export PYTHONPATH=~/universal-computation:$PYTHONPATH

Downloading datasets

数据集存放在 data/

MNIST 和 CIFAR-10 在实验启动时由 PyTorch 自动下载。

Listops

Long Range Arena 下载 Listops 文件。将 .tsv 文件移到 data/listops。应有三个文件:basic_testbasic_trainbasic_val。脚本默认在验证集评估。

Remote homology

TAPE 安装并下载 Remote Homology 文件。将文件移到 data/tape,即存在目录(以及 valid variant)data/tape/remote_homology/remote_homology_train.lmdb。其中应有两个文件:data.mdblock.mdb。脚本默认在验证集评估。

Running experiments

运行实验:

python scripts/run.py

添加 -w True 会将结果记录到 Weights & Biases:

python scripts/run.py -w True

Citation

@article{lu2021fpt,
  title={Pretrained Transformers as Universal Computation Engines},
  author={Kevin Lu and Aditya Grover and Pieter Abbeel and Igor Mordatch},
  journal={arXiv preprint arXiv:2103.05247},
  year={2021}
}

License

MIT

推荐文章

程序员茄子在线接单