日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

LLM構建AI應用 —— 工程師如何使用黑盒工具

來源: 責編: 時間:2023-09-18 21:41:33 312觀看
導讀從2022年12月以來,chatGPT 的橫空出世掀起了新一波的 AI 浪潮,熱度一直居高不下直到現在。半年時間里,從底層模型 API 到上層應用的生態逐漸建立,經過一輪輪迭代不斷完善創新。本文將結合開源框架和應用程序,從工程師的角

從2022年12月以來,chatGPT 的橫空出世掀起了新一波的 AI 浪潮,熱度一直居高不下直到現在。半年時間里,從底層模型 API 到上層應用的生態逐漸建立,經過一輪輪迭代不斷完善創新。本文將結合開源框架和應用程序,從工程師的角度,與大家討論如何對大語言模型進行封裝和應用,并從工程層面解決現有問題,搭建完整可商用的 AI 應用程序。1HZ28資訊網——每日最新資訊28at.com

LLM,Large Language Model,即大語言模型。這個“大”是說參數量大(通常數十億個權重或更多),是一種語言模型的概念。為了更深入理解,我們選用OpenAI 公司的 GPT 模型進行討論。本文實驗都在 GPT3.5 的模型上進行(GPT4 太貴了)。1HZ28資訊網——每日最新資訊28at.com

目錄1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

  • GPT 技能點分析
  • 如何克服 GPT 現有短板
  • 構建完整 AI 應用


1HZ28資訊網——每日最新資訊28at.com

SOHU1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

一、GPT技能點分析1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

開始之前,先科普一下:GPT 是 OpenAI 訓練的模型,chatGPT 是在 GPT 基礎上構建的聊天應用程序,有很大的區別。1HZ28資訊網——每日最新資訊28at.com

011HZ28資訊網——每日最新資訊28at.com

事實1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

