03-為啥大模型LLM還沒能完全替代你?

来源:https://www.cnblogs.com/JavaEdge/p/18151682
-Advertisement-
Play Games

1 不具備記憶能力的 它是零狀態的,我們平常在使用一些大模型產品,尤其在使用他們的API的時候,我們會發現那你和它對話,尤其是多輪對話的時候,經過一些輪次後,這些記憶就消失了,因為它也記不住那麼多。 2 上下文視窗的限制 大模型對其input和output,也就是它的輸入輸出有數量限制。為了保護它的 ...


1 不具備記憶能力的

它是零狀態的,我們平常在使用一些大模型產品,尤其在使用他們的API的時候,我們會發現那你和它對話,尤其是多輪對話的時候,經過一些輪次後,這些記憶就消失了,因為它也記不住那麼多。

2 上下文視窗的限制

大模型對其input和output,也就是它的輸入輸出有數量限制。為了保護它的,這計算能力或保護相當於一個帶寬概念,如說openAI之前只有32k。最新上下文視窗擴張到128k,大概相當於一本《Clean Code》,這個角度來說,這個問題其實已被解決。

但其他很多模型上下文視窗還是比較小,就有很多限制。如不可發一長段prompt或提示詞,也不可不停在那對話,你就需要註意計算你整個視窗token消耗,避免被截斷,可能就沒有辦法去輸入和輸出。

3 實時信息更新慢,新舊知識難區分

基於預訓練的模型,拿大量數據來在神經網路的訓練,然後形成模型,它的知識庫就依賴於拿去訓練的這些材料。

底模數據較小時,就會出現幻覺,胡亂回答。

4 無法靈活的操控外部系統

很多大模型只可對話,但無法作為一個外腦去操作外部的一些系統。雖然chatgpt出現插件機制和插件開發工具。但實際使用後,它還是相當於提供一個非常標準的東西,定製開發或更深度融合較難。

比如想用大模型作為一個外腦操控智能家居系統、操控汽車,都需要有一些連接器和框架幫助。

5 無法為領域問題提供專業靠譜的答案

你問他一些泛泛而談的東西,他都能回答很好,但是你一旦問他一個非常專業問題,他就回答不上來,因為這塊兒的專業問題,他可能不涉及。雖然他回答的答案是看起來是像一個人在回答,但一眼就能看出來那個答案不對。

針對這些問題,業界基本提出兩種解決方案,但也都不能完全解決。

6 解決方案

6.1 微調(Fine-tunning)

主要解決的就是專業問題,專業知識庫問題,包括知識更新問題。

就是把這些數據喂給我們的大模型啊,再做一次訓練。基本上一次訓練也無法解決這個知識感知信息問題,它只能更新它的資料庫。成本較高。因為相當於把你的數據問喂給OpenAI,然後全量訓練一次,成本相當高。

適用場景

做一些自有的大量數據的行業模型。所謂行業模型,如某專業領域的公司,積累的大量數據,如製藥公司在製藥過程積累大量製藥數據,你希望這個數據以AI智能方式指導你的工作,就可用這種方式。把你的這個數據去喂給喂給大模型,對它再做一次調教。

這涉及一個概念

MaaS

module as a service,模型即服務。通過這個微調在大模型基礎上灌入行業數據,實現這種行業模型,就適合手裡擁有大量行業數據的。

這也只能解決領域數據專業性和知識庫更新問題,無法解決操作外部系統、記憶能力、視窗擴張。

6.2 提示詞工程(prompt engineering)

通過上下文提示詞設計引導。在LLM基礎上把這種專業數據通過:

  • Embedding嵌入
  • prompt提示詞

這兩個工具實現精準的專業回答,同時可實現:

  • 實時系統的感知
  • 操作外部系統
  • 記憶增強
  • 視窗控制擴張

好處明顯,無需訓練,不用去在LLM上面做訓練。

適用場景

適合數據樣本比較少的這種場景。如你有一本書,你希望說從這本書上去得到一些信息,但是你又不想去讀它,你希望有個機器人,你問他問題,他直接從書裡面找到答案。這種就可以把書的數據作為專業數據,然後嵌入到我們的這個LLM,然後再通過prompt方式去引導,得到一個精確的答案。

這過程中間甚至還可把這些答案,和我的印表機系統連接,可直接列印。

兩種方式都可解決大模型問題,但適用場景不同,各自擅長點也不一樣,很多時候,兩者結合用效果較好。

微調,現在已經把門檻降到很低了,可直接把。把你想要微調的數據直接upload上去就可,但閉源大模型的數據安全的問題,數據所有性問題和成本問題。

