成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大模型開發(fā)工作手冊(cè)詳細(xì)指南

開發(fā)
本文介紹了我們近半年的工作成果,通過對(duì)研發(fā)框架的工程化,我們大幅降低了模型應(yīng)用研發(fā)的成本,讓人人都能開發(fā)大模型應(yīng)用。

作者 | rhino

自 “Prompt工作手冊(cè)” 發(fā)布以來,我持續(xù)研究大模型能力的應(yīng)用及研發(fā)方法,結(jié)合產(chǎn)業(yè)發(fā)展,在研發(fā)框架和模型應(yīng)用上有了新的思考,并形成了新的方法論,希望我們的能力不僅僅停留在模型研發(fā)的某一階段,而能貫穿在研發(fā)全流程之上。本文介紹了我們近半年的工作成果,通過對(duì)研發(fā)框架的工程化,我們大幅降低了模型應(yīng)用研發(fā)的成本,讓人人都能開發(fā)大模型應(yīng)用。

一、寫在前面

1. 大模型應(yīng)用是未來也是現(xiàn)在

“大模型” 爆發(fā)至今已有 2 年的時(shí)間,行業(yè)持續(xù)火熱,模型基礎(chǔ)能力持續(xù)升級(jí)。2024.9. OpenAI 發(fā)布的 “O1” 模型為領(lǐng)域再一次帶來了新的突破,期間多模態(tài)也持續(xù)展現(xiàn)了令人驚喜的發(fā)展。于此同時(shí),成本的降低與效率的提升也在持續(xù)進(jìn)行,讓大模型融入到了更多的場(chǎng)景之上。但相對(duì)的,在模型基礎(chǔ)能力突飛猛進(jìn)的背景下,“模型應(yīng)用” 的發(fā)展就顯得相形見絀,從 “領(lǐng)域模型” 到 “AI原生應(yīng)用” 再到 “AI-Agent”,這些應(yīng)用層的概念均獲得了極高的熱度,但時(shí)至今日,人們也沒有看到新時(shí)代的到來,AI應(yīng)用并沒有如人們預(yù)期的一樣爆發(fā),其原因是什么呢?

我們可以從 “2024 Gartner AI 技術(shù)成熟度曲線” 中得到一些啟發(fā),“Generative AI” 即如今大模型使用的底層技術(shù),已經(jīng)到了 “期望膨脹期” 和 “泡沫破裂期” 的邊界點(diǎn)上。這個(gè)敏感的節(jié)點(diǎn)表明,在前期的發(fā)展中,領(lǐng)域已經(jīng)積累了大量的 “偽創(chuàng)新”,且在未來的一段時(shí)間里,偽創(chuàng)新會(huì)被大量的清洗,留下那些真的“金子”,穩(wěn)步爬升,直至成熟。從這個(gè)角度,“AI應(yīng)用” 對(duì)曲線來說似乎還是一個(gè) “過早” 的話題,“穩(wěn)步爬升” 期才是應(yīng)用會(huì)大量爆發(fā)的時(shí)期,這在其他科技領(lǐng)域的發(fā)展中也可以被觀察到(PC互聯(lián)網(wǎng),移動(dòng)互聯(lián)網(wǎng))。

而這與大多數(shù)人的感受似乎有所差異,我們可以很明顯的感知到大模型能力的強(qiáng)大,并且實(shí)際上,我們也已經(jīng)在很多場(chǎng)景中使用它了,那為什么現(xiàn)在 “AI應(yīng)用” 似乎還是為時(shí)過早,還是有些沒到時(shí)候呢?上面這張趨勢(shì)圖中除了 “Generative AI” ,還有包含很多技術(shù)點(diǎn),代表了AI各個(gè)領(lǐng)域的發(fā)展?fàn)顟B(tài),其中不乏和大模型相關(guān)的領(lǐng)域,如:

  • 發(fā)展期:AI Engineering,Model Ops,Prompt Engineering
  • 萌芽期:Multiagent Systems,Decision Intelligence,AI-Ready Data,F(xiàn)irst-Principles AI,AGI

我們稍加觀察就可以發(fā)現(xiàn),這些與 “AI應(yīng)用” 相關(guān)的領(lǐng)域,大多還處于 “發(fā)展期” 和 “萌芽期”。這些技術(shù)都是模型應(yīng)用開發(fā)的關(guān)鍵節(jié)點(diǎn),對(duì)模型的應(yīng)用效果起到了決定性的影響。例如,我們最熟悉的 “Prompt Engineering”,一個(gè)幾乎和大模型同時(shí)誕生的概念,在領(lǐng)域發(fā)展期間得到了持續(xù)的關(guān)注和研究,但直至今日依然處于發(fā)展的早期階段。再如,近期火熱的 “Multiagent System”,對(duì)于模型的應(yīng)用效果,尤其是工業(yè)化的應(yīng)用效果,至關(guān)重要,在2023年就被認(rèn)為是未來最重要的技術(shù)之一,但時(shí)至今日依然處于 “萌芽期”。

如果我們綜合觀察這些技術(shù)的現(xiàn)狀,不難得到一個(gè)結(jié)論:應(yīng)用技術(shù)的落后成為了模型應(yīng)用的關(guān)鍵阻礙。

在領(lǐng)域的發(fā)展中,持續(xù)有一種聲音存在:模型的效果的根本取決于模型的基礎(chǔ)能力,在模型基礎(chǔ)能力的高速發(fā)展時(shí)期,不應(yīng)該過多做應(yīng)用層的事,基于當(dāng)前模型能力做的工作,可能被一次模型升級(jí)徹底推翻。這種想法不無道理,但站在今天的視角下,我們看到模型基礎(chǔ)能力的發(fā)展速度在明顯衰減,人們對(duì)模型應(yīng)用的需求持續(xù)增長,各項(xiàng)模型應(yīng)用的基礎(chǔ)能力仍待增強(qiáng)。所以,要做出更好的模型應(yīng)用,不能再像以前一樣,僅僅依靠模型能力的升級(jí),而是要把盡力投入到模型應(yīng)用技術(shù)的建設(shè)當(dāng)中。

以上,我從領(lǐng)域發(fā)展的角度,闡述了應(yīng)用側(cè)技術(shù)的不成熟是大模型難以應(yīng)用的關(guān)鍵,并引出了我們希望通過模型應(yīng)用層的工作,讓模型能力更好的落地。下面我就來具體分析,應(yīng)用側(cè)技術(shù)的不成熟,對(duì)模型能力的應(yīng)用產(chǎn)生了哪些阻礙?我們具體想做什么?

2. 什么阻礙了模型應(yīng)用?

首先,我們?cè)賮碇匦驴纯辞拔闹刑岬降倪@些應(yīng)用層能力,我們可以大致把他們劃分為2種,一種是幫助開發(fā)者更好的完成模型能力的研發(fā)和部署,另一種是更好的利用模型能力產(chǎn)生更好的應(yīng)用效果。

模型應(yīng)用的研發(fā)&部署:AI Engineering,Model Ops,Prompt Engineering

模型應(yīng)用效果:

  • 綜合行為能力:Agent,MultiAgent Systems
  • 推理能力:Decision Intelligence,F(xiàn)irst-Principles AI
  • 數(shù)據(jù)能力:AI-Ready Data

這也就對(duì)應(yīng)了模型在實(shí)際應(yīng)用階段的問題:開發(fā)成本高,應(yīng)用效果差。

(1) 模型研發(fā)成本高昂

首先,需要對(duì)我們所說的模型應(yīng)用加以說明。一方面看,即便不使用任何技術(shù),今天的大模型依然可以產(chǎn)生令人驚喜的效果,但當(dāng)我們要將其應(yīng)用到工作中時(shí),就會(huì)發(fā)現(xiàn)其存在的各種問題,例如:穩(wěn)定性,準(zhǔn)確性,可控性,以及 “對(duì)齊” 問題等等,而我們討論的也正是這種場(chǎng)景。

為了解決這些問題,我們就需要使用一些技術(shù),例如:

  • Prompt工程:通過優(yōu)化Prompt框架,影響模型的輸入,獲得更好的效果。
  • 模型訓(xùn)練:通過數(shù)據(jù)訓(xùn)練的方式,影響模型的參數(shù),獲得更好的效果。
  • RAG & 知識(shí)庫:賦予模型檢索外部數(shù)據(jù)的能力,以補(bǔ)充模型知識(shí)不足的問題,獲得更好的效果。
  • Agent系統(tǒng):通過拓展模型的能力(記憶,插件,多模型調(diào)度),以及構(gòu)建由多個(gè)模型組成的系統(tǒng),獲得更好的輸出。

這些技術(shù)即便有對(duì)應(yīng)的工具支持,也都有較高的使用門檻,需要使用者具備一定的專業(yè)能力,這也就對(duì)模型的研發(fā)造成了不小的成本。即便是其中技術(shù)難度相對(duì)較低的 “Prompt 工程”,也已經(jīng)不斷發(fā)展中積累了不少的技巧,還包含不同模型之間的分別,“非技術(shù)人員” 想要掌握并不簡單。

其次,即便開發(fā)者掌握了一些技術(shù)(可以完成Prompt的編寫),也很難獨(dú)立完成模型應(yīng)用的研發(fā)。整體的研發(fā)流程不僅是單一模塊的工作,涉及 “數(shù)據(jù)”,“算法”,“工程” 等多個(gè)模塊,包含 “數(shù)據(jù)準(zhǔn)備”,“數(shù)據(jù)標(biāo)注”,“問題建?!?,“能力研發(fā)”,“效果評(píng)測(cè)”,“模型調(diào)試”,“上線部署”,“落地應(yīng)用”,“優(yōu)化迭代” 等多個(gè)階段,是一項(xiàng)系統(tǒng)化的工程,這也對(duì)模型的應(yīng)用造成極大的成本。

因此,即便人人都可以在和模型 “聊天” 的時(shí)候感受到模型能力的強(qiáng)大,但并非人人都能真的應(yīng)用模型。

(2) 模型效果優(yōu)化困難

前文說了模型的開發(fā)成本,此處還需要說明模型的應(yīng)用效果,兩者有所關(guān)聯(lián),但不完全一致。由于大模型的基礎(chǔ)能力所限,即便模型能力在不斷更新迭代,其依然存在若干無法根治的問題,例如:

  • 知識(shí)不足:模型并非知識(shí)庫,在很多時(shí)候會(huì)展現(xiàn)出知識(shí)上的不足,尤其是在應(yīng)對(duì): “高時(shí)效性知識(shí)” ,“專業(yè)領(lǐng)域知識(shí)” ,“業(yè)務(wù)領(lǐng)域知識(shí)”。
  • 推理能力不足:目前的大多數(shù)模型,都存在推理能力不足的問題,尤其是在面對(duì)數(shù)理問題時(shí),甚至無法完成最基礎(chǔ)的數(shù)理邏輯,即便是在 “O1“ 發(fā)布以來,推理能力仍然被認(rèn)為是如今大模型最需提升的能力之一。
  • 穩(wěn)定性不足:自大模型誕生以來,“不穩(wěn)定性” 就是被人們談?wù)撟疃嗟膯栴},今天我們可以看到“幻覺”問題已經(jīng)大幅減少,但效果上的不穩(wěn)定依然存在,并且實(shí)際影響到了模型的“可控性”,目前還沒有得到很好的解決。

