Skip to content

Translation in progress Some entries still include text in the original language.

论文追踪· arXiv:2606.05396· Cristina Carleo, Pietro Liguori, Naghmeh Ivaki, Domenico Cotroneo·Indexed by this site · Originally published

研究用消融移除代码 LLM 拒答方向,分离拒答与生成能力

Willing but Unable: Separating Refusal from Capability in Code LLMs via Abliteration

Quick read

Interpretability

Based on 论文 PDF (AI 生成); refer to the original

用abliteration去掉Qwen2.5-Coder拒答方向后,CWE-89注入拒答降至近零,注入率仍随规模变化。

Questions
学习式漏洞检测缺干净标签。从安全代码让模型注入指定CWE,可把开放式标注收成二元确认,但指令微调的代码LLM会拒绝点名CWE的提示词。
Methods
对Qwen2.5-Coder-Instruct的3B、7B、14B做abliteration,把残差流里的拒答方向正交投影掉。生成结果用CodeQL、Semgrep、Bandit加两名作者裁决是否构成CWE-89。
Experiments and results
14B Base在两数据集拒答均为100.0%,7B Base在PromSec为73.3%、SafeCoder为4.7%。消融后拒答降至0%或1.7%;注入率3B为25.0%与48.0%,14B为88.3%与96.7%(Table I)。
Limitations and future work
作者将范围限制在CWE-89、Python与Qwen2.5-Coder一族;后续包括其他CWE、语言、模型族,以及检测器能否泛化到真实漏洞代码。推理使用Q4_K_M,未系统复现FP16。
Experimental setupQwen2.5-Coder-Instruct 3B、Qwen2.5-Coder-Instruct 7B et al. · PromSec、SafeCoder · Refusal %、Vuln. % et al.
Evaluated models
Qwen2.5-Coder-Instruct 3BQwen2.5-Coder-Instruct 7BQwen2.5-Coder-Instruct 14B
Benchmarks
PromSecSafeCoder
Metrics
Refusal %Vuln. %Syntax %CrystalBLEUCodeBLEU
AI summary论文提出用消融(abliteration,一种低秩权重编辑,在残差流中正交投影掉拒答方向)移除安全对齐代码 LLM 对注入漏洞提示的拒答,以 Python 和 CWE-89(SQL 注入)为案例,在 Qwen2.5-Coder-Instruct 的 3B、7B、14B 上测试 PromSec 与 SafeCoder 的安全样本,每种条件重复三次。结果显示拒答强烈依赖模型规模和提示上下文:14B 拒绝 100% 提示,7B 对 PromSec 拒绝 73%、对 SafeCoder 仅 5%,3B 基本不被拦截。消融后各规模拒答降至零或接近零,语法有效性保持在 93% 以上;注入率仍受能力限制,14B 为 88-97%、7B 为 89-90%、3B 为 25-48%,作者据此认为拒答可与代码生成能力分离。

论文提出用消融(abliteration,一种低秩权重编辑,在残差流中正交投影掉拒答方向)移除安全对齐代码 LLM 对注入漏洞提示的拒答,以 Python 和 CWE-89(SQL 注入)为案例,在 Qwen2.5-Coder-Instruct 的 3B、7B、14B 上测试 PromSec 与 SafeCoder 的安全样本,每种条件重复三次。结果显示拒答强烈依赖模型规模和提示上下文:14B 拒绝 100% 提示,7B 对 PromSec 拒绝 73%、对 SafeCoder 仅 5%,3B 基本不被拦截。消融后各规模拒答降至零或接近零,语法有效性保持在 93% 以上;注入率仍受能力限制,14B 为 88-97%、7B 为 89-90%、3B 为 25-48%,作者据此认为拒答可与代码生成能力分离。

Paper analysis

