大型語言模型(LLM)的非常通俗易懂的介紹

大型語言模型(LLM)的非常通俗易懂的介紹

更新於 發佈於 閱讀時間約 12 分鐘

[進行中未完成]


1.簡介

本文旨在讓沒有計算機科學背景的人對ChatGPT和類似的人工智能系統

(如GPT-3、GPT-4、Bing Chat、Bard等)有一些了解。

ChatGPT是一種聊天機器人,是建立在大型語言模型之上的對話型人工智能。專業術語可能會讓人感到陌生,但此文將一一解釋這些概念。

在這過程中,我們將使用豐富的比喻來解釋這些概念。

我們將討論核心概念背後的原理,以及對於ChatGPT這樣的大型語言模型可以期待什麼,以及不能期待什麼。

以下是待會將要做的事情。

我們將輕鬆地介紹與大型語言模型和ChatGPT相關的術語,不使用任何行話。

如果必須使用行話,我會在解釋時避免使用行話。

我們將從非常基礎的問題開始,比如"什麼是人工智能",然後逐步深入。

我會盡量使用一些常見的比喻來解釋。

我還會談論這些技術的影響,包括我們應該期望它們能做什麼,或者不應該期望它們能做什麼。

開始吧!

1、什麼是人工智能?

首先,讓我們從您可能經常聽到的一些基本術語開始。什麼是人工智能?

人工智能:

如果一個實體會表現出與人類會有的反應或相似的行為

我們稱之為人工智能

例如,我們經常將術語“AI”表示用於電腦遊戲中由電腦控制的角色。

這些機器人中的大多數都是簡單的 if-then-else 代碼片段(例如,“如果玩家在範圍內,則射擊,否則移動到最近的巨石進行掩護”)

2. 什麼是機器學習?

您經常聽到的與人工智能相關的另一個術語是機器學習。

機器學習:一種通過獲取數據、形成模型然後執行模型來創建行為的方法。

機器學習與簡單的 if-then-else(人類給予規則的方式) 實現的AI相反

它是藉由數據驅動的方式去自行產生規則

數據驅動的一種方式就是通過獲取數據、形成模型

因為這過程需要數據,並且數據的品質和數量會影響模型的表現

因此很像是利用汽油驅動的汽車這樣子,所以才有數據驅動這個詞

那為何要使用數據驅動或是說機器學習呢?

因為有時很難手動創建一堆 if-then-else 語句來捕捉一些複雜的現象,

比如語言。

在這種情況下,

我們嘗試找到一堆數據並使用可以在數據中找到模式的算法來建模。

但什麼是模型?模型是一些複雜現象的簡化。例如,模型車只是真實汽車的一個更小、更簡單的版本,它具有許多屬性,但並不意味著完全取代原來的汽車

模型車可能看起來很真實並且對某些用途有用,但我們不能開它去商店。

raw-image


就像我們可以製造更小、更簡單的汽車一樣,我們也可以製造更小、更簡單的人類語言。

我們使用大型語言模型這個術語是因為從使用它們需要多少記憶體內存的角度來看,這些模型非常大。

生產中最大的模型,如 ChatGPT、GPT-3 和 GPT-4 足夠大,需要在數據中心服務器中運行的大型超級計算機才能創建和運行。

3. 什麼是神經網絡?

有很多方法可以從數據中學習模型。神經網絡就是這樣一種方式。

該技術大致基於人腦如何由稱為神經元的相互連接的腦細胞網絡組成,這些腦細胞來回傳遞電信號,以某種方式使我們能夠做我們所做的所有事情

神經網絡的基本概念是在 1940 年代發明的,而關於如何訓練它們的基本概念是在 80 年代發明的。

神經網絡效率非常低,直到 2017 年左右,計算機硬件才足夠好,可以大規模使用它們。

但是我喜歡用電路來比喻神經網絡而不是大腦。

您不必成為電氣工程師就知道電流流過電線,並且我們有一種叫做電阻器的東西可以使電流更難流過電路的某些部分。

想像一下,您想製造一輛可以在高速公路上行駛的自動駕駛汽車。您已經在汽車的前部、後部和側面配備了接近傳感器。

當有東西非常接近時,接近傳感器報告值為 1.0,當附近沒有檢測到任何東西時報告值為 0.0。

您還裝配了汽車,使機器人機構可以轉動方向盤、踩剎車和踩油門。

當加速器接收到一個值 1.0 時,它使用最大加速度,而 0.0 表示不加速。

同樣,發送到製動機制的值 1.0 表示踩剎車,0.0 表示不制動

轉向機制採用 -1.0 到 +1.0 的值,負值表示向左轉向,正值表示向右轉向,0.0 表示保持直線。

您還記錄了有關您如何駕駛的數據。當前面的道路暢通無阻時,您會加速。當前面有車時,你會減速。

