av天堂久久天堂色综合,最近中文字幕mv免费高清在线,在线a级毛片免费视频,av动漫,中文字幕精品亚洲无线码一区

微信掃一掃,關(guān)注公眾號(hào)

  • 科技行者

  • 算力行者

見證連接與計(jì)算的「力量」

首頁 VisCoder:打造能生成可執(zhí)行Python可視化代碼的大語言模型

VisCoder:打造能生成可執(zhí)行Python可視化代碼的大語言模型

2025-06-08 16:45
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-06-08 16:45 ? 科技行者

這項(xiàng)由加拿大滑鐵盧大學(xué)Yuansheng Ni和Wenhu Chen等研究團(tuán)隊(duì)領(lǐng)導(dǎo)的研究,于2025年6月4日發(fā)表在arXiv預(yù)印本平臺(tái)(arXiv:2506.03930v1),研究團(tuán)隊(duì)還包括來自卡內(nèi)基梅隆大學(xué)、Netmind.ai以及獨(dú)立研究者的成員。有興趣深入了解的讀者可以通過論文項(xiàng)目網(wǎng)站(https://tiger-ai-lab.github.io/VisCoder)獲取更多信息。

數(shù)據(jù)可視化:人工智能的視覺挑戰(zhàn)

想象一下,你有一大堆數(shù)據(jù),想用圖表直觀地展示出來。你可能會(huì)想:"讓AI幫我畫個(gè)圖表吧!"然而,即使是當(dāng)今最先進(jìn)的大語言模型(LLMs)在這項(xiàng)看似簡單的任務(wù)上也常常表現(xiàn)不佳。它們可能生成的代碼看起來正確,但執(zhí)行后卻出現(xiàn)各種問題:要么報(bào)錯(cuò)無法運(yùn)行,要么生成空白圖表,或者圖表內(nèi)容與你的要求相去甚遠(yuǎn)。

為什么會(huì)這樣呢?就像廚師需要同時(shí)掌握食譜(代碼)、食材(數(shù)據(jù))和最終菜肴外觀(可視化效果)一樣,AI在生成可視化代碼時(shí)需要同時(shí)理解三個(gè)方面:你的自然語言指令、數(shù)據(jù)結(jié)構(gòu),以及最終的視覺輸出。更復(fù)雜的是,可視化庫如matplotlib、seaborn和plotly各有特點(diǎn),就像不同菜系有不同烹飪技巧一樣,它們之間的語法和使用方式差異很大。

現(xiàn)有的AI模型通常是在大量文本和代碼上訓(xùn)練的,但缺乏專門針對(duì)可視化任務(wù)的訓(xùn)練數(shù)據(jù)。這就像讓一位只讀過食譜但從未進(jìn)廚房實(shí)踐的人來烹飪一道精美菜肴一樣困難。更重要的是,當(dāng)代碼出錯(cuò)時(shí),這些AI模型往往不知道如何修復(fù)問題,因?yàn)樗鼈儧]有經(jīng)過足夠的"失敗-修正"訓(xùn)練循環(huán)。

打造專業(yè)的可視化AI助手

針對(duì)這一挑戰(zhàn),研究團(tuán)隊(duì)創(chuàng)建了VisCode-200K,一個(gè)包含超過20萬個(gè)樣本的大規(guī)模數(shù)據(jù)集,專門用于訓(xùn)練AI生成可執(zhí)行的Python可視化代碼。這個(gè)數(shù)據(jù)集就像一本內(nèi)含實(shí)際可運(yùn)行代碼的可視化"食譜大全",不僅提供了"菜譜"(代碼),還包括"成品圖"(渲染后的圖表)以及詳細(xì)的"烹飪步驟說明"(自然語言指令)。

VisCode-200K的數(shù)據(jù)來源主要有兩部分:

首先,研究團(tuán)隊(duì)從開源Python代碼庫中提取了大量使用matplotlib、seaborn等流行可視化庫的代碼片段。他們不是簡單地復(fù)制這些代碼,而是對(duì)每個(gè)代碼片段進(jìn)行了嚴(yán)格的篩選和驗(yàn)證,確保它們能夠成功執(zhí)行并生成有意義的圖表。這就像確保每個(gè)食譜都經(jīng)過了實(shí)際測試,能做出美味佳肴一樣。然后,他們使用大語言模型(如GPT-4o)為每段代碼和對(duì)應(yīng)的圖表生成了自然語言描述,就像為每道菜添加詳細(xì)的烹飪說明。

