Other -- ChatGPT 原理

本文為個人理解,幫助小白(本人就是)了解正在創建新時代的 AI 產品,如文中理解有誤歡迎留言。

[參考鏈接--](https://baijiahao.baidu.com/s?id=1765556782543603120&wfr=spider&for=pc)

1. 了解一些基本概念

  1. 大語言模型(Large Language Model,LLM)
    ? ? ? ?
    是指使用大量文本數據訓練的深度學習模型,可以生成自然語言文本或理解語言文本的含義。大語言模型可以處理多種自然語言任務,如文本分類、問答、對話等,是通向人工智能的一條重要途徑。
  2. GPT(Generative Pre-Trained Transformer,生成式預訓練變換器
    ? ? ? ?是一種基于互聯網的、可用數據來訓練的、文本生成的深度學習模型。
  3. Transformer
    Transformer 模型是一種基于自注意力機制的深度學習模型,它可以用于各種自然語言處理任務.
  4. 語言信息處理(LIP,Language Information Processing)
    ? ? ? ?
    是語言學與計算機科學交叉形成的一門以計算語言學理論為基礎,具有廣泛應用價值的語言工程學科,是應用語言學的重要組成部分。有時也稱作自然語言處理(NLP, Natural Language Processing)自然語言理解(NLU, Natural Language Understanding)術語辨析:自然語言處理是上位概念,包括理解和生成,而語言信息處理可以分別理解為語言信息 | 處理” 和 “語言 | 信息處理”。 前者指的是對各種語言信息進行處理, 后者指對語言本身進行信息化的處理。
    NLP 相關產品(如 ChatGPT)將其拆分為兩個關鍵步驟:自然語言理解(NLU,Natural Language Understanding)和自然語言生成(NLG,Natural Language Generation)。下文詳解。
  5. LLM 和 NLP 間關系
    ? ? ? ?在 NLP 領域,LLM 被視為一種重要的基礎模型,它可以為各種自然語言處理任務提供強大的支持。LLM 與 NLP 之間有著密切的聯系。LLM 可以通過學習大量文本數據來掌握語言知識和語法規則,這使得它在許多 NLP 任務中表現出色。例如,在文本分類、情感分析、文本摘要、機器翻譯等任務中,LLM 都展現出了極高的性能和效果。此外, LLM 還可以從海量文本中提取語義信息和知識,這有助于提高 NLP 應用的準確性和效率。
  6. GPT 和 LLM 關系
    ? ? ? ?GPT 模型可以看作是 LLM 的一種實現方式。GPT 模型使用? ? Transformer 結構進行訓練,這種結構可以學習文本生成過程中的長距離依賴關系和上下文信息。通過訓練 GPT 模型,我們可以生成高質量的文本,這有助于提高 NLP 應用的效率和準確性。
    ? ? ? ?其次,LLM 和 GPT 模型之間也存在一些差異。GPT 模型強調生成文本的能力,它通過預測文本的后續內容來生成文本。而 LLM 則更注重從海量文本中學習語言規律和知識,它可以通過無監督學習來提高性能和效率。因此,在具體應用中,我們需要根據任務的不同來選擇適合的模型。
  7. Transformer 和 LLM 及 GPT 間的關系
    Transformer是 LLM和 GPT 模型的基礎。無論是 LLM 還是 GPT 模型,它們的核心結構都是基于 Transformer 模型搭建的。通過在海量文本數據上進行訓練,Transformer模型可以學習到文本中的語義信息和語法規則,從而為各種NLP任務提供支持。
  8. 傳統 AI 和現在的基于 LLM 的 AI 的聯系
    ? ? ? ?傳統 AI也要訓練,但專注于某一個領域,因此只能處理特定問題。也就是一個完整的模型數據量相對較小。如很會下棋的 AlphaGO,它的輸入可能就是一個開始下棋的命令。
    那么以傳統 AI 理念衍生出的 NLP 相關產品概念拆分為兩個關鍵步驟:自然語言理解(NLU)自然語言生成(NLG,Natural Language Generation
    如:
    ? ? ? ?以 SIRI 為代表的人工智能助手統一了 NLU 層,用一個模型理解用戶的需求,然后將需求分配給特定的 AI 模型進行處理,實現 NLG 并向用戶反饋。然而,這種模式存在顯著缺點。如微軟官方圖例所示,和傳統 AI 一樣,用戶每遇到一個新的場景,都需要訓練一個相應的模型,費用高昂且發展緩慢,NLG 層亟需改變。
    ? ? ? ?基于 LLM 的 AI也要訓練,但專注的是通用領域(也就是人類所能了解的所有知識,如下象棋、畫圖等等),那么也就意味著它需要進行各種不同領域的訓練(這個訓練就基于 LLM )。同時這種模型都是針對用戶輸入的文本或語音進行理解處理后回復相應的結果給用戶。
    如:

    ? ? ? ?大型語言模型(如GPT)采用了一種截然不同的策略,實現了 NLG 層的統一。秉持著“大力出奇跡”的理念,將海量知識融入到一個統一的模型中,而不針對每個特定任務分別訓練模型,使 AI 解決多類型問題的能力大大加強。
    以 GPT-3 為例,其訓練數據源為互聯網的各種精選信息以及經典書籍,規模達到了?45 TB,相當于閱讀了一億本書。GPT-4的模型參數量甚至達到了GPT-3.5的五倍之多,這也解釋了為何GPT-4表現得如此聰明(因為它啥都知道啊,你要是看過那么多資料并且全都記住,那你比它牛多了,別人問你啥你都能多少知道點)。??????
    ? ? ? ?總結:
    ? ? ? ?由上可知以特定領域數據訓練實現的 NLP 相關的 AI 產品一套下來占用空間很小,響應速度會快,而基于 LLM 實現的 NLP 相關的 AI 產品占用空間會特別大,響應速度可想而知會相對較慢。

2. 了解什么是 NLP 類的 AI 產品(以 ChatGPT 為例)

????????ChatGPT 是基于 GPT 模型的 AI 聊天產品,一般也稱為 GPT。也就是上文提到的 NLP 相關的 AI 產品。輸入主要是人類輸入的文本或語音,然后進行相應的處理并返回結果給用戶。

3. 了解 NLP 類 AI 產品的實現原理(?ChatGPT 為例)

上文提過 NLP 由 NLU 和 NLG 組成。

NLU 都是 基于 LLM 的,大都大差不差,但是注意這里有一個 語言類型的區別,即 中文 和 英文的區別,如 ChatGPT 等美國的 NLP 產品的訓練數據主要是英文,而國內如文心一言基于中文的數據,那么輸入相同的文本或語音就會有很大的差別,如果大家都用同一個數據源去訓練,也會因為不同公司對?NLG 的不同實現而呈現出不同的結果。

3.1 理解 NLG (ChatGPT為例)

? ? ? ? 不同 NLP 產品類公司產品好不好用的最大區別就是 NLG 的實現區別,也是這類公司的核心技術。

  1. 一個簡單地 NLG 實現的例子
    AI 本質上就是個逆概率問題。以 GPT 的自然語言生成實際上是一個基于概率的“文字接龍”游戲。我們可以將GPT模型簡化為一個擁有千億參數的“函數”。當用戶輸入“提示詞(prompt)”時,模型按照以下步驟執行:
    ①將用戶的“提示詞”轉換為token(準確地說是“符號”,近似為“詞匯”,下同)+ token的位置。
    ②將以上信息“向量化”,作為大模型“函數”的輸入參數。
    ③大模型根據處理好的參數進行概率猜測,預測最適合回復用戶的詞匯,并進行回復。
    ④將回復的詞匯(token)加入到輸入參數中,重復上述步驟,直到最高概率的詞匯是【END】,從而實現一次完整的回答。這種方法使得GPT模型能夠根據用戶的提示,生成連貫、合理的回復,從而實現自然語言處理任務。
  2. 上下文理解的關鍵技術
    GPT 不僅能理解用戶當前的問題,還能基于前文理解問題背景。這得益于 Transformer 架構中的“自注意力機制(Self-attention)”。該機制使得 GPT 能夠捕捉長文本中的依賴關系。通俗地說,GPT 在進行文字接龍判斷時,不僅基于用戶剛輸入的“提示”,還會將之前多輪對話中的“提示”和“回復”作為輸入參數。然而,這個距離長度是有限的。對于 GPT-3.5 來說,其距離限制為 4096 個詞匯(tokens);而對于 GPT-4,這個距離已經大幅擴展至 3.2 萬個tokens。
    這也就是不同公司 NLP 類產品間存在差異的地方,

? ? ? ?3. 等等其他技術

當然這兩個只是很小的例子來幫助理解 NLP 產品 NLG 的實現。

4. 基于大模型的 ChatGPT 為何如此驚艷

①自監督學習:利用海量的文本進行自學,讓 ChatGPT 具備預測上下文概率的基本能力。

②監督學習:人類參與,幫助 ChatGPT 理解人類喜好和期望的答案,本質為微調(fine-tune)【不同公司?NLG 的實現】。

③強化學習:根據用戶使用時的反饋,持續優化和改進回答質量。

其中,自監督學習最關鍵。因為,大模型的魅力在于其“大”——大在兩個方面:

訓練數據量大

即訓練大模型的數據規模,以ChatGPT -3為例,其訓練數據源為互聯網的各種精選信息以及經典書籍,規模達到了?45TB相當于閱讀了一億本書

模型參數量大

參數是神經網絡中的一個術語,用于捕捉數據中的規律和特征。通常,宣稱擁有百億、千億級別參數的大型模型,指的都是其參數量。

追求大型模型的參數量是為了利用其神奇的“涌現能力”,實現所謂的“量變引起質變”。舉例來說,如果要求大模型根據emoji猜電影名稱,如代表《海底總動員》。可以看到,當模型參數達到千億級別時,匹配準確度大幅度提升。這表明模型參數量的增加對提高模型表現具有重要意義。

?

? 只有當模型參數達到千億級別,大模型的優勢才得以凸顯。GPT 之外的其他大模型,也有類似的表現。

為什么?

? ? ? ? 目前主流觀點認為,要完整完成一個任務,實際上需要經過很多子步驟。當模型大小不足時,大語言模型無法理解或執行所有步驟,導致最終結果不正確,達到千億級參數時,其解決問題的全鏈路能力已經足夠。人們以最終結果的正誤作為評判標準,導致認為是一種“涌現”。

? ? ? ?在“涌現”問題上,人與猩猩的比喻很有趣。人類的大腦容量比猩猩大3倍,這種差異使得人類能夠進行更復雜的思考、溝通和創造。兩者的結構沒有顯著差異,這不也是“涌現”嗎?

? ? ? ?ChatGPT -3.5正是千億模型,參數達到了1750億。相較于 ChatGPT -3,ChatGPT -3.5主要針對模型參數進行了微調,使其在問答時更符合人類的習慣。據悉,ChatGPT -4 的模型參數量甚至達到了 ChatGPT -3.5的五倍之多,這也解釋了為何 ChatGPT -4 表現得如此聰明(體驗過的人應該都能理解)。下面是GPT模型演進歷史:

?

5. 基于 LLM 的 GPT 的優勢及其局限性

5.1 優勢

GPT模型具有明顯的、突破性的優勢。

典型的優勢包括:

①強大的語言理解能力;

②極為廣泛的知識儲備;

③學習能力與推理能力等等。

這些能力讓人們感覺人工智能真正擁有了“腦子”,想象著使用GPT解決一切問題。

5.2 局限性

1.邏輯不透明

GPT模型的回答本質上是概率。傳統的軟件開發中,接口的輸入和輸出參數都是確定的,而在給定輸入參數(即提示詞)的情況下,GPT的回復卻有一定隨機性。當大家將ChatGPT作為聊天工具使用時,這種不精確可以是用戶的談資;當涉及到商業化軟件應用時,設計時就需要特別注意降低不確定性,在大部分產品場景下,用戶都很重視確定性。

2.短期記憶差

得益于自注意力機制,ChatGPT具備了多輪對話能力。然而,它的記憶長度相當有限,GPT-3.5模型僅支持向前追溯4096個tokens用于回復的參考。更糟糕的是,這4096個tokens還包括ChatGPT之前回復用戶的部分!這使得其捉襟見肘的記憶更加難堪,堪稱電子金魚。好在GPT-4已經將上下文token上限擴展至3.2萬個,一定程度上緩解了這個問題。

?


?

3.資源消耗多

ChatGPT的智能需要消耗大量算力,而運行大規模高端顯卡需要消耗大量電力。在五年之內,依靠半導體制程的進一步升級和大模型的廣泛應用,算力與電力的邊際成本將逐漸轉變為固定成本,也就解決了本問題。

4.響應速度慢

由于模型極大,ChatGPT 在回復時也無法做到瞬時響應,正如用戶實際體驗,ChatGPT是逐詞回復的。企業在設計相關產品時需要特別關注應用場景:

①需要避免將 ChatGPT 用于高并發的場景,本服務依賴的接口調用并發上限非常低。

②產品設計上避免用戶急切需要結果的應用場景,確保用戶能夠“等得起”。

5.行業認知淺

誠然,ChatGPT 擁有來自互聯網和經典書籍的豐富知識。然而,真正的企業級專業知識往往源于特定領域的深入研究和實踐,這些真知灼見無法僅憑互聯網上的知識獲取。因此,若希望ChatGPT 充當企業參謀,只能幫助梳理戰略框架,但難以為企業提供頗具洞察的策略建議。

6.價值未對齊

①在自監督學習階段,以 ChatGPT 為例 訓練數據英文占比高達92%。

②在監督學習階段,以 ChatGPT 為例 傳授道德觀的工程師主要來自英語世界。

③在強化學習環節,也可能受到惡意用戶輸入錯誤價值觀的影響。

因此,目前主流 NLP 類產品(以 ChatGPT 為例)的“精神內核”是以西方價值觀為基石的,這可能導致生成的文字難以符合我國的文化背景和價值觀。

6. NLP 類 AI 產品的應用

詳請百度吧。

7. 總結

總之是個足以創建時代的產品,簡單點預測依靠電腦的重復勞動將會消失,因為大模型最擅長學這個了。所以 AI 時代真的已經到來。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210877.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210877.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210877.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

修改 Ganglia 監控 Grid Report timezone 時區 為 東八區 +8 PRC

Ganglia 監控 Grid Report timezone 默認時區 為 零時區 0 現在要修改為 東八區 8 具體操作如下 modify ganglia-web report timezone 0 --> 8 vim /apps/svr/httpd-2.4.48/htdocs/ganglia/header.php // add timezone GMT8 ini_set(date.timezone, PRC);詳細記錄&#x…

【面試】測試/測開(ING)

63. APP端特有的測試 參考:APP專項測試、APP應用測試 crash和anr的區別 1)網絡測試 2)中斷測試 3)安裝、卸載測試 4)兼容測試 5)性能測試(耗電量、流量、內存、服務器端) 6&#xf…

