Transformer Debugger —— Transformer 内部结构分析工具

Transformer Debugger 是 OpenAI 的 Superalignment 团队开发的一款工具,旨在支持对小语言模型的特定行为进行研究。

TDB 可以在编写代码之前进行快速探索,能够干预前向传递并查看它对特定行为的影响。它可以用来回答诸如 "为什么模型会输出 token A 而不是 token B" 或 "为什么 attention head H 会关注 token T" 之类的问题。它通过识别对行为有贡献的特定组件(neurons、attention heads、autoencoder latents),显示自动生成的关于导致这些组件激活最强烈的原因的解释,以及追踪组件之间的连接以帮助发现联系。

本次开源发布的内容包括:

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

设置

按照以下步骤安装存储库。首先需要 python/pip 以及 node/npm。

虽然可选,但官方建议用户使用虚拟环境或等效环境:

# 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.git cd transformer-debugger # Install neuron_explainer pip install -e . # Set up the pre-commit hooks. pre-commit install # Install neuron_viewer. cd neuron_viewer npm install cd ..

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

Making changes

要验证更改:

  • 运行 pytest
  • 运行 mypy --config=mypy.ini .
  • 运行激活服务器和神经元查看器并确认 TDB 和神经元查看器页面等基本功能仍然有效
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/p/transformer-debugger

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。