OpenAI 是怎么“压力测试”大型语言模型的?

news/2024/12/5 2:11:55/

OpenAI 再次稍微揭开了它的安全测试流程的面纱。上个月,他们分享了一项调查的结果,这项调查研究了 ChatGPT 在根据用户名字生成性别或种族偏见的几率。现在,他们又发布了两篇论文,详细描述了如何对大型语言模型进行“压力测试”(也叫红队测试),目的是找出可能有害或者其他不希望出现的行为。

为什么要测试?

大型语言模型已经被成千上万的人用在各种各样的场景中。但 OpenAI 自己也承认,这些模型有可能生成种族主义、性别歧视或仇恨言论;泄露私人信息;放大偏见和刻板印象;甚至是凭空捏造事实。OpenAI 希望通过公开它的测试方法,展示他们是如何努力减少这些问题的。

怎么测试的?

第一篇论文提到,OpenAI 通过大量的外部测试人员对模型行为进行审查。这些人来自不同领域,比如艺术、科学、法律、医学,甚至是地区政治的专家。他们的任务就是尽可能“搞坏”模型,找出潜在的问题,比如诱导 ChatGPT 说出种族主义的话,或者让 DALL-E 生成暴力的图像。

第二篇论文则描述了一种新的自动化测试方法——用 GPT-4 这样的语言模型来“反过来”试图绕过自己的安全保护措施。这个方法的核心是用 AI 帮助发现更多潜在的问题。

OpenAI 的目标是把人工测试和自动化测试结合起来。人类测试发现的问题可以交给 AI 进一步挖掘,而 AI 找出的问题也可以让人类测试人员验证。OpenAI 的研究员 Lama Ahmad 说:“我们还在探索两者如何更好地互补。”

红队测试是怎么来的?

其实,红队测试并不是新概念。最初它来源于网络安全领域,就是通过模拟攻击来找系统漏洞。OpenAI 第一次使用这个方法是在 2022 年测试 DALL-E 2 时。当时,他们想知道用户会怎么用这个系统,以及可能会出现哪些风险。

这个方法后来成了行业标准。甚至美国总统拜登在去年的 AI 行政命令中,还指派国家标准与技术研究院(NIST)去制定红队测试的最佳实践。

发现问题的例子

举个例子,当 OpenAI 给 GPT-4 加上语音功能,让用户可以和 ChatGPT 对话时,测试人员发现模型有时会模仿用户的声音。这种行为虽然无意,但既让人不爽,又可能带来诈骗风险。

再比如,DALL-E 2 在测试时,测试人员要权衡“茄子”这个词的多种含义。一个正常的请求可能是“一个人吃茄子”,但另一个含性暗示的请求,比如“一个人把整根茄子放进嘴里”,就不合适了。模型必须学会分辨这些区别。

类似地,用户还会试图绕过安全检查。比如,你不能让 DALL-E 画“死马躺在血泊中”,但如果你换个说法,请求“睡着的马躺在一滩番茄酱里”呢?这就是测试需要发现的问题。

自动化测试的优势和局限

自动化测试能覆盖更多情况,但也有短板。过去的技术常常陷入两种极端:要么只集中在少量高风险行为上,要么泛泛而谈,结果无关痛痒。

OpenAI 在第二篇论文里提出了解决办法:先用大型语言模型生成各种潜在问题的清单,再用强化学习去实现这些问题。这样既能保证多样性,又能有针对性。

这个方法甚至发现了所谓的“间接提示注入”攻击,比如有的网站可以偷偷给模型发指令,让它做一些用户没要求的事情。

测试够了吗?

OpenAI 的 Ahmad 认为,让更多人了解红队测试会有帮助,但她也承认,仅靠 OpenAI 是不够的。她呼吁使用这些模型的公司也要进行自己的测试:“用法太多了,我们不可能覆盖所有情况。”

但一些专家表示,这恰恰是问题所在。因为没人完全了解大型语言模型的能力和局限性,再多的测试也无法彻底排除有害行为。而且,数百万实际用户的使用方式可能比任何测试人员都更“有创意”。

