基于大模型進行開發的實踐與思考

2 評論 4979 瀏覽 9 收藏 11 分鐘

LLM的革新,將會帶來什么改變呢?作者對此展開思考,以獨立開發者的身份對大模型開發進行實踐,接下來,我們看看作者是如何做的吧。

LLM出現引發的解放力提升及革新,有時會在我腦海里浮現,對于期望從事LLM的人來說,可以從哪些方面來進行學習呢?

當前,各個行業都在對 LLM的應用和研究進行著不斷的嘗試,經過閱讀和論文的參考,對LLM進行了分類整理,也結合自身的實踐來做一次分享。

一、LLM綜述及簡介

1. 領域專業化分類

基于拓展閱讀的論文觀點,LLM的專業領域主要分為三類:

  • 外部增強(External Augmentation)
  • 提示語制作(Prompt crafting)
  • 模型微調(Model Fine-tuning)

其中,外部增強是一個黑盒類型的應用,它是由外部的數據\上下文和內部的提示詞來控制輸出,實質上不能對 LLM的內部進行訪問和調節。

提示語制作是一種灰盒類型的應用,它是通過調節 prompt的參數來控制 LLM的輸入和輸出,僅在 LLM中與 prompt有關的參數進行更新,這部分參數占 LLM總參數的0.01% 。

模型修正是一種白盒類型的應用,它是對模型中特定領域中的知識和數據的修正,是一種深入到模型中特定領域的全量參數修正。

2. LLM應用場景簡述

盡管專業領域被劃分成了三個類別,但是 LLM在其中的共同應用有:

  • 識別特定領域的實體、關系和事件
  • 生成特定領域的內容,并生成復雜的文本摘要
  • 分析特定領域的數據并進行預測
  • 通過自然語言生成\校驗代碼

這四個應用可以貫穿全領域,也是主要提效的表現,具體場景如下:

  • 可以用LLM快速進行客戶問題的分類
  • 使用LLM快速閱讀論文并給出摘要內容
  • 提供某一專業數據,并進行數據的分析總結
  • 用中文描述需求并生成python代碼,如請生成一個深度學習的示例代碼

在目前階段,各大中小企業對LLM進行的探索,一般都為外部增強的方式,因為這一方面無論是從成本還是門檻上來說,大部分是可以接受的。

所以,我在后面的實踐及應用介紹,也是以外部增強為基礎,從以上四個應用方向展開。

二、個人實踐簡述及總結

1. 已開發的個人工具

截至目前已經開發的工具有三個,分別為:

  • 電影評論情感分析工具(識別特定領域的實體、內容)
  • 客服問題分類工具(生成特定內容摘要)
  • 數據分析工具(分析特定領域的數據)

三種工具均能滿足個性化的輸出需求,只需讓用戶輸入不同的參數,或修改配置文件中的提示詞內容即可。

并且開發過程我也是借助LLM,通過自然語言進行編碼及代碼排查、優化的工作。(通過自然語言生成\校驗代碼)

2. 各工具的設計思路、功能特點

在開始搭建工具時,按照LLM的應用場景分類,我選擇了文本總結、文本分類及文本分析三個方向,原因很簡單:學習的過程也是這么個思路,先是閱讀,然后對知識點進行分類,并基于新文本進行分析。

因此在確定了每個方向后,選擇了一個場景進行驗證試點,文本總結使用豆瓣上的用戶評論,文本分類使用電商平臺的售后咨詢類目,數據分析則使用世界銀行發布的各國歷史失業率數據。

最后在對每一個場景進行了分析和整理之后,得出了一份材料如下:

3. 過程中的問題及解決方案

在開發過程中識別到的問題可以分為以下幾類:

1)問題1. 輸出結果不符合預期、結果不可控

Fig1.返回結果不符合預期

如上圖,在輸入某一條評論并要求輸出表格形式時,得到的結果卻是JSON格式。

① 原因分析

因為外部增強屬于一種黑盒類的嘗試,因此通過實踐過程,我了解到一般出現這類問題有以下幾個方面的原因:

  • 提示語設置不夠準確,或者前后矛盾,導致輸出不可控
  • 提示語與用戶文本語言不一致,如使用英文的prompt來分析中文的評論
  • 分析步驟太復雜,LLM無法很好的完成分析

② 解決方法

基于以上三個原因,給出三個不同的解決方法:

  • prompt提示語中單獨增加結果的確認

在輸出結果時,請確保是{Object_format}格式\

請保持輸出中的語言與原始文本相同 – 如果評論是中文的,則輸出也應為中文。\

  • 保證輸入的文本與prompt的一致??梢栽诠δ軐用嫔暇S護多套語言的prompt。當用戶選擇了中文模式時使用中文的prompt提問
  • 提示語中設置few-shot或者分析步驟

2)問題2. api調用及token請求問題

毫無疑問,在開發過程中需要科學上網,并且需要限制一定的token請求量,目前GPT3.5單次請求只能包含4390token,超過無法完成分析。

解決方法

  • 前端須有token限制的功能,另外需要補充功能記錄每次提問及返回結果的token數量,用于監控調用
  • 科學上網

3)問題3. 調用量成本

Fig2. usage調用量明細

截取了過去幾天的調用數據,平均$0.05/天,折合$0.35,此情況是根據一個用戶一天總共50次的請求數量計算的,平均費用為$0.007\天\人,具體取決于你所輸入的文本和構造的提示詞數量。

解決方法

  • 前端需具備發起提問的token限制功能
  • 源碼中的prompt的構建盡量簡潔、清楚、明確

4)問題4. 變現方式及正式商用可行性待評估

LLM目前商用可行性的問題主要有以下三點:

  • LLM的可靠性及穩定性
  • 工程化方案如何適應每個行業
  • 投入產出比如何平衡

LLM無疑可以幫助人們快速地實現各種AI功能,但是從外部增強的角度來進行實踐, LLM輸出的結果在本質上是不可控的,落地性比較差。

因為涉及到科學上網及使用第三方LLM能力,如何實現更好的工程化,目前還尚未有成熟的方案。

另,利用 LLM所產生的費用是每一個落地項目都要考慮的實際問題。

以上內容,因為本人也還在探索,因此目前只能給出開放性的答案。

解放方法

  • 對于 LLM的可靠性,我們可以在 prompt中添加一些小的樣本量來描述,并盡可能地對每個請求進行詳細地分析,另外也可以增加產品功能、深度學習或者增強學習的方法進行優化
  • 工程問題的求解,則是基于行業領域的創新,在此先不展開
  • 投入產出平衡問題:如果是試探性的嘗試,那就盡量開發一種與已有的產品形式相匹配的輕量級應用形式,并為其提供一個開關,以實現功能的激活和關閉

三、總結及后續

1. 總結

LLM讓我以獨立開發者的身份,開發出了三款工具,達到了一個人相當于一個團隊的效果,大大提高了時間和人力的效率。

LLM的應用潛力巨大,可以幫助人們快速實現各種AI功能。希望未來能夠有更多的人加入到LLM的探索和應用中,共同推動AI技術的發展。

2. 后續

考慮到 LLM還有其他兩個方向,也是非常值得探索的,后續有機會可以再做一次分享。

  • 提示語制作(Prompt crafting)
  • 模型微調(Model Fine-tuning)

拓展閱讀

‘Beyond One-Model-Fits-All: A Survey of Domain Specialization for Large Language Models’

專欄作家

SiegZhong,人人都是產品經理專欄作家。深入了解AI技術的前沿趨勢,并提供實用的解決方案及思考。

本文原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 大語言模型,讀半天 讀不懂,不要寫的這么晦澀難懂行不行,還不如用ai寫

    來自重慶 回復
    1. 啊我著急的分享,忘了解釋下一些專業名詞,盡量通俗易懂的表達出來,感謝指出問題~

      來自廣東 回復