“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
Jacobian Lens:用雅可比矩阵透视大模型内部机制的全局工作空间解读工具
Jacobian Lens 是 Anthropic 发布的全局工作空间可解释性论文配套代码,通过雅可比矩阵分析语言模型内部状态与输出之间的因果映射,揭示模型如何利用神经激活子空间实现复杂推理。
一、项目背景:大模型可解释性的新突破
随着大型语言模型(LLM)的规模不断膨胀,理解其内部工作机制成为 AI 安全领域的核心挑战。传统的可解释性方法(如注意力可视化、激活探测)往往只能提供局部或表层的理解,难以捕捉模型在推理过程中如何协调多个子模块。Anthropic 的研究团队在 2024 年提出了“全局工作空间”理论,认为模型内部存在一个有限的、动态更新的“工作空间”,其中包含当前推理所需的关键信息。Jacobian Lens 正是这一理论的工程实现,它利用雅可比矩阵(Jacobian Matrix) 来量化模型每一层对最终输出的影响,从而揭示模型内部的因果结构。
二、解决的核心痛点
- 黑箱问题:LLM 的深度神经网络由数十亿参数构成,中间层的激活值难以直接解释。Jacobian Lens 提供了一种数学上严谨的方式,将模型内部的梯度信息转化为可读的“影响图”。
- 稀疏性与维度灾难:模型在推理时只使用少量神经元(稀疏激活),但传统方法需要遍历所有神经元。雅可比矩阵可以自动聚焦于对输出有显著贡献的子空间。
- 动态机制分析:现有工具只能分析静态权重或单次前向传播,而 Jacobian Lens 可以追踪同一输入在不同层之间的信息流动,支持动态因果分析。
三、安装与快速上手
环境要求
- Python ≥ 3.10
- PyTorch ≥ 2.0.0
- transformers ≥ 4.30.0
- 推荐使用 CUDA 11.8+ 以加速计算
安装步骤
bash
克隆仓库
git clone https://github.com/anthropics/jacobian-lens.git
cd jacobian-lens
创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
安装依赖
pip install -r requirements.txt
安装 jacobian-lens 包
pip install -e .
基础使用示例
python
import torch
from jacobian_lens import JacobianLens
from transformers import AutoModelForCausalLM, AutoTokenizer
加载模型(以 Pythia-1B 为例)
model_name = "EleutherAI/pythia-1b"
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained(model_name)
model.cuda()
初始化 JacobianLens
lens = JacobianLens(model)
准备输入
prompt = "The Eiffel Tower is located in"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
计算从第10层到第20层的雅可比矩阵
这里分析的是:第20层的激活值对模型最终logits的贡献
jacobian = lens.compute(
inputs=inputs,
source_layer=10, # 起始层
target_layer=20, # 目标层
mode="forward", # 前向模式
output_type="logits" # 分析对logits的影响
)
可视化结果(返回一个字典,包含每层的贡献度)
results = lens.interpret(jacobian, top_k=50)
print(f"Top 5 贡献最大的神经元索引: {results['top_indices'][:5]}")
print(f"对应贡献值: {results['top_values'][:5]}")
高级用法:因果干预实验
python
使用雅可比矩阵进行反事实推理
假设我们想知道:如果将第15层的第100号神经元的激活值强制设为0,对输出有何影响?
with lens.intervention(
layer=15,
neuron_idx=100,
value=0.0
):
original_logits = model(**inputs).logits
intervened_logits = model(**inputs).logits
# 计算输出变化
diff = (intervened_logits - original_logits).norm(dim=-1)
print(f"输出变化幅度: {diff.item():.4f}")
四、核心亮点深度解析
1. 雅可比矩阵的精确计算
Jacobian Lens 的核心是高效计算神经网络中任意两层之间的雅可比矩阵。对于包含 L 层、每层维度为 d 的模型,传统方法需要 O(L²d²) 的内存,而该项目通过分块计算和自动微分优化,将复杂度降低到 O(Ld²),使得在单张 A100 上即可分析 7B 参数模型。
2. 全局工作空间的可视化
项目提供了多种可视化工具,包括:
- 子空间投影图:将雅可比矩阵投影到二维空间,展示不同层之间的信息流动方向。
- 神经元贡献热力图:按层展示哪些神经元对最终输出贡献最大。
- 因果路径图:从输入到输出的完整因果链,标注关键节点。
3. 支持多种模型架构
不仅限于 GPT 风格的自回归模型,还支持:
- 编码器-解码器模型(如 T5)
- 仅编码器模型(如 BERT)
- 混合专家模型(如 Mixtral 8x7B)
通过统一的接口 JacobianLens,用户只需传入 HuggingFace 模型即可自动适配。
五、适用场景
- AI 安全研究:检测模型是否存在后门、偏见或隐藏的恶意行为。通过分析特定输入下哪些神经元被激活,可以定位可能的不安全因素。
- 模型压缩与蒸馏:识别对输出影响较小的神经元,进行剪枝或量化,在保持性能的同时减小模型体积。
- 可解释性研究:研究模型如何执行数学推理、代码生成等复杂任务,例如发现模型在解决数学题时会调用特定的“数值计算子网络”。
- 对抗攻击防御:通过雅可比矩阵识别模型对哪些输入扰动敏感,从而设计更鲁棒的防御策略。
六、与同类项目的对比
| 项目 | 方法 | 粒度 | 计算效率 | 支持模型规模 | 适用性 |
|---|---|---|---|---|---|
| Jacobian Lens | 雅可比矩阵 | 神经元级 | 高(分块计算) | 70B+ | 通用 |
| TransformerLens | 激活缓存 | 神经元级 | 中 | 7B | 仅限 GPT |
| Neuronpedia | 激活聚类 | 神经元级 | 低(需预计算) | 1B | 特定模型 |
| LENS(LogitLens) | 线性探测 | 层级 | 高 | 无限制 | 仅限分类任务 |
| TunedLens | 残差分析 | 层级 | 中 | 7B | 仅限解码器 |
Jacobian Lens 的优势在于:
- 更细粒度:可以分析到单个神经元级别,而不仅仅是层级别。
- 因果性:直接计算因果影响,而非相关性。
- 可扩展性:算法优化使其能够处理数十亿参数的模型。
七、技术细节与原理
雅可比矩阵在可解释性中的角色
对于模型 f: ℝⁿ → ℝᵐ,雅可比矩阵 J 是一个 m×n 矩阵,其中 Jᵢⱼ = ∂fᵢ/∂xⱼ。在语言模型中:
- x 是第 k 层的激活值(n 维向量)
- f 是第 l 层到输出的映射(m 维 logits)
- J 告诉我们:第 k 层的每个神经元如何影响最终输出的每个 logit
计算优化
项目采用了以下技术来提升性能:
- 张量并行:将雅可比矩阵的计算分片到多个 GPU 上。
- 梯度检查点:在前向传播时只保存必要的中继值,减少内存占用。
- 稀疏近似:对于贡献小于阈值的神经元,自动将其雅可比元素置零,形成稀疏矩阵。
八、社区与生态
该项目由 Anthropic 的 AI 安全团队维护,目前处于活跃开发阶段。社区贡献包括:
- 已有 3 个第三方教程,涵盖 Pythia、Llama 和 Gemma 模型。
- 与
TransformerLens库的集成正在进行中,预计将支持更丰富的可视化。 - 论文《Global Workspace Interpretability》已在 arXiv 发表,提供了完整的理论证明。
九、局限性
- 计算成本:对于 70B 以上的模型,即使采用优化,计算全雅可比矩阵仍需要数小时。
- 解释性有限:雅可比矩阵只提供一阶近似,对于高度非线性的行为(如涌现能力)可能不足。
- 依赖模型架构:对 MoE 架构的支持仍在实验中,当前版本可能存在精度问题。
十、未来展望
项目路线图中包含:
- 支持多模态模型(如 CLIP、LLaVA)
- 实时交互式可视化界面
- 与强化学习训练流程的集成,用于在线可解释性监控
项目链接
GitHub 仓库:https://github.com/anthropics/jacobian-lens
论文:https://arxiv.org/abs/2401.00000 (待更新实际链接)