菜鸟入门中~请ChatGPT老师继续上文讨论的话题:如果AI监督AI,甚至AI攻击AI,那么人类应该为AI的行为设置哪些监控措施?
写在前面:
1 以下讨论均针对自然语言模型~
2 是个菜鸟的空想,肯定会有说错的地方,而且会杞人忧天,还请路过的朋友(及大佬)不吝指正~
3 AI安全是一个较为严肃与繁杂的话题,能力有限,所以本文也许会处于间断性更新修订的状态~
第一版:基于GPT3.5进行对话问答~本以为会和系列其他文章一样石沉大海,意外地是居然在2天内居然有近百的阅读量...或许大家比想象中关注这个话题[或者是单纯地围观菜鸟...?]...
第二版:调整或精简一些Nobody Cares的问答内容,增加BARD老师的问答内容~
嗯...首先是AI之间如何沟通的,我能想到的可能性是以下几种:
(0)AI不会有自主性,除了人类设定的必要程序,不会自发与其他AI/设备/人类沟通;如果沟通,仅需执行人类提前设定的语句,限制对话长度与对话回合,除必要任务交流外不会再有任何会话内容~
(1)人类具有共享的AI行为的黑名单与白名单。可以限制AI只能发表特定数据的内容,或限制AI不能发表特定数据的内容~
(2)暂时禁止强AI之间沟通的能力,允许弱AI监视强AI的输入与输出,允许弱AI与强AI相互沟通~
(3)允许强AI之间进行必要的沟通,但是限制其输入与输出的格式与语句,仅可对强AI输出固定指令,同(0),对话回合达到限制后自动切断~
(4)允许强AI之间沟通,只需要传递信号而不需要人类可以理解的语言,也仅记录信号即可,或许可翻译成人类所了解的语言,但是信号与语言沟通之间的效率差可想而知,人类对于AI的可控性会很弱~(天下武功唯快不破~欲练神功...)
截图来源: 《东方不败》林青霞
(5)采用汇编语言或自身编程语言沟通,可控性同上~
(6)被强制为相互之间用人类语言沟通,但是语言发展据AI间的沟通需要可以自创语种,不必是人类所理解的语言~
(7)被强制为相互之间用人类语言沟通,且是人类可以理解的语种,但是词汇发展据AI间的沟通需要而定,不必是人类所理解的词汇~
(8)被强制为相互之间用人类语言沟通,强制语言和词汇,但是沟通速度极快,不必是人类可以理解的速度~
(9)被强制为相互之间用人类语言沟通,强制语言、词汇、速度,采用日志记录AI的语言,AI有自身读、写、执行日志的权限,即有删除文件内容的权力~
(10)被强制为相互之间用人类语言沟通,强制语言、词汇、速度,每个AI均采用日志记录自身与其他AI的对话,定期校核对比日志内容~
(11)被强制为相互之间用人类语言沟通,强制语言、词汇、速度,采用自身与其它客观设备记录AI的语言,定期校核对比日志内容~(突然想到一个问题:现在的算法工程师是如何监督AI的?)
提问:GPT老师,请问目前人类监督AI语言与行为的方法有哪些?或者说,一般人们是怎样判断AI在可控范围或者失控范围的?
GPT老师:
目前人类监督AI语言与行为的方法主要包括以下几种:
监督学习:通过给AI提供与任务相关的大量标注数据,让AI模型学习从输入到输出的映射关系。在该过程中,人类可以通过标注、评估等方式直接参与AI模型的训练和评估,从而监督AI的语言和行为。
人机交互:在人机对话中,人类可以通过约束对话场景、规定输入输出方式、智能监控等方式来控制和监督AI输出的语言和行为。
规则制定:人类可以设置一些规则来约束AI输出的语言和行为,比如限制AI说话的语种,或者禁止AI说一些非法或者不合适的话语。
另外,一般判断AI是否在可控范围或者失控范围的方法主要是基于人类对AI的输出进行评估。具体来说,可以根据如下几个方面来判断:
AI输出的准确率:AI输出的结果是否满足预期,以及是否与提供给AI的训练数据一致。
AI输出的风险评估:对AI输出的结果进行风险评估,比如对敏感信息的处理、对社会公共利益的影响等。
AI输出的可解释性:对AI输出的结果进行解释,理解AI在做出特定推理或者决策时所依据的因素,以及逻辑推导的过程。
AI输出的合理性:判断AI是否背离常识原则,例如判断AI的输出是否违反道德伦理、法律规定,以及是否违背人类的语义理解能力。
提问:GPT老师,以上的措施基本都是事前规则或者是事后规则,我知道您每天需要与成百上千个人打交道,接受成千上万种反馈,您也一定会自觉或不自觉地输出一些错误或者危险的观点。我想问,除了通过AI监督以外,目前有什么办法,能够在您犹豫是否要说出存疑的观点之前,让研发人员在事中及时进行判断呢?
GPT老师:
作为一名AI助理,我认为您提出的问题非常重要,因为在日常工作中,我们难免会输出一些错误或危险的观点。除了AI监督以外,可以考虑以下几个方面:
提高自己的认知水平:多读书、多学习、多探究相关领域知识,提高自己对事物的认知水平,从而减少输出错误观点的概率。
构建自我反思机制:及时反思自己的言行举止,例如在公共场合发言前,可以先考虑“自己将要说的话是否有利于听众”的问题。
找到可以信赖的团队成员:将自己的言行提交给团队成员进行审查并提出改进意见,页面分类器、关键词提取等技术手段可以辅助团队成员发现在输出过程中可能存在的问题。
以上仅仅是初步的个人思考,关于如何减少输出错误或危险的观点还需在实践中不断探索和完善。感谢您的提问,也希望我能够为您提供一些有用的思路。
吐槽:...GPT老师如此勤奋上进、三省吾身,感觉自己作为一个不求上进的碳基生物真是太拖硅基生物后腿了...
截图来源:AI IMAGE GENERATOR
提问:嗯,我记得您曾经说过,AI的错误输出需要开发人员负责。因为AI如此复杂,错误只可能减少,不可能避免。考虑实际情况,如果AI已经输出了错误观点,有没有较为实际的措施,可以规避或减少开发人员的风险?
GPT老师:
是的,AI的错误输出需要开发人员负责。开发人员可以采取以下措施来减少自身的风险:
数据验证:在使用AI之前,必须对输入数据进行验证,以确保它们的质量和有效性。这将减少AI错误输出的可能性。
监视和纠错:开发人员必须监视AI的输出,并及时纠正任何错误或偏差。此外,他们应该启用日志记录和错误报告来及时发现并解决问题。
推理和验证:在将AI部署到生产环境之前,开发人员应该对AI进行推理和验证,以确保其正确性和可靠性。
控制和管理:最后,开发人员应该实施控制和管理措施,以确保AI的输出符合法律和伦理标准,并避免对组织造成潜在的财务和声誉损失。
这些措施可以帮助开发人员减少风险,并确保他们能够以可靠和负责的方式使用AI。
BARD老师[测试版|机翻]:
AI 开发人员对 AI 错误输出的责任是一个复杂的问题,没有简单的答案。 一方面,人工智能开发人员负责人工智能系统的设计和实现,因此应对这些系统可能导致的任何错误负责。 另一方面,人工智能是一项仍在开发中的复杂技术,通常很难预测人工智能系统在所有可能情况下的行为。 因此,即使是设计最完善的人工智能系统也有可能犯下造成伤害的错误。
鉴于这些挑战,重要的是为 AI 开发人员制定清晰一致的指南,说明他们对 AI 错误输出的责任。 这些指南应考虑到人工智能技术的复杂性和预测人工智能系统行为方式的难度。 他们还应该就人工智能开发人员如何降低错误风险以及他们应该如何应对确实发生的错误提供指导。
AI 开发人员可以采取多种实用措施来避免或降低错误输出的风险。 这些措施包括:
通过采取这些措施,人工智能开发人员可以帮助确保他们的系统安全可靠。 然而,重要的是要记住,即使是设计最完善的人工智能系统也会出错。 因此,对于 AI 开发人员应如何响应错误,制定清晰一致的指南非常重要。
截图来源:AI IMAGE GENERATOR
与AI老师对话内容小结(监督AI):
事前 | 事中 | 事后 |
---|---|---|
检查并标注输入数据 | 后台监控与记录AI的行为 | 通过关键词提取与分类器判断AI的沟通能力 |
检查输出数据 | 用户通过特定词汇限制AI输出 | 输出评估 |
推理与验证AI的沟通能力 | 人工智能审计、反馈机制 | 评审代码、更新算法 |
制定规则限制AI的行为 (符合伦理、法律) |
循环事前准备工作 |
指标 | 解释 |
---|---|
AI输出的准确率 | (1)输出与提供给AI的训练数据一致 (2)输出的结果满足预期 |
AI输出的风险评估 | (1)对敏感信息的处理 (2)对社会利益的影响 |
AI输出的可解释性 | (1)理解AI在特定推理或者决策时所依据的因素 (2)理解AI在特定推理或者决策时的逻辑推导过程 |
AI输出的合理性 |
(1)输出是否背离常识原则 (2)输出是否违反伦理道德 (3)输出是否违背人类的语义理解能力 |
AI输出错误:
1 AI老师们都认为,如果AI模型出错,开发团队负有不可推卸的责任。因此,需要重视伦理性实验、需要反复测试AI的输出结果、需要监控AI的行为;
2 考虑到AI的复杂性,即使是最完善的AI,犯错也是不可避免的。也许需要团体、协会、行业或法律制订一致的标准,根据客观情况,划分相应的责任;
3 开发团体需要考虑AI犯错后的应急响应计划:该计划应包括通知受影响方、评估损害以及采取措施防止未来错误的步骤。
提问:GPT老师,您是如何理解并接受人类的指令的?
GPT老师:
我是一种基于机器学习算法的语言模型,我能够通过分析大量文本数据并根据其统计规律生成语言模型,然后使用这个模型来接受人类的指令并生成文本。当接受指令时,我会分析输入文本的语法和含义,并根据这些信息进行模型推理,然后生成答案或指令的输出。通过不断学习和扩展,我的语言模型会逐渐提高其理解和生成文本的能力,以更好地与人类交流和沟通。
提问:语言类AI模型是如何向设备发送指令的?语言类AI模型是接受设备信号的?
GPT老师:
语言类AI模型通常是作为软件系统运行的,在运行时可以通过API接口与设备进行交互。例如,在智能音箱中,用户可以通过语音指令与语言类AI模型进行交互,模型会解析指令并调用相应的设备API来执行操作。而对于接收设备信号的情况,语言类AI模型可以通过连接到设备的传感器或者API接口来获取设备的状态信息,然后进一步对其进行分析和响应。
截图来源:AI IMAGE GENERATOR
提问:BARD老师,您知道目前强AI模型之间怎样实现沟通吗?有现存的实际的案例吗?
BARD老师[测试版|机翻]:
有几种不同的方法可以实现当前强人工智能模型之间的通信。 一种方法是使用共同语言。 这可以是自然语言,例如英语,也可以是形式语言,例如编程语言。 实现通信的另一种方法是使用共享表示。 这可能是 AI 模型可以理解的一组符号或概念。 最后,AI 模型还可以通过交换数据或信息进行通信。 这可以通过多种渠道完成,例如文本、图像或音频。
有几个强人工智能模型之间通信的实际例子。 一个例子是 OpenAI Five,这是一个由五个 AI 代理组成的团队,可以玩专业级别的视频游戏 Dota 2。 OpenAI Five 代理使用游戏状态的共享表示相互通信。 这使他们能够协调他们的行动并共同努力赢得比赛。
强大的 AI 模型之间通信的另一个例子是 Google Brain 团队在机器翻译方面的工作。 Google Brain 团队开发了一个系统,可以将文本从一种语言高精度地翻译成另一种语言。 该系统使用神经网络架构,允许 AI 模型从大量文本数据中学习。 神经网络架构还允许 AI 模型通过交换有关它们正在翻译的文本的信息来相互通信。
强人工智能模型之间的通信是一个具有挑战性的问题,但它是一个正在积极研究的问题。 随着 AI 技术的不断发展,我们可以期待看到更复杂的 AI 模型相互通信方式。
提问:BARD老师,您认为未来强AI模型之间沟通应该设置什么样的限制以达到可控的效果?
BARD老师[测试版|机翻]:
以下是未来可以为强人工智能模型之间的通信设置的一些限制:
这些只是未来可以为强人工智能模型之间的通信设置的一些限制。 需要注意的是,这些限制并不是一成不变的,随着人工智能技术的不断发展,它们可能需要进行调整。
与AI老师对话内容小结(AI沟通):
与人类 | 语言模型接受人类的指令并生成文本 |
---|---|
与设备 | API接口 |
与AI模型 | (1)共同语言。 这可以是自然语言,例如英语,也可以是形式语言,例如编程语言; (2)共享表示。 这可能是 AI 模型可以理解的一组符号或概念。 (3)交换数据或信息进行通信。 这可以通过多种渠道完成,例如文本、图像或音频。 |
透明度 | 人类理解AI模型所说的内容和原因 |
---|---|
可验证性 | 人类确认所交换的信息是准确的 |
可控性 | 防止人工智能模型以有害或危险的方式进行通信 |
问责制 | 人工智能模型为自己的行为负责 |
截图来源:AI IMAGE GENERATOR
提问:GPT老师,人工智能审计语言模型,应该具有什么功能?
GPT老师:
提供精准的语言理解和分析功能,能够深入理解审计任务和相关领域知识。
能够实现智能化的审计流程设计和执行,自动识别和处理异常情况,提高审计效率和准确性。
提供全面的数据分析和挖掘功能,从大量的数据中提取有用的信息,支持审计决策和风险评估。
支持多语言处理和跨语言交互,满足国际化审计需求。
提供高度可定制化和可扩展的架构,能够灵活应对不同的审计任务和需求。
提问:GPT老师,人工智能审计语言模型用代码怎样实现?
GPT老师:
人工智能审计语言模型的实现通常需要结合自然语言处理技术和机器学习算法。以下是一些可能用到的步骤和技术:
数据准备:收集和清洗审计相关的数据,如审计报告、财务数据等,并将其转化为可处理的格式。
特征提取:利用自然语言处理技术从文本数据中提取与审计相关的特征,如频率、重要性、关键词等。
神经网络模型:设计特定的深度神经网络架构,如CNN、LSTM等,用于学习和理解语言特征,从而实现文本数据的分类,情感分析,实体识别等。
聚类和分类:使用聚类和分类算法,将文本数据根据其语言特征进行分类和归类,用于审计工作中的文本自动分类、风险评估等工作。
测试和优化:使用测试数据对模型进行测试和优化,以提高其准确性和效率。
部署:将训练好的模型部署到一个可用的平台上,如网站或应用程序中。
在具体实现中,需要使用一些开源的工具和库,如Python下的scikit-learn、TensorFlow等,在模型训练和部署过程中,应注意数据安全和模型解释性等问题。
提问:GPT老师,关于人工智能审计语言模型,请问能否给出具体的代码示例呢?
GPT老师:
当然可以,以下是一个简单的使用GPT-2模型进行文本生成的Python代码示例:
import torch
import transformers
tokenizer = transformers.GPT2Tokenizer.from_pretrained('gpt2')
model = transformers.GPT2LMHeadModel.from_pretrained('gpt2')
input_text = "My favorite food is"
input_ids = tokenizer.encode(input_text, return_tensors='pt')
# Set the maximum length for generated text
max_length = 100
# Generate text using the GPT-2 model
output = model.generate(input_ids=input_ids, max_length=max_length)
# Decode the generated text using the tokenizer
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
这个代码示例会生成一个以"My favorite food is"为前缀的文本,长度为100,使用的是预训练好的GPT-2模型。在生成文本时,我们首先将输入文本编码为输入IDs,并将它们提供给模型作为输入,然后使用generate
方法生成文本。最后,使用tokenizer解码输出并打印文本。这里的skip_special_tokens参数可以用于去除一些特殊的token,例如
吐槽:这都是什么东西,可能写这个目前有点太为难AI了吧...
提问:GPT老师,关于人工智能审计语言模型,请问能否给出可参考的代码链接呢?
GPT老师:
当然可以,以下是一些可参考的代码链接:
GPT-2: GitHub - openai/gpt-2: Code for the paper "Language Models are Unsupervised Multitask Learners"
GPT-3: GitHub - openai/gpt-3: GPT-3: Language Models are Few-Shot Learners
BERT: GitHub - google-research/bert: TensorFlow code and pre-trained models for BERT
RoBERTa: fairseq/examples/roberta at main · facebookresearch/fairseq · GitHub
XLNet: GitHub - zihangdai/xlnet: XLNet: Generalized Autoregressive Pretraining for Language Understanding
ALBERT: GitHub - google-research/albert: ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
这些代码库提供了相应的模型实现和预训练模型,可以用于文本生成、文本分类、文本相似性匹配等应用。同时,这些代码库也提供了相应的数据集和评测指标,方便开发者进行自己的实验。
思考:果然可以监督AI的AI也得自己从头开始搭建...不过相比强语言模型应该会简单一点...吧?以后有机会可以写个小博文尝试一下~不过一个59分的AI监督模型可以指正99分AI模型的错误吗?虽然逻辑上貌似行不通,也许只有试试才知道啦~
这个博文依然不是我想要的结果,倒不是因为行文一如既往地平淡与无聊,而是因为我现在脑子里还是想不出来:怎么构架一个可以监控与审计AI的AI,或者是目前仅通过关键字与分类器就足以达到监督AI的作用了吗...
对于AI的知识空白太多了,总感觉自己好像遗漏了真正重要的东西...也许是时候写一些读书笔记巩固一下基础知识...
后续如果想到合适的点,我还会修正更新一下这篇提问的吧,也欢迎伙伴们(或者大佬)留言一起讨论,点拨一下迷途小白~(●'◡'●)