主要功能
- 选择模型,选择或添加提示,运行推理。
- 浏览贡献图。
- 选择用于构建图形的token。
- 调整贡献阈值。
- 选择任何块之后的任何token的表示。
- 对于表示,查看其在输出词汇表上的投影,查看哪些token被上一个块提升/抑制。
- 以下内容可点击:
- 边缘。显示有关贡献注意力头的更多信息。
- 选择边缘时的头部。你可以看到这个头部在提升/抑制什么。
- FFN块(图上的小方块)。
- 选择FFN块时的神经元。
安装
Docker运行
# 在仓库根目录下
docker build -t llm_transparency_tool .
docker run --rm -p 7860:7860 llm_transparency_tool
本地安装
# 下载
git clone git@github.com:facebookresearch/llm-transparency-tool.git
cd llm-transparency-tool
# 安装必要的包
conda env create --name llmtt -f env.yaml
# 安装 `llm_transparency_tool` 包
pip install -e .
# 现在,我们需要构建前端
# 不用担心,`yarn` 已经由 `env.yaml` 预安装
cd llm_transparency_tool/components/frontend
yarn install
yarn build
启动
streamlit run llm_transparency_tool/server/app.py -- config/local.json
为你的LLM添加支持
最初,该工具只允许你从少数几个模型中进行选择。以下是你可以尝试在工具中使用你的模型的选项,从最简单到最复杂。
模型已经被TransformerLens支持
完整的模型列表在这里。 在这种情况下,可以将模型添加到配置json文件中。
TransformerLens支持的模型的微调版本
将模型的官方名称添加到配置中,并指定读取权重的位置。
TransformerLens不支持的模型
在这种情况下,UI不知道如何为模型创建适当的钩子。你需要实现TransparentLlm类的版本,并修改Streamlit应用以使用你的实现。
引用
如果你在研究中使用LLM透明度工具,请考虑引用:
@article{tufanov2024lm,
title={LM Transparency Tool: Interactive Tool for Analyzing Transformer Language Models},
author={Igor Tufanov and Karen Hambardzumyan and Javier Ferrando and Elena Voita},
year={2024},
journal={Arxiv},
url={https://arxiv.org/abs/2404.07004}
}
@article{ferrando2024information,
title={Information Flow Routes: Automatically Interpreting Language Models at Scale},
author={Javier Ferrando and Elena Voita},
year={2024},
journal={Arxiv},
url={https://arxiv.org/abs/2403.00824}
}
许可
本代码根据CC BY-NC 4.0许可提供,详见LICENSE文件。 但是,你可能还有其他法律义务约束你使用其他内容,例如第三方模型的服务条款。