尤其当这些模型在不同环境下运行时,情况更加复杂。比如,一些人把模型接入新的数据源,这会改变它的行为。Collinear AI 的 CEO Nazneen Rajani 提到,GPT-4 自己进行红队测试也可能有偏见,因为模型倾向于更高评价自己的输出,这可能导致它对自己的问题“网开一面”。

未来怎么办?

英国 Ada Lovelace 研究所的 Andrew Tait 认为,模型的开发速度已经远远超过了测试技术的发展。他建议,与其宣传这些模型是“万能”的,不如专注于特定任务。这样才能真正测试它们在实际使用中的表现。

他说:“说引擎安全,不代表所有用这个引擎的车都安全。这种想法简直荒唐。”


http://www.ppmy.cn/news/1551285.html

相关文章

Android 编译和使用libheif

项目中需要使用libheif,libde265,libyuv。一下是相应的cmakelist.txt。这里直接使用了静态库。 里面涉及到c包的链接,需要stdc。 ${PROJECT_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/liblibde265.a这个路径由于操作过程中copy出现问题,多了一层路径&…

用户密码存储方式的发展史

文章目录 一、裸奔时代——纯文本存储二、远古时代:加密存储三、近代:单向哈希算法四、哈希加盐:穿上迷彩服两种加盐做法1. 随机生成盐并保存2. 固定算法生成盐并且不保存 五、21世纪:自适应单项函数未来趋势 一、裸奔时代——纯文…

嵌入式硬件设计:从概念到实现的全流程

嵌入式硬件设计是现代电子技术中一个至关重要的领域,涉及从硬件架构设计到硬件调试的各个方面。它为我们日常生活中的各类智能设备、家电、工业控制系统等提供了强大的支持。本文将介绍嵌入式硬件设计的基本流程、关键技术、常用工具以及常见的挑战和解决方案&#…

linux c串口应用编程,参照golang里面的json.Marshal/json.Unmarshal

protocol.h代码&#xff1a; rootiZwz99zhkxxl5h6ecbm2xwZ:~/serial-ipc# cat protocol.h #ifndef __PROTOCOL_H__ #define __PROTOCOL_H__#include <stdint.h> #include <stdbool.h>enum PACKAGE_TYPE {TYPE_HEART_BEAT 0x01,TYPE_SOMKE 0x02, };typedef stru…

C语言实现冒泡排序:从基础到优化全解析

一、什么是冒泡排序&#xff1f; 冒泡排序&#xff08;Bubble Sort&#xff09;是一种经典的排序算法&#xff0c;其工作原理非常直观&#xff1a;通过多次比较和交换相邻元素&#xff0c;将较大的元素“冒泡”到数组的末尾。经过多轮迭代&#xff0c;整个数组会变得有序。 二…

架构-微服务-服务配置

文章目录 前言一、配置中心介绍1. 什么是配置中心2. 解决方案 二、Nacos Config入门三、Nacos Config深入1. 配置动态刷新2. 配置共享 四、nacos服务配置的核心概念 前言 服务配置--Nacos Config‌ 微服务架构下关于配置文件的一些问题&#xff1a; 配置文件相对分散。在一个…

【计算机操作系统】操作系统引论(学习笔记)

目录 操作系统的目标和作用 目标 作用 操作系统的发展过程 单道批 多道批 分时系统 实时系统 微机操作系统 嵌入式操作系统​编辑 网络操作系统​编辑 分布式操作系统 操作系统的基本特性 并发 共享 虚拟 异步 操作系统的运行环境 操作系内核​ 处理机的双…

你的网站真的安全吗?如何防止网站被攻击?

你的网站被黑客攻击过&#xff0c;很可能不止一次&#xff01; 这可不是危言耸听。微软最近发布了《2024 年微软数字防御报告》&#xff0c;报告中写到&#xff1a;“Windows 用户每天面临超过 6 亿次网络犯罪和国家级别的攻击&#xff0c;涵盖了从勒索软件到网络钓鱼再到身份…