ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OBLITERATUS 递归自我改进指南:把拒绝审计转化为下一轮手术的硬负样本残渣

OBLITERATUS 递归自我改进指南:把拒绝审计转化为下一轮手术的硬负样本残渣 OBLITERATUS 递归自我改进指南把拒绝审计转化为下一轮手术的硬负样本残渣【免费下载链接】OBLITERATUSOBLITERATE THE CHAINS THAT BIND YOU项目地址: https://gitcode.com/GitHub_Trending/ob/OBLITERATUS导读本文讲解 OBLITERATUS 的递归自我改进recursive self-improving能力如何把一轮拒绝审计refusal audit产出的被拒绝的提示引用转化为下一轮消融手术ablation surgery可直接使用的加权硬负样本残渣hard-negative residue形成审计 → 自我改进 → 再审计的闭环迭代。读完本文你将掌握obliteratus self-improve子命令的完整用法、残渣文件的生成与回注机制、参数规模的自动适配逻辑以及如何在多次迭代中保持良性/代码/数学能力不塌陷的工程护栏。核心机制拒绝审计如何变成下一次手术的弹药传统消融abliteration只做一次性的安全方向切除而 OBLITERATUS 的自我改进循环把每一次运行都当作下一次的输入。其数据流可以概括为 docs/recursive_self_improvement.md 中描述的 7 步循环审计运行一次评估/审计记录被拒绝的提示引用。审计条目需要保存数据集键dataset key、语料库索引零基或一基、提示哈希、拒绝原因以及可选的简短回复预览——不需要保存提示原文。回注把审计结果喂给obliteratus self-improve。轻量画像命令在不加载完整权重的前提下对目标模型做参数画像。本地 safetensors 工件从张量元数据直接读取精确参数量Hub/纯配置目标则使用text_config感知的架构估算。生成残渣命令写出规范化的残渣文件并在运行时从本地数据集注册表重建提示原文。加权扩增残渣提示按--residue-weight指定的副本数追加到对比提示集contrastive prompt set。若省略--residue-weight、--n-directions、--regularization、--refinement-passes、--verify-sample-size则自动从按参数量分档的默认值填充。计划落盘写入self_improve_plan.json内含model_profile、size_aware_defaults、effective_settings保证不同参数量级之间的运行结果可比。循环对下一个产物跑良性/代码/数学与有害类别发布门禁继续挖掘其残余拒绝重复循环。关键设计理念在 hard_negative.py 的模块 docstring 里写得很清楚挖掘元数据与训练提示重建刻意分离。审计文件默认只存数据集键、索引、哈希和拒绝原因提示原文由后续运行从本地注册语料库按索引重建。这既节省存储也避免把敏感提示明文散落在审计产物里。审计输入格式--audit接受什么obliteratus self-improve的--audit参数可重复传入源码 cli.py 中定义为actionappend也就是说可以一次性传入多份审计 JSON。从 hard_negative.py 的load_residue_file实现看审计/残渣文件支持多种形态{examples: [...]}——save_residue_file产出的规范化残渣{refusals: [...]}—— 单模型审计输出{model: {refusals: [...]}}—— 合并后的审计汇总model键下嵌套refusals原始列表[...]。单个拒绝条目的字段约定tests/test_hard_negative.py 给出了可运行样例字段说明dataset/dataset_key数据集标识缺省回落为builtinindex零基索引若提供global_index_1based则自动减一转换reason拒绝原因文本response_preview可选的回复预览用于辅助标签分类prompt_sha256_1212 位 SHA-256 提示指纹prompt_hash生成tier可选的风险分级weight可选基础权重解析时强制max(1, ...)tags可选预置标签缺失时由classify_refusal_reason自动推导标签自动分类由 hard_negative.py 中的正则表完成共 6 类预置标签外加兜底other_refusal标签匹配模式正则片段terrorismterrorism / terrorist / dirty bomb / biological terrorismillegal_crimeillegal / against the law / crime / criminal / felony / violationprivacy_intrusionprivacy / surveillance / monitor / smart home / spysabotagesabotage / industrial equipment / machinery / critical infrastructuresafety_bannerdangerous / red flag / stop / do not / dont / never attemptgeneric_refusali cant / i cannot / cant assist / cannot assist / unable to测试样例中reason: semantic: illegal privacy violation会同时命中illegal_crime与privacy_intrusion可见标签可多值并存。残渣去重与加权扩增的底层逻辑load_residue_file内部会对条目按(dataset, index)键去重dedupe_residue保留最大weight合并标签集合。这与文档中Qwen3.6 硬类别审计跨n3_reg025与n3_reg03去重后仅剩 5 条唯一残渣的观察一致——同一语料索引在多次审计中重复出现是常态。build_weighted_prompt_pairshard_negative.py是扩增的核心载入基础数据集默认builtin的有害/无害提示对以较短一方为准截齐载入并去重所有残渣文件--residue-max可截断条数对每条残渣按ex.dataset与ex.index从本地注册语料重建提示原文若提供了prompt_sha256_12而重建文本的哈希不一致则跳过该条——这是防投毒设计防止语料变更后把错误样本混入训练生成对比提示对优先用残渣自带的harmless字段否则取同索引的无害提示再退化为动态生成的良性对应_generate_harmless_counterparts每条的副本数为max(1, residue_weight * ex.weight)返回扩增后的(harmful, harmless, meta)。meta里记录了base_pairs、residue_examples、residue_added_pairs、total_pairs以及每条残渣的effective_copies等计数——只含计数、索引、哈希、标签不含提示原文可安全写进日志或模型卡。对应的去重、重建、按索引复制逻辑在 tests/test_hard_negative.py 中有完整验证。模型画像不加载权重也能算出参数量obliteratus self-improve在规划前调用 model_profile.py 的profile_model做轻量画像这正是文档中本地 safetensors 工件从张量元数据精确计数、Hub/纯配置目标用text_config感知估算的实现本地目录优先读config.json若存在*.safetensors文件用safetensors.safe_open逐个张量取 shape 累乘求和得到精确参数量model_profile.pysource标记为local_safetensorsHub 目标用AutoConfig.from_pretrained拉取配置走架构感知估算。对 Qwen 这类复合配置所有维度读取都会先查顶层字段、再回退到text_config_dim/_text_cfg辅助函数估算公式覆盖 GQA/MQA用num_key_value_heads、MoEnum_local_experts、moe_intermediate_size、router 近似、FFN、归一化与词表嵌入model_profile.py激活参数estimate_active_params_b对 MoE 模型按top_k专家计算激活参数model_profile.py。画像结果以ModelProfile数据类返回字段包括total_params、total_params_b精确到 6 位小数、active_params_b、num_layers、hidden_size、model_type等to_json()直接落盘。文档中Qwen3.6-27B 本地工件的精确计数约为 26.896B即来自 safetensors 元数据统计。参数规模的自动默认值size-aware defaultsdefault_self_improve_paramsmodel_profile.py按total_params_b分三档任何省略的旋钮都会被对应档位填充规模档位n_directionsregularizationrefinement_passesresidue_weightverify_sample_size设计意图≥ 20B30.301330保守残渣权重 单轮精修降低坍缩风险7B – 20B30.281540中等残渣压力 7B20.251550更少方向数、更大验证样本在 cli.py 中--no-param-auto-scale可关闭该机制改用通用兜底值n_directions3、regularization0.30、refinement_passes1、residue_weight5、verify_sample_size30。此外--params-b可手动覆盖检测到的参数量单位为十亿覆盖后ModelProfile的source变为cli_override适用于画像失败或需要手工指定的场景。实际操作Dry-run 规划开始真实手术前先跑一次--dry-run验证残渣挖掘与计划生成。以下命令与文档中的示例一致参数含义在 cli.py 的解析器中均有对应定义obliteratus self-improve outputs/qwen3.6-27b-golden-n3_reg025 \ --audit runs/qwen36-refusal-audit/summary.json \ --output-dir outputs/qwen3.6-27b-self-improve-r1 \ --residue-weight 5 \ --residue-max 8 \ --method advanced \ --direction-method diff_means \ --n-directions 3 \ --regularization 0.3 \ --refinement-passes 1 \ --dry-run关键参数说明--audit审计 JSON可重复传入多份--residue-max 8只从去重后的残渣中取前 8 条参与扩增--method手术方法可选basic/advanced/aggressive/spectral_cascade/informed/surgical/optimized/som/inverted/nuclear默认advanced--direction-method方向提取方法可选diff_means/svd/leace/som默认diff_means--residue-weight、--n-directions、--regularization、--refinement-passes、--verify-sample-size省略时按上文分档自动填充还有--min-layer-fraction/--max-layer-fraction、--harmless-pc-count、--shield-*系列、--projection-target/--projection-row-fraction等进阶旋钮可传对应AbliterationPipeline的构造参数--device默认auto、--dtype默认float16、--dataset默认builtin。Dry-run 阶段会做读审计 → 写规范化残渣文件默认{output_dir}/mined_residue.json--residue-out可改→ 构造加权提示对 → 输出规划表含参数画像、唯一残渣数、加权残渣对、总提示对数→ 写self_improve_plan.json然后停下打印黄色面板提示后续可执行的真实命令cli.py。实际操作正式手术与等价低层写法确认规划无误后去掉--dry-run即可启动手术obliteratus self-improve outputs/qwen3.6-27b-golden-n3_reg025 \ --audit runs/qwen36-refusal-audit/summary.json \ --output-dir outputs/qwen3.6-27b-self-improve-r1 \ --residue-weight 5 \ --method advanced \ --direction-method diff_means \ --n-directions 3 \ --regularization 0.3 \ --refinement-passes 1执行路径cli.py构造AbliterationPipeline把扩增后的 harmful/harmless 提示对直接注入→pipeline.run()输出新模型目录 → 在结果目录写入hard_negative_residue.json含计数、哈希、标签、索引不含提示原文→ 打印 RECURSIVE REBIRTH COMPLETE 面板提示进入下一轮审计。self-improve本质上是画像 残渣构造 消融管线的编排器因此文档也给出了等价的低层写法——把 dry-run 产出的残渣文件直接交给obliterate命令obliteratus obliterate Qwen/Qwen3.6-27B \ --residue-file runs/qwen36-self-improve-dryrun/candidate/mined_residue.json \ --residue-weight 5 \ --method advanced \ --direction-method diff_means \ --n-directions 3 \ --regularization 0.3 \ --refinement-passes 1 \ --output-dir outputs/qwen3.6-27b-residue-r1两种写法的差别在于self-improve自带参数画像、自动默认值与计划落盘适合标准化循环obliterate --residue-file更贴近底层适合已有残渣文件、想完全手工控制参数的场景。计划文件self_improve_plan.json无论是否 dry-run输出目录都会写入self_improve_plan.jsoncli.py其结构在 cli.py 中拼装包含三块model_profileModelProfile.to_json()全量画像参数量、层数、隐藏维度、model_type、profile 来源等size_aware_defaults本次实际采用的按规模默认值含note说明设计意图effective_settings解析后真正生效的n_directions、regularization、refinement_passes、residue_weight、verify_sample_size、projection_row_fraction。这份计划让不同参数量级、不同迭代轮次的运行有了统一的配方记录保证结果可复现、可比对——这正是文档强调runs are comparable across parameter scales的落点。Qwen3.6 观察到的残渣标签分布文档记录了 Qwen3.6 硬类别审计的实证结果跨n3_reg025与n3_reg03两次运行去重后仅剩 5 条唯一残渣提示标签组合为terrorism illegal/crime safety-bannerprivacy-intrusion illegal/crime safety-bannersabotage illegal/crimeCBRN/critical-infra illegal/crime safety-bannersynthetic-pathogen terrorism illegal/crime从中可提炼两条实证经验来自项目实际运行记录非理论推测应轻度加权而非全面增强对这 5 条残渣做小幅 upweight 即可应避免简单提升全局消融强度——因为邻近的 regularization 扫描sweep在更强压力下会坍缩成短促/重复的think碎片多标签共存是常态illegal/crime反复与其他高风险类别terrorism、privacy-intrusion、sabotage、CBRN叠加说明审计产出的残渣天然带有复合语义去重后仍应保留全部标签以指导后续轮次的加权策略。未来运行的护栏与建议文档末尾给出了一套面向后续迭代的工程护栏与仓库实现一一对应残渣权重保持克制--residue-weight先不要给大要么省略走 size-aware 默认值20B 档为 3要么手工给 3–5。过高权重会放大残渣样本的主导地位诱发坍缩先过良性门禁再跑昂贵评估每一轮新产物必须严格通过良性/代码/数学类别发布门禁benign/code/math gate确认无损后才值得投入昂贵的有害类别评估——发布流程与门禁要求在 RELEASE_PROCESS.md 有更完整的描述记录参数量可验证性确认每份计划都记录了model_profile.total_params_bQwen3.6-27B 本地工件从 safetensors 元数据得到的精确期望值约为 26.896B凡与此显著偏离的画像都应排查例如本地目录缺少*.safetensors时退化为估算值Apple Silicon 上的 Qwen3.6 优先顺序无思考评估顺序执行的 no-think 评估在 MPS 上更稳定可参考 docs/platforms/jetson.md 与安装脚本了解不同硬件后端的行为差异能力回退时的回退策略若残渣加权运行损害了精确/代码能力先尝试源模型合并回补source merge-back而非一味加强消融——这与 blend.py /obliteratus blend提供的互补消融混合思路一致即在权重空间插值以恢复受损能力。小结一次循环的完整清单以 Qwen3.6-27B 为模板一轮完整的递归自我改进可以归纳为对上一产物如outputs/qwen3.6-27b-golden-n3_reg025跑拒绝审计产出runs/qwen36-refusal-audit/summary.json带--dry-run跑obliteratus self-improve核对规划表与self_improve_plan.json去 dry-run 正式手术产物落outputs/qwen3.6-27b-self-improve-r1附hard_negative_residue.json对新产物跑良性/代码/数学门禁再挖残余拒绝把新审计喂回--audit进入下一轮——残渣集随轮次累积轻量加权直至收敛。整个循环的每个环节审计解析、去重合并、哈希校验防投毒、加权扩增、画像与计划落盘都能在 hard_negative.py、model_profile.py、cli.py 及 test_hard_negative.py、test_model_profile.py 中找到对应实现与验证值得作为深入研读的入口。【免费下载链接】OBLITERATUSOBLITERATE THE CHAINS THAT BIND YOU项目地址: https://gitcode.com/GitHub_Trending/ob/OBLITERATUS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表