Py学习  »  Git

OpenAI开源了:Transformer自动debug工具上线GitHub

机器之心 • 1 月前 • 69 次点击  

机器之心报道

编辑:泽南

不用敲代码,就可以快速探索模型结构。


最近时常被吐槽不够开源的 OpenAI,突然开放了一次。

今天一早,OpenAI 机器学习研究员 Jan Leike 宣布,OpenAI 开放了自己内部一直用于分析 Transformer 内部结构的工具。


GitHub 链接:https://github.com/openai/transformer-debugger

该项目开放才几个小时,虽然没有经过太多宣传,star 数量上涨得也挺快。


Transformer Debugger 介绍

Transformer Debugger (TDB) 是 OpenAI 对齐团队(Superalignment)开发的一种工具,旨在支持对小体量语言模型的特定行为进行检查。据介绍,该工具把自动可解释性技术与稀疏自动编码器进行了结合。

具体来说,TDB 能够在需要编写代码之前进行快速探索,并能够干预前向传递,帮助人们查看它是如何影响模型特定行为的。TDB 可用于回答诸如「为什么模型在此提示(prompt)中输出 token A 而不是 token B?」之类的问题或「为什么注意力头 H 会在这个提示下关注 token T?」

它通过识别对行为有贡献的特定组件(神经元、注意力头、自动编码器 latents),显示自动生成的解释来分析导致这些组件最强烈激活的原因,并跟踪组件之间的连接以帮助人们发现联系,以此来帮助人们进行 Transformer 的 debug 工作。

OpenAI 放出了几段视频概述了 TDB 的能力,并展示了如何使用它来进行论文《Interpretability in the Wild: a Circuit for Indirect Object Identification in GPT-2 small》中的工作:


本次,OpenAI 的开源内容包括:

  • Neuron viewer:一个 React 应用程序,用于托管 TDB 以及包含有关各个模型组件(MLP 神经元、注意力头和两者的自动编码器 latents)信息的页面。
  • Activation server:对主题模型进行推理,为 TDB 提供数据的后端服务器。它还从公共 Azure 存储桶读取和提供数据。
  • Models:GPT-2 模型及其自动编码器的简单推理库,带有捕获激活的 hook。
  • 整理好的激活数据集:包含 MLP 神经元、注意力头和自动编码器 latents 的顶级激活数据集示例。

安装设置

请按照以下步骤安装存储库。请注意,在此之前你需要 python/pip 以及 node/npm。

虽然不是必要,但 OpenAI 建议使用虚拟环境进行操作:

# If you're already in a venv, deactivate it.deactivate# Create a new venv.python -m venv ~/.virtualenvs/transformer-debugger# Activate the new venv.source ~/.virtualenvs/transformer-debugger/bin/activate

设置好环境后,请按照以下步骤操作:

git clone git@github.com:openai/transformer-debugger.gitcd transformer-debugger# Install neuron_explainerpip install -e .# Set up the pre-commit hooks.pre-commit install# Install neuron_viewer.cd neuron_viewernpm installcd ..

要运行 TDB 应用程序,你需要按照说明设置激活服务器后端和神经元查看器前端。

要验证更改,你需要:

  • 运行 pytest;
  • 运行 mypy —config=mypy.ini;
  • 运行激活服务器和神经元查看器,并确认 TDB 和神经元查看器页面等基本功能仍然有效。

Jan Leike 表示,TDB 目前仍然是一个早期阶段的研究工具,OpenAI 希望通过开源的方式让更多人受益,并期待社区在其基础上不断改进。

参考内容:https://twitter.com/janleike/status/1767347608065106387



© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/167831
 
69 次点击