Prompt IDE來了…是劃時代AI神器還是雞肋?
作者:小戲
在閑極無聊百無聊賴的刷著推特的時候,突然看到了這樣一條消息讓我手指一停。
眼睛很快捕捉到了關鍵詞,嗯?PromptIDE? 不知道大家看到 Prompt 和 IDE 這兩個詞組合在一起是一種什么樣的感受,我的第一反應可能是“啊?Prompt 開發也要有 IDE 了?”,盡管這一年多來 Prompt 在 NLP 領域幾乎占據了絕對的高地,“第四范式”帶著大模型高歌猛進,但是當一眼看到 Prompt 與 IDE 的組合時,倒沒有感受到那種“終于我等到你,還好我沒放棄”的驚喜,反倒是更像是兩種相隔甚遠的東西突然被組合成了一個新名詞的不適應。
因此,帶著好奇,我便點開了這篇站在 Prompt IDE 背后的論文,論文題為《Interactive and Visual Prompt Engineering for Ad-hoc Task Adaptation with Large Language Models》。看到標題,應該可以大致感受到,論文開門見山就把自己的方向定在了信息檢索這樣一個 NLP 的子領域中。OK,這其實不是一個通用的 IDE,而是需要添加“在信息檢索領域中的”這樣一個定語才能成立的 IDE。
細分領域先按住不表,閱讀摘要,在簡單陳述了這一年多大模型 + Prompt 在 NLP 領域輝煌的戰績之后,筆鋒一轉,“However”,找到良好的 Prompt 模板需要大量實驗,不同的 Prompt 變種可能導致正確率的顯著差異。也因此,這樣的問題呼喚著一個可以做到幫助使用者實驗不同的 Prompt 模板,可視化不同 Prompt 模板效果的 IDE 出現。
聽著還不錯,繼續讀下去,正文中,為了解構 Prompt 的工作流程,以匹配 Prompt IDE 應該實現的功能,作者將使用者使用 Prompt IDE 的主要流程劃分為:
1. M1-Prompt Template:即使用者構建任務描述模板
2. M2-Answer Choices:即使用者構建答案選擇模板
3. M3-Evaluation:即IDE評估并展示模板效果
同時,緊接著流程,作者又提出了一個 Prompt IDE 應該實現的四個目標:
1. G1:IDE應該廣泛支持不同的信息檢索的下游任務
2. G2:更快,更好的寫作 Prompt
3. G3:通過量化的指標選擇出更好的 Prompt
4. G4:方便的部署模型
根據這四個目標,作者再次細化歸納出了一個 Prompt IDE 應該完成的四項任務
1. Task1:構建并嘗試不同的 Prompt 模板[G1,G2]
2. Task2:體現出詳細的預測細節[G2,G3]
3. Task3:測試不同 Prompt 的性能[G3]
4. Task4:導出最優的 Prompt[G4]
最終,根據這層層遞進的流程目標任務的邏輯推理與排列組合,作者設計出了這款具有四部分功能的 Prompt IDE:
從左到右,依次為數據選擇([Task1-Task3],[G1-G3])、模板選擇([Task1],[G1,G2])、模板精煉([Task1-Task3],[G1,G2])以及模板測試([Task2,Task3],[G2,G3])。
數據選擇部分主要用于瀏覽并選擇相關測試數據集,模板選擇主要用于探索不同的問題描述與答案選擇的模板組合,模板精煉可以針對一個表現效果好的模板選用不同的數據進行微調并最終構建效果最好的模板,而模板測試主要用于展示模板在大規模數據集上的表現。
講了這么多M、G和Task的排列組合,層層遞進下對這個 Prompt IDE 還有點心動。于是乎我點開了作者提供的一個示例 Demo,但這一入眼怎么跟論文的圖里有一點點區別
原本四個的功能變成了兩個,仔細一看,作者講這是一個輕量級的模型,于是我點進了他的完整模型
好吧,還是兩個。不過這畢竟不重要,點開模板選擇的功能,是如下一個頁面:
在左上側的 Prompt Template 處,可以自定義不同的問題描述模板,其中{{q1}}處陳列不同的模板變體,內容在右上側的 Prompt variable variants 處展示,例如,在這個例子中,就有 "Text" 、 "Article" 、 "Read this article" 三種變體。而{{q2}}處展示不同的答案選擇模板變體,在該示例中,有 "Possible answers:"、"Chose between A, B, C, or D"兩種選擇。根據不同的模板樣式,自定義的{{q1}}與{{q2}}還可以繼續擴展。
而最終 IDE 所測試的 Prompt 模板,是 {{q1}} 與 {{q2}} 處的選擇的乘積,例如在這里例子中,供評估的模板就有 2 x 3 一共 6 種。點擊這里的 Preview 6 Variants for 20 samples 就可以展示評估結果(放一段官方的GIF)
展示的效果看起來非常不錯,但當我打算看看模型精煉的板塊時,卻發現:
好的,原來只有一個靜態的展示頁面,可以對單個模板進行更加深入的測試與微調:
再往下是一個預先計算好的結果展示的頁面,分別展示了正確率、混淆矩陣等信息。
然后就,沒了?
是的,Demo 到此戛然而止,論文里邏輯嚴密敘述清洗的功能閱讀下來倒成了論文僅供參考,一切以實物為準。回顧一下這篇論文的大餅,這其實是一篇告訴了我做了一個有四個功能的 Prompt IDE 但 Demo 里只有兩個功能因為沒法導入數據因此兩個功能其實都是靜態的展示頁面的論文。而深究這個工作的意義,IDE 的功能應當在于好上手與方便使用,至少將復雜的流程簡化到易于人類理解的邏輯去操作,這款 IDE 或者在論文里確實做到了良好的分析與可視化,但是對于當下這款 Demo 卻只能期待一下它未來的表現。
最后,化用論文里反復重復的M、G、Task,也許引用一個家居博主的經典發言,倒挺適合評價這款 Prompt IDE:
1. Tips1:在各種限制條件下才能好用的東西不叫好用
2. Tips2:如果一個東西給你帶來的麻煩超過了帶給你的方便,那就應該果斷舍棄
3. Tips3:以前不需要,以后也不必買
4. Tips4:使人顯得不聰明的產品已經太多了,不要再添磚加瓦
論文題目:
Interactive and Visual Prompt Engineering for Ad-hoc Task Adaptation with Large Language Models
論文鏈接:
https://arxiv.org/pdf/2208.07852.pdf
項目地址:
http://promptide.vizhub.ai/
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。