[ PROMPT_NODE_22622 ]
Mechanistic Interpretability Nnsight 说明文档
[ SKILL_DOCUMENTATION ]
# nnsight 参考文档
本目录包含 nnsight 的综合参考资料。
## 内容
- [api.md](api.md) - LanguageModel、追踪和代理对象的完整 API 参考
- [tutorials.md](tutorials.md) - 本地和远程可解释性的分步教程
## 快速链接
- **官方文档**: https://nnsight.net/
- **GitHub 仓库**: https://github.com/ndif-team/nnsight
- **NDIF (远程执行)**: https://ndif.us/
- **社区论坛**: https://discuss.ndif.us/
- **论文**: https://arxiv.org/abs/2407.14561 (ICLR 2025)
## 安装
bash
# 基础安装
pip install nnsight
# 支持 vLLM
pip install "nnsight[vllm]"
## 基础用法
python
from nnsight import LanguageModel
# 加载模型
model = LanguageModel("openai-community/gpt2", device_map="auto")
# 追踪并访问内部结构
with model.trace("The Eiffel Tower is in") as tracer:
# 访问层输出
hidden = model.transformer.h[5].output[0].save()
# 修改激活值
model.transformer.h[8].output[0][:] *= 0.5
# 获取最终输出
logits = model.output.save()
# 在上下文之外访问保存的值
print(hidden.shape)
## 核心概念
### 追踪 (Tracing)
`trace()` 上下文支持延迟执行 - 操作被记录并一起执行。
### 代理对象 (Proxy Objects)
在追踪内部,模块访问会返回代理对象。调用 `.save()` 以在执行后检索值。
### 远程执行 (NDIF)
在没有本地 GPU 的情况下在大型模型 (70B+) 上运行相同的代码:
python
# 代码相同,只需添加 remote=True
with model.trace("Hello", remote=True):
hidden = model.model.layers[40].output[0].save()
## NDIF 设置
1. 在 https://login.ndif.us/ 注册
2. 获取 API 密钥
3. 设置环境变量: `export NDIF_API_KEY=your_key`
## 可用的远程模型
- Llama-3.1-8B, 70B, 405B
- DeepSeek-R1 模型
- 更多信息请访问 https://ndif.us/