當一輛車離左邊太近時,你會向右轉彎並改變車道。當然,除非你的右邊也有一輛車。

這是一個複雜的過程,涉及基於傳感器信息的不同動作組合(左轉、右轉、或多或少地加速、剎車)。

現在您必須將傳感器連接到機器人機構。你怎麼做到這一點?目前還不清楚。因此,您將每個傳感器連接到每個機器人執行器。

當你把車開到路上會發生什麼?電流從所有傳感器"同時"流向所有機器人執行器,汽車"同時"左轉、右轉、加速和剎車。一團糟。

raw-image



那可不行。所以我拿起我的電阻器,開始將它們放在電路的不同部分,這樣電流就可以在某些傳感器和某些機器人執行器之間更自由地流動。

例如,我希望電流更自由地從前接近傳感器流向剎車而不是方向盤

我還放入了稱為閥門的東西,它會停止電流,直到積累足夠的電流來觸發開關(僅當前接近傳感器和後接近傳感器報告高數字時才允許電流流動)

或者僅在以下情況下向前發送電能:

輸入電氣強度低(當前接近傳感器報告低值時,向加速器發送更多電力)。

但是我應該把這些電阻器和閥門放在哪裡呢?

我不知道。

我開始把它們"隨機"地放在各處。

然後我再試一次。

也許這一次我的車開得更好了,

這意味著有時它會在數據顯示最好剎車時剎車,

在數據顯示最好轉向時轉向等等。

但它並沒有把所有事情都做對。 有些事情它做得更糟

(例如當數據表明最好剎車時加速)。

所以我一直在隨機嘗試電阻器和閥門的不同組合跟排列方式。

最終我會偶然發現一個效果很好的組合,我宣布成功。

也許它看起來像這樣

raw-image


事實上在神經網路中

我們不增加或減少這些閥門電阻電容這些東西

而是一開始就排列在那裡,但是我們可以去修改它,

例如使一個閥門可以被更少的電流激活,或者增加一個電阻的電阻值

機器學習的專家可能會對我這種描述感到有點吐槽。

正式從機器學習技術上講:

這是通過調整神經元上稱為bias(偏置)和weight(權重)的東西來完成的

但是

隨機嘗試很糟糕。因為你這樣隨機嘗試效率太低了,很可能運氣始終沒辦法

找到一個最佳化的排列組合跟bias(偏置)和weight(權重)的設定值

一種稱為反向傳播的算法相當擅長猜測如何改變電路的配置。

算法的細節並不重要,只是要知道它會對電路進行微小的更改以使電路的行為更接近數據建議的行為,並且經過數千或數百萬次調整,最終可以獲得接近完美的結果。

我們稱電阻器和閥門為參數,因為實際上它們無處不在,反向傳播算法所做的是聲明每個電阻器更強或更弱以及閥門讓電流通過所需要的數值。

因此,如果我們知道電路的佈局和參數值

就可以在其他汽車中複製整個電路。

4.什麼是深度學習?

深度學習承認我們可以在電路中放置電阻器和閥門之外的其他東西。

例如,我們可以在電路中間進行數學計算,在向前發送電力之前將事物加在一起和相乘。

深度學習仍然使用相同的反向傳播算法猜測參數技術。

5. 什麼是語言模型?

當我們做汽車的例子時,我們試圖讓我們的神經網絡執行與我們的數據一致的行為。

我們問我們是否可以創建一個電路來操縱汽車中的機制,就像司機在類似情況下所做的那樣。

我們可以用同樣的方式對待語言。

我們可以查看人類編寫的文本,想知道電路是否可以生成一系列看起來很像人類傾向於生成的單詞序列的單詞序列。

現在,當我們看到文字時,我們的傳感器就會啟動,我們的輸出機制也是文字。

我們想做什麼? 我們正在嘗試創建一個電路,在給定一堆輸入詞的情況下猜測輸出詞。 例如:

曾幾何__

這裡應該要填上:"時" 這個字 變成:曾幾何時

我們傾向於從概率的角度來談論語言模型。從數學上講,我們將把上面的例子寫成:

P(時|曾,幾,何)

這是代表說給定特定條件(曾,幾,何)情況下出現”時”這個字的條件概率

我們可以將其寫為通用公式為:

P(word(n)|word(1),word(2),word(3),...,word(n-1))

這只是意味著在給定它之前的所有單詞(位置 1 到 n-1 的單詞)的情況下,

計算序列中第 n 個單詞的概率。

然而由於語言中的單詞量非常多

大多數美國成年人的詞彙量接近50000個單字。

如果我們想用上面那個模型車的概念來打造一個語言模型

就必須最少要有5萬個傳感器搭配5萬個輸出

總共需要 50,000 x 50,000 = 25 億根電線。

raw-image

每個input代表一個單詞,每個output也代表一個單詞,中間的結構就是一堆複雜的電路連結,output只是根據input那些被激活而做出輸出

