ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
OpenAI新作署名Ilya,提取1600万个特征看透GPT-4大脑!
8077点击    2024-06-08 11:50

前两天,OpenAI的一群员工刚刚联名发表公开信,表示自主的AI系统正在失控,呼吁公众提高警惕。


今天OpenAI就甩出了一篇论文来回应。


这篇文章通过逆向工程,为GPT-4做了一次「解剖」,旨在探索LLM的可解释性。




更让人唏嘘的是,这项新研究由最近刚刚分崩离析的「超级对齐」团队完成,文章还有Ilya Sutskever和Jan Leike的署名。



论文地址:https://cdn.openai.com/papers/sparse-autoencoders.pdf


文章是发表了,但团队却早已解散。


物是人非,似乎也从另一个侧面说明了,OpenAI在AGI安全方面进行的重大转向。


论文提出,模型的可解释性与AI安全息息相关。


目前我们仍不了解语言模型的内部运作原理,而且它无法被轻易分解为可识别的部分。这意味着无法像推理汽车安全那样推理人工智能安全。


为了理解和解释神经网络,首先需要找到神经计算的构建模块。


然而,语言模型内神经元的激活模式是密集且不可预测的,每次输入都会触发一次激活,而且同时包含了许多概念(concepts)。


不同的是,现实世界的概念非常稀疏——给定上下文,所有概念中只有一小部分是相关的。


这种密集和稀疏的区别启发了「稀疏自动编码器」(SAE, sparse autoencoders)的概念。对于给定输出,可以识别并提取神经网络中产生这些输出的重要「特征」(features),类似于人特定情境下进行推理时想到的概念。


SAE提取的特征显示出稀疏的激活模式,即使不施加直接的可解释性激励,也能自然地与人类容易理解的概念保持一致。



LLM的参数中隐式包含了大量的概念,相应地,自动编码器也需要非常大的规模,才能涵盖前沿模型中的所有概念。


由于极端稀疏性,SAE很难扩展为大规模训练,之前的工作主要集中在用小型语言模型训练较小的SAE。


这篇论文的主要贡献在于提供了可靠且可扩展性的训练方法,能够用TopK自动编码器提取LLM中的数千万个特征。


而且,这种可扩展性是平滑且可预测的,与之前的工作相比有更好的「规模回报」。


训练代码已在GitHub上发布,可以运行在任何语言模型的激活层上。



开源地址:https://github.com/openai/sparse_autoencoder


论文尝试用这种方法分别在GPT-2和GPT-4上训练SAE,并制作了一个可视化工具来检视提取特征的可解释性。



SAE可视化界面:https://openaipublic.blob.core.windows.net/sparse-autoencoder/sae-viewer/index.html


GPT-4训练的SAE包含1600万个潜在变量,在400亿个token上进行训练。


其中有一些较为明显的可解释特征被提取了出来,比如有关人类缺陷、多语言的身份证明文件和涨价、自然灾害等话题。



训练方法


论文在多种LLM上都尝试了训练TopK自动编码器,包括GPT-2 small、GPT-4以及一系列有GPT-4类似架构的不同大小的模型。


TopK,或者k-稀疏方法是只保留k个最大的隐变量,将其余变量置零。TopK编码器定义如下:




所有实验中都使用64 tokens长度的上下文,选取网络末尾的包含较多特征的一层(但不涉及next token预测任务)的残差流进行训练。


GPT-2 small中使用了第8层,也就是整体架构的3/4部分;对于GPT-4类架构,这个比例则是5/6。


训练后,分别使用L0和均方差(MSE)两个指标分别评估稀疏性和重建误差,并与基线模型ReLU自动编码器进行对比。


在规定隐变量数量为32768时,相比ReLU和ProLU,TopK方法在稀疏性和重建性能上实现了更好的平衡,与门控机制相近。


在固定稀疏性时,随着隐变量数目的增加,TopK方法的MSE下降速度也是所有方法中最高的。



变量数量逐渐增长时,也会有越来越多的隐变量在训练过程中的某个时刻完全停止激活,成为「死亡隐变量」。


消融实验中发现,如果不采取任何缓解措施,死亡隐变量的占比可以高达90%,这会导致MSE大幅恶化,且浪费训练算力。


