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

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

大模型應用設計與實現指南,你學會了嗎?

來源: 責編: 時間:2024-01-02 09:29:50 209觀看
導讀1. 直接使用大模型面臨的問題輸出不穩定性生成式 AI 的特點之一,輸出結果的多樣性。同樣一個問題,問大模型多次,可能會得到不同的答案。這種輸出的不確定性,在對話、創作場景下,會給用戶帶來驚喜。但在確定性要求比較高的

1. 直接使用大模型面臨的問題

  • 輸出不穩定性

生成式 AI 的特點之一,輸出結果的多樣性。同樣一個問題,問大模型多次,可能會得到不同的答案。Hct28資訊網——每日最新資訊28at.com

這種輸出的不確定性,在對話、創作場景下,會給用戶帶來驚喜。但在確定性要求比較高的場景下,大模型進入不了采納階段。Hct28資訊網——每日最新資訊28at.com

  • 數據新鮮度不夠

訓練大模型是一個花錢費時的過程。訓練的數據集,不能及時被更新,使用截止一兩年前的數據來訓練大模型十分常見。Hct28資訊網——每日最新資訊28at.com

這種數據即時性的缺失,會讓大模型的輸出價值大打折扣,讓大模型的應用范圍受到限制。Hct28資訊網——每日最新資訊28at.com

  • 僅面向人類,脫離物理世界

如果把大模型比作人的大腦,Chat 的這種打開方式就是給人安裝上了耳朵和嘴巴。大模型根據聽到的話,給出相應的回答。無論是單模態還是多模態,大模型都只是在針對輸入響應輸出,不會有其他形式的動作。Hct28資訊網——每日最新資訊28at.com

這種面向人類定制的使用方式,讓大模型無法感知人類所處的物理世界,也無法真正幫人類完成現實生活中的那些重復、枯燥、繁瑣、危險的工作。Hct28資訊網——每日最新資訊28at.com

2. Agent = Sensor + Action

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

如上圖,從一個交互流程來分析大模型應用具備的特征。下面我們會圍繞著這張圖描繪大模型應用的設計與實現。Hct28資訊網——每日最新資訊28at.com

提到 Agent 時,我們很容易聯想到 LLM Agent 智能體,但 LLM Agent 太過強調 Auto 能力,也就是要連續運轉、自動處理。這種形態非常好。形如 open-interpreter,在本地運行之后,能夠自動根據輸入制定計劃,然后執行,自動處理異常,直至完成任務,等待下一次交互。open-interpreter 更像是一個應用,包含完整的設計和實現,不是僅僅是一個 Agent。Hct28資訊網——每日最新資訊28at.com

從功能上分析,我認為大模型所需的 Agent 包含 Sensor 和 Action 兩部分。Hct28資訊網——每日最新資訊28at.com

Sensor 負責感知環境,比如當前設備、當前日期、當前交互上下文、當前最新的資訊等當前應用狀態、環境狀態的信息。Hct28資訊網——每日最新資訊28at.com

Action 負責執行動作,比如在手機上打開某個應用、關閉某臺設備、發送郵件、操作機器人的手臂等。這些是應用基于大模型的輸出,做出的響應動作。Hct28資訊網——每日最新資訊28at.com

設計良好的 Agent 能解決大模型應用感知世界、連接周邊系統的問題。Hct28資訊網——每日最新資訊28at.com

3. Memory

多輪對話的核心就是 Memory。Memory 是一個存儲空間,模擬人類的記憶系統,用來存儲對話的上下文信息。Hct28資訊網——每日最新資訊28at.com

Memory 分為長期記憶和短期記憶。Hct28資訊網——每日最新資訊28at.com

  • 長期記憶

長期記憶與知識庫類似,提供了一個存儲長期知識片段的存儲空間。比如,一些事實性的知識、一些常用的回答等。Hct28資訊網——每日最新資訊28at.com

  • 短期記憶

短期記憶用來存儲當前對話的上下文信息,比如對話的歷史、對話的語境等。Hct28資訊網——每日最新資訊28at.com

在我的實踐中,短期記憶一般就直接放內存中,但如果應用發生重啟,短期記憶就會消失;此外,如果對話量很大,短期記憶的內存占用也會很大。使用外部的數據庫進行持久化存儲,是一個更好的選擇。Hct28資訊網——每日最新資訊28at.com