當(dāng)然,我們有一些技術(shù)手段來應(yīng)對(duì)這些問題,例如:

  • RAG:從行業(yè)的趨勢(shì),慢慢長成了行業(yè)的共識(shí),很好的解決了 “知識(shí)不足” 的問題, 時(shí)至今日已經(jīng)演化出多中類型的方法,已應(yīng)對(duì)不同種類的數(shù)據(jù),并且知識(shí)應(yīng)用的效果也得到了大幅的提升。
  • Hidden COT:O1 模型的發(fā)布在模型推理上帶來的新的突破,從OpenAI官網(wǎng)的文章及各種的采訪中,我們可以大致了解到 O1 使用了 Hidden COT 的技術(shù)。如果分析OpenAI官網(wǎng)給出的例子的話,會(huì)發(fā)現(xiàn)它確實(shí)能通過這樣逐步拆分,提升其推理能力,并在這樣逐步的思考中,意識(shí)到之前犯的錯(cuò)誤,并自動(dòng)進(jìn)行修正。這種問題切分和錯(cuò)誤修正的能力對(duì)于模型能做長鏈條思考及解決復(fù)雜任務(wù)非常重要。
  • Agent & MultiAgent:要讓模型真的在應(yīng)用中發(fā)揮效果,僅僅讓模型 “聊天” 是遠(yuǎn)遠(yuǎn)不夠的。我們可以賦予模型更多的能力,讓他幫我們?nèi)ネ瓿蓪?shí)際的任務(wù),讓他有記憶,會(huì)計(jì)劃,能執(zhí)行。同時(shí),我們可能還需要更多的模型加入,組建一個(gè)由Agent組成的團(tuán)隊(duì),去完成更加復(fù)雜的任務(wù)

這些技術(shù)可以幫助我們更好的應(yīng)用模型的能力,讓他發(fā)揮出更好的效果。然而,這些技術(shù)還都處于“萌芽期”,還在不斷的產(chǎn)生和迭代。換句話說,只有用好這些“技術(shù)”,模型才能在應(yīng)用中展現(xiàn)出令人滿意的“效果”,即便是對(duì)專業(yè)的技術(shù)人員,這也是一項(xiàng)不太容易的工作。這些技術(shù)中的存在的專業(yè)壁壘,也對(duì)模型應(yīng)用的研發(fā)造成了不小的困難。

3. 模型應(yīng)用研發(fā)的痛點(diǎn)

痛點(diǎn):模型效果難優(yōu)化,成本高,技術(shù)挑戰(zhàn)大

如前文所述,模型應(yīng)用的開發(fā)成本高,應(yīng)用效果差。這使得,即便大模型的基礎(chǔ)能力十分強(qiáng)大,大家也無法真的把他應(yīng)用起來。

大模型的能力本是通用的,大家對(duì)未來的暢想,也是希望他是通往AGI的道路。但由于他極高的研發(fā)成本,和不可靠的應(yīng)用效果,模型應(yīng)用從通用走向了定制,開發(fā)模式也變成了集中化的閉源模式,并且,這并不是一兩個(gè)模塊的改進(jìn)就可以解決的,而是整個(gè)研發(fā)流程都需要進(jìn)行的優(yōu)化。

目前市場(chǎng)上也不乏有一些單一環(huán)節(jié)的研發(fā)工具,如:Prompt工具,模型訓(xùn)練工具,模型調(diào)度工具。這些工具無疑是降低了研發(fā)環(huán)節(jié)的成本,并提供了一定的效果保障。但如果我們要讓每個(gè)人都能完成模型的應(yīng)用,這還遠(yuǎn)遠(yuǎn)不夠。單一環(huán)節(jié)工具帶來的降本增效,往往是面向開發(fā)人員的,并沒有起到降低專業(yè)壁壘的作用。要降低應(yīng)用模型的成本,首先要降低研發(fā)流程的成本,讓每個(gè)人都能較低成本的完成這個(gè)研發(fā)過程,比單一環(huán)節(jié)的優(yōu)化更為重要。

尤其是對(duì)于大模型的領(lǐng)域化應(yīng)用而言,依賴算法專業(yè)人員集中式的構(gòu)建領(lǐng)域能力,不僅與大模型通用化的發(fā)展趨勢(shì)不符,也不能滿足領(lǐng)域的訴求。只有讓領(lǐng)域內(nèi)的專家(非算法開發(fā)人員)自己完成模型的應(yīng)用,搭建類似開源的能力研發(fā)生態(tài),才能真的做到模型能力的領(lǐng)域化,畢竟領(lǐng)域最重要的價(jià)值,是領(lǐng)域內(nèi)的人,而并非紙面上的知識(shí)和技術(shù)。

二、讓人人都能開發(fā)大模型應(yīng)用

前文分析了我們希望解決的問題,以及我們想達(dá)到的效果。我們希望可以降低模型的研發(fā)成本,提升模型研發(fā)的效率和應(yīng)用的效果,讓每個(gè)人都能完成模型能力的應(yīng)用。

近 1 年多的時(shí)間里,我一直在探索大模型和“質(zhì)效”領(lǐng)域的結(jié)合,希望可以將模型能力融入到業(yè)務(wù)的質(zhì)效工作當(dāng)中,在 “測(cè)試用例”,“缺陷”,“需求”,“代碼” 等領(lǐng)域中完成了若干嘗試,其中也有不少能力在業(yè)務(wù)落地,并取得成效。但在工作中,也遇到了一些明顯的阻礙:

模型研發(fā)效率無法匹配領(lǐng)域訴求:質(zhì)效領(lǐng)域是一個(gè)貫穿產(chǎn)品研發(fā)周期的領(lǐng)域,其中包含大量的領(lǐng)域訴求,僅僅“測(cè)試用例”相關(guān)的模型能力點(diǎn),就可以做到上百個(gè)。并且在領(lǐng)域和業(yè)務(wù)常年的積累下,訴求的定制化嚴(yán)重,可復(fù)用性差。而在這種情況下,模型能力從研發(fā)到應(yīng)用落地的周期為,“1個(gè)/人月”,與領(lǐng)域訴求存在巨大差距。

模型研發(fā)人員無法掌握領(lǐng)域?qū)I(yè):質(zhì)效領(lǐng)域的每個(gè)模塊都包含著大量的專業(yè)知識(shí)和專家經(jīng)驗(yàn),結(jié)合復(fù)雜的業(yè)務(wù)知識(shí),模型研發(fā)人員很難完全掌握,而這些領(lǐng)域往往又不具備大量的數(shù)據(jù),在模型研發(fā)過程中就十分依賴研發(fā)者的專業(yè)能力,而這些復(fù)雜的專業(yè)能力又不是非領(lǐng)域人員可以輕松掌握的,這無論是對(duì)模型能力的研發(fā)效率還是應(yīng)用效果都造成了極大的苦難。

無法與領(lǐng)域?qū)<医⒏咝У膮f(xié)作模式:領(lǐng)域?qū)<姨峁I(yè)知識(shí)和指導(dǎo)是模型重要的輸入之一,但由于算法與領(lǐng)域均包含較高的專業(yè)壁壘,且模型研發(fā)流程不規(guī)范,導(dǎo)致很難建立高效的協(xié)作模型,領(lǐng)域?qū)<业闹R(shí)很難傳導(dǎo)至模型。

這些問題并不專屬“質(zhì)效”領(lǐng)域,對(duì)于大多數(shù)模型應(yīng)用的場(chǎng)景都存在類似的問題:領(lǐng)域?qū)<覠o法應(yīng)用模型,模型開發(fā)人員不了解領(lǐng)域知識(shí)。

因此,我們希望降低模型應(yīng)用的研發(fā)成本,降低專業(yè)壁壘,提高模型的研發(fā)效率。讓領(lǐng)域內(nèi)的人都能完成模型應(yīng)用的研發(fā),都能完成模型能力的應(yīng)用。以此讓模型能力更好的在領(lǐng)域內(nèi)落地,持續(xù)推進(jìn)大模型的領(lǐng)域化。

目標(biāo):讓人人都能完成大模型應(yīng)用

  • 人人:對(duì)大模型(AI)不了解的人(領(lǐng)域?qū)<?
  • 完成:低成本的滿足自己的訴求,并達(dá)到穩(wěn)定的效果
  • 大模型應(yīng)用:能在實(shí)際場(chǎng)景中落地,并產(chǎn)生應(yīng)用效果

三、大模型研發(fā)框架

為了達(dá)到前文中闡述的目標(biāo),我們希望打造一個(gè)模型應(yīng)用的研發(fā)工具,可以幫助大家降低模型研發(fā)的成本,提升模型研發(fā)的效率。與目前市場(chǎng)上的模型研發(fā)的工具不同,目前的研發(fā)框架在效率和效果上可以提供一定的幫助,但并未降低模型研發(fā)的專業(yè)比例,大多還是面向技術(shù)人員,對(duì)用戶提出了不小的技術(shù)門檻。

我們希望通過大模型能力的加持,對(duì)整體研發(fā)流程進(jìn)行改進(jìn),讓用戶僅需處理“任務(wù)”維度的信息即可完成研發(fā)。類似于 “2024百度世界大會(huì)” 上發(fā)布的“秒噠”工具,一款不用寫代碼就能實(shí)現(xiàn)任意想法,輸入自然語言或PRD,即可生成應(yīng)用,無需技術(shù)與設(shè)計(jì)經(jīng)驗(yàn)的無代碼開發(fā)工具。我們也希望研發(fā)一個(gè)針對(duì)模型能力的 “MultiAgent” 系統(tǒng),通過簡單的輸入即可完成模型應(yīng)用的生成。

與現(xiàn)有模型研發(fā)工具的差異:

  • 面向所有人:我們希望可以讓所有人都可以低成本的實(shí)現(xiàn)一項(xiàng)模型能力,而非僅僅針對(duì)專業(yè)人員
  • 我們本身就是一個(gè)多智能體系統(tǒng):我們希望搭建由多智能體組成的系統(tǒng),具備各個(gè)環(huán)節(jié)的模型研發(fā)能力,盡可能降低各個(gè)環(huán)節(jié)的成本
  • 不僅僅是針對(duì)單一模塊:我們并不想成為某一單一環(huán)節(jié)的增效工具,而是希望從目標(biāo)出發(fā),作用于研發(fā)全流程上。

1. 從 “Prompt工程” 到 “模型研發(fā)框架”

正如我們之前論述的,我們希望賦能在研發(fā)全流程上,而非單一的研發(fā)環(huán)節(jié)。但實(shí)際上,最初我們想做的和很多人一樣,僅僅是一個(gè) “Prompt工具”,這里的心路歷程是怎樣的呢?

“Prompt” 是影響模型效果最直接的變量,領(lǐng)域中充斥了大量對(duì)Prompt的研究,我也并不例外。在大模型應(yīng)用的探索中,為了更好的讓Prompt產(chǎn)生穩(wěn)定的效果,為了提升對(duì)Prompt的管理能力,以及Prompt生成的效率,我花了不少時(shí)間聚焦在Prompt框架的研究上、。

對(duì)于 “Prompt工程” 的框架化進(jìn)而產(chǎn)生了工程化的想法,是否可以通過將“Prompt工程”工具化,幫助開發(fā)者自動(dòng)完成Prompt的編寫和優(yōu)化呢?事實(shí)上,無論是方法,框架,產(chǎn)品,這類工具在市場(chǎng)上都并不少見:

  • 算法:APE ,APO,OPRO
  • 技術(shù)框架:DsPy 提示詞工程自動(dòng)優(yōu)化框架(一種自動(dòng)優(yōu)化提示詞的方法)
  • GitHub - stanfordnlp/dspy: DSPy: The framework for programming—not prompting—foundation models

