構建 AI大模型應用技術棧有哪些
時間:2024-09-23 來源(yuan):華清遠見
AI大(da)模(mo)型是指擁有超大(da)規模(mo)參數(通常在(zai)十億個以上)、復雜計算結構的深度學習模(mo)型,能夠(gou)處理海(hai)量數據(ju),完成各種復雜任(ren)務(wu),如自然語言處理、圖像(xiang)識別等。
大模型(xing)包含如下一些(xie)技術:
Prompt
Prompt提示是(shi)模(mo)型(xing)接收以(yi)(yi)生(sheng)成(cheng)(cheng)響應(ying)或完成(cheng)(cheng)任(ren)務(wu)的(de)初始文本輸入。我們給AI一組Prompt輸入,用(yong)于指(zhi)導模(mo)型(xing)生(sheng)成(cheng)(cheng)響應(ying)以(yi)(yi)執行任(ren)務(wu)。這個輸入可(ke)以(yi)(yi)是(shi)一個問題、一段描述、一組關鍵詞,或任(ren)何其(qi)他形式(shi)的(de)文本,用(yong)于引(yin)導模(mo)型(xing)產(chan)生(sheng)特定內容(rong)的(de)響應(ying)。
Transformer
Transformer是一種用于自(zi)然語言處(chu)理(NLP)和其他序列到序列(sequence-to-sequence)任務的(de)深度學(xue)習模型架構,它在(zai)2017年由(you)Vaswani等人首次提出(chu)(chu)。Transformer架構引(yin)入了(le)自(zi)注意(yi)力(li)機制(self-attention mechanism),這是一個(ge)關鍵的(de)創(chuang)新,使其在(zai)處(chu)理序列數(shu)據時表現(xian)出(chu)(chu)色。
結構如下:

預訓練
預(yu)訓(xun)練(Pre-training)通(tong)常是(shi)(shi)指對模型進(jin)行(xing)無(wu)監督或自監督學習的過程,在大(da)規模未(wei)標(biao)注數據上先訓(xun)練模型,以(yi)便為后續任務(wu)提供一個(ge)高質量的初始權重。這個(ge)過程對于(yu)許多復雜(za)模型尤(you)其是(shi)(shi) transformer 架構(比如(ru)BERT、GPT系列等(deng))來說極(ji)其重要。
Function calling
Function Calling 是一個允(yun)許大型(xing)語言模型(xing)(如 GPT)在生(sheng)成文(wen)本的過程(cheng)中調(diao)用外部函(han)數或服務的功能。
Function Calling允許我們以 JSON 格式向 LLM 模型(xing)描述函數(shu),并使用(yong)模型(xing)的(de)固(gu)有推理(li)能力來決定(ding)在生成響應之(zhi)前是(shi)否調用(yong)該函數(shu)。模型(xing)本身不執行函數(shu),而是(shi)生成包含函數(shu)名稱和(he)執行函數(shu)所需的(de)參數(shu)的(de)JSON
Rag
RAG(中文(wen)為(wei)檢(jian)索(suo)增強生成(cheng)) = 檢(jian)索(suo)技術 + LLM 提示。例如,我們(men)向 LLM 提問(wen)一個(ge)問(wen)題(ti)(answer),RAG 從各種數據源檢(jian)索(suo)相關(guan)的信息,并將檢(jian)索(suo)到(dao)(dao)的信息和問(wen)題(ti)(answer)注(zhu)入到(dao)(dao) LLM 提示中,LLM 最后給出答案。
Gpts
GPTs其實就是一(yi)個(ge)模(mo)板,把(ba)(ba)你的(de)需求(qiu)告訴GPTs,它會按照你的(de)想法去生成新的(de)ChatGPT,相(xiang)當(dang)于(yu)把(ba)(ba)你的(de)想法寫(xie)成了一(yi)個(ge)模(mo)板,供你個(ge)性化使(shi)用(yong)。每次(ci)使(shi)用(yong)的(de)時候(hou)直接輸(shu)入(ru)你的(de)話題或者部分內容,這時候(hou)的(de)ChatGPT就會按照你設定的(de)使(shi)用(yong)規則跟你對話,直接輸(shu)出(chu)你需要的(de)內容,而不需要你每次(ci)都輸(shu)入(ru)一(yi)定的(de)提示指(zhi)令去引導。
Langchain
LangChain 就是一(yi)(yi)個 LLM 編程(cheng)框架,你(ni)想開發一(yi)(yi)個基于 LLM 應用(yong),需要什么組件它(ta)(ta)都有,直(zhi)接使用(yong)就行;甚至針(zhen)對常規的(de)應用(yong)流程(cheng),它(ta)(ta)利用(yong)鏈(LangChain中Chain的(de)由來)這個概念已經內置(zhi)標準化(hua)方案了。
Agent
智能(neng)體(ti)的(de)(de)(de)英(ying)文是(shi) Agent,AI 業界對(dui)智能(neng)體(ti)提出了各種(zhong)定義。個人理解,智能(neng)體(ti)是(shi)一種(zhong)通用問題(ti)解決器。從(cong)軟件工程的(de)(de)(de)角(jiao)度看來(lai),智能(neng)體(ti)是(shi)一種(zhong)基于大語言模型的(de)(de)(de),具備規劃思考(kao)能(neng)力、記憶(yi)能(neng)力、使用工具函數的(de)(de)(de)能(neng)力,能(neng)自主完成給定任務(wu)的(de)(de)(de)計算(suan)機程序。
Fine-tuning
微調是(shi)指在預訓(xun)練(lian)(lian)模型(xing)(xing)(xing)(Pre-trained model)的(de)(de)(de)(de)基礎上(shang),針對特定任(ren)(ren)務或(huo)(huo)數(shu)(shu)據(ju)領域,對部分(fen)或(huo)(huo)全部模型(xing)(xing)(xing)參數(shu)(shu)進行(xing)進一(yi)步的(de)(de)(de)(de)訓(xun)練(lian)(lian)和調整(Fine Tune)。預訓(xun)練(lian)(lian)模型(xing)(xing)(xing)通常是(shi)在大規(gui)模數(shu)(shu)據(ju)集上(shang)訓(xun)練(lian)(lian)得到的(de)(de)(de)(de),具有(you)一(yi)定的(de)(de)(de)(de)通用性和泛化能力(li)。微調的(de)(de)(de)(de)目標是(shi)在較小的(de)(de)(de)(de)目標數(shu)(shu)據(ju)集上(shang),通過有(you)限的(de)(de)(de)(de)訓(xun)練(lian)(lian)數(shu)(shu)據(ju),使模型(xing)(xing)(xing)更好(hao)地(di)適(shi)應特定任(ren)(ren)務,從而提(ti)高模型(xing)(xing)(xing)在該任(ren)(ren)務上(shang)的(de)(de)(de)(de)性能。

