搜尋
首頁科技週邊人工智慧程式設計師的未來屬於「偽代碼」! Nature專欄:用ChatGPT加速科學研究程式設計的三種姿勢

基於生成式人工智慧工具,例如ChatGPT、Bard等聊天機器人的出現,以及如何將AI工具用於學術研究引發了巨大的爭議,但同時,AI生成的程式碼用於科學研究的價值被忽略了。

與ChatGPT生成文字導致的剽竊問題相比,用AI抄程式碼顯然爭議更小,開放科學甚至鼓勵「程式碼共享」和「程式碼重用」,溯源起來也很方便,例如python裡用到“import”導入依賴包就算引用。

最近Nature上發表了一篇評論文章,作者團隊討論了ChatGPT在科學程式設計領域的三個潛在能力,包括腦力激盪、分解複雜任務、以及處理簡單但耗時的任務。

程式設計師的未來屬於「偽代碼」! Nature專欄:用ChatGPT加速科學研究程式設計的三種姿勢

文章連結:https://www.nature.com/articles/s41559-023-02063 -3

研究人員透過使用ChatGPT將自然語言翻譯成電腦可讀程式碼,探索了使用生成式AI來增強科學編碼的能力和限制。

實驗中的例子主要探討了可能與生態學、演化及其他領域相關的通用任務,研究人員發現,使用ChatGPT可以完成80%-90%的程式碼編寫任務。

如果任務被分解成小的、可管理的程式碼區塊,並帶有精確的提示作為查詢,ChatGPT可以產生非常有用的程式碼。

值得注意的是,用Google的Bard進行同樣的實驗通常會得到類似的結果,但程式碼中的錯誤更多,所以這篇文章主要使用ChatGPT進行實驗。

第一作者Cory Merow是一位量化生態學家,主要研究方向是建立機制模型來預測人口和社區對環境變化的反應。即使是最好的資料集在預測全球變遷反應方面也是不完善的,所以需要開發一些工具來結合資料來源和探索資料集,以深入了解生物系統可能發生的變化。

ChatGPT助力科學編碼

ChatGPT以迴歸模型GPT-3為基礎,在海量的網頁、書籍等文字上進行擬合訓練,不需要搜尋即可生成文字。

所以ChatGPT更擅長內插(interpolating,即預測與訓練資料相似的文字),而不擅長外推(extrapolating,即預測與訓練樣本不同的新文字)。

訓練集的龐大規模是一個優勢,意味著GPT-3已經看到了大量的語言模式,使其能夠內插並增加產生對人類有用回應的可能性。

不過對程式碼產生任務來說,GPT-3並不知道如何編程,只是知道程式碼看起來像什麼樣,以及哪些單字最可能出現在下一個位置,其運作原理類似自動補全,基於機率模型預測下一個程式碼區塊(chunk),區塊通常比單字(word)小,也可以叫做token

產生正確token的機率基於所有token的機率乘積,即增加預測token的數量或降低選中token的確定性會增加任務的難度,從而降低獲得正確token的機率。

因此,想要增加正確token的機率,需要縮短生成任務的長度,或是提供更具體的指令。

最後,研究人員提醒,ChatGPT產生的文字有些看起來像程式碼,但可能無法執行,所以在編碼過程中需要仔細觀察偵錯。

腦力激盪工具

#ChatGPT可以很好地檢索多個資料來源,例如在生態領域可以同時取得植物性狀、物種分佈區域和氣象資料。

雖然ChatGPT提供的數據有些是不正確的,但透過其提供的連結可以很快地校正這些錯誤。

不過ChatGPT並不能寫爬蟲從網站下載數據,可能是因為R語言的套件和底層應用程式介面(如R存取資料庫的協定)更新過快,畢竟ChatGPT的訓練資料是在2021年建構的。

ChatGPT可以在遇到特定問題時提出各種統計技術,在後續的提問中可以產生更多基於使用者假設的指導意見,並提供一份初始程式碼。

不過綜合(synthesis)過程只適用於提出並交流想法,仍然需要透過傳統的資料來源(如論文等)進行事實查核。

要注意的是,有些網站聲稱ChatGPT有能力對書寫摘要,不過從研究人員的測試結果來看,這種摘要綜合的結果完全不對,可能是因為測試用的書籍沒有在GPT-3訓練集中出現。