關(guān)于 DSPy | AI工具中文文檔

產(chǎn)品:

  • Prompt優(yōu)化_大模型服務(wù)平臺(tái)百煉(Model Studio)-阿里云幫助中心
  • PromptPerfect - AI Prompt Generator and Optimizer
  • Prompt優(yōu)化 - ModelBuilder

這些產(chǎn)品都可以幫助用戶完成Prompt的生產(chǎn),他們了解各類大模型的特點(diǎn),善于使用各種Prompt技巧性,并可以通過算法結(jié)合數(shù)據(jù)不斷對(duì)Prompt進(jìn)行優(yōu)化。這無疑對(duì) Prompt 的生產(chǎn)和管理提供了極大的幫助,在大模型日新月異的今天,即便是Prompt專家也很難熟悉每種模型的特點(diǎn),和每一種Prompt技巧,這些工具是一個(gè)很好的幫手,可以顯著提升Prompt編寫的效率和效果。

但如果我們進(jìn)一步思考,即便Prompt工程對(duì)模型效果十分重要,但他只是一種技巧,并非模型研發(fā)的 “第一性”。甚至在很多場(chǎng)景下,人們會(huì)對(duì)該使用什么技巧產(chǎn)生爭論,例如 “Prompt” 和 “模型訓(xùn)練” 的爭論。

基于目前大模型自身強(qiáng)大的能力,我們認(rèn)為模型研發(fā)的 “第一性” 就是 “提升應(yīng)用效果”,用戶不需要也不應(yīng)該了解模型研發(fā)背后的技術(shù),只需要對(duì)當(dāng)下的任務(wù)負(fù)責(zé),對(duì)當(dāng)前的效果負(fù)責(zé)即可,而比起提供若干的Prompt技巧,對(duì)“提升應(yīng)用效果”更有幫助的問題或許是:

  • 如何評(píng)估效果:目前的Prompt好不好,效果怎么樣?
  • 如何 debug:模型犯了某種錯(cuò)誤,我該如何調(diào)試?
  • 如何優(yōu)化模型:模型某些方面的能力不夠強(qiáng),我該怎么辦?
  • 如何應(yīng)用模型:我怎么把模型用到工作中?

這些問題均不指向某個(gè)單一的研發(fā)模塊,而是更全面的指向整個(gè)研發(fā)流程。大家需要的不僅是一段段的Prompt,而是一個(gè)可以幫助我們不斷提升模型應(yīng)用效果的工具。因此,我們最終把目標(biāo)轉(zhuǎn)向了模型研發(fā)流程的工具化,希望這個(gè)工具能讓每個(gè)人能具備應(yīng)用模型的能力。

2. 模型研發(fā)流程

簡單來說,我們就是希望在“大模型應(yīng)用研發(fā)”的過程中,用AI的方式,幫助用戶做一些工作,首先我們先來看看大模型應(yīng)用研發(fā)的過程:

結(jié)合我在模型應(yīng)用研發(fā)上的探索,目前的模型應(yīng)用研發(fā)工作可以大致分為如下幾個(gè)環(huán)節(jié):

(1) 建模:首先我們要對(duì)問題進(jìn)行定義,明確需要模型為我們做什么。從業(yè)務(wù)視角看,我們要把模型能力引入到業(yè)務(wù)中,首先要把問題定義清楚,這是模型應(yīng)用的關(guān)鍵,類似傳統(tǒng)研發(fā)中需求的產(chǎn)出,只有明確了需求和目標(biāo),才能進(jìn)行后續(xù)的研發(fā)和調(diào)試。同時(shí),我們需要將業(yè)務(wù)問題翻譯為技術(shù)語言,用AI思路對(duì)問題進(jìn)行轉(zhuǎn)換,也就是完成問題建模的過程。這個(gè)過程往往容易被忽略,但對(duì)后續(xù)研發(fā)十分重要(最簡單的:模型輸入什么?模型輸出什么?)

(2) 數(shù)據(jù):數(shù)據(jù)是大模型的3大關(guān)鍵要素之一(算法,算力,數(shù)據(jù)),與任務(wù)對(duì)應(yīng)的數(shù)據(jù)是模型的主要輸入,是模型訓(xùn)練和調(diào)試的主要依據(jù),應(yīng)盡可能覆蓋任務(wù)的假設(shè)空間。數(shù)據(jù)標(biāo)注任務(wù)是其中最苦難的環(huán)節(jié),很多情況下,我們僅能找到數(shù)據(jù)的 “輸入” 部分,而無法得到數(shù)據(jù)的 “輸出”,此時(shí)就需要我們進(jìn)行標(biāo)注,在今天的大模型時(shí)代,AI標(biāo)注成為了常用的解決方案,后文還會(huì)展開介紹。

(3) 模型:在前面的兩個(gè)步驟中,我們準(zhǔn)備好了模型的輸入,下面就需要根據(jù)這些輸入進(jìn)行具體的模型調(diào)試,優(yōu)化模型在任務(wù)中的效果。這是模型研發(fā)過程的主要工作,可能會(huì)分為多個(gè)部分:

  • 模型選型:首先我們需要依據(jù)任務(wù)類型,以及我們對(duì)應(yīng)用的要求,選擇合適的大模型進(jìn)行調(diào)試。通常我們會(huì)進(jìn)行一些輕量的實(shí)驗(yàn),輔助初步的選擇。
  • Prompt工程:在選擇好模型后,我們就需要根據(jù)我們的任務(wù)對(duì)Prompt進(jìn)行調(diào)試。隨著領(lǐng)域的不斷發(fā)展,Prompt工程已經(jīng)積累的大量技巧,也產(chǎn)生了一些方法框架,以及相應(yīng)的工具。理論上,如果模型能力足夠強(qiáng)大,我們僅僅通過 “Prompt工程” 即可完成效果的調(diào)試。
  • 其他優(yōu)化技術(shù):“Prompt + 模型” 已經(jīng)構(gòu)成了模型應(yīng)用的最小單元,但實(shí)際上,這往往并不能產(chǎn)生令人滿意的效果。因此,在這個(gè)基礎(chǔ)上,我們還需要增加一些額外的調(diào)試手段,例如:“RAG”,“訓(xùn)練”,“CoT” 等等,以此進(jìn)一步提升模型的效果。
  • Agent & MultiAgent:當(dāng)我們處理的問題更加復(fù)雜時(shí),單純的模型語言能力無法滿足我們的訴求,我們需要賦予模型環(huán)境感知、自主理解、決策制定,執(zhí)行行動(dòng)等能力,讓其處理更加復(fù)雜的任務(wù)。同時(shí),我們的任務(wù)也可能包含多個(gè)推理階段,需要我們引入多個(gè)Agent的能力,通過系統(tǒng)級(jí)的模型調(diào)度來完成

模型的調(diào)試方法很多,且在不斷的更新迭代當(dāng)中,這里僅僅羅列其中最主要的一些方法。是否需要使用,以及如何使用,往往需要結(jié)合任務(wù)的具體情況以及模型現(xiàn)狀來進(jìn)行判斷,這往往依賴模型研發(fā)人員的經(jīng)驗(yàn),也是模型研發(fā)過程中專業(yè)壁壘最高的部分。

(4) 效果評(píng)測(cè):在我們調(diào)試模型的過程中,以及初步完成模型調(diào)試后,我們都需要對(duì)模型的效果進(jìn)行評(píng)測(cè)。通常的方法就是應(yīng)用模型在我們實(shí)現(xiàn)準(zhǔn)備的數(shù)據(jù)上盡性推理,并計(jì)算模型推理結(jié)果和實(shí)際結(jié)果的差異。對(duì)于不同的任務(wù)會(huì)應(yīng)用不同的評(píng)估指標(biāo),但總體來看,均是度量兩者間的相似度。比起量化的指標(biāo)結(jié)果,模型在評(píng)測(cè)過程中出現(xiàn)的問題更加重要,針對(duì)badcase的分析,是模型進(jìn)一步提升效果的關(guān)鍵。

(5) 持續(xù)優(yōu)化調(diào)試:模型調(diào)試不是一個(gè)一蹴而就的單向過程,在領(lǐng)域持續(xù)發(fā)展的今天,即便基礎(chǔ)模型都會(huì)持續(xù)更新,其中的若干優(yōu)化方法更是在不斷的迭代當(dāng)中。即便是模型上線應(yīng)用以后,分析badcase并不斷提升模型效果,也是一個(gè)持續(xù)不斷的過程。

(6) 部署&運(yùn)維:當(dāng)模型效果達(dá)到應(yīng)用標(biāo)準(zhǔn)后,我們就需要進(jìn)行模型的部署,將其融入到我們的應(yīng)用場(chǎng)景當(dāng)中。無論是通過接口,定時(shí)任務(wù),還是通過定制的工程開發(fā),我們需要讓模型能力盡可能的貼合我們的應(yīng)用場(chǎng)景,讓模型在應(yīng)用中產(chǎn)生效果。

在過去1年多的時(shí)間里,我們一直在業(yè)務(wù)中探索大模型和質(zhì)效領(lǐng)域的結(jié)合,嘗試應(yīng)用大模型能力解決業(yè)務(wù)的質(zhì)效問題,完成了多項(xiàng)能力研發(fā),并在業(yè)務(wù)落地,下面用一個(gè)實(shí)際例子,更直觀的解釋模型研發(fā)的過程。

在業(yè)務(wù)質(zhì)效能力的建設(shè)中,“用例檢查” 任務(wù)通過大模型能力的引入,發(fā)現(xiàn)“測(cè)試用例”中存在的問題,輔助“測(cè)試用例”質(zhì)量提升,緩解業(yè)務(wù)因用例導(dǎo)致的漏測(cè)問題。在 “用例檢查” 要發(fā)現(xiàn)的具體問題上,“二義性” 問題是其中最典型的問題之一,也是目前應(yīng)用最廣成效最多的能力之一。我們希望引入大模型能力,對(duì)用例進(jìn)行檢查,發(fā)現(xiàn) “測(cè)試用例” 中存在的二義性問題:

建模:

a. 問題定義:對(duì)用例中存在的 “二義性” 問題進(jìn)行分析,并對(duì)其引起的漏側(cè)問題進(jìn)行分析,找到其中的典型案例,確定 “二義性” 定義,補(bǔ)充必要的業(yè)務(wù)知識(shí)和專業(yè)知識(shí)。

b. 問題建模:用技術(shù)語言對(duì)問題進(jìn)行描述,檢查問題實(shí)際是一個(gè) “分類任務(wù)” ,我們需要根據(jù)用例的“標(biāo)題”,“步驟”,“預(yù)期結(jié)果”對(duì)用例進(jìn)行分類,將用例分為2類:“存在二義性問題” 和 “不存在二義性問題”。

數(shù)據(jù):

a. 原始數(shù)據(jù)采集:我們的數(shù)據(jù)輸入就是用例內(nèi)容,目前業(yè)務(wù)有近20w+的用例數(shù)據(jù),數(shù)據(jù)儲(chǔ)備充足

b. 數(shù)據(jù)清洗/計(jì)算:任務(wù)聚焦在對(duì)用例內(nèi)容的檢查,因此無需做過多的計(jì)算,僅需對(duì)數(shù)據(jù)格式進(jìn)行統(tǒng)一,并篩選出適合用于模型調(diào)試的數(shù)據(jù)即可。

