這項(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)。
好文章,需要你的鼓勵(lì)
騰訊ARC實(shí)驗(yàn)室推出AudioStory系統(tǒng),首次實(shí)現(xiàn)AI根據(jù)復(fù)雜指令創(chuàng)作完整長篇音頻故事。該系統(tǒng)結(jié)合大語言模型的敘事推理能力與音頻生成技術(shù),通過交錯(cuò)式推理生成、解耦橋接機(jī)制和漸進(jìn)式訓(xùn)練,能夠?qū)?fù)雜指令分解為連續(xù)音頻場景并保持整體連貫性。在AudioStory-10K基準(zhǔn)測試中表現(xiàn)優(yōu)異,為AI音頻創(chuàng)作開辟新方向。
Meta與特拉維夫大學(xué)聯(lián)合研發(fā)的VideoJAM技術(shù),通過讓AI同時(shí)學(xué)習(xí)外觀和運(yùn)動(dòng)信息,顯著解決了當(dāng)前視頻生成模型中動(dòng)作不連貫、違反物理定律的核心問題。該技術(shù)僅需添加兩個(gè)線性層就能大幅提升運(yùn)動(dòng)質(zhì)量,在多項(xiàng)測試中超越包括Sora在內(nèi)的商業(yè)模型,為AI視頻生成的實(shí)用化應(yīng)用奠定了重要基礎(chǔ)。
上海AI實(shí)驗(yàn)室發(fā)布OmniAlign-V研究,首次系統(tǒng)性解決多模態(tài)大語言模型人性化對(duì)話問題。該研究創(chuàng)建了包含20萬高質(zhì)量樣本的訓(xùn)練數(shù)據(jù)集和MM-AlignBench評(píng)測基準(zhǔn),通過創(chuàng)新的數(shù)據(jù)生成和質(zhì)量管控方法,讓AI在保持技術(shù)能力的同時(shí)顯著提升人性化交互水平,為AI價(jià)值觀對(duì)齊提供了可行技術(shù)路徑。
谷歌DeepMind團(tuán)隊(duì)開發(fā)的GraphCast是一個(gè)革命性的AI天氣預(yù)測模型,能夠在不到一分鐘內(nèi)完成10天全球天氣預(yù)報(bào),準(zhǔn)確性超越傳統(tǒng)方法90%的指標(biāo)。該模型采用圖神經(jīng)網(wǎng)絡(luò)技術(shù),通過學(xué)習(xí)40年歷史數(shù)據(jù)掌握天氣變化規(guī)律,在極端天氣預(yù)測方面表現(xiàn)卓越,能耗僅為傳統(tǒng)方法的千分之一,為氣象學(xué)領(lǐng)域帶來了效率和精度的雙重突破。