为了防止隐变量「死亡」,论文提出了2个训练技巧——


- 将编码器初始化为解码器的转置


- 添加辅助损失AuxK,即使用k个「死亡隐变量」计算的重构误差(论文戏称为「幽灵梯度」)


使用这两个方法后,即使是在GPT-4上训练出的有1600万个隐变量的SAE中,也仅有7%的「死亡隐变量」。


可扩展性


由于论文的主要目的就是提升SAE的可扩展性,因此作者通过改变各种超参数设置,着重探讨了模型这方面的表现。


首先,使用与训练LLM相似的策略,不考虑收敛,在可用计算资源的条件下训练不同规模的SAE,直至达到MSE最优。


下面左图中可以看到,MSE的下降趋势基本符合计算量的幂律分布L(C),尽管其中最小的模型有些偏离。


右图则表示,选取不同的k值时,随着隐变量数量N的增大,MSE的下降趋势基本类似,遵循N和k的联合scaling法则。这体现出模型较好的优化性能和可靠性。


随着k值增加,MSE的下降曲线逐渐陡峭,意味着不可约损失的减少。



但L(N,k)的这种趋势仅在k值较小时成立,若k值过大、接近模型维数,SAE的重建就失去意义了。


下面这张图展示的结果也比较符合直觉——随着语言模型逐渐增大,SAE也需要更多的隐变量才能实现相同的MSE。



评估结果


虽然使用L0和MSE两个指标已经可以很好地评估稀疏性和重建表现,但这并不是模型的最终目标。


我们需要评估SAE提取出特征的质量和可解释性,因此论文提出了以下几种指标:


1. 下游损失:如果将原语言模型残差流中的隐变量替换为自动编码器重建的变量,语言模型的损失表现如何


2. 探测损失:SAE能否恢复我们预期的特征


3. 可解释性:对于SAE提取的隐变量在LM中的激活,是否存在充要的简单解释


4. 消融稀疏性:消除单个隐变量对LM下游得到的logits是否有稀疏影响?


通过这些指标的评估,论文得出的总体结论是,隐变量总数增加会使得SAE表现更好,然而激活的隐变量数量L0产生的影响会比较负责。


下游损失


论文考虑使用KL散度和交叉熵损失衡量语言模型的下游表现,TopK方法在稀疏性和交叉熵两方面可以取得更好的均衡。


对比其他方法,在达到相同的MSE值时,TopK方法带来的交叉熵最低,意味着下游表现最好。



探测损失


为评估探测损失,团队训练了61个1维的logistic探测器,用于检测相应特征是否存在并计算最佳交叉熵(在所有隐变量中)作为探测损失。


结果显示,k值越高,探测损失越低,且TopK模型的性能在各个k值上的表现都优于ReLU。



可解释性


可解释性的量化比较困难。为此,论文借鉴了2023年一篇论文提出的可解释性自动评分方法,打出的分数与召回率相关但不成比例。


由于在这种方法中使用GPT-4计算准确率和召回率过于昂贵,因此评估时作者找了另一种更便宜的模型N2G。


下面这个例子可以更直观地展现N2G的打分机制。



相比ReLU,TopK模型的F1分数更高,召回率总体有1.5×的提升,但准确率稍逊一筹,约为ReLU方法的0.9×。



消融稀疏性



为了评估消融稀疏性,团队独创了一个指标(L1/L2)^2计算向量的稀疏度,来表征每删除一个隐变量时,有多少token受到了稀疏影响。


图6b可以看到,对于有不同隐变量数量的模型,随着L0逐渐提升(模型逐渐稀疏),消融稀疏性也逐渐提升(受到影响的token数量更少)。


理解TopK激活函数


TopK防止激活收缩


L1正则化的一个主要缺点是,它会使所有激活值趋向于零。


而论文提出的TopK激活函数解决了这个问题,因为它不需要L1。


团队使用投影梯度下降法来求解带有正约束的最优激活值。这种优化过程在ReLU模型中通常会增加激活值,但在TopK模型中不会(见图9a),这表明TopK不受激活收缩的影响。TopK模型的优化幅度也比ReLU模型小。