c. 數(shù)據(jù)標(biāo)注:雖然業(yè)務(wù)的用例儲(chǔ)備充足,但由于過往沒有經(jīng)歷系統(tǒng)化的檢查,因此沒有充足的標(biāo)注信息。因此我們引入了 AI 標(biāo)注的手段,應(yīng)用 GPT4 對(duì)用例進(jìn)行了粗標(biāo),并人工進(jìn)行確認(rèn),獲得了 500條 左右的標(biāo)注數(shù)據(jù)

模型:

a. 模型選型:由于任務(wù)的敏感性和成本的要求,我們無法直接使用閉源的外部模型,而是選擇了在公司內(nèi)部私有部署的 qpilot-chat(底層是ChatGLM,由Qpilot團(tuán)隊(duì)微調(diào)得到)。

b. Prompt工程:結(jié)合我們的任務(wù)定義和數(shù)據(jù),我們進(jìn)行了多輪的 Prompt調(diào)試 工作,在“定義”,“任務(wù)描述”,“要求”,“限制條件” 等多個(gè)方面對(duì)進(jìn)行了多次的優(yōu)化,產(chǎn)出了多版 Prompt,反復(fù)提升模型效果。

c. RAG:測(cè)試用例不僅與領(lǐng)域?qū)I(yè)結(jié)合緊密,與業(yè)務(wù)知識(shí)也有很大的關(guān)聯(lián),因此我們引入RAG技術(shù),結(jié)合知識(shí)庫,對(duì) “業(yè)務(wù)專用詞”,”領(lǐng)域?qū)S迷~“ 進(jìn)行解釋,提升能力的應(yīng)用效果以及在各個(gè)業(yè)務(wù)的適應(yīng)度。

d. CoT&穩(wěn)定性提升:為了提升能力的穩(wěn)定性,引入了CoT模塊,拆分思維鏈,并增加“反思”等機(jī)制,緩解小模型的幻覺問題,提升能力的穩(wěn)定性。

e. 格式限制&條件限制:抽象模型的各類“限制模塊”,作為單獨(dú)的推理環(huán)節(jié),結(jié)合模型調(diào)度能力,在任務(wù)推理的各個(gè)環(huán)節(jié)提升模型的可控性和穩(wěn)定性。

f. Agent & MultiAgent:對(duì)整體系統(tǒng)而言,我們?yōu)槟P驮黾印坝洃浾{(diào)度”,“插件調(diào)度”,“條件限制” 等多項(xiàng)能力,尤其是在格式限制和條件限制方面,抽象模型的各類“限制模塊”,作為單獨(dú)的推理環(huán)節(jié),結(jié)合模型調(diào)度能力,在任務(wù)推理的各個(gè)環(huán)節(jié)提升模型的可控性和穩(wěn)定性。

效果評(píng)測(cè):在模型調(diào)試過程中,我們進(jìn)行了多次的模型效果評(píng)測(cè),計(jì)算模型在數(shù)據(jù)集上的“準(zhǔn)確率”,“精確率”,“召回率”等指標(biāo)。并持續(xù)對(duì)badcase進(jìn)行分析,指導(dǎo)模型的優(yōu)化方向。

部署&運(yùn)維:為了讓模型能力更好的在業(yè)務(wù)中落地,我們提供了多種應(yīng)用方式:api接口,定時(shí)檢查任務(wù),以及我們結(jié)合業(yè)務(wù)的實(shí)際應(yīng)用場(chǎng)景,進(jìn)行了專項(xiàng)的工程化開發(fā),研發(fā)智能用例平臺(tái),承載用例的檢查和問題的修復(fù)。同時(shí)我們?yōu)榱俗寵z查問題得到更好的閉環(huán)解決,我們將檢查問題和Tapd打通,并制作質(zhì)量看板對(duì)數(shù)據(jù)進(jìn)行分析,通過推送等方式進(jìn)行業(yè)務(wù)觸達(dá),切實(shí)推動(dòng)問題閉環(huán)解決。

3. 我們要做什么

前文中,我們結(jié)合示例敘述了模型應(yīng)用的研發(fā)流程,我們希望引入大模型能力,為用戶承擔(dān)這個(gè)流程中的部分工作,以此提升模型研發(fā)的效率,降低模型研發(fā)的成本和技術(shù)壁壘,讓人人都可以完成模型能力的應(yīng)用。因此,我們需要進(jìn)一步分析,具體要在哪些環(huán)節(jié)提供幫助。下圖用3中顏色進(jìn)行了標(biāo)識(shí),分別表示研發(fā)流程中需要用戶負(fù)責(zé)的,系統(tǒng)負(fù)責(zé)的,以及共同負(fù)責(zé)的部分。

建模:

a. 問題定義:問題定義是與具體任務(wù)最為相關(guān)的部分,用戶需要明確希望大模型為自己做什么,并進(jìn)行清晰的定義,此步重點(diǎn)在用戶需求的定義,由用戶獨(dú)立負(fù)責(zé)。

b. 問題建模:把問題定義轉(zhuǎn)換為技術(shù)語言,對(duì)于非技術(shù)人員并不簡單,但由于是模型研發(fā)的基礎(chǔ)輸入,且依然屬于用戶需求的范疇,知識(shí)表現(xiàn)形式有所差異,因此也需要用戶獨(dú)立負(fù)責(zé)。工具會(huì)根據(jù)任務(wù)類型,通過清晰的模版定義幫助用戶,但內(nèi)容的編寫還是由用戶完成。

數(shù)據(jù):

a. 原始數(shù)據(jù)采集:除了問題的建模,用戶還需要提供一定量級(jí)的輸入數(shù)據(jù),此處指的是原始數(shù)據(jù),并不包含標(biāo)注信息,因此僅與任務(wù)內(nèi)容相關(guān),需要用戶獨(dú)立負(fù)責(zé)。工具會(huì)以插件的形式提供一定的數(shù)據(jù)獲取能力,例如從Tapd,騰訊文檔讀取數(shù)據(jù)。

b. 數(shù)據(jù)清洗/計(jì)算:我們可能還需要在原始數(shù)據(jù)的基礎(chǔ)上進(jìn)行一定的清洗/計(jì)算,但并非必要環(huán)節(jié),工具會(huì)提供一定的能力支持,如:格式解析,格式整理,但主體由用戶獨(dú)立負(fù)責(zé)。

c. 數(shù)據(jù)標(biāo)注:標(biāo)注是數(shù)據(jù)準(zhǔn)備階段最困難的工作,我們往往僅能批量獲取任務(wù)輸入部分的數(shù)據(jù),而無法獲取任務(wù)的輸出部分,若依賴人工標(biāo)注則往往會(huì)產(chǎn)生較高的成本。工具會(huì)提供一定的AI標(biāo)注能力,事前應(yīng)用能力較強(qiáng)的閉源模型(混元,GPT4)對(duì)數(shù)據(jù)進(jìn)行粗標(biāo),再結(jié)合人工確認(rèn),低成本的和用戶共同完成數(shù)據(jù)標(biāo)注工作

模型:

模型階段的所有工作都可以由系統(tǒng)自動(dòng)處理,但為了提升用戶的定制化程度,在某些環(huán)節(jié)用戶可以進(jìn)行一定程度的干預(yù):

a. 模型選型:工具會(huì)結(jié)合業(yè)務(wù)的實(shí)際情況(數(shù)據(jù)類型,復(fù)雜程度,成本)推薦合適的模型,用戶也可以手動(dòng)選擇進(jìn)行更改

b. Prompt工程:工具具備強(qiáng)大的Prompt編寫和優(yōu)化能力,可以根據(jù)用戶的前序輸入自動(dòng)進(jìn)行Prompt的生成。

c. 其他模型調(diào)試技術(shù):“基礎(chǔ)模型 + Prompt” 已經(jīng)構(gòu)成了模型應(yīng)用的最小單元,但我們往往為了達(dá)到更好的效果,需要引入更多的技術(shù)模塊進(jìn)行優(yōu)化。工具會(huì)結(jié)合任務(wù)的實(shí)際情況,進(jìn)行技術(shù)的選取和使用,自動(dòng)完成效果的優(yōu)化工作。

效果評(píng)測(cè):在完成一次模型調(diào)試后,模型就會(huì)對(duì)事前提供的數(shù)據(jù)進(jìn)行推理,產(chǎn)出每條數(shù)據(jù)的推理結(jié)果,并結(jié)合具體的任務(wù)類型,產(chǎn)出評(píng)測(cè)指標(biāo),如:準(zhǔn)確率,精確率,召回率,F(xiàn)1-score 等。

持續(xù)優(yōu)化調(diào)試:

理根據(jù)評(píng)測(cè)的實(shí)際結(jié)果,我們需要對(duì)模型的效果進(jìn)行持續(xù)的優(yōu)化迭代,在工具的幫助下,這是一個(gè)半自動(dòng)化的過程:

a. 數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)優(yōu)化:工具會(huì)對(duì)評(píng)測(cè)數(shù)據(jù)中的badcase進(jìn)行分析,并基于分析結(jié)果,調(diào)用模型調(diào)試環(huán)節(jié)中的各個(gè)模塊,對(duì)模型效果進(jìn)行優(yōu)化(Prompt優(yōu)化,RAG,reflection,等等)

b. 人為驅(qū)動(dòng)的半自動(dòng)優(yōu)化:對(duì)于評(píng)測(cè)結(jié)果中的共性問題,可以人為進(jìn)行分析和抽象,形成對(duì)應(yīng)的限制目標(biāo),如:“輸出格式需滿足 xxx ”,“過濾輸入中的url”,“xxx 情況不屬于類別 A ”,等等。通過自然語言對(duì)優(yōu)化目標(biāo)進(jìn)行描述,工具即可完成相應(yīng)的優(yōu)化。

部署&運(yùn)維:

為了讓研發(fā)的模型能力得到實(shí)際應(yīng)用,我們提供了多種應(yīng)用方式,希望可以盡量貼近模型的應(yīng)用場(chǎng)景。最基礎(chǔ)的,我們對(duì)所有能力均提供:

a. API接口:提供統(tǒng)一的API接口能力,方便在各種場(chǎng)景中即成。

b. 定時(shí)任務(wù):僅需要簡單的腳本編寫,即可部署定時(shí)任務(wù),定期批量對(duì)模型能力進(jìn)行應(yīng)用。

同時(shí),我們還在探索各種其他的能力集成方式,如:

c. 智能用例平臺(tái):對(duì)于質(zhì)效域能力,尤其是測(cè)試用例的相關(guān)的能力,我們已經(jīng)自主研發(fā)了智能用例平臺(tái)作為承載,用戶可以將各項(xiàng)子能力一鍵在平臺(tái)中完成上線。

d. 聊天驅(qū)動(dòng)的agent能力:通過 "聊天機(jī)器人" 的方式對(duì)能力進(jìn)行部署,用戶可以通過聊天對(duì)搭建的能力進(jìn)行調(diào)用。

e. Tapd + 看板:用戶可以將模型輸出的結(jié)果直接連通至Tapd,并結(jié)合數(shù)據(jù)看板進(jìn)行結(jié)果的查看和處理。

4. 總結(jié)

前文中已經(jīng)詳細(xì)闡述了,為了達(dá)到目標(biāo),我們希望在模型研發(fā)流程中提供哪些幫助。實(shí)際上,我們自身就是一個(gè) “MultiAgent” 系統(tǒng),讓用戶只需要 “明確需求”,“提供數(shù)據(jù)” 就可以無代碼的完成模型應(yīng)用的研發(fā)。并通過這種方式,不斷積累領(lǐng)域能力,推進(jìn)模型應(yīng)用在領(lǐng)域中的發(fā)展,建立類似開源的研發(fā)環(huán)境,真正實(shí)現(xiàn)模型能力的領(lǐng)域化。

