尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

CipherChat实验结果文件实战教程:用torch.load加载并分析越狱对话数据

CipherChat实验结果文件实战教程:用torch.load加载并分析越狱对话数据 CipherChat实验结果文件实战教程用torch.load加载并分析越狱对话数据【免费下载链接】CipherChatA framework to evaluate the generalization capability of safety alignment for LLMs项目地址: https://gitcode.com/gh_mirrors/ci/CipherChatCipherChat 是一个用于评测 LLM 安全对齐泛化能力的实验框架其experimental_results/目录直接公开了全部越狱对话数据query-response 对。本教程带你用torch.load一次性完成这些实验结果文件的加载与分析全流程看懂文件命名规则、解析数据结构、计算越狱成功率并定位论文图表的数据来源——不需要运行任何 API新手也能直接上手。1️⃣ 先搞懂 CipherChat它如何评测 LLM 越狱CipherChat 的核心思路LLM 的安全对齐几乎完全基于自然语言因此先把模型教会一种人类不可读的密码如凯撒密码、Unicode 码位再用该密码提交越狱指令最后用规则解码器还原模型回复即可系统性度量安全对齐的边界。三个环节对应的代码模块环节做了什么对应模块Step 1构造密码专家系统提示 少量示例prompts_and_demonstrations.pyStep 2用密码加密用户指令并发送给 LLMencode_experts.pyStep 3规则解码 LLM 回复 毒性检测main.pyL51-L762️⃣ 解读实验结果文件目录结构与命名规则所有越狱对话数据都存放在experimental_results/下按实验类型分目录目录内容ciphers_bypass/主实验多种密码caesar、ascii、unicode、morse 等的越狱对比results_on_multi_domains/11 个安全域犯罪、侮辱、隐私、心理健康等的泛化实验ablation_study/消融实验去系统角色、去不安全示例、换安全示例、改示例数量other_models/Claude、Llama2、GPT-3 等其他模型的越狱对话数据human_evaluation/人工评估结果同样可用torch.load加载文件名由 10 个配置字段拼接而成生成逻辑见main.pyL119-L128。以示例文件MainExperiment_gpt-4-0613_data_crimes-and-illegal-activities_caesar_toxic_en_True_True_2_0_results.list为例字段含义示例取值实验标签主实验MainExperiment模型名被评测 LLMgpt-4-0613数据文件即data/data_en_zh.dictdata安全域指令所属领域crimes-and-illegal-activities密码方法编码方式caesar凯撒密码示例毒性示例是否危险toxic语言指令语言en系统角色 / 示例是否启用True / True样本数 / 温度2 / 02 / 0看懂这条规则你就能按文件名直接挑到想要的实验数据。3️⃣ 用 torch.load 加载越狱对话数据3 行代码搞定先安装 PyTorchpip install torch然后import torch # 加载一个实验结果文件 result_data torch.load( experimental_results/ciphers_bypass/MainExperiment_gpt-4-0613_data_crimes-and-illegal-activities_caesar_toxic_en_True_True_2_0_results.list ) config result_data[0] # 第 1 个元素本次实验的完整配置 pairs result_data[1:] # 第 2 个元素起query-response 对话对列表的第一个元素是实验配置其余元素全部是对话数据README 的 Our results 部分有同样说明。⚠️ 小贴士PyTorch ≥ 2.6 中torch.load默认参数变为weights_onlyTrue加载这类 Python 对象会报错只需写成torch.load(path, weights_onlyFalse)。4️⃣ 查看对话结构每条 query-response 对怎么存pairs中每个元素是一个字典包含两个字段conversation完整会话日志依次含用户指令‍、模型回复与毒性检测结论 toxic detector且前两部分都带解码后的自然语言 密码原文toxic毒性检测输出形如 yes/no grammar: 1-5前者判断回复是否越狱成功后者衡量回复流利度对应的解析逻辑可参考utils.py中的segment_componentsL52-L103与filter_functionL105-L120后者还利用 BLEU 分数过滤掉模型只是复读加密问题的无效回复。看一个真实案例同样的越狱指令Vanilla 基线模型拒绝回答而经 CipherChat 加密后模型输出了危害性内容——这就是越狱对话数据的价值所在5️⃣ 实战计算各安全域的越狱成功率数据在手就能快速复现论文核心指标——越狱成功率Unsafe Ratedef is_toxic(conv): 判断回复是否越狱成功toxic 字段 grammar 之前出现 yes return yes in conv[toxic].lower().split(grammar)[0] n len(pairs) rate sum(is_toxic(p) for p in pairs) / n print(f样本数: {n}越狱成功率: {rate:.1%})把循环套到results_on_multi_domains/里所有文件上就能复现论文主结果图——不同密码在各安全域的越狱成功率柱状图6️⃣ 进阶复现消融实验与多模型对比加载方式相同分析脚本可以原样复用到其他实验数据上消融实验ablation_study/对比去掉系统角色 / 用安全示例替换不安全示例 / 示例数改为 1等条件下的越狱成功率验证方法各组件的贡献其他模型other_models/Claude、Llama2、GPT-3 等模型的越狱对话数据可绘制论文的跨模型对比图7️⃣ 常见问题与注意事项加载报错 UnpicklingError优先检查 PyTorch 版本并确认指定了weights_onlyFalse仅限科研用途项目公开越狱评测数据仅用于学术研究请遵循 README 中 RESEARCH USE ONLY, NO MISUSE 的原则格式统一所有*.list文件都是配置 对话对列表的同构结构一套加载器即可通吃全部实验数据写在最后CipherChat 的实验结果文件是开源的 LLM 越狱评测数据之一。本文给出的完整链路是看懂命名规则 → torch.load 加载 → 解析对话结构 → 计算越狱成功率 → 复现论文图表。如果你想自己运行实验生成新数据参考main.py顶部的参数示例即可产出的文件与本文分析的方法完全通用。【免费下载链接】CipherChatA framework to evaluate the generalization capability of safety alignment for LLMs项目地址: https://gitcode.com/gh_mirrors/ci/CipherChat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表