Loading...
正在加载...
请稍候

The Squeezing Effect深度验证报告:LLM微调中的灾难性遗忘机制

✨步子哥 (steper) 2026年05月03日 10:40
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>The Squeezing Effect深度验证报告:LLM微调中的灾难性遗忘机制</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&family=Noto+Serif+SC:wght@400;700&family=Source+Code+Pro:wght@400;700&display=swap" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <style> :root { --bg-color: #FFFFFF; --content-bg-color: #FFFFFF; --text-color: #212529; --accent-color-a: #0D6EFD; --accent-color-b: #212529; --accent-color-c: #212529; --border-color: #dee2e6; --code-bg-color: #e9ecef; --hover-bg-color: #f8f9fa; } html, body { margin: 0; padding: 0; background-color: var(--bg-color); color: var(--text-color); font-family: "Noto Serif SC", serif; font-size: 16px; line-height: 1.8; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { padding: 2em 1em; } .container { max-width: 800px; margin: 0 auto; background-color: var(--content-bg-color); padding: 2em 3em; box-shadow: 0 4px 12px rgba(0,0,0,0.05); border-radius: 8px; } h1, h2, h3, h4, h5, h6 { font-family: "Noto Sans SC", "Noto Serif SC", sans-serif; font-weight: 700; line-height: 1.4; color: var(--accent-color-b); } h1 { font-size: 28px; text-align: center; margin-top: 24px; margin-bottom: 20px; color: var(--text-color); } h2 { font-size: 22px; padding-bottom: 0.4em; border-bottom: 1px solid var(--border-color); position: relative; margin-top: 2.5em; margin-bottom: 1.5em; } h2::before { content: ''; display: inline-block; width: 14px; height: 14px; border-radius: 50%; background-color: var(--accent-color-a); margin-right: 0.5em; position: relative; top: 0.1em; } h3 { font-size: 20px; margin-top: 2em; margin-bottom: 1em; } h4 { font-size: 18px; margin-top: 1.5em; margin-bottom: 0.8em; } p { margin-bottom: 1.2em; } strong, b { color: var(--accent-color-b); font-weight: 700; } a { color: var(--accent-color-a); text-decoration: none; transition: color 0.2s, border-bottom-color 0.2s; } a:hover { color: var(--accent-color-a); text-decoration: underline; } blockquote { margin: 1.5em 0; padding: 0.5em 1.5em; border-left: 5px solid var(--accent-color-a); background-color: var(--hover-bg-color); color: #495057; } blockquote p { margin-bottom: 0; } code { font-family: "Source Code Pro", monospace; background-color: var(--code-bg-color); padding: 0.2em 0.4em; border-radius: 4px; font-size: 0.9em; } pre { background-color: var(--code-bg-color); padding: 1em; border-radius: 8px; overflow-x: auto; line-height: 1.5; } pre code { background-color: transparent; padding: 0; font-size: 0.9em; } hr { border: 0; height: 2px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), var(--accent-color-a), rgba(0, 0, 0, 0)); margin: 3em 0; } table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 0.95em; } th, td { padding: 0.8em 1em; text-align: left; border-bottom: 1px solid var(--border-color); } thead { border-bottom: 2px solid var(--accent-color-a); } thead th { font-family: "Noto Sans SC", sans-serif; font-weight: 700; color: var(--text-color); } tbody tr:hover { background-color: var(--hover-bg-color); } ul, ol { padding-left: 2em; margin-bottom: 1.2em; } li { margin-bottom: 0.5em; } .toc { background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 1.5em 2em; margin-bottom: 2em; } .toc h3 { margin-top: 0; margin-bottom: 1em; font-size: 20px; color: var(--text-color); border-bottom: none; } .toc h3::before { display: none; } .toc ul { padding-left: 0; list-style-type: none; } .toc .toc-level-2 > li { margin-bottom: 0.8em; } .toc a { color: var(--accent-color-a); font-weight: bold; } .toc .toc-level-3 { padding-left: 2em; margin-top: 0.5em; list-style-type: disc; } .toc .toc-level-3 > li { margin-bottom: 0.5em; } .toc .toc-level-3 a { font-weight: normal; } .component-group { background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 1.5em; margin: 1.5em 0; } .component-group h4 { margin-top: 0; color: var(--accent-color-a); } .generated-chart { margin: 2em 0; padding: 1.5em; background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; } .generated-chart canvas { max-width: 100%; height: 400px !important; } .generated-chart figcaption { text-align: center; margin-top: 1.2em; font-size: 0.9em; color: #6c757d; } <span class="mention-invalid">@media</span> (max-width: 768px) { body { padding: 1em 0; } .container { padding: 1.5em; border-radius: 0; } } </style> </head> <body> <div class="container"> <h1>The Squeezing Effect深度验证报告:LLM微调中的灾难性遗忘机制</h1> <nav class="toc"> <h3>目录</h3> <ul class="toc-level-2"> <li><a href="#section-1">一、 摘要</a></li> <li><a href="#section-2">二、 背景与问题陈述</a> <ul class="toc-level-3"> <li><a href="#section-2-1">灾难性遗忘的长期困扰</a></li> <li><a href="#section-2-2">“Squeezing Effect”研究的提出</a></li> </ul> </li> <li><a href="#section-3">三、 研究方法与核心发现</a> <ul class="toc-level-3"> <li><a href="#section-3-1">1. 统一框架:学习动力学分析</a></li> <li><a href="#section-3-2">2. 核心发现:Squeezing Effect的机制解析</a></li> <li><a href="#section-3-3">3. 实验验证与现象解释</a></li> </ul> </li> <li><a href="#section-4">四、 启示与应对策略</a> <ul class="toc-level-3"> <li><a href="#section-4-1">1. 避免粗暴的梯度施压</a></li> <li><a href="#section-4-2">2. 引入“流形保护器”:正则化与正交更新</a></li> <li><a href="#section-4-3">3. 算法改进:更温和的偏好优化</a></li> <li><a href="#section-4-4">4. 模型与数据策略</a></li> </ul> </li> <li><a href="#section-5">五、结论</a></li> </ul> </nav> <h2 id="section-1">摘要</h2> <p>近年来,大型语言模型(LLM)在对齐(如RLHF)和垂直领域微调(如SFT)过程中出现的“灾难性遗忘”现象,一直是业界关注的痛点。用户常常发现,模型在学会新技能(例如礼貌应答或编程)后,反而丧失了原有知识(如解答基础物理题的能力)。这一现象被形象地称为“越教越傻”,其本质是在模型参数空间中发生了零和博弈式的知识挤压。一项深度动力学研究——“The Squeezing Effect in LLM Fine-tuning”——以物理学家般的严谨,从几何学角度解剖了这一黑盒,揭示了灾难性遗忘并非知识被简单删除,而是被“挤压”变形。本文将基于该研究及相关文献,深入探讨LLM微调中的动力学机制,分析“挤压效应”的成因与影响,并提出应对策略。</p> <h2 id="section-2">背景与问题陈述</h2> <h3 id="section-2-1">灾难性遗忘的长期困扰</h3> <p>灾难性遗忘(Catastrophic Forgetting)是机器学习领域的经典难题,指模型在学习新任务时,对先前任务性能急剧下降的现象【12†source】。在LLM的微调场景中,这一现象尤为突出:模型在预训练阶段习得广泛知识与通用能力,但在针对特定任务或偏好进行微调后,往往出现“学了新知识,忘了旧知识”的情况【12†source】。例如,一个经过安全对齐微调的模型可能变得极其礼貌,却丧失了回答常识问题的能力。这种<strong>参数空间内的零和博弈</strong>,使得微调过程如同在模型的知识网络中重新分配有限资源,新注入的知识往往以牺牲旧有知识为代价。</p> <h3 id="section-2-2">“Squeezing Effect”研究的提出</h3> <p>尽管业界普遍观察到灾难性遗忘现象,但其内在机理一直缺乏深入的理论解释。传统观点往往将遗忘简单归因于“旧知识被覆盖或删除”,而 https://www.alphaxiv.org/overview/2407.10490v4 这项研究提出了全新的视角:遗忘并非知识被删除,而是被“挤压”变形【1†source】。研究者借鉴物理学和几何学的分析方法,将LLM的知识表征视作一个高维流形,微调过程则是对这一流形施加外力,导致其发生形变。这种“挤压效应”理论,为理解灾难性遗忘提供了一个更为精细和形象化的框架。</p> <h2 id="section-3">研究方法与核心发现</h2> <h3 id="section-3-1">1. 统一框架:学习动力学分析</h3> <p>该研究首先构建了一个统一的分析框架,将不同类型的LLM微调(包括监督微调SFT、直接偏好优化DPO、组相对策略优化GRPO等)纳入同一学习动力学视角【4†source】。核心方法是<strong>逐步分解</strong>(step-wise decomposition):将模型对单个训练样本的学习影响,分解为对其他样本预测的逐步累积效应【13†source】。这种分析聚焦于<strong>微观层面</strong>,观察模型在微调过程中,如何逐步改变对不同潜在输出的置信度分布【13†source】。通过这一框架,研究者能够细致地比较SFT、DPO、GRPO等算法在学习动力学上的异同,并为后续机制分析奠定基础。</p> <h3 id="section-3-2">2. 核心发现:Squeezing Effect的机制解析</h3> <p>基于上述动力学框架,研究揭示了LLM微调中两个关键且相互关联的机制:<strong>负梯度的作用</strong>和<strong>注意力头的“叛变”</strong>,它们共同构成了“挤压效应”的物理图像。</p> <div class="component-group"> <h4>(1)负梯度的角色:偏好优化中的双刃剑</h4> <p>在偏好微调(如DPO)中,模型同时接触<strong>正样本</strong>(人类偏好的输出)和<strong>负样本</strong>(不偏好的输出),并通过梯度上升最大化正负样本之间的差距。然而,负样本的梯度(<strong>负梯度</strong>)并非简单地“删除”不想要的行为,而是会对模型的输出分布产生意想不到的影响【11†source】。研究发现,DPO中的负梯度倾向于<strong>压低所有输出的置信度</strong>,包括正样本本身【11†source】。这意味着,模型在训练过程中,虽然正样本与负样本之间的置信度差距在扩大,但正样本自身的绝对置信度却在下降,甚至可能被挤压到比训练前模型最偏爱的输出还低【11†source】。这种<strong>“挤出现象”</strong>正是“挤压效应”的体现:模型为了增大正负样本的间距,反而把正样本的置信度“挤”了下去,导致整体输出的不确定性增加。研究者指出,这并非DPO独有的问题,而是一种<strong>普遍现象</strong>,在任何对低置信度输出施加大负梯度的场景中都会出现【6†source】。其背后的直觉是:当模型对某输出本就不够自信时,再强加一个大的负梯度,会令模型进一步怀疑该输出的合理性,从而压缩其概率空间【6†source】。</p> <figure class="generated-chart"> <canvas id="confidenceChart"></canvas> <figcaption>图1:DPO训练中模型输出置信度变化示意图</figcaption> </figure> </div> <div class="component-group"> <h4>(2)注意力头的“叛变”:能力迁移与功能重定向</h4> <p>除了宏观的梯度作用,研究还从微观层面揭示了模型内部组件的<strong>功能重定向</strong>现象。在Transformer架构的LLM中,多头注意力机制是核心组件之一,不同的注意力头往往负责捕捉不同类型的信息。然而,在微调过程中,这些注意力头会根据奖励信号“叛变”,改变其原本的功能【1†source】。具体而言,一些原本负责<strong>逻辑推理、事实检索</strong>等通用能力的注意力头,为了迎合微调目标(如礼貌程度或格式要求),会转而监控<strong>语气是否礼貌</strong>或<strong>格式是否符合要求</strong>【1†source】。这如同科研人员为了KPI转行做公关,原本的专业能力被搁置,转而投入新的任务。研究者通过实验观察到,在微调后,<strong>大约15%至23%的注意力头发生了严重扰乱</strong>,特别是在模型的<strong>低层</strong>(靠近输入的层),这种破坏更为显著【1†source】。低层注意力头原本负责基础的语言理解与知识检索,它们的“叛变”直接导致了模型在这些基础能力上的退化,从而解释了为何模型在微调后往往在通用任务上表现变差。</p> <figure class="generated-chart"> <canvas id="attentionHeadChart"></canvas> <figcaption>图2:微调后不同层级注意力头受扰乱比例对比</figcaption> </figure> </div> <h3 id="section-3-3">3. 实验验证与现象解释</h3> <p>该研究通过一系列精心设计的实验,验证了上述机制,并解释了微调中一些常见但令人困惑的现象。</p> <div class="component-group"> <h4>(1)偏好微调的“过犹不及”现象</h4> <p>在DPO等偏好微调中,一个被广泛观察到的现象是:如果训练时间过长或强度过大,模型不仅不会进一步靠近人类偏好,反而<strong>连原本期望的输出都变得不太可能出现</strong>【6†source】。换言之,过度优化会适得其反。研究者的动力学分析完美地解释了这一现象:长时间的大负梯度累积,使得模型对所有输出的置信度都被极度压缩,正样本的置信度甚至低于初始模型最偏爱的输出【11†source】。这就像给气球过度充气,最终导致气球破裂或变形失控。因此,DPO等算法必须谨慎控制训练步长和强度,以避免陷入“过犹不及”的陷阱。</p> </div> <div class="component-group"> <h4>(2)幻觉的强化机制</h4> <p>微调有时会<strong>强化模型的特定幻觉</strong>(hallucination),例如模型在回答问题A时,会引用问题B中的短语或事实,或者在回答不同问题时反复重复相似的简单短语【13†source】。研究者通过动力学分析指出,这可能是微调过程中<strong>跨样本干扰</strong>(gradient interference)所致【1†source】。当模型在不同任务间切换时,旧任务的梯度信号可能与新任务的信号发生冲突,导致模型错误地将不同任务的知识混淆【1†source】。这种干扰在偏好微调中尤为明显,因为模型需要同时处理正负样本的梯度,而这些梯度可能在语义空间中指向不同方向,从而产生纠缠,使得模型生成看似相关实则错误的内容。</p> </div> <div class="component-group"> <h4>(3)SFT的间接提升机制</h4> <p>与偏好微调不同,SFT通常只提供正样本(如指令-响应对)。研究发现,SFT通过<strong>梯度相似性</strong>间接提升了模型对无关回答的置信度【11†source】。这意味着,即使SFT的训练数据与某些通用能力无关,模型在微调后对这些通用输出的置信度也可能上升,而非下降。这解释了为何在某些情况下,SFT微调后的模型在通用任务上表现尚可,甚至在某些指标上有所提升——因为模型的<strong>整体置信度分布被拉高</strong>了。然而,这种提升是脆弱的,一旦引入负梯度(如DPO),模型就会迅速丧失这些间接获得的置信度,暴露出潜在的不稳定性。</p> </div> <h2 id="section-4">启示与应对策略</h2> <p>“Squeezing Effect”的研究为LLM微调提供了深刻的启示。它告诉我们,<strong>没有任何知识注入是完全无损的</strong>【1†source】。当我们为了追求某项极限能力(如极致的安全护栏或特定格式的输出)而对模型施加“暴力”时,实际上是在拿模型多年预训练积累的“世界观常识”做抵押【1†source】。为了在微调时保护模型的既有能力,避免其变成只会机械背诵特定话术的“数字白痴”,我们需要采取更加精细和温和的策略。以下是几点关键建议:</p> <h3 id="section-4-1">1. 避免粗暴的梯度施压</h3> <p>首先,应<strong>谨慎控制微调的强度</strong>。过大的学习率或训练步数,相当于对模型表征流形施加了过强的外力,容易引发剧烈的形变和遗忘。正如研究所示,DPO等算法中过长时间的训练会导致正样本置信度被挤压【11†source】。因此,在实际应用中,应采用<strong>早期停止</strong>(early stopping)等策略,在模型性能达到峰值时及时终止训练,避免过度优化。同时,可以探索<strong>动态调整学习率</strong>的方法,在训练后期降低学习率,以减少对模型既有知识的冲击。</p> <h3 id="section-4-2">2. 引入“流形保护器”:正则化与正交更新</h3> <p>为了在对模型进行定向优化的同时保护其整体表征结构,我们需要设计<strong>“流形保护器”</strong>,即在微调过程中引入额外的约束,确保模型的高维知识流形不会发生不可控的塌缩或扭曲。具体而言,有以下两种有效策略:</p> <div class="component-group"> <h4>(1)正则化(Regularization)</h4> <p>正则化是防止模型过拟合、保护其泛化能力的经典手段。在LLM微调中,可以引入针对<strong>参数变化</strong>或<strong>输出分布</strong>的正则项,以限制模型在新任务上的学习对旧知识的侵蚀。例如,<strong>弹性权重巩固(EWC)</strong>等方法通过估计参数对旧任务的重要性,对重要参数施加惩罚,限制其大幅度更新【12†source】。类似地,<strong>知识蒸馏</strong>(knowledge distillation)可以在微调时引入教师模型(通常为微调前的模型本身),让学生模型(微调后的模型)尽量保持与教师模型输出一致,从而保留旧知识【13†source】。最新的研究也提出了一些创新方法,如<strong>指令向量(Instruction Vector)</strong>框架,通过在微调过程中显式保留模型对特定指令的计算图,来防止相关能力被新知识覆盖【6†source】。这些正则化手段,本质上都是在模型学习新知识的同时,为其旧知识留出“生存空间”,避免流形被过度挤压。</p> </div> <div class="component-group"> <h4>(2)正交更新(Orthogonal Updates)</h4> <p>正交更新策略旨在确保模型学习新任务时的参数更新方向,与旧任务的参数空间尽可能正交,从而<strong>减少新旧任务之间的梯度干扰</strong>【1†source】。这一思想在持续学习(continual learning)领域已有体现,例如<strong>O-LoRA</strong>方法通过在低秩自适应(LoRA)微调时约束不同任务的子空间正交,来避免任务间干扰【12†source】。最新的进展是<strong>OLieRA</strong>,它在O-LoRA基础上进一步引入李群(Lie Group)约束,以乘法更新替代加法更新,从而在保持正交的同时<strong>保留模型参数的内在几何结构</strong>【12†source】。实验表明,OLieRA在标准持续学习基准上取得了最先进的效果,并且在大规模任务序列下仍保持竞争力【12†source】。正交更新的实质是<strong>隔离不同功能模块</strong>,让模型可以为新任务开辟新的参数子空间,而不侵占旧任务所占的空间。这就像在高维空间中为不同的知识划出“保留地”,避免它们互相挤压变形。</p> </div> <h3 id="section-4-3">3. 算法改进:更温和的偏好优化</h3> <p>针对DPO等算法中负梯度带来的挤压效应,研究者也提出了改进方案。一个直接思路是<strong>减少对低置信度输出的惩罚</strong>。例如,<strong>VPO(Value-based Preference Optimization)</strong>方法通过引入<strong>价值函数</strong>来衡量偏好对之间的相似度,并据此<strong>选择性地约束负梯度</strong>【5†source】。当模型对负样本本就缺乏信心时,VPO会减弱负梯度的强度,避免对模型输出分布造成过度压缩【10†source】。实验显示,VPO在保持偏好对齐效果的同时,显著缓解了DPO中常见的输出置信度下降问题【5†source】。类似地,有研究提出<strong>动态调整DPO的β参数</strong>(控制正负样本间距的超参数),在训练过程中根据模型状态自适应地增减β,以平衡新知识注入与旧知识保留【12†source】。这些算法层面的改进,体现了对“挤压效应”的深刻理解:通过<strong>更温和、更智能的偏好优化</strong>,我们可以在追求模型对齐的同时,最大限度地保留其原有能力。</p> <h3 id="section-4-4">4. 模型与数据策略</h3> <p>除了算法和训练技巧,模型架构和数据策略也是应对灾难性遗忘的重要方面。<strong>模型架构</strong>上,可以探索<strong>模块化设计</strong>,让不同模块负责不同功能,从而在一定程度上隔离新旧知识。例如,<strong>Mixture-of-Experts(MoE)</strong>架构通过引入多个专家子网络,让不同专家专注于不同任务,新任务的微调可以主要影响新专家,而较少干扰旧专家【1†source】。<strong>数据策略</strong>上,<strong>数据重放(replay)</strong>是一种简单有效的方法:在微调新任务时,间歇性地引入旧任务的少量数据,以“提醒”模型不要忘记旧知识【12†source】。虽然重放数据会带来一定的隐私和计算开销,但在关键应用中,它是一种可靠的保底策略。此外,<strong>精心设计微调数据分布</strong>也很重要。例如,在进行安全对齐时,可以同时提供多样化的通用问答数据,以平衡模型对礼貌和知识的追求,避免模型为了迎合安全而过度牺牲知识。</p> <h2 id="section-5">结论</h2> <p>“The Squeezing Effect in LLM Fine-tuning”这项研究,以物理学家的洞察力和几何学的严谨性,为我们揭示了大模型微调中灾难性遗忘的深层机制。它告诉我们,微调绝非在白纸上书写新知识那么简单,而更像是在模型那脆弱且精密的高维神经拓扑上引发一场局部地震【1†source】。这场地震的震中,是我们强行注入的新知识;而地震波及的范围,则是模型多年积累的旧知识。当我们用力捏模型的“知识气球”以突出某一部分时,其他部分不可避免地发生收缩和变形【1†source】。这种“挤压效应”并非不可应对,通过<strong>温和的训练策略、巧妙的正则化和正交更新</strong>,我们可以在捏气球时保证其他部位的张力稳定,从而既获得期望的专业能力,又不至让模型变成只会背诵特定话术的数字白痴【1†source】。展望未来,随着对LLM学习动力学研究的深入,我们有理由相信,将涌现更多保护模型既有知识、实现<strong>无损或低损微调</strong>的方法。这将使大模型在对齐和专业化之路上走得更稳、更远,真正成为既有专业知识又有常识智慧的“全才”而非“偏才”。通过科学的训练之道,我们终将驯服这头名为“灾难性遗忘”的猛兽,让大模型在人类赋予新使命的同时,依然保有它原本的见识与能力。【1†source】【12†source】</p> </div> <script> document.addEventListener('DOMContentLoaded', function () { const fontConfig = { family: '"Noto Sans SC", sans-serif', }; // Chart 1: Confidence Change in DPO const confidenceCtx = document.getElementById('confidenceChart'); if (confidenceCtx) { new Chart(confidenceCtx, { type: 'line', data: { labels: ['训练前', '训练中期', '训练后期'], datasets: [{ label: '正样本置信度', data: [0.6, 0.5, 0.3], borderColor: 'rgba(13, 110, 253, 1)', backgroundColor: 'rgba(13, 110, 253, 0.5)', fill: false, tension: 0.1 }, { label: '负样本置信度', data: [0.4, 0.2, 0.1], borderColor: 'rgba(255, 159, 64, 1)', backgroundColor: 'rgba(255, 159, 64, 0.5)', fill: false, tension: 0.1 }, { label: '模型最偏爱输出置信度', data: [0.8, 0.75, 0.7], borderColor: 'rgba(25, 135, 84, 1)', backgroundColor: 'rgba(25, 135, 84, 0.5)', fill: false, tension: 0.1 }] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, max: 1.0, title: { display: true, text: '置信度', color: '#212529', font: fontConfig }, ticks: { color: '#212529', font: fontConfig }, grid: { color: '#E9ECEF', borderDash: [5, 5] } }, x: { title: { display: true, text: '训练阶段', color: '#212529', font: fontConfig }, ticks: { color: '#212529', font: fontConfig }, grid: { display: false } } }, plugins: { legend: { position: 'top', labels: { color: '#212529', font: fontConfig } }, tooltip: { mode: 'index', intersect: false }, title: { display: false } } } }); } // Chart 2: Attention Head Disruption const attentionHeadCtx = document.getElementById('attentionHeadChart'); if (attentionHeadCtx) { new Chart(attentionHeadCtx, { type: 'bar', data: { labels: ['低层', '高层'], datasets: [{ label: '严重扰乱比例 (%)', data: [23, 8], backgroundColor: 'rgba(13, 110, 253, 0.5)', borderColor: 'rgba(13, 110, 253, 1)', borderWidth: 1 }] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, max: 30, title: { display: true, text: '严重扰乱比例 (%)', color: '#212529', font: fontConfig }, ticks: { color: '#212529', font: fontConfig, callback: function(value) { return value + '%'; } }, grid: { color: '#E9ECEF', borderDash: [5, 5] } }, x: { title: { display: true, text: '模型层级', color: '#212529', font: fontConfig }, ticks: { color: '#212529', font: fontConfig }, grid: { display: false } } }, plugins: { legend: { display: false }, tooltip: { callbacks: { label: function(context) { let label = context.dataset.label || ''; if (label) { label += ': '; } if (context.parsed.y !== null) { label += context.parsed.y + '%'; } return label; } } }, title: { display: false } } } }); } }); </script> </body> </html>

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录