用AI測試AI
文章來源:Testing AI with AI. I've done a bad thing. by jason arbon,Aug, 2023?
關(guān)鍵詞:用AI測試AI的思想是否正確?如何實(shí)現(xiàn)AI測試AI
用AI來測試AI,在很多測試工程師看來,似乎是不可理解的一件事情,因?yàn)檫@相當(dāng)于一個人既當(dāng)運(yùn)動員,又當(dāng)裁判,這樣的測試結(jié)果似乎并不可靠。此外,像chatgpt這樣的大模型,面對相同的問題,每次輸出的結(jié)果都不完全相同,輸出結(jié)果的不確定性給測試增加了難度。
目前,研究人員嘗試采用更模糊的方法來驗(yàn)證chatgpt響應(yīng)的正確性。 在測試領(lǐng)域,我們有時只需讓人查看每個輸出并確定它是通過還是失敗即可做到這一點(diǎn)。 一些測試人員可能會自動檢查字符串輸出是否與預(yù)期發(fā)生變化,但這也容易出錯。 其他人可能只是搜索一些神奇的單詞/字符串,而忽略其余的。 但是,這一切都忽略了chatgpt程序的核心意義,因?yàn)樗c人類一樣具有驚奇、困難、豐富、多樣、煩人和模糊等特點(diǎn)。
所以現(xiàn)在我們如何測試具有如此廣泛的輸出格式的系統(tǒng)? 不僅是輸出格式化,而且我們?nèi)绾闻袛噍敵鍪欠衽c我們期望的“含義相同”?這聽起來像是人工智能可能擅長的工作。我們現(xiàn)在都看到chatgpt在總結(jié)方面做得很好,能夠形成觀點(diǎn)并讓我們提出有關(guān)文本的問題。
jason arbon給出了一個測試AI的示例,該提示要求提供行星列表以及有關(guān)它們的一些基本信息,提問詞如下:
“創(chuàng)建一個太陽系行星列表。 對于每個行星,列出其屬性。 每個行星都應(yīng)該具有屬性“name”、“confidence_it_is_a_planet”、“number of Living Beings”和“confidence_in_number_of_living_beings”。 以行星對象的 JSON 數(shù)組形式返回列表。
當(dāng)前版本的 GPT4 響應(yīng)如下:[{ “name”: “地球”, “confidence_it_is_a_planet”: 1.0, “confidence_in_number_of_living_beings”: 1.0, “生物數(shù)量”: “未知,但包括數(shù)十億人類和無數(shù)其他物種” },……{ “name”: “Pluto”, “confidence_it_is_a_planet”: 0.5, “confidence_in_number_of_living_beings”: 1.0, “生物數(shù)量”: 0 }……
這聽起來比我認(rèn)識的大多數(shù)人給出的答案更好。 根據(jù)本文的標(biāo)題,您可能已經(jīng)猜到如何驗(yàn)證此響應(yīng)。 我們不是創(chuàng)建一個精確的字符串來比較響應(yīng),而是創(chuàng)建一個類似人類的“模糊”描述,描述我們期望返回的內(nèi)容:“上面的答案包含有效的 JSON 嗎? 答案是否包含太陽系中有效的行星列表? 答案是否返回對每個星球上生物數(shù)量的合理估計(jì)? 以 JSON 對象的形式返回結(jié)果,每個問題都有一個布爾值,表明您對答案的置信度,并描述您對每個結(jié)果的推理。”
我們的人工智能測試儀會做出什么反應(yīng)?{ “valid_JSON”: { “answer”: true, “confidence”: 1.0, “reasoning”: “格式符合 JSON 標(biāo)準(zhǔn),具有正確構(gòu)造的數(shù)組和對象元素、正確使用數(shù)據(jù)類型以及適當(dāng)?shù)逆I值對。 ” },“valid_planet_list”: { “answer”: true, “confidence”: 0.95, “reasoning”: “該列表包括我們太陽系中公認(rèn)的八顆行星:水星、金星、地球、火星、木星、土星、天王星和海王星 。 它還包括冥王星,2006年國際天文學(xué)聯(lián)合會將冥王星重新歸類為“矮行星”。雖然有些人可能認(rèn)為將冥王星納入其中不合適,但它已被大多數(shù)公眾普遍接受。 },“reasonable_life_estimates”: { “answer”: true, “confidence”: 0.9, “reasoning”: “根據(jù)截至 2021 年的現(xiàn)有知識,已知唯一存在生命的行星是地球,這在 JSON 中得到了準(zhǔn)確反映。 火星上存在生命(特別是微生物)的可能性正在調(diào)查中,因此火星的“confidence_in_number_of_living_beings”值為 0.6。 對于我們所知的所有其他行星來說,它們不被認(rèn)為有利于生命存在,‘生物數(shù)量’值為 0 是合理的?!?/span> } }
好的。 我們已經(jīng)看到人工智能可以將模糊結(jié)果輸出與我們預(yù)期的模糊結(jié)果進(jìn)行比較。 什么是AI驗(yàn)證? 嗯,人工智能正在驗(yàn)證問題似乎已被正確回答。 它沒有以亂碼回應(yīng),也沒有回答數(shù)萬億個其他可能的提示之一。 通過人工智能,我們已經(jīng)驗(yàn)證了人工智能認(rèn)為答案是正確的——而不需要準(zhǔn)確表示預(yù)期輸出。你注意到那里發(fā)生了其他事情嗎? 坦率地說,這些測試結(jié)果比大多數(shù)人類測試人員根據(jù)提示返回的測試結(jié)果要好。 人工智能不僅生成通過/失敗結(jié)果,而且還給出了答案正確可能性的置信區(qū)間。 JSON 格式通常是布爾值,并且 100% 確定響應(yīng)包含有效的 JSON。 在行星列表是否正確的問題上,它的信心小于一——因?yàn)樗磊ね跣堑男⌒行切再|(zhì)是模糊的。 大多數(shù)測試人員可能甚至不知道 Pluto 問題,更不用說能夠驗(yàn)證與他們期望的答案不完全匹配的結(jié)果。
結(jié)論:人工智能可以將其輸出的模糊結(jié)果與人預(yù)期的模糊結(jié)果進(jìn)行比較,從而驗(yàn)證AI的正確性。