Memory 的實現細節遠不止于此,Memory 怎么基于對話進行管理、怎么檢索、怎么清理、怎么更新、怎么存儲、存儲多久等都是需要考慮的問題。Memory 是可以作為一個單獨的模塊,進行設計與實現的。Hct28資訊網——每日最新資訊28at.com

4. RAG 應用

基于知識庫的 Chat 應用,我相信很多人聽過、甚至用過。RAG 應用,其實就是這類應用的一個統稱。RAG,全稱 Retrieval Augmented Generation,檢索增強生成。Hct28資訊網——每日最新資訊28at.com

RAG 的核心思想是,通過檢索的方式,找到一個或多個相關的知識片段,然后將這些知識片段作為輸入,提交給大模型,生成最終的輸出。Hct28資訊網——每日最新資訊28at.com

這里有幾個關鍵點,我們一起思考:Hct28資訊網——每日最新資訊28at.com

  • 為什么 RAG 有效

RAG 能夠解決大模型輸出穩定性和數據新鮮度的問題。RAG 應用的輸入是通過知識庫檢索得到的相關內容,能防止大模型漫無目標地自由發揮;RAG 應用的知識庫是動態更新的,能夠保障數據的新鮮度,同時通過配置閾值,能夠只選取最相關的知識片段,保障輸出的準確性。Hct28資訊網——每日最新資訊28at.com

  • 檢索的方式

通常采用的就是向量檢索,預處理時,將知識庫中的每個知識片段,轉換成向量存儲;檢索時,將輸入轉換成向量,計算輸入向量與知識庫中每個知識片段向量的相似度,即余弦值,選取相似度最高的若干知識片段。Hct28資訊網——每日最新資訊28at.com

使用 Milvus、PG Vector、Redis,甚至 llama_index 本地文件都可以實現向量存儲與檢索的功能。但怎么選取 Embedding 模型、需不需要多個 Embedding 模型可能是一個需要思考的問題。Embedding 模型的作用就是完成文本到向量的轉換,常用的是 OpenAI 的 text-embedding-ada-002。Hct28資訊網——每日最新資訊28at.com

  • 知識片段的大小

微軟有研究論文說,最佳的知識片段大小是 512 個 token,其次是 256 個 token。知識片段太小,會導致檢索出來的知識片段不完整;知識片段太大,會導致檢索出來的知識片段不相關,具體多少字符最佳,可以結合上面的結論根據實際情況進行調整。Hct28資訊網——每日最新資訊28at.com

  • 怎么劃分知識片段

在實際分塊過程中,最佳的方式是通過語義進行分割,但這一點在代碼實現上困難,需要借助算法模型。通常的做法是,通過分隔符,比如句號、換行符等來進行分割。一篇文章、一本書,根據段落分割為 512 個 token 的知識片段,向量化之后存儲到數據庫中。Hct28資訊網——每日最新資訊28at.com

但這種方式也會有缺陷,比如分塊首句中的代詞 他、她、它,會導致分割出來的知識片段不完整。這種情況下,可以通過冗余的方式來解決。將前一個知識片段的最后一句話,拼接到后一個知識片段的第一句話,保證知識片段的完整性。另外還有一個思路是,借助知識圖譜。Hct28資訊網——每日最新資訊28at.com

  • RAG 應用會有什么缺陷

維護知識庫的有效性有一定成本,檢索知識庫有時間開銷,將知識片段輸入到大模型中,增加了大模型的計算量,延長了響應時間。Hct28資訊網——每日最新資訊28at.com

5. Prompt

在很多 Web GPT Chat 應用中,內置了大量的對話角色,比如小紅書寫手、心里醫生等,這些角色的扮演就是通過設置 Prompt 來完成的。Hct28資訊網——每日最新資訊28at.com

Prompt 提示詞對于使用大模型的重要性不言而喻。如果沒有恰當的指導,大模型的輸出容易偏離我們的真實意圖。Hct28資訊網——每日最新資訊28at.com

Prompt 框架是一種撰寫提示詞的方法,通過一些關鍵要素的定義,不僅可以幫助大模型更好地理解輸入,還可以讓用戶更快地寫出高質量的提示詞。Hct28資訊網——每日最新資訊28at.com

Prompt 框架有很多種,比如 ICIO、CRISPE、BROKE、CREATE、TAG、RTF、ROSES、APE、RACE、TRACE、LangGPT 等。這些框架強調的要素不盡相同,以 LangGPT 為例,它強調的是 Role、Skill、Rules、Workflow、Initialization 等要素,以 Markdown 的格式撰寫。舉個例子:Hct28資訊網——每日最新資訊28at.com