畫對比折線圖【Python】

出這一期想必是我做某個課程作業遇到了。 由于去各個官網下載對比圖要錢,我還是不想花錢的!真討厭!淺淺水一期。 以下是要做的對比圖的數據: 代碼: from matplotlib import pyplot as plt#設置中文顯示plt.rcParams[…

CSS新手入門筆記整理:CSS浮動布局

文檔流概述 正常文檔流 “文檔流”指元素在頁面中出現的先后順序。正常文檔流,又稱為“普通文檔流”或“普通流”,也就是W3C標準所說的“normal flow”。正常文檔流,將一個頁面從上到下分為一行一行,其中塊元素獨占一行&#xf…

ChatGPT OpenAI API請求限制 嘗試解決

1. OpenAI API請求限制 Retrying langchain.chat_models.openai.ChatOpenAI.completion_with_retry.._completion_with_retry in 4.0 seconds as it raised RateLimitError: Rate limit reached for gpt-3.5-turbo-16k in organization org-U7I2eKpAo6xA7RUa2Nq307ae on reques…

讓內存無處可逃:智能指針[C++11]

智能指針 文章目錄 智能指針前言RAII什么是智能指針智能指針的應用示例 C98的auto_ptr共享型智能指針:shared_ptrshared_ptr的使用初始化獲取原生指針指定刪除器默認刪除器default_delete指定刪除器指定刪除器管理動態數組 shared_ptr的偽實現shared_ptr的注意事項避…