更難的任務需要更多的debug

ChatGPT非常擅長產生模板程式碼,在特定指令下提供一份包含少量函數的短腳本程式碼。

例如下面的範例中,研究者要求ChatGPT將四個常用函數的輸入和輸出串一起。並提供一個將此函數用於模擬資料的範例程式碼。

可以看到ChatGPT產生的結果幾乎是完美的,除錯程式碼只花了幾分鐘,不過需要在提示中非常具體地說明query,包括提供命名和用到的函數。

程式設計師的未來屬於「偽代碼」! Nature專欄:用ChatGPT加速科學研究程式設計的三種姿勢

研究者發現,成功的關鍵在於:

1、將複雜任務分解成多個子任務,每個子任務最好只需要少數步驟即可完成,畢竟ChatGPT產生的程式碼是基於機率文字預測模型的結果。

2、ChatGPT在使用已經存在的函數時表現最佳,因為這時只涉及內插而非外推。

例如,使用正規表示式(regex)從文字中提取資訊的程式碼對於許多開發人員來說是非常困難的,不過因為已經有正規網站提供了大量線上範例,並可能出現在ChatGPT範例中,所以ChatGPT寫正規的表現還是不錯的。

3、學術界對ChatGPT最大的批評之一是其資訊來源缺乏透明度。

對於程式碼產生任務,透過指定「命名空間」(namespace),即在使用函數時明確呼叫包名可以實現一定程度的透明性。

不過ChatGPT可能會直接複製個人的公開代碼而沒有引用出來,研究人員仍然有責任驗證正確的代碼歸屬人。

同時,如果要求產生更長的腳本會暴露出一些ChatGPT的缺陷,例如偽造函數名稱或參數等,這也是StackOverflow禁用ChatGPT產生程式碼的原因。

但如果使用者提供了一組明確的執行步驟,ChatGPT仍然可以產生一個有用的工作流程模板,定義步驟之間的輸入和輸出之間的連接,這可能是用GPT-3外推產生新代碼的最有用的途徑。

目前ChatGPT還不能將偽代碼(用簡單語言描述的演算法步驟) 轉換為完美的電腦執行程式碼,但這可能離現實並不遙遠。

ChatGPT對於初學者、不熟悉的程式語言來說特別有幫助,因為初學者只會寫一些較短的腳本,調試更方便。

ChatGPT更擅長非創意任務

#ChatGPT最擅長解決的是耗時的公式化任務,可用於偵錯、偵測和解釋程式碼中的錯誤。

ChatGPT在撰寫函數文件時也非常有效,例如使用roxygen 2的內嵌文件語法,在標識所有參數及類別上非常高效,不過卻很少解釋如何使用函數。

一個關鍵的限制是ChatGPT的生成被限制在大約500個單詞,只能專注於較小程式碼區塊的生成,同時還可以產生單元測試以自動化確認程式碼功能。

ChatGPT給出的大多數建議在定義測試的結構和檢查預期的物件類別方面是很有幫助的。

最後,ChatGPT在對程式碼進行重新格式化以遵循標準化(例如穀歌)程式碼樣式方面非常有效。

未來屬於偽代碼

ChatGPT和其他人工智慧驅動的自然語言處理工具已經準備好將開發人員的簡單任務自動化,例如編寫短函數,語法調試,註釋和格式化,而擴展複雜性取決於使用者的調試意願(以及他們的熟練程度)。

研究人員總結了ChatGPT在程式碼產生上的功能,可以簡化科學領域的程式碼編寫過程,不過人工檢查仍然是必要的,可運行的程式碼並不一定意味著程式碼能夠執行預期的任務,因此單元測試或非正式的互動式測試仍然至關重要。

程式設計師的未來屬於「偽代碼」! Nature專欄:用ChatGPT加速科學研究程式設計的三種姿勢

在解決方案可能由人類開發,並由ChhatGPT簡單複製生成的情況下,確保正確的程式碼歸屬人至關重要。

目前已經有聊天機器人開始自動提供指向其來源的連結(例如,微軟的必應),儘管這一步還處於起步階段。