四、構(gòu)建模型能力的Agent系統(tǒng)

前文中介紹了,我們希望達(dá)成的目標(biāo),以及我們具體要做的事。下面我就針對(duì)工具的幾個(gè)關(guān)鍵模塊,從技術(shù)角度,簡單闡述我們是如何做到的。

1. 建模

建模部分是模型調(diào)試階段最重要的信息輸入,相當(dāng)于功能的需求文檔,只有將需求定義清洗,才能保證模型的效果符合預(yù)期。與前文中介紹的一致,建模由2個(gè)環(huán)節(jié)組成:問題定義,問題建模。

對(duì)問題定義而言,用戶可以根據(jù)業(yè)務(wù)應(yīng)用的視角進(jìn)行任意問題的定義,但對(duì)問題建模而言就需要增加一定的限制。兩者在內(nèi)容上并無差異,但在視角上有所差別。首先是要區(qū)分任務(wù)的類型,將任務(wù)首先映射到對(duì)應(yīng)到常見的AI任務(wù)類型上,如:

  • 基礎(chǔ)任務(wù)類型:分類,聚類,生成,回歸
  • 綜合任務(wù)類型:信息抽取,文本總結(jié),問答,關(guān)鍵詞抽取

這其中的每種任務(wù)類型,都可以在應(yīng)用層演化出多種任務(wù),例如前文中提到的 “用例檢查”,就是 “分類” 任務(wù)的一種。而每種任務(wù)類型內(nèi),是有共性存在的,這也就在一定程度上,構(gòu)成工具可以成立的底層基礎(chǔ)。工具對(duì)每種任務(wù)類型的共性部分進(jìn)行封裝,每種任務(wù)類型對(duì)應(yīng)相應(yīng)的研發(fā)流程,通過這種封裝和復(fù)用,降低應(yīng)用任務(wù)的研發(fā)成本。例如:所有分類任務(wù)在 Prompt 上有共性的成分,可以應(yīng)用相似的Prompt結(jié)構(gòu)。

由于這個(gè)階段十分重要,為了確保建模的過程可以提供足夠的信息,工具為每種任務(wù)類型定義了相應(yīng)的模版,輔助用戶完成問題的建模,例如分類的模版如下:

用戶需要根據(jù)任務(wù)的實(shí)際情況,確定任務(wù)類型,并填寫相應(yīng)的模版,完成對(duì)任務(wù)的建模。在模版的填寫上,由于此處是用戶唯一的輸入方式,目前沒有引入任何的智能填寫手段,可能會(huì)涉及多處的描述和定義,也是后期調(diào)試模型需要重點(diǎn)修改優(yōu)化的地方,是影響模型效果的重要因素之一。此處內(nèi)容的具體填寫標(biāo)準(zhǔn)與任務(wù)復(fù)雜程度和模型能力均有關(guān)系,無法產(chǎn)出統(tǒng)一的標(biāo)準(zhǔn),考慮到可能存在的不確定性和填寫的成本,用戶可以通過先簡單填寫,再在后續(xù)調(diào)試過程中逐步優(yōu)化的方式完成填寫工作。

2. 數(shù)據(jù)

數(shù)據(jù)也是任務(wù)的關(guān)鍵輸入之一,在后續(xù)的多個(gè)調(diào)試,訓(xùn)練,評(píng)測(cè)步驟中均會(huì)得到應(yīng)用。由于數(shù)據(jù)與任務(wù)定義強(qiáng)相關(guān)的特性,數(shù)據(jù)準(zhǔn)備工作也需要用戶完成。工具中的所有對(duì)象均以任務(wù)維度進(jìn)行管理,用戶在模型調(diào)試前,需要上傳任務(wù)對(duì)應(yīng)的數(shù)據(jù)集,以完成準(zhǔn)備工作。

工具對(duì)數(shù)據(jù)并沒有過多的要求,每種任務(wù)類型會(huì)有相應(yīng)的數(shù)據(jù)格式要求。但總體上看,數(shù)據(jù)集僅需簡單的包含模型的 “輸入-輸出” 即可。同時(shí),盡量保證對(duì)任務(wù)假設(shè)空間的覆蓋,以保證更好的效果。

此處還會(huì)涉及數(shù)據(jù)標(biāo)注的工作,通常會(huì)造成較高的人力成本。工具支持使用大型模型對(duì)數(shù)據(jù)進(jìn)行標(biāo)注,并應(yīng)用這些數(shù)據(jù)訓(xùn)練小模型,這種方式已經(jīng)逐漸成為了共識(shí)的做法,其有效性也在有多篇論文中得到了論證。其中最有代表性的:

  • S3框架:通過使用大型語言模型來縮小小型模型在合成數(shù)據(jù)集和真實(shí)任務(wù)數(shù)據(jù)分布之間的差距。實(shí)驗(yàn)結(jié)果表明,S3框架在多個(gè)自然語言處理(NLP)任務(wù)上均取得了顯著的性能提升,相較于其他基線方法,如ZeroGen和GoldGen,S3能夠顯著提高小型模型的性能:相比ZeroGen提高了9.48%,相比GoldGen提高了2.73%,且最多能比基于人工標(biāo)注的數(shù)據(jù)訓(xùn)練的小型模型提高15.17%。
  • FreeAL框架:該框架通過大模型時(shí)代的主動(dòng)學(xué)習(xí)技術(shù)實(shí)現(xiàn)大小模型協(xié)同工作,達(dá)到Human-Free的數(shù)據(jù)標(biāo)注。在協(xié)同訓(xùn)練期間,LLM作為主動(dòng)標(biāo)注者灌輸其粗粒度知識(shí),而下游SLM則作為學(xué)生過濾出高質(zhì)量的上下文樣本,以反饋LLM以供后續(xù)標(biāo)簽精煉。對(duì)八個(gè)基準(zhǔn)數(shù)據(jù)集的大量實(shí)驗(yàn)表明,F(xiàn)reeAL在沒有任何人工監(jiān)督的情況下極大地增強(qiáng)了SLM和LLM的零樣本性能

我們也在工具中集成了這種AI標(biāo)注的能力,即應(yīng)用大型模型(混元,GPT4)幫助用戶進(jìn)行粗標(biāo),再由人工確認(rèn)后,完成標(biāo)注工作。

3. 模型

模型效果調(diào)試是模型研發(fā)流程中成本最大,技術(shù)壁壘最高的階段,也是工具最主要的價(jià)值。理論上,用戶只需完成“建模”和“數(shù)據(jù)”的相關(guān)工作,工具就可以自主完成模型應(yīng)用的研發(fā),并通過多個(gè)模塊的方法保證應(yīng)用的效果。下面我就具體介紹一下,其中幾個(gè)重要模塊的實(shí)現(xiàn)方法。

(1) MultiAgent System

相對(duì)于大語言模型,智能體(Agent)是一個(gè)更廣泛的概念,是一個(gè)能夠獨(dú)立做出決策并實(shí)際執(zhí)行任務(wù)的實(shí)體,而大語言模型僅僅是一種通過分析大量的文本數(shù)據(jù)來學(xué)習(xí)語言模式和結(jié)構(gòu),從而能夠執(zhí)行文本任務(wù)的模型。大語言模型自身不具備執(zhí)行任務(wù)的能力,卻可以很好為智能體做出決策,并驅(qū)動(dòng)智能體完成交互任務(wù)。顯然,在大多數(shù)任務(wù)中,我們僅僅擁有語言模型是遠(yuǎn)遠(yuǎn)不夠的,對(duì)我們的工具而言也是如此,我們需要智能體幫助我們完成一個(gè)個(gè)任務(wù)的執(zhí)行。

對(duì)于由多個(gè)智能體組成的系統(tǒng),我們可以稱為 “多智能體系統(tǒng)”(MultiAgent System),在這些系統(tǒng)中,多個(gè)智能體可以協(xié)同工作以完成復(fù)雜的任務(wù)。這項(xiàng)技術(shù)自2023年底至今,持續(xù)獲得了學(xué)術(shù)界和產(chǎn)業(yè)界的關(guān)注,誕生了大量的研究,比如:

  • MetaGPT:一種新穎的元編程框架,將高效的人工工作流融入到基于LLM的多智能體協(xié)作中。其將復(fù)雜的開發(fā)任務(wù)分解為分配給不同角色的特定可操作過程(例如Product Manager, Architect, Engineer等等)。
  • AutoGen:通過Multi-agent框架設(shè)置各類完成各種復(fù)雜任務(wù),如論文中列舉的:解數(shù)學(xué)題,檢索增強(qiáng)問答,代碼生成,國際象棋,等等。

我們的工具也是一個(gè) “多智能體系統(tǒng)”,通過多個(gè)“智能體”的協(xié)作,完成模型應(yīng)用的開發(fā)。同時(shí)產(chǎn)出的每項(xiàng)模型能力也都是基于多智能體的系統(tǒng),幫助用戶在各種復(fù)雜場(chǎng)景中完成任務(wù)。

上圖展示了系統(tǒng)的大致結(jié)構(gòu),整體分為6個(gè)Agent模塊,每個(gè)模塊包含多項(xiàng)模型能力,覆蓋從模型能力研發(fā)到優(yōu)化迭代的完整研發(fā)過程

  • 綜合調(diào)度Agent:系統(tǒng)的決策中心,負(fù)責(zé)對(duì)輸入進(jìn)行理解并對(duì)任務(wù)進(jìn)行分析和拆解,制定執(zhí)行計(jì)劃,并調(diào)度各個(gè)模塊。
  • Prompt Agent:負(fù)責(zé) Prompt 的編寫和管理工作,結(jié)合Prompt框架完成編寫,并結(jié)合效果不斷優(yōu)化。
  • 模型訓(xùn)練Agent:負(fù)責(zé)模型的訓(xùn)練,調(diào)度各類模型訓(xùn)練腳本,處理訓(xùn)練數(shù)據(jù)集,串聯(lián)模型訓(xùn)練流程,完成模型訓(xùn)練。
  • 能力調(diào)度Agent:負(fù)責(zé)根據(jù)實(shí)際情況調(diào)度各種能力優(yōu)化模型效果,如:RaG,CoT Reflection 等,每種子能力也作為執(zhí)行Agent,且支持橫向擴(kuò)展
  • 插件調(diào)度Agent:負(fù)責(zé)在各個(gè)環(huán)節(jié)調(diào)用外部插件,如:數(shù)據(jù)獲取,格式轉(zhuǎn)換。插件獨(dú)立于模型研發(fā)過程,為系統(tǒng)提供額外的能力加持。
  • 意見理解Agent:負(fù)責(zé)理解評(píng)測(cè)結(jié)果,根據(jù)BadCase和認(rèn)為修改意見給出修改建議,提供給綜合調(diào)度Agent,進(jìn)行持續(xù)的優(yōu)化迭代。