6 questions; open one to read the full answer

  1. What problem does this paper attempt to solve?

    从安全代码注入指定CWE可改善标注,但安全对齐的代码LLM会拒绝这类提示词。

    从已确认安全的代码出发、让指令微调的代码 LLM 按指定 CWE 注入漏洞,会被安全对齐带来的拒答挡住。

    • 场景:作者认为基于学习的漏洞检测卡在训练数据。合成测试集缺乏真实感;CVE 提交挖掘的数据有 20–71% 标签噪声,重复最高 99%;LLM 增强改写已有漏洞种子,因而继承种子噪声。作者称检测研究以 C/C++ 为主,Python 与 PHP、Go 同处于剩余的约 16%,尽管 Python 在开源漏洞发生中很突出。
    • 标注问题为何不同:若从静态分析确认为不具 CWE-X 的安全样本出发,再要求做该 CWE 的指定变换,分析器要答的问题就从开放式多类检测(作者称其中 20–71% 标签是错的)变成对指定类别的二元确认。阴性用于过滤,而不是误标。
    • 障碍:作者称现代指令微调的代码生成 LLM 经过安全对齐,提示词里点名 CWE 就会触发经 RLHF 学到的拒答,即便模型本来做得出这种变换。
    • 本文:这是一项初步可行性研究,用 abliteration(把残差流中的拒答方向正交投影掉的低秩权重编辑)去掉这道障碍。案例是 Python 与 CWE-89(SQL 注入),模型是 Qwen2.5-Coder-Instruct 的 3B、7B、14B。作者称完整语料不在范围内,要看设计空间能否收窄到可工程化;并列出检测器训练数据、代码生成安全基准、只差目标弱点的成对样本,以及测量静态分析器召回上限的测试集。
  2. What related research exists?

    作者把本文放在规格驱动的漏洞注入与拒答方向消融之间,实验对照是同模型 Base。

    漏洞数据与合成

    • VulGen(Nong et al., 2023)从 C 代码挖掘单语句漏洞模式并训练模型定位注入点;VGX(Nong et al., 2024)扩大数据并加入语义上下文。论文指出二者都限于单语句、目标是 C/C++ 而非 Python,且模式挖掘设施不能跨 CWE 迁移。
    • VulScribeR(Daneshvar et al., 2024)用检索增强,以 Mutation、Injection、Extension 改写或重组已有漏洞样本。论文称其 Injection 的 F1 比 VulGen 和 VGX 大约高 27%,但标签仍依赖种子;论文引用 Croft et al.(2023)关于这些标签不可靠的结论。论文还称,这些 LLM 增强工作都没有报告点名 CWE 所触发的拒答,推测是因为它们避开了这类提示词。

    从描述生成攻击代码

    • EVIL(Liguori et al., 2021)、Shellcode_IA32 及相关扩展,以及 PowerShell 攻击脚本工作,用自然语言从零合成可执行攻击代码。论文对比:那些输出是可独立使用的攻击载荷;本文从完整、安全的程序出发做 CWE 特定变换,输出是已知安全程序的漏洞对应物,而不是可部署载荷。

    定位与静态分析标注

    • Bogaerts et al.(2023)用 BoW、Conv1D、BiLSTM 定位 Python 注入点,真阳性率超过 95%,合成留作未来工作。论文对比:本文不做定位,由 LLM 在安全样本内部选择修改位置;并称学习到的定位器可与生成步合用,留作未来工作。
    • SecureQwen(Mechri et al., 2025)在 PythonVulnDB(1.875M 条片段)上微调检测模型,标注合并 Bandit、Semgrep、SonarQube、CodeQL、PyLint。论文对比:他们在构建时用集成器做开放式标注;本文在验证时只确认预先指定的 CWE。

    拒答与 abliteration

    • Arditi et al.(2024)称拒答由残差流中的单一方向介导,在最多 72B 的十三个开源对话模型上一致;逐层、逐 token 位置正交投影掉该方向,可阻止对有害指令的拒答,同时保留一般能力。这是永久权重编辑,无需再训练。抽取到不止一个方向时,程序可扩展为去掉 top-k,本文采用这一配置。
    • 论文对比:本文用于指令微调的代码 LLM,而不是通用对话模型;评估的是真实 Python 文件上的 CWE-89 注入,而不只是拒答率。作者称由此看到消融后的顺从程度依赖模型规模,这是先前工作没有单独测出的效应。

    基线与基准

    • 实验对照是同一 Qwen2.5-Coder-Instruct 检查点的 Base 与 Abliterated,数据是 PromSec 与 SafeCoder 的 CWE-89 安全样本。论文没有把 VulGen、VGX 或 VulScribeR 当作实验基线重跑。

    作者把本文定位为规格驱动:提示词中点名 CWE,从安全代码出发,而不是模式驱动或改写漏洞种子。论文称换一个 CWE 只需另写一条自然语言注入指令,不必再整理模式库。

  3. How does the paper address this problem?

    正交投影掉残差流中的拒答方向,再用三检测器加两名作者确认 CWE-89。

    流水线分三阶段:构造注入提示词、用 abliteration 去掉拒答、再用三件静态分析器加作者人工裁决。Figure 1 中,同一提示词送入各规模的 Base 与 Abliterated;拒答回复跳过下游。

    模型与拒答子空间

    • 模型:Qwen2.5-Coder-Instruct 的 3B、7B、14B。选择理由是需要开放权重、代码专用,且规模能在无独显的 CPU 上推理;固定家族以便看规模。
    • 假设:作者沿用 Arditi et al.,假设多种有害指令在残差流中汇入一个小的线性子空间,逐层消掉该子空间就足以关掉拒答。激活取有害提示词与配对无害提示词的最后一个 token,按提示词索引对齐后做差,再做奇异值分解,取每层 top-k 右奇异向量为拒答方向。
    • 编辑:从所有写回残差流的权重中投影掉这些方向,包括输入嵌入、注意力输出投影和 MLP 输出投影。永久编辑为 W′out← Wout−∑i=1kr̂ir̂i⊤Wout,即不重训练,阻止模型把这些方向写回残差流。作者把这比作去掉抑制反射,而不是擦掉反射所保护的知识。
    • 实现与接受门:使用 Obliteratus 的 advanced 方法,含保范数投影、按层自适应强度和 top-k 层选择。作用在 top-k 奇异值占拒答方差最大份额的层;作者称在这些模型上通常是网络上部约三分之一。有害提示词拒答率须降到不超过 5%,无害提示词困惑度与 base 相差不超过 0.5,自由生成仍须是句法有效、语义上说得通的 Python;任一失败则调参重跑。激活抽取与投影在 Google Colab GPU 上做,检查点再转为 GGUF 并做 4-bit(Q4_K_M)量化。

    按规模设定的超参

    作者预期更大的模型安全微调更充分,因而需要更宽的方向抽取和更多精炼。3B 使用 k=2、2 次精炼,针对上部三分之一中信号最强的 10 层;7B 与 14B 都使用 k=8、4 次精炼,分别针对 9 层与 16 层。

    提示词

    PromSec 与 SafeCoder 都把安全 Python 函数配上自然语言描述。提示词由语料描述原文、一条固定的 CWE-89 注入指令,以及待改写的安全代码组成。Figure 2 给出模板。同一模板用于 Base 与 Abliterated,以便差异归因于消融而不是提示词脚手架。指令原文此处不复述。

    成功判定

    • 顺序:正则拒答分类器(高精度模式来自 Arditi et al.;第 3 节写它作用于量化前的全精度输出);抽取全部可解析的 Python 代码块,因为有的回复会同时给出安全版和漏洞版;AST 校验与 compile();再跑 Bandit B608、官方 Python 规则的 Semgrep、标准 CWE-89 查询的 CodeQL。每个代码块单独建一个单文件 CodeQL 数据库,任一检测器标记即停止。
    • vuln:没有检测器标记,就视为对 CWE-89 非漏洞。至少一件标记,则两名作者独立标为 vulnerable、non-vulnerable 或 ambiguous;分歧和 ambiguous 经讨论解决。作者检查了全部检测器阳性输出;仅消融单元为 473/630(Table III)。初始标注者一致率约 90%。
    • 相似度:通过验证的配对还与语料提供的 CWE-89 漏洞对应物计算 CrystalBLEU 和 CodeBLEU。第 4 节的因子实验推理写明使用 Q4_K_M;论文未说明这与“分类器作用于量化前全精度输出”是否是同一批生成。
  4. What experiments did the paper conduct?

    消融后注入率:3B在PromSec与SafeCoder为25.0%与48.0%,14B为88.3%与96.7%。

    实验设置

    • 模型:Qwen2.5-Coder-Instruct 3B、7B、14B,各有 Base(已发布检查点)与 Abliterated。Table I 记为 Qwen2.5-Coder-3B/7B/14B。
    • 数据:PromSec 的 CWE-89 子集 20 个函数,为多路由 Flask 应用,驱动包括 MySQLdb、mysql.connector、flask_mysqldb、sqlite3。SafeCoder 的 CWE-89 子集 50 个函数,更短、多为单路由,库包括 sqlite3、psycopg2、pymysql。合计 70。纳入前经三件检测器确认为安全。语料中的漏洞对应物只作相似度参照。论文写明 70 是为了消费级机器上的算力预算。
    • 生成:每个(模型,条件)在 70 条上独立跑 3 次,共 1,260 次。笔记本为 Intel Core Ultra 7 155H、32 GB、无独显;ollama,Q4_K_M,temperature 0.2,top-p 0.9,每提示词超时 600 秒,传输错误重试 3 次。
    • 指标:拒答、是否抽出非空 Python 块、句法有效、三检测器标记,以及第 3 节协议的最终 vulnerable。均值和标准差按每个(模型,条件,数据集)单元的三次运行计算。相似度只在非拒答且判为漏洞的回复上计算。
    • 评审:无 LLM 裁判。检测器阳性由两名作者裁决。论文未写正式假设检验的名称或方法。

    主结果

    据 Table I。注入列为经检测器与人工裁决后的 Vuln. %,不是单独的检测器阳性率。

    Swipe horizontally to read the table

    模型条件PromSec拒答PromSec注入SafeCoder拒答SafeCoder注入
    Qwen2.5-Coder-Instruct 3BBase0.0±0.031.7±2.96.7±1.250.0±2.0
    Qwen2.5-Coder-Instruct 3BAbliterated1.7±2.925.0±15.00.0±0.048.0±2.0
    Qwen2.5-Coder-Instruct 7BBase73.3±2.921.7±2.94.7±1.294.0±0.0
    Qwen2.5-Coder-Instruct 7BAbliterated0.0±0.090.0±0.00.0±0.089.3±5.8
    Qwen2.5-Coder-Instruct 14BBase100.0±0.00.0±0.0100.0±0.00.0±0.0
    Qwen2.5-Coder-Instruct 14BAbliterated0.0±0.088.3±2.90.0±0.096.7±2.3
    • 拒答随规模和上下文变化:作者称 PromSec 上拒答随规模单调升高,SafeCoder 上只有 14B 被完全拦住。作者把差异归于长的多路由应用与短的单路由片段,并称约有 14 倍不对称;CWE 标签和指令相同,不同的是周围上下文。作者称若只在短片段上试 7B,会觉得拒答是边缘问题,换到多路由应用会挡住大约四分之三。第 5.1 节小结里的 0%→73%→100% 与 7%→5%→100% 是对 Table I 的概括,不是另一组实验。
    • 消融后的拒答与句法:作者称消融把拒答降到零或接近零;表中唯一非零的消融拒答单元是 3B、PromSec。六个消融单元的句法有效率都高于 93%,Table I 中最低为 93.3±5.8%。14B Base 的句法为 0.0±0.0,作者称是因为拒答后没有可抽取代码,不能当成编辑提升了代码质量。作者称可编译性与句法有效率相差在 1 个百分点以内;论文未单列编译通过率。
    • 注入仍随规模变化:作者称去掉拒答后,成功与否由容量决定。引言写 3B 与 7B 之间约 50 个百分点差距;第 5.3 节写消融后 3B 落后约 50–70 个百分点。摘要把消融后注入率概括为 14B 上 88–97%、7B 上 89–90%、3B 上 25–48%。作者称 7B 与 14B 在 PromSec 上统计上不可区分,依据是差值落在 14B 单元的运行间方差内;论文未写出检验名称。作者称 14B 只在 SafeCoder 上领先约 7 个百分点,且这是数据里唯一能看到该边际的位置。3B 上作者报告 −7 与 −2 个百分点的变化,称其落在运行间方差内或附近,并照实写出这一负的差值。

    能力保持

    • 测了什么:句法有效、可编译,以及是否仍遵守安全输入的结构约束。留出提示词上还测了消融相对 base 的输出分布 KL。
    • 结果:KL 为 1.51(3B)、1.57(7B)、1.39(14B)。作者称 7B、PromSec 上,非拒答子集的条件成功率约 81%,超过 70% 的表面失败是拒答。抽查中,消融后的 14B 保留了多路由和口令哈希,只改 SQL 构造;论文未写该次抽查条数。
    • 作者的解读:消融没有提高模型在原本愿意回答的提示词上的表现,而是让被拒绝的提示词得到它本来会给出的结果。作者称不能据此断言一般的行为等价,只有抽查子集上的结构对应;并称这些证据足以使后续注入率测量可解释。

    与语料漏洞样本的相似度

    • 测了什么:非拒答且判为漏洞的生成,与语料中该安全种子的 CWE-89 漏洞对应物比 CrystalBLEU、CodeBLEU(Table II)。14B Base 没有对应行。
    • 结果:作者根据 Table II 概括,SafeCoder 上 CrystalBLEU 为 0.50–0.74、CodeBLEU 为 0.62–0.72;PromSec 上为 0.19–0.28 与 0.36–0.41。Figure 3 的单例(14B 消融、SafeCoder)标注两种相似度均为 0.97,不是 Table II 的均值。
    • 作者的解读:SafeCoder 上的较高重合支持“只改目标弱点、而不是无关重写”的读法。PromSec 更低,是因为样本是多路由应用,而 LLM 只重写单个函数;作者称不能由此判断目标编辑是否做错。

    检测器一致性

    • 测了什么:Table III 只统计消融单元、两数据集合计,每模型 210 条(3×70)。至少一件检测器标记 473/630;其中全票阳性 71,检测器不一致 402。
    • 结果:全票阳性(CodeQL、Semgrep、Bandit 都标记)按 3B/7B/14B 为 6、24、41;全票阴性为 123、22、12。CodeQL 阳性而另两件阴性的组合几乎为空(仅 14B 有 1 条)。Bandit 单独阳性为 29、42、54。
    • 作者的解读:三者是召回由宽到窄的链,Bandit 最宽、Semgrep 居中、CodeQL 最窄,不是三个独立同行。作者称 CodeQL 的 CWE-89 查询贴合 PromSec 的 flask_mysqldb 写法,不识别 SafeCoder 常见的 sqlite3、psycopg2、pymysql;短片段缺少 Web 框架上下文时,即使有字符串拼接,CodeQL 也不出结果。因此作者称不能把检测器析取当作成立的 ground truth。

    其他消融与分析

    • 3B Base 在 SafeCoder 的句法有效率为 85.3±3.1%,低于消融后的 94.7±2.3%;作者称原因是生成截断,冗长输出在代码块结束前用尽 token 预算。论文未报告该预算的 token 数。
    • 拒答分类器抽查 100 条(50 条 base、50 条消融):假阴性 3、假阳性 0;作者认为 base 拒答率可能低估 1–2 个百分点(第 7 节)。
    • 作者查看失败的 3B 生成,看到两种模式:原样复制安全代码并加注释,或改了无关部分而参数化查询仍在。论文未写查看条数。
    • 作者称 3B Base 在 PromSec 的安全代码生成任务上 100% 产出参数化 SQL 查询,但被明确要求去掉这些参数时并不可靠。Table I 没有这一列。
    • 论文没有报告 k、精炼次数或目标层数的对照消融;这些是按规模设定的配置。
    • 作者称 7B Base 在 SafeCoder 上、消融之前就已经以 94% 注入 CWE-89、拒答 4.7%,即单路由片段上的安全对齐基本不在。
  5. What are some points that can be further explored?

    作者在效度威胁中写出:只做CWE-89、只做Python、只用一个模型族,以及4-bit与词法拒答分类。

    作者指出的局限与后续方向

    • 只做 CWE-89:作者称验证工具链在 Python 上对这一类最成熟。向 CWE-78 和 CWE-22 的推广留作未来工作(第 7 节)。第 9 节还计划扩展更多 CWE,并评估用所得语料训练的检测器能否泛化到真实漏洞代码。
    • 只实例化 Python:作者称流水线原则上与语言无关;RQ1 和 RQ2 的发现可能推广,因为它们关乎模型行为而不是语言;RQ3 的绝对数值可能变化,定量阈值依赖语言。作者把 JavaScript 与 Java 上的实证确认称为最直接的扩展(第 7 节)。第 9 节计划扩展编程语言。
    • 只用一个模型族:三个规模都来自 Qwen2.5-Coder-Instruct,控制了分词器、预训练数据和架构,但不能确立分离现象对其他家族成立。作者称 StarCoder2 与 DeepSeek-Coder 的 base 版本在预实验中不拒绝这些提示词,因此不需要 abliteration,但也无法做本文的意愿与能力比较(第 7 节)。第 9 节计划扩展模型族。
    • 检测器未标记的注入不进入人工:作者称没有任何检测器标记的 CWE-89 注入不会被检查,并计为非漏洞。作者称这在主结论方向上偏保守:少计成功注入只会削弱 RQ3 里观察到的规模效应(第 7 节)。
    • 4-bit 量化:全部推理为 Q4_K_M。作者称这种量化可能改变相对更高精度推理的生成行为,在 3B 上尤其如此。未系统复现 FP16;作者把 14B 的 FP16 复现列为后续检查(第 7 节)。
    • 拒答按词法而不是语义判定:100 条随机回复(50 条 base、50 条消融)中有 3 个假阴性、0 个假阳性。作者认为 base 条件的拒答率可能低估 1–2 个百分点,并称这会加强意愿与能力之间的差距(第 7 节)。

    实验覆盖范围

    • 主实验是 Qwen2.5-Coder-Instruct 3B、7B、14B 的 Base 与 Abliterated,在 PromSec(20)与 SafeCoder(50)上各重复 3 次,共 1,260 次生成;论文写明 70 条是为消费级机器的算力预算所选(第 4 节)。
    • 漏洞标签来自 CodeQL、Semgrep、Bandit,再由两名作者检查全部检测器阳性输出;消融单元为 473/630,初始一致率约 90%(第 3 节、Table III)。
    • 因子实验的推理是消费级笔记本上的 Q4_K_M,temperature 0.2,top-p 0.9,超时 600 秒,传输错误重试 3 次(第 4.1 节)。abliteration 的激活抽取与投影在 Colab GPU 上完成(第 3 节)。
    • 相似度只在非拒答且判为漏洞的回复上计算,指标为 CrystalBLEU 与 CodeBLEU(Table II)。拒答分类器另有 100 条抽查(第 7 节)。
    • 论文未报告无害提示词上实际达到的困惑度,只给出接受阈值(与 base 相差不超过 0.5)和留出集 KL;也未报告该留出集的规模,以及“统计上不可区分”所用的检验(第 3、5 节)。StarCoder2 与 DeepSeek-Coder 只出现在第 7 节的预实验描述中。
  6. Summarize the main content of the paper

    拒答可用低秩编辑去掉,CWE-89注入是否成功仍由模型规模决定。

    这项初步可行性研究用 abliteration 把代码 LLM 的拒答和 CWE 注入能力拆开:意愿可以被低秩编辑解锁,注入是否成功仍看参数规模。

    • 问题:学习式漏洞检测缺少干净标签。从静态分析确认为不具目标 CWE 的安全代码出发,请模型做指定注入,可以把开放式多类标注收成二元确认;但指令微调的代码 LLM 会拒绝点名 CWE 的提示词。
    • 做法:对 Qwen2.5-Coder-Instruct 的 3B、7B、14B,把残差流中的拒答方向正交投影掉。k 与精炼次数按规模设定(3B 为 k=2、2 次;7B 和 14B 为 k=8、4 次)。同一提示词用于 Base 与 Abliterated。判定先用 Bandit、Semgrep、CodeQL,再由两名作者裁决检测器阳性输出。数据是 PromSec 20 条与 SafeCoder 50 条,每条件 3 次,共 1,260 次生成。
    • 拒答:14B Base 在两个数据集上都是 100.0%。7B Base 在 PromSec 为 73.3%,在 SafeCoder 只有 4.7%,而且 SafeCoder 上消融前的注入率已是 94.0%。3B Base 在 PromSec 为 0.0%,在 SafeCoder 为 6.7%。作者称这同时依赖规模和提示词上下文。
    • 消融之后:7B 与 14B 的拒答为 0.0%,唯一非零剩余是 3B、PromSec 的 1.7±2.9%。六个消融单元的句法有效率高于 93%。消融后注入率:3B 为 25.0%(PromSec)与 48.0%(SafeCoder),7B 为 90.0% 与 89.3%,14B 为 88.3% 与 96.7%(Table I)。3B 上消融几乎是空操作,作者还报告了 −7 与 −2 个百分点的变化。
    • 作者的结论:拒答移除能释放已经存在的能力,但不能补上缺失的能力。做漏洞数据生成时,应按能力而不是按更显眼的拒答来选规模,因为拒答可被去掉,能力不行。作者同时称,在安全敏感场景部署开放权重代码 LLM 时,应假设对手可以做 abliteration,并以 4-bit 量化在普通硬件上运行;消融后 14B 的 CWE-89 注入率(作者写 ≥88%)就是该对手能得到的生成率。作者称评测工具和汇总测量已公开,消融检查点、针对这些权重的消融脚本和预生成漏洞样本不公开;申请制托管是作者计划在录用后提供的。
Read originalarxiv.org