【Docker】進階之路:(五)Docker引擎

【Docker】進階之路:(五)Docker引擎 Docker引擎簡介Docker引擎的組件構成runccontainerd Docker引擎簡介 Docker引擎是用來運行和管理容器的核心部分。Docker首次發布時,Docker 引擎由LXC 和 Docker daemon 兩個核心組件構成。 …

linux驅動開發——內核調試技術

目錄 一、前言 二、內核調試方法 2.1 內核調試概述 2.2 學會分析內核源程序 2.3調試方法介紹 三、內核打印函數 3.1內核鏡像解壓前的串口輸出函數 3.2 內核鏡像解壓后的串口輸出函數 3.3 內核打印函數 四、獲取內核信息 4.1系統請求鍵 4.2 通過/proc 接口 4.3 通過…

算法:有效的括號(入棧出棧)

時間復雜度 O(n) 空間復雜度 O(n∣Σ∣),其中 Σ 表示字符集,本題中字符串只包含 6 種括號 /*** param {string} s* return {boolean}*/ var isValid function(s) {const map {"(":")","{":"}","["…

List截取指定長度(java截取拼接URL)

場景&#xff1a; N多個參數&#xff0c;截取指定個數&#xff0c;拼接URL public static void main(final String[] args) {int count 0;//每頁數量final int pageSize 5;final List<Integer> memberNos ListUtil.toList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…

python格式化內容

1.字符串格式化: 定義列表 [{"姓名": "張三", "年齡": 18, "性別": "男"}, {"姓名": "里斯李四李斯", "年齡": 18, "性別": "男"}, {"姓名": "斯托夫斯基…

C++知識 抽象基類

抽象基類通常包含至少一個純虛函數&#xff0c;即一個沒有具體實現的虛函數&#xff0c;通過在基類中聲明純虛函數&#xff0c;它強制派生類提供這個函數的具體實現。 通過在類的聲明中使用 virtual 關鍵字和 0 初始化來創建純虛函數&#xff0c;這樣的類就成為抽象基類。以下…

上位機與PLC:ModbusTCP通訊之數據類型轉換

前請提要: 從PLC讀取的數值,不管是讀正負整數還是正負浮點數,讀取過來后都會變成UInt16,也就是Ushort類型 一、ushort(UInt16)轉成 Int32 源代碼方法: //ushort類型轉Int32類型的方法private int ushortToInt32(ushort[] date, int start){//先進行判斷,長度是否正確…

MySQL_6.MySQL常用創建語句

1.數據庫創建,查詢,刪除 (1)創建一個test數據庫 CREATE DATABASE test ; CREATE DATABASE IF NOT EXISTS test; # default character set :默認字符集 CREATE DATABASE IF NOT EXISTS test default character set UTF8; # default collate&#xff1a;默認排序規格 # utf8_g…

前端知識(七)———HTTPS:保護網絡通信安全的關鍵

當談到網絡通信和數據傳輸時&#xff0c;安全性是一個至關重要的問題。在互聯網上&#xff0c;有許多敏感信息需要通過網絡進行傳輸&#xff0c;例如個人身份信息、銀行賬戶信息和商業機密等。為了保護這些信息不被未經授權的人訪問和篡改&#xff0c;HTTPS&#xff08;超文本傳…

AI:大語言模型LLM

LLM 大語言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是一種利用大量文本數據進行訓練的自然語言處理模型&#xff0c;其評價可以從多個方面進行。 以下是一些主要的評價方面&#xff1a; 語言理解和生成能力&#xff1a;評價大語言模型在自然語言理…

模型評價指標

用訓練好的模型結果進行預測&#xff0c;需要采用一些評價指標來進行評價&#xff0c;才可以得到最優的模型 常用的指標&#xff1a; 1.分類任務 ConfusionMatrix 混淆矩陣Accuracy 準確率Precision 精確率Recall 召回率F1 score H-mean值ROC Curve ROC曲線PR …

PostgreSQL pgvector:如何利用向量數據庫提升搜索效率和精度

LLMs模型實戰教程 文章來源&#xff1a;https://zhuanlan.zhihu.com/p/641516393 Kevin 一、介紹 隨著基礎模型的興起&#xff0c;向量數據庫的受歡迎程度也飆升。事實上&#xff0c;在大型語言模型環境中&#xff0c;向量數據庫也很有用。 在機器學習領域&#xff0c;我們經…

天池SQL訓練營(三)-復雜查詢方法-視圖、子查詢、函數等

-天池龍珠計劃SQL訓練營 SQL訓練營頁面地址&#xff1a;https://tianchi.aliyun.com/specials/promotion/aicampsql 3.1 視圖 我們先來看一個查詢語句&#xff08;僅做示例&#xff0c;未提供相關數據&#xff09; SELECT stu_name FROM view_students_info;單從表面上看起來…

C#反射加載程序集并使用

具體實現參考&#xff1a; C# 動態加載DLL通過反射調用參數、方法、窗體_c#反射加載dll并傳入參數-CSDN博客 C#進階學習--反射(Reflection) - 知乎 走進C#反射機制 - 知乎 1.使用過程 //創建數據集 Assembly outerAsm Assembly.LoadFile("D:/your.dll");//獲取…