其次,研究團(tuán)隊(duì)還融入了約4.5萬條多輪修正對(duì)話,來自名為Code-Feedback的數(shù)據(jù)集。這些對(duì)話記錄了AI如何根據(jù)錯(cuò)誤反饋逐步修正代碼的過程,就像廚師在烹飪過程中根據(jù)品嘗結(jié)果不斷調(diào)整調(diào)料和火候一樣。這部分?jǐn)?shù)據(jù)對(duì)于訓(xùn)練模型學(xué)習(xí)自我糾錯(cuò)能力至關(guān)重要。

在此基礎(chǔ)上,研究團(tuán)隊(duì)使用VisCode-200K數(shù)據(jù)集微調(diào)了開源大語言模型Qwen2.5-Coder-Instruct,分別在3B和7B兩種規(guī)模上訓(xùn)練,最終創(chuàng)建了名為VisCoder的專業(yè)可視化代碼生成模型。

如何評(píng)估可視化AI的能力?

為了客觀評(píng)估VisCoder的能力,研究團(tuán)隊(duì)使用了PandasPlotBench基準(zhǔn)測試,這個(gè)測試包含175個(gè)可視化任務(wù),涵蓋matplotlib、seaborn和plotly三種流行的Python可視化庫。

傳統(tǒng)評(píng)估方法只關(guān)注代碼是否能生成圖表,但這種方法存在局限性——一些代碼可能生成了空白或無意義的圖表,卻被誤判為正確。因此,研究團(tuán)隊(duì)引入了"執(zhí)行通過率"(Execution Pass Rate)這一更嚴(yán)格的指標(biāo),明確要求代碼必須執(zhí)行無誤才算成功。

更創(chuàng)新的是,他們?cè)O(shè)計(jì)了"自我調(diào)試"(Self-Debug)評(píng)估模式。在這種模式下,如果AI生成的代碼初次執(zhí)行失敗,系統(tǒng)會(huì)給AI最多三次機(jī)會(huì)修正錯(cuò)誤。這就像給廚師多次嘗試改進(jìn)菜肴的機(jī)會(huì),更符合實(shí)際使用場景。

VisCoder的驚人表現(xiàn)

實(shí)驗(yàn)結(jié)果令人振奮!VisCoder模型在可執(zhí)行性和視覺準(zhǔn)確性方面都大幅超越了同等規(guī)模的開源模型:

對(duì)于7B規(guī)模的模型,VisCoder比基線模型Qwen2.5-Coder平均提高了14.5個(gè)百分點(diǎn)的執(zhí)行通過率。特別是在處理復(fù)雜的plotly庫時(shí),VisCoder的表現(xiàn)尤為出色,通過率從48%提升到74.3%。

更令人印象深刻的是,VisCoder-7B在自我調(diào)試模式下,在matplotlib和seaborn庫上的執(zhí)行通過率超過了90%,這意味著即使初次生成的代碼有錯(cuò)誤,VisCoder也能在幾輪修正后成功修復(fù)絕大多數(shù)問題。

與閉源商業(yè)模型相比,VisCoder-7B在seaborn和plotly庫上甚至超過了GPT-4o-mini的表現(xiàn),并在自我調(diào)試后接近GPT-4o的水平。而較小的VisCoder-3B在seaborn庫上也超過了GPT-4o-mini,展示了出色的性價(jià)比。

深入理解VisCoder的錯(cuò)誤修正能力

研究團(tuán)隊(duì)對(duì)VisCoder的錯(cuò)誤修正能力進(jìn)行了深入分析,發(fā)現(xiàn)模型在處理不同類型錯(cuò)誤時(shí)表現(xiàn)各異:

對(duì)于結(jié)構(gòu)性錯(cuò)誤(如AttributeError和TypeError),VisCoder表現(xiàn)出色。例如,在Seaborn庫中,AttributeError從15個(gè)減少到只剩2個(gè)。這類錯(cuò)誤通常有明確的診斷信息,相對(duì)容易修復(fù)。

然而,對(duì)于語義執(zhí)行錯(cuò)誤(如KeyError和ValueError),VisCoder的修復(fù)能力較弱。在Plotly庫中,盡管經(jīng)過三輪修正,ValueError只從29個(gè)減少到23個(gè),而KeyError則沒有任何改善。這些錯(cuò)誤通常需要對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行深入理解,僅靠錯(cuò)誤信息難以完全修復(fù)。

