从论文到实践:SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100如何推动大语言模型机制可解释性研究
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100是基于Qwen3.5-35B-A3B-Base模型开发的稀疏自编码器(SAE)工具集,通过在模型隐藏层集成并训练SAE,实现了对大语言模型内部机制的精准解析。该项目为研究者和开发者提供了探索AI模型“黑箱”的实用工具,开启了大语言模型可解释性研究的新篇章。## 什么是稀疏自编码器(SAE)?为什么它对AI可解释性
从论文到实践:SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100如何推动大语言模型机制可解释性研究
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100是基于Qwen3.5-35B-A3B-Base模型开发的稀疏自编码器(SAE)工具集,通过在模型隐藏层集成并训练SAE,实现了对大语言模型内部机制的精准解析。该项目为研究者和开发者提供了探索AI模型“黑箱”的实用工具,开启了大语言模型可解释性研究的新篇章。
什么是稀疏自编码器(SAE)?为什么它对AI可解释性至关重要?
稀疏自编码器是一种特殊的神经网络结构,它通过施加稀疏性约束,能够自动提取数据中高度解耦、低冗余且具有显著可解释性的特征。在大语言模型中,SAE就像一台“显微镜”,可以帮助我们观察模型在处理语言时的内部工作状态。
传统大语言模型通常被视为“黑箱”,其决策过程难以追踪和理解。而SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100通过在Qwen3.5模型的40个Transformer层中植入SAE,实现了对模型残差流(residual stream)的精准捕捉和分析,为理解模型行为提供了前所未有的洞察力。
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100核心技术参数解析
该项目的技术规格令人印象深刻,展现了其在大语言模型可解释性研究领域的领先地位:
| 参数 | 数值 | 说明 |
|---|---|---|
| 基础模型 | Qwen3.5-35B-A3B-Base | 基于Qwen3.5系列的350亿参数模型 |
| SAE宽度(d_sae) | 131072 | 每个SAE包含131072个特征维度 |
| 隐藏层大小(d_model) | 2048 | 基础模型的隐藏层维度 |
| 扩展因子 | 64× | SAE宽度是基础模型隐藏层的64倍 |
| Top-K | 100 | 每次前向传播仅保留100个非零特征 |
| 覆盖层数 | 0-39(共40层) | 覆盖基础模型的所有Transformer层 |
这些参数确保了SAE能够在不损失关键信息的前提下,以高度稀疏的方式捕捉模型内部的关键特征,为可解释性研究提供了坚实基础。
项目结构与核心文件解析
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100项目结构清晰,主要包含以下核心文件:
-
层SAE模型文件:从layer0.sae.pt到layer39.sae.pt,每个文件对应基础模型的一个Transformer层,包含编码器权重矩阵(W_enc)、解码器权重矩阵(W_dec)、编码器偏置(b_enc)和解码器偏置(b_dec)四个关键张量。
-
配置文件:config.json包含了模型的核心参数配置,如模型类型、基础模型名称、维度信息和层数等。
-
演示应用:app.py提供了一个Gradio交互式界面,允许用户直观地探索SAE特征激活情况,是学习和使用该工具的理想起点。
如何快速上手:从安装到首次特征提取
使用SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100非常简单,只需几个步骤即可开始探索大语言模型的内部机制:
1. 克隆项目仓库
git clone https://gitcode.com/hf_mirrors/Qwen/SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100
cd SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100
2. 安装依赖
确保安装了PyTorch和Transformers库,以及Gradio用于运行交互式演示:
pip install torch transformers gradio
3. 运行Gradio演示
通过以下命令启动交互式界面,探索SAE特征:
python app.py \
--model Qwen/Qwen3.5-35B-A3B-Base \
--model-name-sae-trained-from qwen3.5-35b-a3b-base \
--model-name-analyzing-now qwen3.5-35b-a3b \
--sae-path . \
--top-k 100 \
--num-layers 40 \
--sae-width 131072 \
--d-model 2048 \
--server-port 7860
4. 提取特征激活(Python代码示例)
以下代码展示了如何加载SAE模型并提取特征激活:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
# 加载基础模型
model_name = "Qwen/Qwen3.5-35B-A3B-Base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float32)
model.eval()
# 加载目标层的SAE
LAYER = 0 # 选择0-39中的任何层
sae = torch.load(f"layer{LAYER}.sae.pt", map_location="cpu")
W_enc = sae["W_enc"] # (131072, 2048)
b_enc = sae["b_enc"] # (131072,)
def get_feature_acts(residual: torch.Tensor) -> torch.Tensor:
"""residual: (..., 2048) → 稀疏特征激活 (..., 131072)"""
pre_acts = residual @ W_enc.T + b_enc
topk_vals, topk_idx = pre_acts.topk(100, dim=-1)
acts = torch.zeros_like(pre_acts)
acts.scatter_(-1, topk_idx, topk_vals)
return acts
# 注册钩子捕获目标Transformer层后的残差流
captured = {}
def _hook(module, input, output):
hidden = output[0] if isinstance(output, tuple) else output
captured["residual"] = hidden.detach().cpu()
hook = model.model.layers[LAYER].register_forward_hook(_hook)
# 前向传播
text = "The capital of France is"
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
model(**inputs)
hook.remove()
# 提取特征激活
residual = captured["residual"] # (1, seq_len, 2048)
feature_acts = get_feature_acts(residual) # (1, seq_len, 131072)
# 检查最后一个token的激活特征
last_token_acts = feature_acts[0, -1] # (131072,)
active_idx = last_token_acts.nonzero(as_tuple=True)[0]
print(f"激活特征索引 : {active_idx.tolist()}")
print(f"特征值 : {last_token_acts[active_idx].tolist()}")
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100的应用场景与研究价值
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100不仅是一个研究工具,更是推动AI可解释性发展的重要里程碑。其应用场景包括:
1. 模型行为分析
通过分析SAE提取的特征,研究者可以深入了解模型在处理不同任务时的内部工作机制,揭示模型决策的依据。
2. 可控推理控制
利用SAE特征,开发者可以实现对模型输出的精准控制,引导模型生成特定类型的内容,提高模型的可靠性和安全性。
3. 评估样本分布分析
SAE特征可用于分析评估样本的分布特点,帮助研究者理解模型在不同类型数据上的表现差异。
4. 数据分类与合成
基于SAE提取的特征,可以开发更有效的数据分类和合成方法,为数据增强和模型训练提供支持。
5. 模型优化
通过分析SAE特征,研究者可以识别模型的薄弱环节,为模型结构改进和训练策略优化提供指导。
研究引用与社区贡献
如果您在研究中使用了SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100,请引用以下文献:
@misc{qwen_scope,
title={{Qwen-Scope}: Turning Sparse Features into Development Tools for Large Language Models},
author={Boyi Deng and Xu Wang and Yaoning Wang and Yu Wan and Yubo Ma and Baosong Yang and Haoran Wei and Jialong Tang and Huan Lin and Ruize Gao and Tianhao Li and Qian Cao and Xuancheng Ren and Xiaodong Deng and An Yang and Fei Huang and Dayiheng Liu and Jingren Zhou},
year={2026},
eprint={2605.11887},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2605.11887},
}
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100是Qwen-Scope项目的重要组成部分,该项目致力于将稀疏特征转化为大语言模型的开发工具。我们欢迎社区贡献,共同推动大语言模型可解释性研究的发展。
使用注意事项与伦理准则
使用SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100时,请严格遵守以下准则:
- 严禁将可解释性工具用于非科学研究目的,以干扰模型能力。
- 不得利用本工具编造、生成和传播违反公序良俗和社会主义核心价值观的有害信息,包括色情、暴力、歧视或煽动性内容。
- 违规者将自动终止授权,并承担由此产生的一切法律责任。
SAE-Res-Qwen3.5-35B-A3B-Base-W128K-L0_100为大语言模型可解释性研究提供了强大的工具支持。通过深入理解模型内部机制,我们能够构建更可靠、更安全、更可控的AI系统,为AI技术的健康发展贡献力量。无论是学术界还是工业界,都可以利用这一工具探索大语言模型的奥秘,推动AI可解释性研究迈向新的高度。
更多推荐


所有评论(0)