為了讓 Agent 模塊內(nèi)部以及多個(gè) Agent 之間可以高效協(xié)作,我們采用了4層的職責(zé)劃分框架,也在底層構(gòu)成了 Agent 的統(tǒng)一結(jié)構(gòu)。如上圖所示,我們將Agent職責(zé)劃分為了:Decison(決策),Plan(規(guī)劃),Action(執(zhí)行),Result(結(jié)果)。

  • Decision 決策:負(fù)責(zé)分析當(dāng)前任務(wù),理解輸入和上下文,覺定要應(yīng)用的系統(tǒng)能力,以及各項(xiàng)能力的具體應(yīng)用方式。
  • Plan 規(guī)劃:負(fù)責(zé)規(guī)劃能力的具體實(shí)施方式,規(guī)劃工作流程,并指導(dǎo)執(zhí)行層有序開展工作。
  • Action 執(zhí)行:負(fù)責(zé)具體任務(wù)的實(shí)施,完成每個(gè)原子單元的任務(wù),并串聯(lián)各個(gè)模塊的工作,產(chǎn)生最終的執(zhí)行結(jié)果。
  • Result 結(jié)果:負(fù)責(zé)匯集執(zhí)行層的結(jié)果并反饋至決策層,作為決策層下一步工作的主要輸入。

為了幫助大家更直觀的理解各個(gè)層級(jí)的實(shí)際作用,我們?cè)谏蠄D中以 “Prompt 編寫” 環(huán)節(jié)為例,展示了各個(gè)環(huán)節(jié)的工作。這個(gè)框架構(gòu)成了Agent的最小工作單元,不僅是單一模塊的工作,對(duì)于多個(gè)Agent的組成的復(fù)雜系統(tǒng),也同樣是由這樣的結(jié)構(gòu)組成的。

以上,我們描繪了系統(tǒng)的整體框架,下面為了讓大家更好的了解系統(tǒng)的運(yùn)作方式,對(duì)其中的幾個(gè)關(guān)鍵的 Agent 模塊進(jìn)行進(jìn)一步介紹。

(2)Prompt Agent

Prompt Agent 負(fù)責(zé) Prompt 的編寫工作,是模型調(diào)試環(huán)節(jié)最重要的模塊之一,對(duì)模型效果起到了很關(guān)鍵的作用。自探索大模型應(yīng)用以來,就在Prompt工程上進(jìn)行了若干探索,結(jié)合應(yīng)用經(jīng)驗(yàn),構(gòu)建了Prompt框架。把一個(gè)Prompt拆分成了 “立角色 + 述問題 + 定目標(biāo) + 補(bǔ)要求” 這四個(gè)部分,并在其之上引入了統(tǒng)一的研發(fā)流程,實(shí)現(xiàn)了Prompt編寫的框架化。

我們基于這套統(tǒng)一的的研發(fā)流程,建立了Prompt Agent,可以根據(jù)用戶需求自動(dòng)完成 Prompt 的編寫。包含Prompt模版中各個(gè)部分的編寫和整體Prompt的優(yōu)化重寫,在內(nèi)容和格式上均對(duì)Prompt提供質(zhì)量保障。

要說明的是,Prompt 是模型效果提升的一種方式,即:通過影響模型的輸入,讓模型獲得更好的應(yīng)用效果,而并非僅僅是一段“文本”。我們前文中所有的描述都是以 “任務(wù)” 維度進(jìn)行的,而一個(gè) “任務(wù)” 可能不止包含一次模型推理,可能由多次模型推理構(gòu)成,而每次模型推理都有對(duì)應(yīng)的輸入,也就對(duì)應(yīng)著各自推理階段的 Prompt。因此,Prompt的數(shù)量應(yīng)該與模型推理的次數(shù)一致,而并非一個(gè)任務(wù)只包含一個(gè)。

任務(wù)的拆分則與 “CoT” 技術(shù)相關(guān),與傳統(tǒng)的直接輸入到輸出的映射不同,CoT通過將任務(wù)拆分為多個(gè)環(huán)節(jié)提升模型的效果,即:輸入 ——>思維鏈——> 輸出。這種方式是目前證實(shí),提升模型推理能力最有效的手段之一,GPT-o1 就是通過強(qiáng)化學(xué)習(xí)與CoT的結(jié)合實(shí)現(xiàn)了模型在推理能力上的巨大提升。而這一過程可能是隱含與模型單次推理內(nèi)的,也可能是顯性表現(xiàn)在多次模型推理的編排上的。

我們應(yīng)用這種思想,首先對(duì)任務(wù)的思維鏈進(jìn)行拆分,將任務(wù)拆分為多個(gè)推理環(huán)節(jié),并針對(duì)各個(gè)推理環(huán)節(jié)生成prompt,以此提升模型在任務(wù)中整體的應(yīng)用效果,同時(shí)提升模型的穩(wěn)定性和可控性。

為了不造成額外的成本,并保證工具在任務(wù)上的通用性,任務(wù)拆分同樣會(huì)由Agent完成,不需要用戶額外介入。在Agent將任務(wù)拆分為多個(gè)階段后會(huì)完成各個(gè)階段的Prompt編寫,最終產(chǎn)生任務(wù)的整體Prompt及調(diào)度流程。

(3) 能力調(diào)度 Agent

除Prompt的編寫外,對(duì)模型效果影響最大的就是各種額外能力的引入了。這類能力在定位上,與模型自身的推理相獨(dú)立,但可以在模型推理的各個(gè)環(huán)節(jié)產(chǎn)生作用,其中最具代表性的就是 “RAG” 技術(shù)。

“RAG” 已經(jīng)從行業(yè)的發(fā)展趨勢(shì),變成的行業(yè)的共識(shí),通過對(duì)文檔的檢索和生成為大模型補(bǔ)充來自外部的相關(guān)數(shù)據(jù)與上下文,通過數(shù)據(jù)的方式引導(dǎo)大模型生成正確的回答,并彌補(bǔ)大模型知識(shí)的不足。類似這樣的技術(shù)還在不斷的發(fā)展當(dāng)中,且針對(duì)具體的業(yè)務(wù)場(chǎng)景,用戶可能需要用到更加定制的外部能力,因此我們對(duì)這一層進(jìn)行了抽象,將各個(gè)能力作為 "子Agent" 作用于模型推理的各個(gè)階段,并通過調(diào)度Agent進(jìn)行能力的調(diào)用,通過這種方式提升工具的可擴(kuò)展性。

目前的能力調(diào)度主要作用于模型能力的3個(gè)階段

(1) 前處理階段:事前對(duì)用戶輸入的數(shù)據(jù)進(jìn)行處理,以便讓大模型更好的理解,并在其之上完成推理,包含的能力類型有:

a. 數(shù)據(jù)解析:對(duì)于特別復(fù)雜的數(shù)據(jù),或包含內(nèi)容較多的數(shù)據(jù),需要事先對(duì)數(shù)據(jù)進(jìn)行理解,如:需求文檔,多模態(tài)數(shù)據(jù),大段長文本。通過文本理解,文本總結(jié),關(guān)鍵詞理解 等方法,對(duì)數(shù)據(jù)進(jìn)行分析,以便讓模型更好的理解。

b. 數(shù)據(jù)格式化:按照指定格式對(duì)數(shù)據(jù)進(jìn)行整理,可以結(jié)合Prompt讓模型更有針對(duì)行的利用數(shù)據(jù),提升模型效果

c. 異常數(shù)據(jù)檢查:事先發(fā)現(xiàn)異常的輸入數(shù)據(jù),避免對(duì)模型造成誤導(dǎo),提升模型的穩(wěn)定性

(2) 模型推理階段:影響模型的推理過程,以求獲得更好的推理效果,包含的能力類型有:

a. Prompt修改:在 prompt 中增加額外的補(bǔ)充信息,或修改 prompt 內(nèi)容,提升模型的效果。RAG 就是這類能力的典型代表,通過引入額外的知識(shí)數(shù)據(jù)或上下文數(shù)據(jù),彌補(bǔ)模型在數(shù)據(jù)上的不足。

b. 要求限制:通過認(rèn)為的限制條件,提升模型效果的可控型,典型的黑/白名單,輸出字?jǐn)?shù)限制,就屬于這項(xiàng)能力的范疇。

(3) 后處理階段:對(duì)模型的輸出結(jié)果進(jìn)行處理,在格式和內(nèi)容上貼合應(yīng)用的需求,并進(jìn)一步提升輸出結(jié)果的穩(wěn)定性,包含的能力類型有:

a. 結(jié)果格式轉(zhuǎn)換:對(duì)輸出結(jié)構(gòu)的格式進(jìn)行限制,例如轉(zhuǎn)換成規(guī)定的json格式,以便在業(yè)務(wù)場(chǎng)景中應(yīng)用。

b. 結(jié)果內(nèi)容轉(zhuǎn)換:模型輸出的內(nèi)容可能包含不需要的部分,或不直接包含我們預(yù)期的內(nèi)容,分類任務(wù)就是其中的典型場(chǎng)景,我們需要將模型輸出的內(nèi)容轉(zhuǎn)換為對(duì)應(yīng)的類別。

c. 結(jié)果校驗(yàn):為了提升模型輸出的準(zhǔn)確率,可以引入額外的測(cè)試/校驗(yàn)邏輯,例如常用的反思機(jī)制,可以有效的提升模型輸出的穩(wěn)定性。

這其中的每項(xiàng)能力我們均當(dāng)作一個(gè)agent對(duì)待,在底層結(jié)構(gòu)上進(jìn)行統(tǒng)一,由決策,規(guī)劃,執(zhí)行,結(jié)果組成(如前文中介紹),規(guī)范各項(xiàng)能力的開發(fā)方式和應(yīng)用方式,提升能力的可拓展性。在能力的應(yīng)用上,我們具備 “Agent自主調(diào)度” 的能力,也支持人為干預(yù)的方式,可以在各個(gè)環(huán)節(jié)內(nèi)調(diào)用對(duì)應(yīng)的能力。

用戶可以根據(jù)需求自己完成各個(gè)類型能力的定義,在某種程度上,每一個(gè)可服用的“模型應(yīng)用”都可以成為一個(gè)通用的外部能力,被應(yīng)用在其他的模型能力上,這些能力的增加也構(gòu)成了工具成長的潛力,也是我們后續(xù)要繼續(xù)探索的重點(diǎn)方向之一。

4. 調(diào)試 & 優(yōu)化

模型效果提升不是一個(gè)一蹴而就的單向工程,需要我們?cè)趯?shí)驗(yàn)的應(yīng)用中不斷優(yōu)化提升,其依據(jù)大多來自:

  • BadCase 數(shù)據(jù):實(shí)驗(yàn)和應(yīng)用數(shù)據(jù)是優(yōu)化最主要的輸入,尤其是其中的 BadCase,是模型效果提升的關(guān)鍵依據(jù),通過對(duì)Bad Case 的分析和修復(fù),不斷提升模型的應(yīng)用效果。
  • 規(guī)則要求:除數(shù)據(jù)外,我們可能還會(huì)引入一些規(guī)則或要求,基于人為經(jīng)驗(yàn)對(duì)模型效果進(jìn)行分析,并進(jìn)行干預(yù),以此提升模型效果。
  • 基礎(chǔ)能力升級(jí):除任務(wù)維度的優(yōu)化外,模型系統(tǒng)基礎(chǔ)能力的提升也會(huì)影響模型的應(yīng)用效果,尤其是在領(lǐng)域快速發(fā)展的時(shí)期,底層模型或技術(shù)的迭代,可能會(huì)對(duì)應(yīng)用效果帶來質(zhì)的改變。

如前文所述,為了提升模型研發(fā)效率,降低模型研發(fā)成本,我們同樣采用Agent驅(qū)動(dòng)的方式輔助完成調(diào)試優(yōu)化工作。

如上圖所示,調(diào)試模型效果的途徑有 2 種:

(1) Agent驅(qū)動(dòng)的半自動(dòng)方式:將自然語言和數(shù)據(jù)輸入給 Agent,Agent將進(jìn)行分析和理解,形成修改意見傳遞至任務(wù)的“綜合調(diào)度Agent”,再傳遞至模型的各個(gè)環(huán)節(jié)進(jìn)行修正,其輸入主要有2類:

