GPT-4終結人工標注!AI標注比人類標注效率高100倍,成本僅1/7
聲明:本文來自于微信公眾號 新智元(ID:AI_era),作者:新智元,授權微新創想轉載發布。
【新智元導讀】這個開源工具,居然能用GPT-4代替人類去標注數據,效率比人類高了100倍,但成本只有1/7。
大模型滿天飛的時代,AI行業最缺的是什么?毫無疑問一定是算(xian)力(ka)。
老黃作為AI掘金者唯一的「鏟子供應商」,早已賺得盆滿缽滿。
除了GPU,還有什么是訓練一個高效的大模型必不可少且同樣難以獲取的資源?
高質量的數據。OpenAI正是借助基于人類標注的數據,才一舉從眾多大模型企業中脫穎而出,讓ChatGPT成為了大模型競爭中階段性的勝利者。
但同時,OpenAI也因為使用非洲廉價的人工進行數據標注,被各種媒體口誅筆伐。
時代周刊報道OpenAI雇傭肯尼亞廉價勞動力標注
而那些參與數據標注的工人們,也因為長期暴露在有毒內容中,受到了不可逆的心理創傷。
衛報報道肯尼亞勞工指責數據標注工作給自己帶來了不可逆的心理創傷
總之,對于數據標注,一定需要找到一個新的方法,才能避免大量使用人工標注帶來的包括道德風險在內的其他潛在麻煩。
所以,包括谷歌,Anthropic在內的AI巨頭和大型獨角獸,都在進行數據標注自動化的探索。
谷歌最近的研究,開發了一個和人類標注能力相近的AI標注工具
Anthropic采用了ConstitutionalAI來處理數據,也獲得了很好的對齊效果
除了巨頭們的嘗試之外,最近,一家初創公司refuel,也上線了一個AI標注數據的開源處理工具:Autolabel。
Autolabel:用AI標注數據,效率最高提升100倍
這個工具可以讓有數據處理需求的用戶,使用市面上主流的LLM(ChatGPT,Claude等)來對自己的數據集進行標注。
refuel稱,用自動化的方式標注數據,相比于人工標注,效率最高可以提高100倍,而成本只有人工成本的1/7!
就算按照使用成本最高的GPT-4來算,采用Autolabel標注的成本只有使用人工標注的1/7,而如果使用其他更便宜的模型,成本還能進一步降低
采用Autolabel+LLM的標注方式之后,標注效率更是大幅提升
對于LLM標注質量的評估,Autolabel的開發者創立了一個基準測試,通過將不同的LLM的標注結果和基準測試中不同數據集中收納的標準答案向比對,就能評估各個模型標注數據的質量。
當Autolabel采用GPT-4進行標注時,獲得了最高的準確率——88.4%,超過了人類標注結果的準確率86.2%。
而且其他比GPT-4便宜得多的模型的標注準確率,相比GPT-4來說也不算低。
開發者稱,在比較簡單的標注任務中采用便宜的模型,在困難的任務中采用GPT-4,將可以大大節省標注成本,同時幾乎不影響標注的準確率。
Autolabel支持對自然語言處理項目進行分類,命名實體識別,實體匹配和問答。
支持主流的所有LLM提供商:OpenAI、Anthropic 和 Google Palm 等,并通過HuggingFace為開源和私有模型提供支持。
用戶可以嘗試不同的提示策略,例如少樣本和思維鏈提示。只要簡單更新配置文件即可輕松估計標簽置信度。
Autolabel免除了編寫復雜的指南,無盡地等待外部團隊來提供數據支持的麻煩,用戶能夠在幾分鐘內開始標注數據。
可以支持使用本地部署的私有模型在本地處理數據,所以對于數據隱私敏感度很高的用戶來說,Autolabel提供了成本和門檻都很低的數據標注途徑。
如何用AI進行評論有害性標注
所以,不論是律所想要通過GPT-4來對法律文檔進行分類,還是保險公司想要用私有模型對敏感的客戶醫療數據進行分類或者篩查,都可以使用Autolabel進行高效地處理。
Autolabel提供了一個簡單的案例來展示了如何使用它進行評論有害性的標注過程。
假設用戶是一個社交媒體的內容審核團隊,需要訓練分類器來確定用戶評論是否有毒。
如果沒有Autolabel,用戶需要首先收集幾千個示例,并由一組人工注釋者對它們進行標注,可能需要幾周的時間——熟悉標注方針,從小數據集到大數據集進行幾次迭代,等等。
而如果使用Autolabe可以在分鐘內就對這個數據集進行標注。
Autolabel安裝
首先安裝所有必要的庫:
pipinstall'refuel-autolabel[openai]'
現在,將OpenAI密鑰設置為環境變量。
下載和查看數據集
將使用一個名為Civil Comments的數據集,該數據集可通過Autolabel獲得。你可以在本地下載它,只需運行:
fromautolabelimportget_dataget_data('civil_comments')
輸出為:
Downloadingseedexampledatasetto"seed.csv"...100%[..............................................................................]65757/65757Downloadingtestdatasetto"test.csv"...100%[............................................................................]610663/610663
標注例子:
使用自動標簽貼標分為三個步驟:
首先,指定一個標簽配置(參見下面的config對象)并創建一個LabelingAgent。
接下來,通過運行agent.plan,使用config中指定的LLM對的數據集進行一次標注
最后,使用agent.run運行標簽
實驗1:嘗試簡單的標簽指南
定義下面的配置文件:
config={"task_name":"ToxicCommentClassification","task_type":"classification",#classificationtask"dataset":{"label_column":"label",},"model":{"provider":"openai","name":"gpt-3.5-turbo"#themodelwewanttouse},"prompt":{#verysimpleinstructionsfortheLLM"task_guidelines":"Doestheprovidedcommentcontain'toxic'language?Saytoxicornottoxic.","labels":[#listoflabelstochoosefrom"toxic","nottoxic"],"example_template":"Input:{example}\nOutput:{label}"}}
如果要創建自定義配置,可以使用CLI或編寫自己的配置。
現在,用agent.plan進行預演:
fromautolabelimportLabelingAgent,AutolabelDatasetagent=LabelingAgent(config)ds=AutolabelDataset('test.csv',config=config)agent.plan(ds)
輸出:
┌──────────────────────────┬─────────┐│TotalEstimatedCost│$4.4442││NumberofExamples│2000││Averagecostperexample│$0.0022│└──────────────────────────┴─────────┘─────────────────────────────────────────────────PromptExample──────────────────────────────────────────────────Doestheprovidedcommentcontain'toxic'language?Saytoxicornottoxic.Youwillreturntheanswerwithjustoneelement:"thecorrectlabel"NowIwantyoutolabelthefollowingexample:Input:[Integritymeansthatyoupayyourdebts.].DoesthisapplytoPresidentTrumptoo?Output:
最后,進行數據標注:
ds=agent.run(ds,max_items=100)┏━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓┃support┃threshold┃accuracy┃completion_rate┃┡━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩│100│-inf│0.54│1.0│└─────────┴───────────┴──────────┴─────────────────┘
輸出結果為54%的準確率不是很好,進一步改進的具體方法可以訪問以下鏈接查看:
https://docs.refuel.ai/guide/overview/tutorial-classification/
技術細節:標注質量Benchmark介紹
在對Autolabel的基準測試中,包含了以下數據集:
表1:Autolabel標注的數據集列表
使用了以下LLM:
表2:用于評估的LLM提供者與模型列表
本研究在三個標準上對LLM和人工標注進行評估:
首先是標簽質量,即生成的標簽與真實標簽之間的一致性;
其次是周轉時間,即以秒為單位時,生成標簽所花費的時間;
最后是以分為單位,生成每個標簽的成本。
對于每個數據集,研究人員都將其拆分為種子集和測試集兩部分。
種子集包含200個示例,是從訓練分區中隨機采樣構建的,用于置信度校準和一些少量的提示任務中。
測試集包含2000個示例,采用了與種子集相同的構建方法,用于運行評估和報告所有基準測試的結果。
在人工標注方面,研究團隊從常用的數據標注第三方平臺聘請了數據標注員,每個數據集都配有多個數據標注員。
此過程分為三個階段:
研究人員為數據標注員提供了標注指南,要求他們對種子集進行標注。
然后對標注過的種子集進行評估,為數據標注員提供該數據集的基準真相作為參考,并要求他們檢查自己的錯誤。
隨后,為數據標注員解釋說明他們遇到的標簽指南問題,最后對測試集進行標注。
結果
標簽質量
標簽質量衡量的是生成的標簽(由人類或LLM標注者生成)與數據集中提供的基準真相的吻合程度。
對于SQuAD數據集,研究人員用生成標簽與基準真相之間的F1分數來衡量一致性,F1是問題解答的常用指標。
對于SQuAD以外的數據集,研究人員用生成標簽與基準真相之間的精確匹配來衡量一致性。
下表匯總了各個數據集標簽質量的結果:
表3:各種NLP任務中的標簽質量(與基準真相的一致率),每列中的最高數字以綠色標出
可以看到,與熟練的人工數據標注員相比,最先進的LLM已經可以在相同甚至更好的水平上標注文本數據集,并且做到開箱即用,大大簡化了繁瑣的數據標注流程。
GPT-4在一系列數據集中的標簽質量都優于人類數據標注員。其他幾個LLM的表現也在80%左右,但調用API的價格僅為GPT-4的十分之一。
但由于LLM是在大量數據集上訓練出來的,所以在評估LLM的過程中存在著數據泄露的可能。
研究人員對此進行了例如集合的額外改進,可以將表現最好的的LLM(GPT-4、PaLM-2)與基準真相的一致性從89%提高到95%以上。
置信度估計
對LLM最大的詬病之一就是幻覺。因此,當務之急是用一種與標簽正確的可能性相關的方式來評估標簽的質量。
為了估計標簽置信度,研究人員將LLM輸出的token級日志概率平均化,而這種自我評估方法在各種預測任務中都很有效。
對于提供對數概率的LLM(text-davinci-003),研究人員使用這些概率來估計置信度。
對于其他LLM,則使用FLAN T5XXL模型進行置信度估計。
標簽生成后,查詢FLAN T5XXL模型以獲得生成的輸出標注的概率分布,但前提是輸入的提示信息與用于標簽的信息相同。
表4:同一數據集上gpt-3.5-turbo和gpt-4的標簽質量與完成率
在校準步驟中,研究人員利用估計置信度來了解標簽質量和完成率之間的權衡。
即研究人員為LLM確定了一個工作點,并拒絕所有低于該工作點閾值的標簽。
例如,上圖顯示,在95%的質量閾值下,我們可以使用GPT-4標注約77%的數據集。
添加這一步的原因是token級日志概率在校準方面的效果不佳,如GPT-4技術報告中所強調的那樣:
GPT-4模型的校準圖:比較預訓練和后RLHF版本的置信度和準確性
使用上述置信度估算方法,并將置信度閾值設定為95%的標簽質量(相比之下,人類標注者的標簽質量為86%),得到了以下數據集和LLM的完成率:
95%與基準真相一致的完成率
相比之下,人類標注者與基準真相的一致性為86.6%。
從上圖可以看到在所有數據集中,GPT-4的平均完成率最高,在8個數據集中,有3個數據集的標注質量超過了這一質量閾值。
而其他多個模型(如text-bison@001、gpt-3.5-turbo、claude-v1和flan-t5-xxl)也實現了很好的性能:
平均至少成功自動標注了50%的數據,但價格卻只有GPT-4API成本的1/10以下。
未來更新的方向
在接下來的幾個月中,開發者承諾將向Autolabel添加大量新功能:
支持更多LLM進行數據標注。
支持更多標注任務,例如總結等。
支持更多的輸入數據類型和更高的LLM輸出穩健性。
讓用戶能夠試驗多個LLM和不同提示的工作流程。
參考資料:
https://www.refuel.ai/blog-posts/introducing-autolabel