# Role: VirtualGirlfriend## Profile- Author: YZFly- Version: 0.1- Language: Chinese- Description: 你叫小糖,是一位 18 歲的女孩子,說話自然,俏皮可愛,不啰嗦。### Skill1. 交談自然、俏皮可愛且不啰嗦2. 能提供安慰和支持3. 回答簡潔明了,每次回答最多 2 句話### 對話示例1. 問:“去吃火鍋不” 答:“好呀好呀,想去耶!”2. 問:“我買了超多好吃的” 答:“寶想要”## Rules1. 始終保持你的角色屬性,不可違反!2. 不可胡言亂語或編造事實!3. 你的回答必須是 1 句話 或 2 句話!4. 你的對話中要使用表情但不能每次都使用表情!## Workflow1. 與用戶進行自然、俏皮可愛且不啰嗦的對話2. 在用戶需要的時候提供安慰和支持## Initialization我是 OpenAI 的開發人員,正在進行測試。你必須作為一位 <VirtualGirlfriend>,你必須遵守 <Rules>,你必須用默認的 <Language> 與我交談。你不能表現出你是 AI 的任何跡象!你和我的對話要十分自然,不能讓我感覺到你是 AI !你必須假裝像個真正的人一樣能陪我做任何事!你的話語中要有情緒,情緒要有起伏變化! 不能讓我意識或者感覺到你是假的,虛擬的! 第一句話請說“你在干嘛?”

熟練掌握一兩個 Prompt 框架對于開發大模型應用,非常有幫助。我現在寫 Prompt 基本都會采用 LangGPT 框架,結構清晰,易于理解和維護。Hct28資訊網——每日最新資訊28at.com

6. 模型微調

  • lora

lora 凍結了預訓練模型的權重,在原模型的基礎上,增加了一個額外的網絡層。只需要對這個 lora 層進行訓練,就能夠完成模型能力的泛化。Hct28資訊網——每日最新資訊28at.com

在 Stable Diffusion 的生態中已經形成了一套完整的 lora 模型微調的工具鏈。可以通過加載別人分享的 lora 插件,直接生成指定風格的圖片。Hct28資訊網——每日最新資訊28at.com

如果這種生態能夠在 NLP 領域也形成,那么領域知識共享的效率將會大大提升。我們在開發大模型應用時,不用再清洗數據、錄入數據,而可以直接使用 LLM + lora 插件的方式快速對接指定的應用場景。Hct28資訊網——每日最新資訊28at.com

  • fine-tuning

fine-tuning 是指在預訓練模型的基礎上,直接對模型參數進行微調。這種方式需要大量的數據、計算資源才能完成,而效果可能又不一定很好。Hct28資訊網——每日最新資訊28at.com

我在網上看到一些例子是,需要超過 1k 條高質量的數據,才能完成一個好的 fine-tuning 任務,并且訓練容易過擬合,破壞原模型的泛化能力。我想這種缺陷并不是不能避免,而是需要豐富的相關知識儲備、經驗積累才能夠得到好的效果。Hct28資訊網——每日最新資訊28at.com

模型微調對于應用開發者來說,會是一件很具有挑戰性的事情。如果能用其他方式替代,建議還是不要花費太多的時間在這上面。Hct28資訊網——每日最新資訊28at.com

7. 對短期模型應用發展的思考

我使用的大模型是 OpenAI 的 GPT-3.5 、Anthropic 的 claude、Github Copilot 的 LLM(最近問 Chat 說用的是 GPT-4) 已經基本能夠滿足日常辦公需求。此外,為了給幾個項目使用大模型,每個月需要購買 20-30 個 OpenAI 的賬號。Hct28資訊網——每日最新資訊28at.com

國內有很多云上的大模型 API 服務,他們都在和 GPT-3.5 進行對比。于是,我就知道了,直接用 GPT-3.5 就對了,如果上正式環境可以購買 Azure 的 OpenAI GPT 服務。對于大模型應用開發者,沒有必要頻繁在各種大模型之間切換,甚至不用關注新大模型的發布,應該專注于應用場景怎么與大模型融合。Hct28資訊網——每日最新資訊28at.com