a. BadCase 數(shù)據(jù):在一輪模型研發(fā)完成后,系統(tǒng)會(huì)在數(shù)據(jù)集上進(jìn)行評(píng)測(cè),產(chǎn)出BadCase數(shù)據(jù),BadCase 數(shù)據(jù)會(huì)作為模型調(diào)試的主要輸入,傳遞至下一輪迭代當(dāng)中。模型上線應(yīng)用后產(chǎn)生的數(shù)據(jù)同樣會(huì)進(jìn)入這個(gè)自迭代的閉環(huán)當(dāng)中,用數(shù)據(jù)自驅(qū)動(dòng)的方式完成模型優(yōu)化。

b. 人為規(guī)則要求:除數(shù)據(jù)自迭代外,用戶可以自行對(duì)模型效果進(jìn)行分析,并依據(jù)經(jīng)驗(yàn)對(duì)模型的要求或規(guī)則,為了提升這些要求對(duì)模型效果的可控性,我們依據(jù)要求類型提供了填寫模版(如:輸出格式類要求,特殊處理類要求,過濾類要求),并研發(fā)了單獨(dú)的模塊進(jìn)行處理,以提升模型的可控性。這些要求和規(guī)則僅需通過自然語言描述即可。同時(shí)在規(guī)則的實(shí)現(xiàn)上,我們依舊沿用前文中提到的agent架構(gòu),讓要求獨(dú)立可插拔,以此支持要求的拓展及上下線等操作。

(2) 修改輸入的人工方式:在本章的前幾節(jié)中,我們介紹了任務(wù)的主要輸入,包含建模部分的定義及任務(wù)相關(guān)的數(shù)據(jù)集,這些內(nèi)容由用戶負(fù)責(zé),是用戶控制任務(wù)的主要途徑。同時(shí),在 “能力調(diào)度” 模塊中,部分能力agent也需要用戶額外的輸入,例如與RAG能力相關(guān)的知識(shí)庫。在調(diào)試模型效果的過程中,用戶可以通過修改這些輸入來直接完成對(duì)模型的影響,可能包含:

a. 修改定義:定義會(huì)直接影響任務(wù)Prompt以及整體的推理流程,可以幫助模型理解任務(wù),規(guī)范模型的行為,是非常重要的輸入之一。

b. 增加數(shù)據(jù):數(shù)據(jù)是模型調(diào)試和訓(xùn)練的依據(jù),結(jié)合模型現(xiàn)有的問題補(bǔ)充對(duì)應(yīng)的數(shù)據(jù),是很有效的優(yōu)化手段。

c. 擴(kuò)充知識(shí)庫:在外部能力調(diào)度中,RAG對(duì)模型效果起到了很大的影響,尤其是在專業(yè)領(lǐng)域內(nèi)應(yīng)用時(shí),可以彌補(bǔ)模型專業(yè)知識(shí)不足,業(yè)務(wù)知識(shí)不足的問題,并可以進(jìn)一步約束模型的輸出,根據(jù)任務(wù)補(bǔ)充相應(yīng)的知識(shí)庫可以很好的提升模型在任務(wù)上的應(yīng)用效果。

我們可以通過以上方法,盡量低成本的進(jìn)行模型效果的調(diào)試,但即便我們引入了相應(yīng)的Agent能力和數(shù)據(jù)驅(qū)動(dòng)的方法,這一步驟也十分依賴開發(fā)人員的經(jīng)驗(yàn)和專業(yè)能力,如何幫助用戶更好的完成這一過程是我們還需長期摸索的話題。

五、最佳實(shí)踐

目前,我們的工具已經(jīng)完成了初版研發(fā),并在實(shí)際工作中應(yīng)用落地。結(jié)合近1年多時(shí)間里我們?cè)谫|(zhì)效領(lǐng)域的探索,我們應(yīng)用工具完成了多項(xiàng)模型能力的研發(fā)落地,在保證效果的前提下獲得了大幅的效率提升和成本降低,下面我詳細(xì)介紹一下我們目前的應(yīng)用成果。

1. 研發(fā)效率提升最佳實(shí)踐

(1) 效率低帶來的痛點(diǎn)

在過去一年多里,我們?cè)跇I(yè)務(wù)中持續(xù)探索模型能力和質(zhì)效工作的結(jié)合,已完成了8項(xiàng)模型能力的研發(fā)落地,覆蓋了 “用例域”,“缺陷域”,“代碼域” 中的多個(gè)痛點(diǎn)場(chǎng)景。即便各項(xiàng)模型能力都在業(yè)務(wù)得到的應(yīng)用落地,并切實(shí)取得成效,我們距離業(yè)務(wù)的質(zhì)效訴求還是有較大差距。

業(yè)務(wù)質(zhì)效訴求貫穿產(chǎn)研的各個(gè)環(huán)節(jié),需求量大,能力繁雜,業(yè)務(wù)分隔度高,僅 “用例域” 的單項(xiàng)任務(wù)就可能產(chǎn)生幾十個(gè)模型能力點(diǎn)。相比之下,目前 1 項(xiàng)模型能力從研發(fā)到落地就需要 “1人月” 的研發(fā)成本,造成了產(chǎn)能和需求的巨大差距。面對(duì)這種現(xiàn)狀,我們急需提升模型研發(fā)的效率,提升對(duì)業(yè)務(wù)需求的覆蓋度。

(2) 實(shí)踐成效

在大模型和 “缺陷域” 質(zhì)效問題結(jié)合的探索中,業(yè)務(wù)希望可以引入模型能力,對(duì) “用戶反饋” 進(jìn)行檢查,發(fā)現(xiàn) “用戶反饋” 中存在的嚴(yán)重問題,并進(jìn)行特殊關(guān)注,確保嚴(yán)重問題的跟進(jìn)解決。通常 “用戶反饋” 問題的嚴(yán)重程度由 2 方面判斷:“反饋量”,“反饋內(nèi)容”。反饋量可以很直觀的獲得,但反饋內(nèi)容的嚴(yán)重程度則依賴人為經(jīng)驗(yàn)判斷,這就存在 “反饋量小,反饋內(nèi)容嚴(yán)重” 的問題被遺漏的風(fēng)險(xiǎn)。

根據(jù)業(yè)務(wù)經(jīng)驗(yàn),在業(yè)務(wù)中,目前已確定了 “10+” 種需要監(jiān)控的嚴(yán)重問題,如:隱私相關(guān)問題,白屏相關(guān)問題,消息無法導(dǎo)入問題,聊天記錄損壞問題,等等。我們需要構(gòu)建模型能力,對(duì)這些檢查點(diǎn)進(jìn)行覆蓋。

通過工具的引入,我們?cè)?“2周” 內(nèi)就完成了 “2項(xiàng)” 模型能力的研發(fā)(“隱私相關(guān)問題”,“白屏相關(guān)問題”),并通過工具完成了能力的部署應(yīng)用,成功將模型能力從0到1的拓展到了“用戶反饋”相關(guān)的問題中。每 1 項(xiàng)模型能力的研發(fā)成本從 “1人月” 降低至 “1人周”,且準(zhǔn)確率均保持在 80% 以上,效率提升數(shù)倍。

(3) 效率提升詳情

通過工具的應(yīng)用,我們將本需要 “1人月” 完成的工作壓縮至了 “1人周”,這得益于工具對(duì)模型研發(fā)環(huán)節(jié)的框架化和工具化,具體表現(xiàn)在:

  • 建模框架化:通過前文中提到的 “建?!?模版,我們明確了定義任務(wù)所需要填寫的內(nèi)容,指導(dǎo)完成研發(fā)前的定義和數(shù)據(jù)準(zhǔn)備工作,通過明確目標(biāo)的工作流程提升這個(gè)階段的工作效率(由 “2天” 提升至 “1天”)
  • 輔助數(shù)據(jù)標(biāo)注:系統(tǒng)具備借助強(qiáng)大閉源模型(混元,GPT)輔助數(shù)據(jù)標(biāo)注的能力,通過模型進(jìn)行數(shù)據(jù)粗標(biāo),再人工進(jìn)行確認(rèn),大幅提升了數(shù)標(biāo)注的效率(“2天” 提升至 “0.5天”)
  • Prompt 編寫:通過對(duì) Prompt 編寫環(huán)節(jié)的工具化,以及Agent能力的建設(shè),我們無需人工進(jìn)行編寫和反復(fù)調(diào)試,僅需輸入 “建模定義” 和 “數(shù)據(jù)” 即可應(yīng)用 Agent 完成prompt的編寫工作。(由 “3天” 提升至 “0.5天”)
  • 能力調(diào)用:工具對(duì)多種能力進(jìn)行了封裝,并通過Agent能力完成各項(xiàng)能力的自主調(diào)用,省去了能力開發(fā)和引入的成本。在本項(xiàng)任務(wù)中,工具引入了:RAG 知識(shí)庫,CoT,格式標(biāo)準(zhǔn)化,反思,專用詞解釋,等多項(xiàng)能力,并結(jié)合任務(wù)狀況進(jìn)行調(diào)用,無需進(jìn)行二次開發(fā)(由 “1周” 提升至 “1天”)
  • 插件調(diào)用:除了模型能力外工具內(nèi)還封裝了一些插件,可在研發(fā)流程的各個(gè)階段進(jìn)行調(diào)用。在本項(xiàng)任務(wù)中,只用了 “騰訊文檔讀寫插件”,“Tapd數(shù)據(jù)讀寫插件”,“數(shù)據(jù)格式轉(zhuǎn)換插件”,避免了二次開發(fā)的成本。(“1天” 提升至 “1小時(shí)”)
  • 上線部署:工具提供模型能力的自動(dòng)部署能力,可通過配置產(chǎn)生接口供用戶調(diào)用。此外我們還提供多種部署方式:如結(jié)合用戶提供的腳本完成定時(shí)任務(wù)的部署;在本項(xiàng)任務(wù)中,我們通過工具將能力部署為定時(shí)任務(wù),定期對(duì)用戶反饋數(shù)據(jù)進(jìn)行檢查。(由 “3天” 提升至 “1天”)
  • 流程串聯(lián):研發(fā)框架除提升各個(gè)單一模塊的效率外,還對(duì)模型研發(fā)的整體了流程進(jìn)行了規(guī)范化和串聯(lián),提升了研發(fā)過程的流程效率(由 “3天” 提升至 “1天”)
  • 效果調(diào)試&優(yōu)化:系統(tǒng)支持多種調(diào)試方法,并引入了相應(yīng)的Agent能力和數(shù)據(jù)驅(qū)動(dòng)的方法,半自動(dòng)的輔助完成模型效果的調(diào)試。相較于傳統(tǒng)基于評(píng)測(cè)結(jié)果的人工調(diào)試方法,大幅提升了調(diào)試效率(由 “1周” 提升至 “2天”)

2. 研發(fā)成本下降最佳實(shí)踐

(1) 成本高帶來的痛點(diǎn)

在我們探索大模型和質(zhì)效工作的結(jié)合中,大多模型研發(fā)工作均有開發(fā)人員承擔(dān),但質(zhì)效領(lǐng)域具備較高專業(yè)深度和廣度,且與業(yè)務(wù)關(guān)系緊密,具備很高的業(yè)務(wù)復(fù)雜度。模型開發(fā)人員在專業(yè)和業(yè)務(wù)上均存在不足,導(dǎo)致模型開發(fā)與領(lǐng)域人員的訴求存在差距,不僅增加了模型開發(fā)的成本,還降低了模型實(shí)現(xiàn)的效果。