與傳統方法相比,ChatGPT提供了一種學習編碼技能的替代方法,透過將偽代碼直接轉換為程式碼,可以緩解編寫初始任務的障礙。

研究人員懷疑未來的進展將使用ChatGPT這樣的工具來自動調試編寫的程式碼,根據遇到的錯誤迭代地產生、運行和提出新程式碼,在實驗過程中,研究人員發現修正程式碼的能力有限,只有在非常具體的指令針對小程式碼區塊時才會偶爾成功,調試過程的效率遠低於人工調試。

研究人員猜想,隨著技術的進步(例如最近發布的GPT-4模型 ,據稱比GPT-3模型大10倍),自動化調試將會得到改進。

未來即將到來,現在是開發人員學習提示工程技能以利用新興AI工具的時候了,研究人員預計,使用人工智慧生成的程式碼將成為軟體開發各個方面越來越有價值的技能,這些技能是科學發現和理解的基礎。

以上是程式設計師的未來屬於「偽代碼」! Nature專欄:用ChatGPT加速科學研究程式設計的三種姿勢的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
最新的最佳及時工程技術的年度彙編最新的最佳及時工程技術的年度彙編Apr 10, 2025 am 11:22 AM

對於那些可能是我專欄新手的人,我廣泛探討了AI的最新進展,包括體現AI,AI推理,AI中的高科技突破,及時的工程,AI培訓,AI,AI RE RE等主題

歐洲的AI大陸行動計劃:Gigafactories,Data Labs和Green AI歐洲的AI大陸行動計劃:Gigafactories,Data Labs和Green AIApr 10, 2025 am 11:21 AM

歐洲雄心勃勃的AI大陸行動計劃旨在將歐盟確立為人工智能的全球領導者。 一個關鍵要素是建立了AI Gigafactories網絡,每個網絡都有大約100,000個高級AI芯片 - 2倍的自動化合物的四倍

微軟的直接代理商故事是否足以創造更多的粉絲?微軟的直接代理商故事是否足以創造更多的粉絲?Apr 10, 2025 am 11:20 AM

微軟對AI代理申請的統一方法:企業的明顯勝利 微軟最近公告的新AI代理能力清晰而統一的演講給人留下了深刻的印象。 與許多技術公告陷入困境不同

向員工出售AI策略:Shopify首席執行官的宣言向員工出售AI策略:Shopify首席執行官的宣言Apr 10, 2025 am 11:19 AM

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

IBM啟動具有完整AI集成的Z17大型機IBM啟動具有完整AI集成的Z17大型機Apr 10, 2025 am 11:18 AM

IBM的Z17大型機:集成AI用於增強業務運營 上個月,在IBM的紐約總部,我收到了Z17功能的預覽。 以Z16的成功為基礎(於2022年推出並證明持續的收入增長

5 Chatgpt提示取決於別人並完全相信自己5 Chatgpt提示取決於別人並完全相信自己Apr 10, 2025 am 11:17 AM

解鎖不可動搖的信心,消除了對外部驗證的需求! 這五個CHATGPT提示將指導您完全自力更生和自我感知的變革轉變。 只需複制,粘貼和自定義包圍

AI與您的思想危險相似AI與您的思想危險相似Apr 10, 2025 am 11:16 AM

人工智能安全與研究公司 Anthropic 最近的一項[研究]開始揭示這些複雜過程的真相,展現出一種令人不安地與我們自身認知領域相似的複雜性。自然智能和人工智能可能比我們想像的更相似。 窺探內部:Anthropic 可解釋性研究 Anthropic 進行的研究的新發現代表了機制可解釋性領域的重大進展,該領域旨在反向工程 AI 的內部計算——不僅僅觀察 AI 做了什麼,而是理解它在人工神經元層面如何做到這一點。 想像一下,試圖通過繪製當有人看到特定物體或思考特定想法時哪些神經元會放電來理解大腦。 A

龍翼展示高通的邊緣動力龍翼展示高通的邊緣動力Apr 10, 2025 am 11:14 AM

高通的龍翼:企業和基礎設施的戰略飛躍 高通公司通過其新的Dragonwing品牌在全球範圍內積極擴展其範圍,以全球為目標。 這不僅僅是雷布蘭

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Mac版

SublimeText3 Mac版

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中