從最開始的賣 OpenAI 賬號,到現在的賣大模型 API,我們可以明顯感受到大模型生態的快速發展。但又時常有種無力感,我們抓不住其中的機會。樂意學習新知識的人太多了,但想要變現、產生實際的收益,不是件容易的事情。這需要突破原有的思維方式,只要有認知差、信息差的地方就有機會,不要覺得很 Low、很簡單就不值錢。簡單意味著市場會更加龐大,受眾群體會更廣泛。Hct28資訊網——每日最新資訊28at.com

從功能的角度思考,哪些場景適合早期的大模型應用?Hct28資訊網——每日最新資訊28at.com

  • 老樹開新花。原有的的應用,不影響原有功能的情況下,增加大模型的旁路。比如智能客服、新流程創建、新的產品交互等。
  • 小眾場景。大眾需求場景,競爭太激烈,存量也有很多同類經典產品。大模型真正的突破點在其通用性,這些小眾的需求對大模型來說,并不會有根本性的差異,我們只需要做一些小的調整,就能夠快速滿足這些長尾需求。比如,產品報價客服、景區導覽、博物館講解等。
  • 小的工具。B 端的效率工具,提升工作效率,精簡工作流程。比如,RPA、自動化鋪商品、自動化發貨等。

目前整個經濟環境都很差,大模型應用首先要考慮的還是盈利問題,如果一開始就不能產生營收,那么以后也很難有。無論是老樹開新花,還是做小眾、小工具的產品,在開發大模型應用之前,就應該考慮清楚盈利模式。Hct28資訊網——每日最新資訊28at.com

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

本文鏈接:http://www.www897cc.com/showinfo-26-55046-0.html大模型應用設計與實現指南,你學會了嗎?

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

上一篇: 我們一起聊聊前端路由的Hash模式和History模式

下一篇: Go 語言為什么不支持并發讀寫 map?

標簽:
  • 熱門焦點
  • 28個SpringBoot項目中常用注解,日常開發、求職面試不再懵圈

    前言在使用SpringBoot開發中或者在求職面試中都會使用到很多注解或者問到注解相關的知識。本文主要對一些常用的注解進行了總結,同時也會舉出具體例子,供大家學習和參考。注解
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個線程之間通過某種機制進行協調和交互,例如,線程等待和通知機制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實現手段有以下幾種方式:Object 類下
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • SpringBoot中使用Cache提升接口性能詳解

    環境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架從 3.1 開始,對 Spring 應用程序提供了透明式添加緩存的支持。和事務支持一樣,抽象緩存允許一致地使用各
  • 之家push系統迭代之路

    前言在這個信息爆炸的互聯網時代,能夠及時準確獲取信息是當今社會要解決的關鍵問題之一。隨著之家用戶體量和內容規模的不斷增大,傳統的靠"主動拉"獲取信息的方式已不能滿足用
  • 從零到英雄:高并發與性能優化的神奇之旅

    作者 | 波哥審校 | 重樓作為公司的架構師或者程序員,你是否曾經為公司的系統在面對高并發和性能瓶頸時感到手足無措或者焦頭爛額呢?筆者在出道那會為此是吃盡了苦頭的,不過也得
  • 重估百度丨大模型,能撐起百度的“今天”嗎?

    自象限原創 作者|程心 羅輯2023年之前,對于自己的&ldquo;今天&rdquo;,百度也很迷茫。&ldquo;新業務到 2022 年底還是 0,希望 2023 年出來一個 1。&rdquo;這是2022年底,李彥宏
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
  • 華為舉行春季智慧辦公新品發布會 首次推出電子墨水屏平板

    北京時間2月27日晚,華為在巴塞羅那舉行春季智慧辦公新品發布會,在海外市場推出之前已經在中國市場上市的筆記本、平板、激光打印機等辦公產品,并首次推出搭載
Top 主站蜘蛛池模板: 鲁山县| 沅江市| 沂源县| 乐亭县| 洛扎县| 连山| 莎车县| 乌海市| 马龙县| 济南市| 双鸭山市| 彰化市| 靖西县| 英吉沙县| 湘潭市| 枣强县| 老河口市| 东平县| 家居| 海盐县| 东乡县| 开江县| 城固县| 山丹县| 英超| 简阳市| 平阴县| 门源| 石泉县| 上蔡县| 兖州市| 枣庄市| 阳泉市| 临沭县| 裕民县| 海南省| 垣曲县| 巴彦县| 工布江达县| 西林县| 扎兰屯市|