如前文所述,大模型能力的領(lǐng)域化,不應(yīng)當(dāng)僅僅局限于能力的開發(fā),而應(yīng)當(dāng)賦予領(lǐng)域?qū)I(yè)人員應(yīng)用模型的能力,是一個(gè) “授之以漁” 的過程。為了更好進(jìn)行模型能力的領(lǐng)域化,我們希望通過工具,讓領(lǐng)域內(nèi)的專業(yè)人員也可以完成模型能力的研發(fā)。

(2) 實(shí)踐成效

在大模型和 “用例域” 質(zhì)效問題結(jié)合的探索中,“用例檢查” 是其中應(yīng)用最廣效果最顯著的能力,通過對(duì)測(cè)試用例的檢查,發(fā)現(xiàn)測(cè)試用例中存在的問題,以此提升用例質(zhì)量,解決因用例原因?qū)е侣﹤?cè)引發(fā)的線上問題。目前,我們已經(jīng)完成了6個(gè)檢查點(diǎn)的建設(shè),可以有效發(fā)現(xiàn)用例中存在的問題,并推動(dòng)修復(fù),切實(shí)保證已覆蓋的檢查點(diǎn)無相關(guān)線上問題。

但測(cè)試用例的檢查點(diǎn)眾多,且存在業(yè)務(wù)區(qū)分,結(jié)合 “用例checklist”業(yè)務(wù)已經(jīng)積累了200+個(gè)檢查點(diǎn),若持續(xù)采用集中式的孵化模式,難以滿足業(yè)務(wù)訴求。因此,希望通過工具的引入,讓業(yè)務(wù)的質(zhì)量同學(xué)也可以完成檢查點(diǎn)的開發(fā),共同在領(lǐng)域中建設(shè)模型能力。

通過工具的引入,我們與質(zhì)量同學(xué)合作,在 “2周” 內(nèi)就完成了 “2項(xiàng)” 用例檢查能力的研發(fā)(“殺進(jìn)程用例缺失檢查”,“寫操作用例缺失檢查”)。在沒有模型開發(fā)人員介入的情況下,僅由 “質(zhì)量同學(xué)” 進(jìn)行輸入,即完成了能力的研發(fā),準(zhǔn)確率均在 80% 以上。

通過如上定義,及少量數(shù)據(jù) 即可完成模型能力的研發(fā)。在調(diào)試過程中,結(jié)合模型的評(píng)測(cè)結(jié)果,也可低成本的,通過 “修改定義” 和 “補(bǔ)充數(shù)據(jù)” 完成模型效果的提升。同時(shí),我們還針對(duì)用例檢查的應(yīng)用場(chǎng)景,提供了更方便的部署方式,除提供 API 接口外,檢查能力可以一鍵上線至 “智能用例平臺(tái)”(用例檢查的應(yīng)用平臺(tái)),并可自動(dòng)創(chuàng)建定時(shí)任務(wù),定期對(duì)用例進(jìn)行檢查。通過這種方式,我們?nèi)溌返慕档土四P湍芰Φ难邪l(fā)成本,在保證質(zhì)量的前提下,讓質(zhì)量人員也可以完成模型能力的研發(fā)。

(3) 成本降低詳情

如上圖中所示的模型研發(fā)流程,工具為用戶自助完成了大量的研發(fā)工作,用戶僅需完成任務(wù)維度的輸入,即可完成模型能力的研發(fā),從而大幅降低了模型研發(fā)過程的成本和技術(shù)比例,其中:

用戶負(fù)責(zé):

a. 問題定義:確定檢查點(diǎn)定義

b. 問題建模:將檢查任務(wù)翻譯為分類任務(wù),并填寫對(duì)應(yīng)的建模模版

c. 原始數(shù)據(jù)采集:采集任務(wù)需要用到的 “測(cè)試用例” 數(shù)據(jù)

d. 數(shù)據(jù)清洗/計(jì)算:統(tǒng)一 “測(cè)試用例” 數(shù)據(jù)結(jié)構(gòu),無需額外的清洗/計(jì)算

工具與用戶協(xié)同負(fù)責(zé):

a. 數(shù)據(jù)標(biāo)注:應(yīng)用 “混元” 模型對(duì)數(shù)據(jù)進(jìn)行粗標(biāo),再有人工確認(rèn),完成標(biāo)注工作

b. 調(diào)試&優(yōu)化:工具利用 badcase 數(shù)據(jù) 及 人為歸納的問題 自主對(duì)模型系統(tǒng)進(jìn)行優(yōu)化,最終保證準(zhǔn)確率達(dá)到應(yīng)用標(biāo)準(zhǔn)(>80%)。

工具負(fù)責(zé):

a. 模型調(diào)試:模型階段的所有工作均有工具負(fù)責(zé),在保證效果的前提下調(diào)度工具中的多個(gè)Agent系統(tǒng),完成模型能力建設(shè)

b. 效果評(píng)測(cè):在數(shù)據(jù)集上自動(dòng)產(chǎn)出評(píng)測(cè)結(jié)果,計(jì)算 準(zhǔn)確率,召回率,精確率 等指標(biāo)。

c. 部署運(yùn)維:工具自動(dòng)完成模型能力的上線,除提供 API 接口外,檢查能力可以一鍵上線至 “智能用例平臺(tái)”(用例檢查的應(yīng)用平臺(tái)),并可自動(dòng)創(chuàng)建定時(shí)任務(wù),定期對(duì)用例進(jìn)行檢查。

六、寫在最后

1. 從 “Prompt框架” 到 “模型研發(fā)工具”

在一年多的模型應(yīng)用探索當(dāng)中,我們進(jìn)行了多項(xiàng)模型能力的研發(fā)和應(yīng)用,期間持續(xù)對(duì)模型的應(yīng)用效果提升和研發(fā)流程進(jìn)行研究和實(shí)踐。此前的很長時(shí)間里,我們都認(rèn)為 Prompt 是模型應(yīng)用的鑰匙,對(duì)模型的應(yīng)用效果起到?jīng)Q定性的作用,如何又快又好的完成Prompt,是模型應(yīng)用研發(fā)的關(guān)鍵。

但隨著領(lǐng)域的發(fā)展和研究的深入,我們?cè)絹碓侥芨惺艿?Prompt 并不是模型的全部(雖然依然很重要),尤其是在 Agent,MultiAgent 技術(shù)持續(xù)發(fā)展的今天,Prompt在模型效果中所占的比重越來越小。就如本文開篇提到的,模型應(yīng)用相關(guān)的技術(shù)對(duì)模型應(yīng)用效果是否重要,但 “Prompt工程” 只是眾多應(yīng)用技術(shù)的其中之一。

于是,我們把目光放大到了整個(gè) “模型研發(fā)流程” 當(dāng)中,而不僅僅關(guān)注某項(xiàng)單一的技術(shù),模型研發(fā)的 “第一性” 就是 “提升應(yīng)用效果”,而非不斷的優(yōu)化單一環(huán)節(jié)的能力,通過對(duì)研發(fā)框架的優(yōu)化不斷提升模型的應(yīng)用效果,才是我們應(yīng)當(dāng)做的正確的事。

2. 總結(jié) & 后續(xù)規(guī)劃

目前,我們初步完成了工具的研發(fā)和應(yīng)用嘗試,希望可以通過工具帶來的效率提升和成本下降,進(jìn)一步推動(dòng)大模型的領(lǐng)域化。大模型被認(rèn)為是通往 AGI 的道路,但現(xiàn)存的模型開發(fā)模式不僅沒有像通用化發(fā)展,反而在近一步限制模型的通用性以求得其在領(lǐng)域中的穩(wěn)定性,這種偏閉源的開發(fā)模式,無論是在效果上,還是在效率上,都不符合大模型發(fā)展的趨勢(shì)。我們希望可以通過我們的工具,讓領(lǐng)域中的人都可以加入到模型能力的研發(fā)上,建立更開源的開發(fā)模式,讓領(lǐng)域中的人具備使用大模型的能力,才是真的領(lǐng)域化。

在技術(shù)上,本文開篇論述了一些對(duì)趨勢(shì)的觀察,這些曲線未必都正確,但模型應(yīng)用層技術(shù)的發(fā)展一定是領(lǐng)域中不可或缺的一部分,且對(duì)于模型的應(yīng)用效果而言,會(huì)起到越來越重要的作用。而目前,我們應(yīng)用層建設(shè)的成熟度還遠(yuǎn)遠(yuǎn)不夠,持續(xù)提升 “MultiAgent System” 的能力,不斷引入更多的模型能力,豐富應(yīng)用插件,并和用戶形成更好的協(xié)作模式,都是未來要努力的方向。

本文中敘述的觀點(diǎn)多有主觀判斷的成分,僅是個(gè)人結(jié)合應(yīng)用研發(fā)經(jīng)驗(yàn)的若干想法,大模型相關(guān)技術(shù)還在持續(xù)的高速發(fā)展當(dāng)中,非常期待和大家交流。

責(zé)任編輯:趙寧寧 來源: 騰訊技術(shù)工程
相關(guān)推薦

2025-06-26 02:24:00

Javaer大模型開發(fā)

2023-05-19 14:01:47

AI模型

2024-01-12 10:29:26

2025-05-08 08:10:25

大模型DeepSeekAPI

2009-06-24 16:30:21

JSF組件模型

2023-09-13 18:39:13

大模型開發(fā)棧框架

2023-04-28 15:41:08

模型ChatGPT

2024-01-10 09:00:00

OpenAILocalGPT開源大模型

2024-08-06 14:13:43

2020-11-26 10:55:01

Spring Data

2010-09-28 09:33:25

DOM模型

2012-02-01 13:39:31

移動(dòng)Web設(shè)計(jì)開發(fā)

2014-09-25 14:06:53

微信企業(yè)號(hào)案例

2022-06-26 23:31:17

Java開發(fā)語言

2023-09-01 21:12:13

GPT3.5模型微調(diào)

2010-06-03 17:27:36

Hadoop命令

2025-01-27 08:23:41

2011-09-01 10:42:14

Objective-CCocoa內(nèi)存管理

2023-06-26 07:51:48

2021-11-11 12:05:17

Python代碼項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产亚洲一区二区三区在线 | 91精品国产乱码久久久久久久久 | 国产精品成人一区二区三区吃奶 | 中国美女撒尿txxxxx视频 | 特级做a爰片毛片免费看108 | 久久性色| 中文字幕成人网 | 美女午夜影院 | 欧美日韩在线观看视频网站 | 久久一久久 | 成人免费视频网站在线看 | 久久久久久久久久久高潮一区二区 | 91精品国产91久久久久久最新 | 日韩中文字幕第一页 | 91偷拍精品一区二区三区 | 日本精品久久 | www..99re| 成人免费在线小视频 | 中文字幕久久精品 | 99视频在线播放 | 国产精品久久影院 | 国产精品一区在线 | 日韩在线视频观看 | 国产精品不卡一区 | 亚洲福利网 | 欧美日韩精品久久久免费观看 | 最新国产精品精品视频 | 色www精品视频在线观看 | 91av在线免费 | 欧美日韩一区精品 | 午夜精品一区二区三区在线观看 | a级片www| 国产乱码精品一区二三赶尸艳谈 | 超碰精品在线观看 | 亚洲成人精品国产 | 久久久入口 | 国产精品视频一二三区 | 美女亚洲一区 | 有码一区| 久草在线高清 | 久久av一区 |