提示詞工程適合開源大模型,如chatglm,在本地部署大模型,再做這種詞嵌入和提示詞引導,就可本地實現專業行業模型。但底層LLM可能沒用強大的,可能只是一個6b13b,它可能在語言組織或說一些智能度上稍低。代表就是 langchain。

7 總結

大模型的這幾個問題都有,有兩套這樣的解決方案:

  • Model as aSerivce 模型即服務通過“微調”技術,在LLM基礎上灌入行業數據,實現行業模型
  • promptengineering提示詞工程,通過上下文提示詞設計31號LM輸出精確答案

都有自己的優劣點,然後都有自己適用的場景。所以用什麼方案呢?其實是看我們這個這個整個的這個項目的情況,專欄偏向第二種提示詞工程, 即langchain框架的方式。

關註我,緊跟本系列專欄文章,咱們下篇再續!

作者簡介:魔都技術專家,多家大廠後端一線研發經驗,在分散式系統、和大數據系統等方面有多年的研究和實踐經驗,擁有從零到一的大數據平臺和基礎架構研發經驗,對分散式存儲、數據平臺架構、數據倉庫等領域都有豐富實踐經驗。

各大技術社區頭部專家博主。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。

負責:

  • 中央/分銷預訂系統性能優化
  • 活動&優惠券等營銷中台建設
  • 交易平臺及數據中台等架構和開發設計
  • 車聯網核心平臺-物聯網連接平臺、大數據平臺架構設計及優化

目前主攻降低軟體複雜性設計、構建高可用系統方向。

參考:

本文由博客一文多發平臺 OpenWrite 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 其他章節請看: vue3 快速入門 系列 他API 前面我們已經學習了 vue3 的一些基礎知識,本篇將繼續講解一些常用的其他api,以及較完整的分析vue2 和 vue3 的改變。 淺層響應式數據 shallowRef shallow 中文:“淺層的” shallowRef:淺的 ref()。 先 ...
  • 零代碼指的是藉助VuePress 通過簡單配置,幫助我們生成靜態網站。 零成本指的是藉助GitHub Pages 或者Gitee Pages部署網站,讓互聯網上的小伙伴能訪問到它 ...
  • XQuery 是 XML 數據的查詢語言,類似於 SQL 是資料庫的查詢語言。它被設計用於查詢 XML 數據。 XQuery 示例 for $x in doc("books.xml")/bookstore/book where $x/price > 30 order by $x/title retu ...
  • 一、代碼分割 一個大型前端應用,如果所有代碼都放在單一文件,體積會特別大,下載時間長,白屏時間久,用戶體驗差。 代碼分割是一種有效的優化方式。提前把代碼切分為多個小塊,只下載當前必需的部分,用到哪塊下載哪塊。就像吃自助餐一樣,吃多少拿多少。 早期的代碼分割一般通過 webpack 實現。隨著 ES6 ...
  • splice在英語中的意思是拼接,在實際的代碼使用中,splice就在數組中起到了一個拼接的作用 使用方法 splice(x,y,a,b,c,...) 其中x、y為數字,a、b、c為新添加的項,意思是從數組的第x項開始刪除y項,併在其中添加a、b、c...,其中x、y必填,abc可不填 圖像理解 現 ...
  • 前言 這學期剛剛接觸面向對象程式設計,使用的是java語言。在此之前只接觸過c語言。以我目前的學習進程來看二者的差別更多體現在面向對象的其中一個基本特性上,即封裝性。在c語言中幾乎所有內容都是公開的,java可以有效得規避這點。 學習的知識點 1.知道了類間關係。面向對象程式設計中要根據實際情況合理 ...
  • 大家好,我是老貓。今天和大家分享一下程式員日常的繪圖思路,以及一些老貓日常使用的繪圖工具。 為什麼要畫圖? 我們在進行系統設計的時候,為了更加具象地呈現系統的輪廓以及各個組件或者系統之間的關係和邊界以及工作流程。我們就會畫邏輯架構圖,模塊圖、流程圖、時序圖等等。 在日常開發中,軟體設計圖是一種非常好 ...
  • 發佈訂閱模式是怎樣的? 現在市面上流行的很多消息中間件就是採用的該種模式,這種模式 在實際業務中 將 事件發佈者(Publisher) 與 事件訂閱者 (Subscriber)通過額外的事件通道(Event Channel)來解耦,其基本原理與先前提到的觀察者模式有些許類似,但發佈訂閱模式額外存在了 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...