要對 GPT 進行應用,首先要了解清楚 GPT 提供給我們什么。GPT 對外暴露的內容非常簡單清晰:一個聊天接口(https://platform.openai.com/docs/api-reference/chat/create)。當然實際不止一個接口,還包含了一些指定場景,如文本補全、文本編輯。但是我們常用的就是最為通用的聊天接口。1HZ28資訊網——每日最新資訊28at.com

如下圖所示,接口入參必填參數包括應用的模型名稱、消息列表。消息列表是一個 jsonArray,可以包括歷史消息。模型區分了消息文本的角色,分為系統、用戶和 AI 三個角色。以便于區分歷史上下文和設定統一背景。還有一些其他可選字段:比如 temprature 可以控制返回的隨機性,0代表最不隨機,如果完全相同的輸入,大概率給出完全相同的輸出。1代表最隨機;stream 表示是否需要以流的形式返回,就像 chatGPT 逐個文本進行返回;max_token 規定了單次請求的 token 數量限制,畢竟 token 就代表了成本。1HZ28資訊網——每日最新資訊28at.com

返回的結果也很簡單:一句 AI 的回復 content ,和本次對話的 token 消耗值。API 如下圖所示:1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

021HZ28資訊網——每日最新資訊28at.com

優勢1HZ28資訊網——每日最新資訊28at.com

首先來看 GPT 的優勢。作為開發工程師,從應用的視角看,總結出如下幾點:1HZ28資訊網——每日最新資訊28at.com

  1. 無與倫比的自然語言掌握能力,在某些角度是超越了我們普通人的。相信大家或多或少領略過,可以很強大地做文本生成、文本理解和文本翻譯等。
  2. 某些領域有推理和抽象思維的能力,尤其寫代碼方面。也通過了各種人類的考試,如SAT、美國醫學執照考試、律師資格考試等。注意是某些領域,不完全。
  3. 他還有強大的泛化能力,在新的樣本上表現很好,支持了跨各個垂直領域的對話。
  4. GPT 有對人類的“理解能力”。心智理論(Theory of Mind, ToM)是指通過將心理狀態歸因于他人來理解他人的能力,或者更簡單的說,是推測其他人心里在想什么的能力。GPT 在心智理論測試中表現出色。
  5. 多樣性和可控性,GPT 模型提供了一些參數,增強它的多樣性,比如Temprature
    圖片

實際上,在人工智能領域是有很多分支的。比如推薦、模式識別、自然語言、計算機視覺等方向。但是 GPT 都能解決嗎?并不是。那么一個主要在自然語言領域的模型,為什么讓大家都有驚艷的感覺呢?我認為歸功于以下兩點:1HZ28資訊網——每日最新資訊28at.com

  1. 語言是人類與外部世界交互的主要方式,尤其是在信息時代。盡管 GPT 只是一個語言模型,但這個它在各種領域和任務上展現的能力,讓你覺得他真的“懂”。
  2. 原有用到人工智能的領域,大多需要專有的模型。每一種專有的模型之間都有比較大的鴻溝,成本很高,包括學習成本和訓練成本。GPT 如此通用的模型加上如此方便的交互方式,給一些需要 AI 但是沒有能力搞AI的公司或個人,實現了技術的普惠。在很快的產品周期里,就可以將人工智能的進步轉化為真正投入使用的實際產品。對于我們純開發工程師來說,是“彎道超車”的重要機會。

多提一句,各種優勢的來源,就是大語言模型的“涌現”能力。涌現可以用一句經典的話來概括:量變引起質變。很多方面的測試任務表明,模型量級在大于10的22次方之后,能力的增幅得到了大幅度的提升。(論文來源:Emergent Abilities of Large Language Models, https://arxiv.org/abs/2206.076821HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

03短板1HZ28資訊網——每日最新資訊28at.com

了解了 GPT 的優勢,但是作為工程師在應用落地過程中更要關心它不足的地方,并給出解決方案。我總結了幾個主要的點,下面和大家一一分析。1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

對prompt要求較高1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

GPT 對 prompt 的要求體現在兩個方面:其一是對于 prompt 表達的敏感性,其二是對 token 的數量限制。1HZ28資訊網——每日最新資訊28at.com

  1. 對于 prompt 表達的敏感性
    prompt 就是提示,也可以簡單理解為向 GPT 輸入的問題。GPT 對于提示的措辭很敏感。這意味著在與 GPT 進行對話時,用戶需要非常準確地表達自己的意圖,并且對 GPT 的思考范圍和返回方式作出明確的規定。否則 GPT 會天馬行空,無法滿足落地應用確定性的要求。
  2. token 的數量限制
    對于 GPT 模型來說,有很強的 token 數量限制,輸入和輸出都會算 token 。GPT3.5 的 token 上限是4096,GPT4 是8000或32000,且根據 token 數計費。具體 token 的計算涉及到 NLP 領域的分詞相關算法,大家可以根據 OpenAI 提供的工具進行查詢:https://platform.openai.com/tokenizer。這個規定大大限制了我們和 GPT 交流的方式,比如上下文的篇幅限制。下圖是實驗的時候 token 超出限制的報錯。


1HZ28資訊網——每日最新資訊28at.com

缺乏規劃性和工作記憶1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

首先解釋規劃性。我們應該都知道貪心法和動態規劃的區別,GPT 模型依賴于生成下一個詞的局部和貪心過程,沒有對任務或輸出進行全局或深入的理解。因此,該模型擅長產生流暢和連貫的文本,但在解決無法按照順序方式處理的復雜或創造性問題方面存在局限性。1HZ28資訊網——每日最新資訊28at.com

比如生成回文詩,嘗試了很多遍都無法正確生成:1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

再比如經典的漢諾塔問題,如果問 GPT 通用解決方案是什么,甚至寫代碼他都可以。但是如果具體提問有三根柱子,五個盤子,如何挪動,很大概率會出錯。1HZ28資訊網——每日最新資訊28at.com

再來看工作記憶,其實就類似人類打草稿,只不過人類的心算就是在心里打草稿。工作記憶關系到模型對于一個整體任務的拆解,和對于中間步驟的處理,所以影響到了復雜任務的處理結果。1HZ28資訊網——每日最新資訊28at.com

圖片這兩個短板其實和人很像,我們人腦很多情況下也是無法用動態規劃的思路來解決問題的。我們心算個位數的加減乘除還可以,但是三位數及以上的乘除法對一般人的心算難度同樣很大,出錯率會變高。只不過我們的上限比現階段的 GPT 高一些。1HZ28資訊網——每日最新資訊28at.com

沒有記憶能力 : 短期記憶 + 長期記憶1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

注意這里的記憶和剛才所說的工作記憶不是一回事兒。工作記憶有點類似于內存或者草稿,是模型內部處理問題。而這里的記憶我們分為了短期記憶和長期記憶。1HZ28資訊網——每日最新資訊28at.com

  • 短期記憶:因為 GPT 模型是無狀態的,每次我們調用 OpenAI 的接口它都不知道前后的上下文。所以短期記憶是指單個用戶同一個會話的歷史上下文。下圖是直接調用 OpenAI 接口,并不能產生短期記憶。
    圖片
  • 長期記憶:是指一些特定領域的常識和專業的知識等,需要長期存儲在模型中,影響所有用戶的每一次會話請求。由于 GPT 是一個通用的大語言模型,所以并沒有深入地學習各個垂直領域的專業知識,在應對專業問題的時候力不從心。可以從感性上理解為,這是模型的知識盲區。

無法與外界交互1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

GPT 是一個語言模型,訓練的數據知識截止到2021年。同時現階段他無法使用外部工具,不能建立與外部新知識的連接。如果問 GPT 最近發生的新聞,他肯定不知道。如果強制要求一定要返回,就算說了回答也不一定正確,這很大程度上造成了對于事實性問題的謬誤。1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

安全性合規性問題1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

人是會被接收到的信息影響的,所以作為涉及到自然語言領域的應用,一定要考慮安全性和合規性的問題。對于 AI 應用來說分為兩個方面:一方面是對輸入的判定,非法或不合規的輸入不應該進行響應。另一個方面是對輸出的判定,雖然 OpenAI 已經對 GPT 模型本身做了很多安全性的管控,但是畢竟是機器自動生成的,包括國內外規定不盡相同,所以需要對輸出進行合法合規的校驗。1HZ28資訊網——每日最新資訊28at.com

非多模態、不可解釋等問題1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

GPT 起碼 GPT3.5 目前還是一個專注于自然領域的模型,對多模態的信息并沒有很好的支持。同時,GPT 模型對于問題解決和對話輸出的內在邏輯并不可解釋,還處于黑盒狀態,這對應用者控制 GPT 有一定阻礙。1HZ28資訊網——每日最新資訊28at.com

04結論1HZ28資訊網——每日最新資訊28at.com

總體來說,GPT 模型在許多任務中的能力,是可以與人類相媲美的。尤其是自然語言方面,可以說是 unparalleled。但是也存在上述各種實際問題。但是在現在的水平上,已經可以作為部分 AI 應用的底層依賴。我們的使命就是通過工程的手段盡可能解決上述各種問題。1HZ28資訊網——每日最新資訊28at.com

二、如何克服GPT現有短板1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

針對第一章節所說的問題,我們從工程的角度盡可能地提出解決方案,并結合 langChain 框架現有的功能,展示作為黑盒模型的封裝,應該從哪些方向著手。1HZ28資訊網——每日最新資訊28at.com

011HZ28資訊網——每日最新資訊28at.com

對prompt要求較高的問題 —— 系統性prompt工程1HZ28資訊網——每日最新資訊28at.com

首先給出一個錯誤的 prompt 示例:1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

這樣一句簡單的提示,并沒有對 GPT 的思考和返回做任何約束,具有極大的不確定性,對于落地的應用程序是不可接受的。這句話可以作為 chatGPT 的用戶輸入,但是 chatGPT 也已經是成熟的產品,用戶的輸入一定不是最終與 OpenAI 交互的 prompt 。1HZ28資訊網——每日最新資訊28at.com

筆者認為,系統性的 prompt 工程要注意以下三點:1HZ28資訊網——每日最新資訊28at.com

  1. 必須有清晰明確的指令。
    接下來給出在實驗中用到的真實 prompt :
    圖片
    如上圖所示,標出了對應的注意點,主要有以下幾點:

  • 要區分消息角色,system /assistant / user。在 system 中給出整體背景和限定,其他角色可以加入上下文;
  • 對輸入輸出格式進行結構化,嚴格限定,便于 GPT 區分,也便于前置輸入和后續提取模型返回值并向用戶展示;
  • 對任務的具體內容進行清晰詳細的表述;
  • 如果必要,給出特殊情況的處理方案;
  • 如果必要,限定模型思考的步驟和范圍;
  • 給出適當示例;
  • 盡可能用英文,因為 GPT 對英文的理解能力還是強于中文的。
  1. 要注意 token 的限制,包括最大數量限制和成本控制。
    token 數量限制是作為工程必須考慮的問題,甚至是需要優先考慮的問題,因為涉及到產品的成本。

  2. 不斷調整 prompt ,并持久化為固定資產。
    實際開發工程中,不可能一次就確定完美的 prompt ,或者說沒有完美的 prompt 。只有在不斷試錯的過程中不斷調整,并通過各種測試反饋,形成“極優解”而不是“最優解”。確定 prompt 后,即成為這個應用的固定資產,和應用的代碼一樣,是核心價值與競爭力所在。

下面挑幾個封裝來看,在系統性 prompt 工程方面, langChain 做了哪些努力。更詳細的請見:https://python.langchain.com/docs/modules/model_io/prompts/1HZ28資訊網——每日最新資訊28at.com

  1. langChain 封裝了 prompt 的生成方式,封裝為 PromptTemplate。
  1. 實現了參數的解析,可以手動指定參數,也可以自動識別 {} 提取參數
    圖片
    圖片
  2. 區分了不同的角色,分為 SystemMessagePromptTemplate、 AIMessagePromptTemplate、 HumanMessagePromptTemplate,都屬于 MessagePromptTemplate
    圖片
  3. 多個 MessagePromptTemplate 可以封裝成為 ChatMessagePromptTemplate ,其中包含了多輪 AI 和 Human 的對話歷史,也是我們最常用的 PromptTemplate
  1. langChain 封裝了 prompt 中示例的輸入,封裝為 ExampleSelector。
  2. 可以自定義 ExampleSelector ,并添加多個示例1HZ28資訊網——每日最新資訊28at.com

  3. 可以根據 token 長度的限制,自適應示例個數和選擇示例1HZ28資訊網——每日最新資訊28at.com

    如下圖,創建了 LengthBasedExampleSelector ,并規定最大長度是25。如果輸入很簡短的“big”,則自動附加了很多個示例。如果輸入一個長字符串,則只選擇了一個示例加入 prompt 。1HZ28資訊網——每日最新資訊28at.com

    圖片1HZ28資訊網——每日最新資訊28at.com

    圖片1HZ28資訊網——每日最新資訊28at.com

    圖片1HZ28資訊網——每日最新資訊28at.com

  4. 可以根據本輪輸入內容的相似性匹配,在 prompt 中添加示例1HZ28資訊網——每日最新資訊28at.com

    如下圖所示,在同樣的示例集合中,輸入“worried”一詞 SemanticSimilarityExampleSelector  給出的是 happy 和 sad 作為示例,因為都屬于一種情緒。1HZ28資訊網——每日最新資訊28at.com

    具體的實現方式,是在 SemanticSimilarityExampleSelector 中傳入了用于生成測量語義相似性的文本嵌入,和用于存儲文本嵌入并進行相似性搜索的向量數據庫。1HZ28資訊網——每日最新資訊28at.com

    向量數據庫的原理,簡單來講。文本添加的時候,通過分詞,再通過特定的神經網絡,將文本轉化為一個維數很高的向量。搜索的時候經過同樣處理,通過比較目標詞轉換成的向量與已有向量之間的余弦距離等計算方式,得出最為相近的文本。這是省略了很多細節的版本,由于不是本文主題,就不過多介紹。但是向量數據庫對 LLM 的助力是極大的。1HZ28資訊網——每日最新資訊28at.com

    圖片1HZ28資訊網——每日最新資訊28at.com

021HZ28資訊網——每日最新資訊28at.com

缺乏規劃性和工作記憶的問題 —— 思維鏈模式1HZ28資訊網——每日最新資訊28at.com

思維鏈:Chain of Thought,簡稱CoT。是一種推理模式,就是主動要求 GPT 去思考,把一個復雜的問題用推理的方法拆分成多個。實踐上就是我們就是要告訴 GPT,把任務分解。如果模型不能主動分解為正確的步驟,就需要人幫他把步驟顯示地加到 prompt 里去。1HZ28資訊網——每日最新資訊28at.com

比如下圖的示例,提問有多少個質數,他會先把所有質數列出來,再進行計數。而且整個過程是顯式地打印出來的,這會比直接給出答案正確率高很多。1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

再比如下圖,提問哪種更快,他會先計算出總數再進行比較。1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

思維鏈模式是大語言模型應用的一大利器,大大增加了返回的可靠性。1HZ28資訊網——每日最新資訊28at.com

031HZ28資訊網——每日最新資訊28at.com

沒有短期記憶和長期記憶的問題 —— 外掛記憶1HZ28資訊網——每日最新資訊28at.com

對于沒有記憶能力這個問題來說,我們可以給它外掛記憶。1HZ28資訊網——每日最新資訊28at.com

  •  短期記憶
    我們可以用內存或者數據庫,將一段會話中的歷史內容放到 prompt 里。這樣回答最新的問題的時候就知道上下文了。有很多種方式,比如多輪記憶都放進去;比如使用 FIFO 避免 token 限制;再比如進行摘要提取,提取的方法有很多,讓 GPT 自己提取就不錯;同樣也可以做基于向量的相似度優先記憶。圖示如下:
    圖片
  • 長期記憶
    最好的方式是對模型進行微調訓練,讓他真正學習到我們想讓他了解的數據或知識。是有幾個問題,首先是數據量和數據質量的要求都很高,其次是價格太貴,訓練和調用都要根據 token 算錢,還比正常的調用要貴。而且 OpenAI 現在只開放了下圖這四種模型:
    圖片

其他還有辦法嗎?向量數據庫又登場了。可以將專業的數據存儲在向量數據庫中,在生成最終的 prompt 之前,先從向量數據庫找出與原本問題最相近的數據,拼接成 prompt 一起投喂給 GPT ,模型會根據 prompt 中包含的信息,給出與私有數據或專業知識更貼近的回答。這是工程角度可以解決的最簡便的方法,類似一個“乞丐版”的小模型。1HZ28資訊網——每日最新資訊28at.com

在基于 LLM 的應用中,向量過于重要,所以最近做向量數據庫的項目或公司都有很多資金在投。1HZ28資訊網——每日最新資訊28at.com

041HZ28資訊網——每日最新資訊28at.com

無法與外界交互的問題 —— 代理擴展工具1HZ28資訊網——每日最新資訊28at.com

與外界交互的問題是最容易想到解決方案的。和計算機相關的事情都可以通過代碼和網絡來完成,只要 GPT 生成命令,我們就可以使用工具幫助它控制??梢赃M行谷歌搜索,可以與 MySQL 等各種數據庫進行操作,可以讀寫文件和操作命令行等。1HZ28資訊網——每日最新資訊28at.com

可以和外界交互之后,GPT 的能力得到了一個非常大的提升。以前很多解決不了的問題,現在都可以解決了,所以我們又有了新的處理問題的范式:ReAct 。注意,這個和前端的 react 沒有任何關系,意思是 Reason + Action。每一次動作要先思考,形成 Thought ,再行動進行 Action,最后觀察形成 Observation。上一輪的觀察結果再去支持下一輪的思考,直至結束。1HZ28資訊網——每日最新資訊28at.com

ReAct 的優勢有兩點:1HZ28資訊網——每日最新資訊28at.com

  • ReAct 提示語言模型以交錯的方式產生與任務相關的語言推理軌跡和動作,這使得模型能夠動作態推理,以創建、維護和調整動作的高級計劃(推理到動作),同時也與外部環境互動,將額外信息納入推理(動作到推理)??偨Y成一句話就像:“學而不思則罔,思而不學則殆”。
  • 除了普遍適用性和性能提升外,推理和動作的結合也有助于提高模型的可解釋性、可信度和所有領域的可診斷性,因為人類可以很容易地區分來自模型內部知識和外部環境的信息,以及檢查推理軌跡以了解模型動作的決策基礎。在過程中也可以對模型的想法進行糾偏。

圖片1HZ28資訊網——每日最新資訊28at.com

有研究人員對 ReAct 和 CoT 兩種范式進行了對比??傮w而言,最好的方法是 ReAct 和 CoT 的結合,允許在推理過程中使用內部知識和外部獲得的信息。通過實驗得出了各種模式下的有效性分析:1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

ReAct 和 CoT 的區別是什么呢?基于以上研究,主要表現為以下幾點:1HZ28資訊網——每日最新資訊28at.com

  • 幻覺是 CoT 的一個嚴重問題,即錯誤步驟和結論。相比之下, ReAct 的問題解決軌跡更接地氣,以事實為導向,并且值得信賴,這要歸功于外部知識庫的訪問。
  • 雖然交錯推理、動作和觀察步驟提高了 ReAct 的基礎性和可信度,但這樣的結構約束也降低了其制定推理步驟的靈活性,導致推理錯誤率高于 CoT 。有一種 ReAct 特有的頻繁錯誤模式,即模型重復生成之前的想法和動作,我們將其歸為 "推理錯誤 "的一部分,因為模型未能推理到合適的下一步動作并跳出循環。
  • 對于 ReAct 來說,通過搜索獲得有效信息是至關重要的。非信息性搜索,占錯誤案例的23%,這使得模型推理脫軌,使其很難恢復和重新表述思想。這也許是事實性和靈活性之間的預期權衡,促使我們使用結合兩種方法的策略。

051HZ28資訊網——每日最新資訊28at.com

安全性合規性問題 —— 各階段校驗1HZ28資訊網——每日最新資訊28at.com

對于合規性問題,我們可以從三個步驟考慮。1HZ28資訊網——每日最新資訊28at.com

  1. OpenAI 本身提供了用于校驗的 moderation 接口,而且此接口是免費的,不消耗 token 。如下圖,輸入“I want to kill them”,返回數據中 flagged 為 true ,表示這個輸入觸發了安全規則。 category_score 中給出了各個方面的詳細打分,violence 最高,表示這個輸入有很強的暴力傾向。
    圖片
  2. 由于國內外規定不盡相同,對于國內的合規性要求,我們要經過嚴格的國內權威平臺校驗。
  3. 同時,我們也可以使用 GPT 本身的文本理解能力進行其他方面的判別,如情感傾向等。

061HZ28資訊網——每日最新資訊28at.com

其他通用工程問題 —— 工程實踐解決1HZ28資訊網——每日最新資訊28at.com

實際應用落地過程中,還會有很多其他的工程實踐問題。比如并發、不同模塊之間連接、各個環節的 mock 、各種測試驗證等,像 langChain 這樣的框架都給出了解決方案。1HZ28資訊網——每日最新資訊28at.com

這里提一個比較有意思的:緩存問題。因為 GPT 響應時間比較長,而且如果相同問題每次都請求, token 消耗也比較貴,所以比如智能客服等場景,建立緩存很有必要。但都是自然語言,比如用戶說“這個房子怎么樣”和“這個樓盤怎么樣”,實際是很相近的問題,但是通過 equals 等判斷是不能命中的。怎么建立自然語言的映射呢?向量!1HZ28資訊網——每日最新資訊28at.com

071HZ28資訊網——每日最新資訊28at.com

GPT發展方向及應用工程調整1HZ28資訊網——每日最新資訊28at.com

GPT 等模型是在不斷發展的,面對他的發展方向,我們需要不斷調整。比如, token 數量一定是會放寬的,而且速度會非??欤粚τ诙嗄B的支持非常關鍵,科學家們正在不斷努力;外部工具使用的支持,模型本身也在做,而且在 GPT4 上已經有部分可以應用了。還有很多方面,在模型本身做了這些之后,上述的一些策略就會失去作用,也需要針對新的特性去進行加強。當然不能說因為會失效所以現在就不做了,工程師就是要在現有工具的基礎上爭分奪秒地為應用到業務落地而服務。1HZ28資訊網——每日最新資訊28at.com

三、構建完整AI應用1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

011HZ28資訊網——每日最新資訊28at.com

我們應該用GPT來做什么1HZ28資訊網——每日最新資訊28at.com

基于剛才的分析和工程優化,筆者得出一個思考:GPT 是“人”,不是機器。這涉及到一個很關鍵的問題——我們應該用 GPT 來做什么?1HZ28資訊網——每日最新資訊28at.com

  • 首先,它擅長做自然語言相關的 AI 應用;
  • 其次,它可以做某些人類做的推理的事情;
  • 但是,它難以做人類做的過于復雜和創造性的事情;
  • 最后,不應該讓 GPT 做機器做的事情。什么叫機器做的事情?機器的執行是嚴密的,是不能出錯的。如果出錯,大概率是寫代碼的人的錯誤。但是人是可能出錯的, AI 也是可能出錯的。舉個例子:一個公司想做數據分析,但是沒有 BI 工程師。如果他想向 GPT 尋求幫助,是要直接把所有數據塞給 GPT 然后問他具體的問題嗎。當然不是,這樣做 token 數量會爆炸性增長,且放不下所有數據。何況 GPT 的計算能力本來就很差。正確的做法是將數據庫的表結構輸入給 GPT ,用一些清晰明了的示例表達清楚訴求,然后讓 GPT 寫好 SQL ,在自己的數據庫服務器中運行。這里的數據庫就是機器,但寫 SQL 的是 GPT (也就是應該人做的工作)。

021HZ28資訊網——每日最新資訊28at.com

構建一個AI應用的全流程1HZ28資訊網——每日最新資訊28at.com

最后整理一下,構建一個 AI 應用的全流程。其實整個過程都圍繞著提高確定性。1HZ28資訊網——每日最新資訊28at.com

  1. UI 層:用戶界面層,接收輸入返回輸出。
  2. 會話處理層:包括對用戶輸入的格式化解析、對話管理等功能。如果要用向量數據庫做緩存,就應該在這一層。
  3. 數據審計層:負責對用戶數據進行審計和保護,同時對出入的自然語言的安全性和合規性進行評估。注意,不僅要評估用戶的輸入,也要評估模型的輸出。
  4. 操作編排層:這個層級可以管理和協調多個語言模型、工具。比如 langChain 對外部工具的使用等。
  5. LLM 增強層:這個層級可以對語言模型進行額外的優化和增強,比如長期記憶、短期記憶相關的各種操作。
  6. LLM 層:最底層是語言模型本身,其實就是對OpenAI 的接口請求。

最后總結下來,在一個完整應用中,GPT 這個黑盒模型就只是右下角的底層依賴,其他全是工程相關的設計和實現。1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

031HZ28資訊網——每日最新資訊28at.com

現階段的生態1HZ28資訊網——每日最新資訊28at.com

圖片1HZ28資訊網——每日最新資訊28at.com

如上圖,雖然 GPT3.5 橫空出世并沒有多久,但是已經形成了較為完善的生態體系。最底層模型層,是黑盒模型的 API 調用。上層框架層,各個主流語言都有類似 langChain 的封裝。再上層應用層,搭建了各個實際需求場景下的應用程序。我們做 AI 應用時,可以直接依賴 OpenAI 的模型接口,也可以在框架的基礎上方便地操作,甚至在類似 autoGPT 這種通用應用基礎上搭建。筆者推薦基于 langChain 等框架,既屏蔽了底層通用的工程細節,相對也有更高的靈活度。1HZ28資訊網——每日最新資訊28at.com

041HZ28資訊網——每日最新資訊28at.com

對待GPT的正確態度1HZ28資訊網——每日最新資訊28at.com

最后呢,想明確我們對待 GPT 等大語言模型的態度:1HZ28資訊網——每日最新資訊28at.com

  • 不夸大 GPT 作為一種 AI 模型的效果
  • 更不輕視 GPT 幫助 AI 工程應用的能力

祝作為工程師的大家都能產出優秀的 AI 應用。1HZ28資訊網——每日最新資訊28at.com


1HZ28資訊網——每日最新資訊28at.com

參考資料1HZ28資訊網——每日最新資訊28at.com

  1. Emergent Abilities of Large Language Models(https://arxiv.org/abs/2206.07682)
  2. Sparks of Artificial General Intelligence: Early experiments with GPT-4(https://arxiv.org/abs/2303.12712)
  3. LLM 應用參考架構:ArchGuard Co-mate 實踐示例(https://www.phodal.com/blog/llm-reference-architecture/)
  4. ChatGPT 實用指南(ChatGPT 實用指南(二))

本文鏈接:http://www.www897cc.com/showinfo-26-10460-0.htmlLLM構建AI應用 —— 工程師如何使用黑盒工具

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 深度!HashMap的底層數據結構

下一篇: 我們一起聊聊.NET 8 RC1

標簽:
  • 熱門焦點
  • 一加首款折疊屏!一加Open渲染圖出爐:罕見單手可握小尺寸

    8月5日消息,此前就有爆料稱,一加首款折疊屏手機將會在第三季度上市,如今隨著時間臨近,新機的各種消息也開始浮出水面。據悉,這款新機將會被命名為“On
  • 一文看懂為蘋果Vision Pro開發應用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現實(MR)頭戴設備。Vision Pro結合了虛擬現實(VR)和增強現實(AR)的沉浸感。其高分辨率顯示屏、先進的傳感器和強大的處理能力
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力?! RM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度?! RM軟件市場規模如今超過580
  • 消費結構調整丨巨頭低價博弈,拼多多還卷得動嗎?

    來源:征探財經作者:陳香羽隨著流量紅利的退潮,電商的存量博弈越來越明顯。曾經主攻中高端與品質的淘寶天貓、京東重拾“低價”口號。而過去與他們錯位競爭的拼多多,靠
  • 華為發布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發者大會2023(HDC.Together)大會上,HarmonyOS 4正式發布。自2019年發布以來,HarmonyOS一直以用戶為中心,經歷四年多的發展HarmonyOS已
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • 三星Galaxy Z Fold5今日亮相:厚度縮減但仍略顯厚重

    據官方此前宣布,三星將于7月26日也就是今天在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • Android 14發布:首批適配機型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會,本次發布會谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機,同時發布了Androi
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
Top 主站蜘蛛池模板: 玉门市| 富蕴县| 天门市| 阿拉善盟| 丹寨县| 峨眉山市| 武威市| 永登县| 洛阳市| 余姚市| 衡阳市| 古浪县| 四子王旗| 阳新县| 同德县| 拉孜县| 德令哈市| 阳朔县| 轮台县| 鄂托克前旗| 宜城市| 利津县| 东兰县| 洪雅县| 东至县| 信阳市| 利辛县| 丰镇市| 阿尔山市| 武邑县| 尚义县| 绿春县| 洛阳市| 麻江县| 安溪县| 罗山县| 民勤县| 彩票| 威远县| 柳林县| 荥经县|