GPT-4壓根不會編程?有人讓它露餡了
在 OpenAI 發布 GPT-4 之後,一場有關「AI 取代人類勞動力」的討論正變得越來越激烈。該模型的強大能力及其可能帶來的潛在社會影響引發了許多人的擔憂,馬斯克、Bengio 等人甚至聯名寫了一封公開信,呼籲所有AI 機構暫停訓練比GPT-4 更強的AI 模型,為期至少6 個月。
但另一方面,對於 GPT-4 能力的質疑也是此起彼落。前幾天,圖靈獎得主 Yann LeCun 在一場辯論中直接指出,GPT 家族所採用的自回歸路線存在天然的缺陷,繼續往前走是沒有前途的。
同時,一些研究者、從業者也表示,GPT-4 可能並沒有OpenAI 所展示的那麼強大,尤其是在程式設計方面:它可能只是記住了之前的題目,OpenAI 用來測試此模型程式設計能力的題目可能早就存在於它的訓練集中,這違反了機器學習的基本規則。另外,也有人指出,看到 GPT-4 在各種考試中名列前茅就判定 AI 將取代部分職業的想法是不嚴謹的,畢竟這些考試和人類的實際工作還是有差距的。
近期的一篇部落格詳細地闡述了上述想法。
問題一:訓練資料污染
為了對 GPT-4 的程式設計能力進行基準測試,OpenAI 使用程式設計競賽網站 Codeforces 上的問題對其進行了評估。令人驚訝的是,GPT-4 解決了 10/10 的 2021 年前的問題和 0/10 的近期 easy 類問題。要知道,GPT-4 的訓練資料截止日期是 2021 年 9 月。這有力地表明該模型能夠從其訓練集中記住解決方案 —— 或至少部分記住它們,這足以讓它填補它不記得的東西。
圖片來源:https://twitter.com/cHHillee/status/1635790330854526981
#為了進一步證明這個假設,部落客Arvind Narayanan 和Sayash Kapoor 在2021 年不同時間的Codeforces 問題上對GPT-4 進行了測試,發現它可以解決9 月5 日之前的簡單類別的問題,無法解決9 月12 日之後的問題。
作者表示,事實上,他們可以明確地表明GPT-4 已經記住了訓練集中的問題:當把Codeforces 問題的標題加入prompt 中時,GPT-4 的回答會包含指向出現該問題的確切比賽的連結(並且輪數幾乎是正確的:它差了一個)。請注意,當時的 GPT-4 不能上網,所以記憶是唯一的解釋。
GPT-4 記住了訓練截止日期之前的 Codeforces 問題。
論文中的 Codeforces 結果並沒有受此影響,因為 OpenAI 使用的是最近的問題(果然,GPT-4 表現很差)。對於程式設計以外的基準,作者不知道有什麼乾淨的方法可以按時間段分開問題,所以他們認為 OpenAI 不太可能避免污染。但出於同樣的原因,他們也無法做實驗來測試性能在不同日期的變化。
不過,他們還是可以尋找一些提示性的跡象。記憶的另一個徵兆是:GPT 對問題的措詞高度敏感。 Melanie Mitchell 舉了一個 MBA 測試題的例子,她改變了這個例子的一些細節,這一改變騙不到人,但卻成功欺騙了(運行 GPT-3.5 的)ChatGPT。沿著這個思路做一個更詳細的實驗會很有價值。
由於 OpenAI 缺乏透明度,作者無法肯定地回答污染問題。但可以肯定的是,OpenAI 檢測污染的方法是膚淺和草率的:
我們使用子字串匹配來衡量我們的評估資料集和預訓練資料之間的交叉污染。評估和訓練資料都是透過移除所有的空格和符號來處理的,只保留字元(包括數字)。對於每個評估實例,我們隨機選擇三個 50 個字符的子字串(如果少於 50 個字符,則使用整個實例)。如果三個被抽中的評估子字串中的任何一個是被處理過的訓練例子的子串,那麼就可以辨識出一個匹配。這就產生了一個被污染的例子的清單。我們丟棄這些,並重新運行以獲得未受污染的分數。
這是一個脆弱的方法。如果一個測試問題出現在訓練集中,但名稱和數字被改變了,它就不會被發現。不那麼脆弱的方法是現成的,比如說嵌入距離。
如果 OpenAI 要使用基於距離的方法,多大程度的相似性才是太相似?這個問題沒有客觀的答案。因此,即使是像選擇題標準化測驗中的表現看似簡單的事情,也充滿了主觀的決定。
但我們可以透過詢問 OpenAI 試圖用這些考試來衡量什麼來明確一些東西。如果目標是預測語言模型在現實世界任務中的表現,那就有一個問題。從某種意義上說,任何兩個律師考試或醫學考試的問題都比現實世界中專業人士所面臨的兩個類似任務更相似,因為它們是從這樣一個受限的空間中提取的。因此,在訓練語料庫中加入任何考試問題,都有可能導致對模型在現實世界中的有用性的誇大估計。
從現實世界的有用性角度來闡述這個問題,突顯了另一個更深層的問題(問題二)。
問題二:專業考試不是比較人類和機器人能力的有效方法
記憶是一個光譜。即使一個語言模型在訓練集上沒有見過某個確切的問題,它也不可避免地看到了非常接近的例子,因為訓練語料庫的規模太大了。這意味著它可以用更淺顯的推理層次來逃避。因此,基準結果並沒有給我們證據,證明語言模型正在獲得人類考生所需的那種深入的推理技能,而這些考生隨後會在現實世界中應用這些技能。
在一些現實世界的任務中,淺層推理可能是足夠的,但並非總是如此。世界是不斷變化的,所以如果一個機器人被要求分析一項新技術或一個新的司法判決的法律後果,它就沒有什麼可藉鑑的。總之,正如 Emily Bender 所指出的,為人類設計的測試在應用於機器人時缺乏結構效度。
除此之外,專業考試,尤其是律師資格考試,過度強調學科知識,而對現實世界的技能強調不足,而這些技能在標準化的計算機管理方式下更難衡量。換句話說,這些考試不僅強調了錯誤的東西,而且過度強調了語言模型所擅長的東西。
在 AI 領域,基準被過度地用於比較不同的模型。這些基準因將多維評價壓縮成單一數字而飽受批評。當它們被用來比較人類和機器人時,得到的結果是錯誤的資訊。不幸的是,OpenAI 在對 GPT-4 的評估中選擇大量使用這些類型的測試,而且沒有充分嘗試解決污染問題。
有更好的方法來評估 AI 模型對職業的影響
人們在工作期間可以上網,但在標準化考試期間卻不能上網。因此,如果語言模型的表現能夠媲美可以上網的專業人士,這在某種程度上將能更好地檢驗它們的實際效能。
但這仍然是個錯誤的問題。與其用獨立的基準,我們或許更應該衡量語言模型能在多大程度上完成專業人員必須完成的所有現實任務。例如,在學術界,我們經常會遇到一些我們不熟悉的領域的論文,其中充滿了專業術語;如果 ChatGPT 能夠以一種更容易理解的方式準確地總結這樣的論文,那就很有用了。有些人甚至還測試過這些工具是否能做同儕審查。但即使是這個場景,你也很難確保用來測試的題目沒有包含在訓練集裡。
ChatGPT 可以取代專業人員的想法仍然很牽強。在 1950 年的普查中,270 個工作中僅有 1 個被自動化淘汰了,那就是電梯操作員。當下,我們需要評估的是那些利用人工智慧工具來幫助自己完成工作的專業人員。兩項早期的研究是有希望的:一項是 GitHub 用於程式設計的 copilot,另一項是 ChatGPT 的寫作協助。
在這個階段,我們更需要定性研究而不是定量研究,因為這些工具太新了,我們甚至不知道該問什麼正確的定量問題。例如,微軟的 Scott Guthrie 報告了一個醒目的數字:GitHub Copilot 用戶檢查的程式碼中有 40% 是人工智慧產生的,沒有經過修改。但任何程式設計師都會告訴你,很大一部分程式碼由模板和其他通常可以複製貼上的平凡邏輯組成,特別是在企業應用程式中。如果這就是 Copilot 自動化的部分,那麼生產力的提高將是微不足道的。
作者表示,明確地說,我們不是說 Copilot 沒有用,只是說如果沒有對專業人士如何使用人工智慧的定性理解,現有的衡量標準將是沒有意義的。此外,人工智慧輔助編碼的主要好處甚至可能不是生產力的提升。
結論
下圖總結了這篇文章,並解釋了我們為什麼要以及如何擺脫 OpenAI 報告的那種度量標準。
GPT-4 確實令人興奮,它可以透過多種方式解決專業人士的痛點,例如透過自動化,取代我們做簡單、低風險但費力的任務。目前,專注於實現這些好處並降低語言模型的許多風險可能是更好的做法。
以上是GPT-4壓根不會編程?有人讓它露餡了的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...