訓(xùn)練數(shù)據(jù)的關(guān)鍵作用

為了理解不同訓(xùn)練數(shù)據(jù)的貢獻(xiàn),研究團(tuán)隊(duì)進(jìn)行了消融實(shí)驗(yàn),即分別使用數(shù)據(jù)集的不同子集訓(xùn)練模型:

使用來自stack-edu的子集訓(xùn)練的模型在plotly上有小幅提升,但在matplotlib和seaborn上表現(xiàn)下降,說明這部分?jǐn)?shù)據(jù)提供了廣泛但不夠深入的覆蓋。

令人驚訝的是,僅使用CoSyn-400K數(shù)據(jù)訓(xùn)練的模型幾乎完全失敗,執(zhí)行通過率接近零。這是因?yàn)镃oSyn數(shù)據(jù)結(jié)構(gòu)過于單一,缺乏足夠的多樣性。

使用Code-Feedback數(shù)據(jù)訓(xùn)練的模型在matplotlib和plotly上表現(xiàn)良好,但在seaborn上表現(xiàn)不佳,反映了這部分?jǐn)?shù)據(jù)雖然提供了寶貴的錯(cuò)誤修正經(jīng)驗(yàn),但缺乏針對(duì)特定可視化庫的專業(yè)知識(shí)。

只有完整的VisCode-200K數(shù)據(jù)集,結(jié)合了可執(zhí)行代碼示例和多輪修正對(duì)話,才能訓(xùn)練出在所有庫上都表現(xiàn)優(yōu)異的模型。這就像一位廚師需要同時(shí)掌握食譜知識(shí)和實(shí)際烹飪經(jīng)驗(yàn),才能成為全能的大廚。

未來展望與局限性

盡管VisCoder取得了顯著進(jìn)步,研究團(tuán)隊(duì)也坦誠承認(rèn)其局限性:

首先,VisCoder目前僅專注于Python語言,尚未覆蓋R或JavaScript等其他常用于數(shù)據(jù)可視化的編程語言。

其次,即使是VisCoder在處理復(fù)雜的Plotly庫時(shí)仍然面臨挑戰(zhàn),特別是在解決語義執(zhí)行錯(cuò)誤方面。

此外,評(píng)估過程依賴于自動(dòng)評(píng)判模型,可能存在一定的偏差或可靠性問題。

未來的研究方向可能包括擴(kuò)展到更多可視化庫,增強(qiáng)修正監(jiān)督,以及開發(fā)更精確的評(píng)估方法,使模型能夠更好地理解和修復(fù)復(fù)雜的執(zhí)行錯(cuò)誤。

總結(jié):AI可視化的重要一步

歸根結(jié)底,VisCoder代表了AI輔助數(shù)據(jù)可視化領(lǐng)域的重要進(jìn)步。通過創(chuàng)建專門的訓(xùn)練數(shù)據(jù)集并設(shè)計(jì)有效的自我調(diào)試機(jī)制,研究團(tuán)隊(duì)成功打造了一個(gè)能夠生成可靠、可執(zhí)行的Python可視化代碼的模型。

這項(xiàng)研究的意義不僅在于提高了AI生成可視化代碼的能力,更重要的是它揭示了專業(yè)領(lǐng)域指令微調(diào)和反饋驅(qū)動(dòng)學(xué)習(xí)的重要性。就像專業(yè)廚師需要專門的烹飪訓(xùn)練和不斷嘗試改進(jìn)一樣,AI也需要領(lǐng)域?qū)I(yè)知識(shí)和自我糾錯(cuò)能力才能在復(fù)雜任務(wù)中表現(xiàn)出色。

對(duì)于數(shù)據(jù)科學(xué)家、研究人員和普通用戶來說,VisCoder意味著數(shù)據(jù)可視化過程的簡化和效率提升。無需深入了解復(fù)雜的可視化庫語法,用戶只需用自然語言描述需求,就能獲得可執(zhí)行的可視化代碼。即使初次生成的代碼有問題,模型也能通過多輪對(duì)話逐步修正,最終達(dá)到預(yù)期效果。

如果你對(duì)這項(xiàng)研究感興趣,可以通過論文項(xiàng)目網(wǎng)站(https://tiger-ai-lab.github.io/VisCoder)了解更多細(xì)節(jié),或直接查閱arXiv上的論文原文(arXiv:2506.03930v1)。

分享至
0贊

好文章,需要你的鼓勵(lì)

推薦文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-