在ReLU和TopK模型中,优化过程显著改善了重建的MSE(见图9b)和下游的下一个token预测的交叉熵(见图9c)。


然而,这种优化只部分缩小了ReLU和TopK模型之间的差距。



渐进恢复


在渐进编码中,即使只传输部分数据,也可以以合理的精度重建信号。


对于自动编码器来说,学习渐进编码意味着通过激活幅度对潜变量进行排序,可以逐步恢复原始向量。


为了研究这一特性,团队在训练后将自动编码器的激活函数替换为TopK(k′)激活函数,其中k′与训练时的k值不同。然后,通过将每个k′值放在L0-MSE平面上进行评估(见图10)。


结果显示,用TopK训练的模型只能在训练时使用的k值范围内提供渐进编码。MSE在稍高于k的值时有所改善,但随着k′的进一步增加,MSE显著变差。


为了缓解这个问题,我们将多个不同k值的TopK损失相加,称为Multi-TopK。比如,使用L(k) + L(4k)/8就可以在所有k′上实现渐进编码。


不过需要注意的是,使用Multi-TopK训练在k值处的表现略逊于单一TopK。



对于用TopK训练的自动编码器,在测试时,TopK和JumpReLU曲线仅在L0低于训练时的L0值时重叠,否则JumpReLU激活效果不如TopK激活。


然而,这种差异在使用Multi-TopK时消失,两条曲线几乎重叠,这意味着模型可以在每个token上使用固定或动态数量的潜变量而不会影响重建效果。对于用ReLU训练的自动编码器,两条曲线也重叠。


有趣的是,有时用低L1惩罚训练ReLU模型并在测试时使用TopK或JumpReLU,比用较高L1惩罚以获得类似稀疏度更有效。


局限性和未来方向


对于OpenAI的这篇研究,东北大学研究AI可解释性的教授David Bau表示,「这是令人兴奋的进展。我们需要学习如何更好地理解和审查这些大模型。」


这篇论文的主要创新在于,展示了一种更有效的方法来配置小型神经网络,可用于理解大模型的组成部分。但他也指出,这项技术的可靠性仍有提升空间,「要使用这些方法来创建完全可以理解的模型解释,还有很多工作要做」。


论文最后也对局限性和未来发展方向做出了相关的陈述——


- TopK方法强制使用固定数量的k个潜变量,这可能不是最优的。理想情况下,应该约束潜变量的期望数量E[L0]而不是固定数量L0。


- 64个token的上下文长度可能太短,无法展示GPT-4最有趣的行为。


- 优化过程可能有很大的改进空间,例如通过调整学习率、更好的优化器以及更好的辅助损失来防止潜变量失效。


- 可以进一步研究哪些指标最能反映与下游应用的相关性,并深入研究这些应用本身。比如,寻找用于控制行为的向量、进行异常检测、识别电路等。


- 可以进一步研究专家模型(MoE)与自动编码器的结合,这将大大降低自动编码器训练的成本,并使得训练更大规模的自动编码器成为可能。


- 在发现的特征中,特别是在GPT-4中,很多随机激活的特征尚未充分单义化。通过改进技术和扩大规模,这个问题是可以克服的。


- 目前的探测指标噪声较大,可以通过增加任务的种类和提高任务质量来改进。


- 目前选择使用N2G进行自动评估与解释是因为它的计算效率高,但只能捕捉非常简单的模式。之后可以开发更具表现力且成本低廉的解释方法,以提高解释精度。此外,仍没有好的方法来检查解释的有效性。


SAE可以在模型中的某一点找到特征,但这只是解释模型的第一步。我们需要更多的工作来了解模型如何计算这些特征,以及这些特征如何在模型的其余部分的下游使用。


此外,SAE无法捕获原始模型的所有行为。为了完全映射前沿LLM中的概念,我们可能需要扩展到数十亿或数万亿个特征,即使改进了扩展性,如此大的特征规模也将是一个挑战。


希望有一天,可解释性能够提供新的方法来推理模型的安全性和鲁棒性,并通过对强大的AI的行为提供强有力的保证,才能显著增加我们对模型的信任。


文章来源于“新智元”,作者“新智元”


关键词: AI , openai , chatGPT , GPT-4
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI