JimmyLiao

JimmyLiao blog: coffee, running, thinking

解放大型語言模型的商業應用 - 概念

2023-06-17 LLM RAG Azure OpenAI

目前大型語言模型的發展,已經從一開始 ChatGPT 讓人驚豔的生成式回答,開放了各種一般應用的無限可能,但是在導入大型語言模型至企業中實際產品的開發過程,還有很多需要考慮的問題,這篇文章會從概念上介紹幾個方式,讓大家可以更了解如何將大型語言模型導入企業的解決方案。

PS. The concept of this article is based on Andy, Zong-Lin Li comment.

  1. Prompt Engineering

    直接呼叫大型語言模型,並透過 Prompt Engineering 的方式,將模型的輸入與輸出,透過良好設計的 Prompt Engineering 技巧,讓目標使用者能夠在企業設定的情境下,透過大型語言模型得到答案。

    通常在這個階段,會有一個專門的團隊,負責設計 Prompt Engineering 的技巧,並且透過大量的測試,確保模型的輸入與輸出,能夠符合企業的需求。

    完美的氛圍會是,該企業/團隊會有自己維護的 Prompt Template/Prompt Tree,透過 Logging 得到使用者回饋,並持續性的修正 Prompt Template/Prompt Tree。

  2. RAG (Retrival Augmented Generation)

    透過 RAG (Retrival Augmented Generation) 的方式,將大型語言模型與檢索模型結合,透過外部搜尋結果,找到最相關的結果,並透過大型語言模型,生成最符合使用者需求的答案。

    RAG是一種生成自然語言文本的架構,裡面包含Retriever & Generator,流程如下 :

    • Retriever 對大規模的資料或企業知識庫進行搜索,找對最相關的文件甚至是段落
    • Generator則參考上述所找到的資料產生新的文本

    以目前的技術來說

    • Retriever 可以是 Azure Cognitive Search, Bing Search etc.
    • Generator 可以是 Azure OpenAI model (可以是GPT 3, 3.5, 4)

    以目前商業應用與開發速度來說,RAG 的方式,是最符合企業需求的方式,因為企業可以透過打造企業的知識管理/搜尋引擎,找到最符合的資料,並透過大型語言模型,生成最符合使用者需求的答案。

  3. Fine Tuning

    在企業商用情境下,透過 Prompt Engineering 將原本的情境,轉換成大量的 Prompt,雖會與原有的應用高度無縫接軌,但是代價會是每次消耗大量的 Token 以及 Latency。

    所謂的Fine Tuning指的是讓類神經網路基於預訓練過(pre-trained)的權重之上再做微調,主要目的是讓模型能在特定的場景或任務表現得更好。核心概念就是基於預訓練的模型(GPT 3, 3.5, etc.)再加上自己的數據、調整參數。

    所以Fine Tuning並不是re-train生成式AI模型,它只是去影響模型的權重

    主要好處如下 :

    • Higher quality results than prompt design
    • Comparable performance to prompt design by using a large number of examples
    • Token savings due to shorter prompts
    • Lower latency requests

    很多企業會從以前機器學習專案的經驗,想要一開始就從 Fine Tuning 達到自己的客製化需求,但是在目前的大型語言模型的發展階段,Fine Tuning 的方式,還是有很多需要考慮的問題,例如:如何取得訓練資料?如何訓練?如何評估?如何持續性的更新?如何與 Prompt Engineering 結合?等等。

之後幾個部分會針對這三種方式,透過實際的架構,開發方式與工具介紹,讓大家更了解如何透過大型語言模型,解決企業的問題。

comments powered by Disqus