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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...