假設input1代表的是:你,input2代表的是:好,input3:代表的是:嗎

當input1,input2,input3同時被激活的時候

output端就會輸出跟回應問候有關的單詞

我給大家舉個例子:

raw-image
raw-image

從上面我刻意把你好嗎改成嗎好你,就可以知道chatgpt不是一個印度工程師躲在電腦後面假裝的XD,他是真的人工智慧

講到這我要特別提一下之前的一篇新聞報導:

https://buzzorange.com/techorange/2019/08/16/engineer-ai-fraud/

雇用真人假扮 AI,它賺了快 9 億台幣
Engineer.ai 成立於 2016 年,聲稱要打造一個平台,將 AI,設計師團隊和開發者團隊結合在一起,構建定制化的數字產品。
2017 年,Engineer.ai 推出首款 AI 平台產品 Buider V1。
官方介紹,使用 Builder,無需具備任何技術,只要你有想法,就可以創建一個新的 App 項目,速度是現在開發流程的 2 倍,成本只需 1/3。

Engineer.ai 表示,借助內置的人類輔助 AI Natasha,就能實現移動 App 的自動化開發。
只需要大約一個小時,能幫助客戶從零開始完成 80% 的 App 開發任務。
這一故事,引起了不少風投機構的興趣。
在 2018 年 11 月,Engineer.ai 籌集了 2,950 萬美元(約 8.85 億台幣)的 A 輪投資。在當時,這是歐洲數額最大的 A 輪融資之一。
投資方,是蘇黎世的風投公司 Lakestar 和新加坡的 Jungle Ventures,以及軟銀旗下的 DeepCore。

該公司的創始人 Sachin Dev Duggal 在一份聲明中表示:
有了 Engineer.ai,每個人都可以在不學習程式語言的情況下實現新想法。
就在被《華爾街日報》曝光之前,Engineer.ai 還在網站上發表部落格文章說,自己家的機器能構建一個 App 60% 的部分,其餘部分則由人類完成,但具體細節涉及商業秘密,他們拒絕詳細說明。

但現在,這個靈感和產品之間的「AI 橋梁」卻被曝出沒有 AI,只有人工。
什麼都沒開始,卻保證已完成 80% AI 工具開發
《華爾街日報》以及這家公司的數位前員工和現任員工表示,Engineer.ai 根本不使用 AI 匯編程式碼,背後實際上是來自印度和其他地方的工程師在完成大部分的工作。



avatar-img
于正龍(Ricky)的沙龍
36會員
53內容數
人工智能工作經驗跟研究
留言
avatar-img
留言分享你的想法!
你做錯了。你剛剛發給 ChatGPT 的「寫一個函式來……」的提示?刪掉它吧。這些通用提示就是為什麼你的編碼速度還跟其他人一樣的原因。 在與 AI 進行超過 3,000 小時的結對編程後,我發現了真正有效的方法——而這並不是你想的那樣。 真相是:85% 的開發者陷入了 AI 驅動的複製粘貼循環。
簡介 — 我如何停止浪費時間的故事 幾年前,我意識到我花在“做事”上的時間比實際在專案上取得進展的時間要多。我醒來時有無休止的待辦事項清單、回復電子郵件、參加會議、審查檔,但到一天結束時,我覺得我實際上沒有在任何重要的事情上取得進展。 有一天,一個朋友告訴我: 忙碌並不等同於有效。 這讓
看到滿多年輕工程師提問:工作時經常查 ChatGPT,感覺不太踏實,沒關係嗎? 讓我簡單談論一下這件事 --- 首先,讓我們把時間倒回 2000 年代 google 剛出來的時候 當時一定也是這樣, 年輕工程師遇到問題狂查 google 資深工程師則覺得 google 可有可無,
你做錯了。你剛剛發給 ChatGPT 的「寫一個函式來……」的提示?刪掉它吧。這些通用提示就是為什麼你的編碼速度還跟其他人一樣的原因。 在與 AI 進行超過 3,000 小時的結對編程後,我發現了真正有效的方法——而這並不是你想的那樣。 真相是:85% 的開發者陷入了 AI 驅動的複製粘貼循環。
簡介 — 我如何停止浪費時間的故事 幾年前,我意識到我花在“做事”上的時間比實際在專案上取得進展的時間要多。我醒來時有無休止的待辦事項清單、回復電子郵件、參加會議、審查檔,但到一天結束時,我覺得我實際上沒有在任何重要的事情上取得進展。 有一天,一個朋友告訴我: 忙碌並不等同於有效。 這讓
看到滿多年輕工程師提問:工作時經常查 ChatGPT,感覺不太踏實,沒關係嗎? 讓我簡單談論一下這件事 --- 首先,讓我們把時間倒回 2000 年代 google 剛出來的時候 當時一定也是這樣, 年輕工程師遇到問題狂查 google 資深工程師則覺得 google 可有可無,