從0構(gòu)建大模型知識體系(1):啥是模型?

0 評論 748 瀏覽 3 收藏 30 分鐘
🔗 B端产品需要更多地依赖销售团队和渠道合作来推广产品,而C端产品需要更多地利用网络营销和口碑传播来推广产品..

對于許多初學(xué)者來說,大模型的概念仍然晦澀難懂。本文將從最基礎(chǔ)的概念出發(fā),以通俗易懂的方式逐步構(gòu)建起大模型的知識體系。

按照慣例,結(jié)論先行

這篇文章要討論啥?

以大模型為代表的AI技術(shù)在近兩年盛況空前。我們認(rèn)為在這樣的時代背景下有必要從最基礎(chǔ)的概念開始學(xué)習(xí),逐步建立一個相對完善的知識體系以便理解后續(xù)的新概念、新技術(shù)、新產(chǎn)品。因此寫這樣一篇文章來討論大模型知識體系中最基礎(chǔ)的幾個概念,為此系列后續(xù)的文章做鋪墊。

咋討論這個問題?

對于構(gòu)建大模型知識體系這件事,我覺得需要先搞明白這幾個問題:

①不管大模型還是小模型,能不能先說清楚什么是模型?

②模型具體是怎么用數(shù)據(jù)來訓(xùn)練的,以至于完成訓(xùn)練后的模型可以用來解決實(shí)際問題?

我會以一個預(yù)測奶茶銷量的實(shí)際問題作為切入口,設(shè)計并手動訓(xùn)練一個最簡單的模型,并在這過程中逐步討論上述兩個核心問題。

這幾個問題,核心結(jié)論是什么?

所謂模型,本質(zhì)就是一個數(shù)學(xué)公式,或者更準(zhǔn)確的說是一個函數(shù)。訓(xùn)練模型就是用數(shù)據(jù)不斷地通過反向傳播算法更新模型參數(shù)以擬合已有數(shù)據(jù)的過程。而訓(xùn)練出的模型也正因?yàn)閿M合了已有的數(shù)據(jù),所以我們認(rèn)為它掌握了已有數(shù)據(jù)的統(tǒng)計規(guī)律,進(jìn)而才可以用此模型(此規(guī)律)對未知的情況做預(yù)測。

“和 AI 談戀愛就像約會 100 次:它把你說過的每句話都記成小抄,最后變成懂你的戀愛腦”

——題記

手搓一個奶茶銷量預(yù)測算法

假設(shè)你在一家奶茶店上班,近期在售的6款奶茶的售價和銷量如下所示

有一天,老板問你,此時如果新推出一款奶茶,在不考慮其他因素的情況下若定價為35,它的銷量應(yīng)該為多少?換句話說,如果售價定為35,你預(yù)測銷量為多少?

靠,35的售價完全不在已有數(shù)據(jù)的范疇之內(nèi)啊,這可咋整?

我們當(dāng)然不想憑空預(yù)測,而是要根據(jù)現(xiàn)有的數(shù)據(jù)做出最符合當(dāng)前數(shù)據(jù)規(guī)律的預(yù)測,不然老板多問一個why咱就啞火了。先用數(shù)據(jù)畫個圖看看,不難發(fā)現(xiàn),售價越高,銷量一般越低。

試想,如果有一個數(shù)學(xué)公式可以直接告訴我們不同的售價對應(yīng)的具體銷量為多少,那預(yù)測售價為35時的銷量還不是探囊取物,手到擒來,手拿把掐?

可這個數(shù)學(xué)公式要怎么找呢?仔細(xì)觀察上圖,把售價視作自變量,銷量視作因變量,因變量隨自變量的增加而降低,這完全可以用我們初中二年級就學(xué)過的一次函數(shù)

來描述,其中自變量

為售價,因變量

為銷量,

是這個公式中兩個尚未確定具體數(shù)值的參數(shù)。一旦我們能確定

的具體數(shù)值,再把

代入到這個公式中就能得到售價為35時的預(yù)測銷量。

到此,預(yù)測銷量的問題被我們轉(zhuǎn)化為了確定

具體數(shù)值的數(shù)學(xué)問題,換句話說,我們?yōu)轭A(yù)測奶茶銷量的問題建立了一個數(shù)學(xué)模型:

。

等下……模型?參數(shù)?預(yù)測?莫非平時聽到的什么大模型,幾億參數(shù)就是指的這個?

沒錯!大模型本質(zhì)上就是一個形式極其復(fù)雜,參數(shù)極其多的一個數(shù)學(xué)公式。而所謂的預(yù)測,正如我們給定售價后預(yù)測銷量一樣,也只不過是給定一個具體的輸入后根據(jù)公式進(jìn)行了一通計算而已。

這,就是訓(xùn)練

回到現(xiàn)在的問題:怎么確定

具體的值呢?

回顧一下,一次函數(shù)的圖像是一條直線,

分別調(diào)整直線的傾斜程度和距離坐標(biāo)系原點(diǎn)的距離

所以我們要調(diào)整

的值,最好讓整條直線能不偏不倚的貫穿這堆數(shù)據(jù)所圍成的區(qū)域。換句話說,我們期望這條直線能最好的擬合當(dāng)前的數(shù)據(jù)。

但我們從哪個值開始嘗試和調(diào)整呢?此外,調(diào)整之后我們怎么知道這算不算“最好的擬合”呢?

從哪個值開始嘗試這個問題,實(shí)在不行就先猜一個唄。沒錯,就是猜!先上線再迭代!即便是第一個做出大模型的人在一開始確定參數(shù)的時候也是靠猜,只不過是有技巧的猜。

比如在我們這個例子當(dāng)中考慮到銷量隨售價的增加而降低,即二者是負(fù)相關(guān),所以

肯定得猜成負(fù)數(shù)才合理。且從奶茶1售價30銷量600,奶茶2售價25銷量650來看,售價每增加1,銷量就減少10,所以我們先盲猜成-10(當(dāng)然,這里選其他奶茶來猜也可以)。

的值看上圖中直線與

軸的交點(diǎn)先盲猜成1000吧,于是我們得到了模型v1.0:

,同樣,畫出來先看看效果。

這效果怎么說呢……大方向是對的,但肯定擬合得不算好。

至于怎么樣算“最好的擬合”,我們可以這樣定義:對于已知售價和銷量的6款奶茶,我們先輸入每款的售價,再通過模型得到每款的預(yù)測銷量,然后計算預(yù)測銷量與實(shí)際銷量之間差值平方的一半作為模型對一款奶茶銷量的擬合誤差(之所以要用差值平方的一半而不用差值本身是因?yàn)檫@樣做有有良好的數(shù)學(xué)特性)。若用

來表示擬合誤差的話,

的表達(dá)式即為

,其中

即為我們通過模型得到的預(yù)測銷量,

為奶茶的真實(shí)銷量。然后我們把所有奶茶的擬合誤差平均值作為模型對整個數(shù)據(jù)集的總擬合誤差,只要我們不斷調(diào)整

的具體數(shù)值能使得這個總擬合誤差最小,此時便可認(rèn)為是“最好的擬合”。

舉例來說,現(xiàn)在我們的模型為

,第一款奶茶售價30,因此我們輸入

得到輸出的預(yù)測銷量為700,與實(shí)際銷量600差值平方的一半為

,也就是5000,第二款售價25,輸入公式后得到輸出的預(yù)測銷量750,與實(shí)際650的銷量差值平方的一半也為5000……以此類推可以得到第三至第六款奶茶的擬合誤差分別為1250,11250,0,11250。最后對6個誤差值求平均得到模型v1.0的總擬合誤差為5625。

那我們應(yīng)該怎樣調(diào)整

使得總擬合誤差最小的呢?這就不得不提到大名鼎鼎的“反向傳播”算法了。既然有反向傳播,那自然也有正向傳播(實(shí)際上叫前向傳播),我們先介紹前向傳播。

所謂前向傳播其實(shí)就是給定輸入數(shù)據(jù)后通過模型得到輸出結(jié)果的過程。例如對于我們當(dāng)前的模型

,給定第一款奶茶的售價30,我們通過模型計算得到它的預(yù)測銷量為

,這就完成了一次前向傳播。

而反向傳播則是根據(jù)擬合誤差反向計算出模型中每個參數(shù)對這個誤差“貢獻(xiàn)度”的過程,其中涉及通過誤差公式對模型參數(shù)求偏導(dǎo)數(shù)的數(shù)學(xué)運(yùn)算,我們這里簡單介紹一下。

(此部分無法理解不影響后續(xù)的閱讀,總之就是我們有數(shù)學(xué)方法求得模型中每個參數(shù)對誤差的貢獻(xiàn)度)

之前提到,每款奶茶的擬合誤差計算公式為

,而其中

,因此誤差

對模型參數(shù)

的偏導(dǎo)即等于

的偏導(dǎo)乘以

的偏導(dǎo)。

對模型參數(shù)

的偏導(dǎo)即等于

的偏導(dǎo)乘以

的偏導(dǎo)。也就是:

比如還是第一款奶茶,模型對它銷量的擬合誤差為5000,這個誤差對

求偏導(dǎo)后的結(jié)果分別為3000和100,這兩個數(shù)可以粗暴解讀為

這件事為擬合誤差貢獻(xiàn)了3000份力,而

貢獻(xiàn)了100份力,二者一共貢獻(xiàn)了3100份力導(dǎo)致了5000的誤差。所以我們讓

減去各自貢獻(xiàn)的這份力就可以一定程度上減小擬合誤差。只不過在減的時候我們希望“步子慢一點(diǎn)”,畢竟這只是第一款奶茶,咱之后還有5款奶茶要考慮,所以只減去3000和100的萬分之一,也就是0.3和0.01即可,由此得到了更新后的參數(shù)

,

,此時我們得到了模型v1.1:

同樣,我們用第二款奶茶的數(shù)據(jù)重復(fù)以上過程:

① 輸入第二款奶茶的售價

并利用模型v1.1

做前向傳播得到預(yù)測銷量742.49② 計算模型對第二款奶茶的擬合誤差為4277.20,用其對

求偏導(dǎo),得到二者為此誤差的貢獻(xiàn)度分別為2312.25和92.49③ 用當(dāng)前的

減去其各自貢獻(xiàn)值的萬分之一,得到

進(jìn)而得到模型v1.2:

我們繼續(xù)重復(fù)此過程直到6個數(shù)據(jù)點(diǎn)都已被用于反向傳播調(diào)整參數(shù),于是得到了模型v2.0:

,該模型對6個數(shù)據(jù)的總擬合誤差為4847,比模型v1.0的5625低了很多。

把模型v1.0和2.0一起畫出來對比下看看

嗯~~不錯,模型v2.0確實(shí)比1.0好一些,但是距離理想的擬合效果還是有一定差距。

到此,我們通過已有的數(shù)據(jù)來對模型的參數(shù)進(jìn)行了一輪調(diào)整,這個過程就叫做訓(xùn)練,也可以叫做學(xué)習(xí)。總之就是調(diào)整模型的參數(shù)讓它和已有的數(shù)據(jù)越來越擬合。

菜,就多練

但現(xiàn)在一輪訓(xùn)練下來模型的擬合效果還不夠好,咋辦呢?還能咋辦,菜就多練唄。繼續(xù)用已有的數(shù)據(jù)進(jìn)行第二輪,第三輪訓(xùn)練……直到再怎么訓(xùn)練也不能顯著降低模型誤差時就可以結(jié)束了。

模型在訓(xùn)練前,以及1輪、5輪、15輪、20輪訓(xùn)練后的圖像和誤差如下圖所示(其中模型v15.0與模型v20.0幾乎重合):

顯然,同樣是5輪訓(xùn)練,從模型v10.0到v15.0誤差降低了17,但從v15.0到20.0就只降低了2。這說明從模型v20.0開始,再多的訓(xùn)練也不怎么能降低模型誤差了,所以我們停止訓(xùn)練,直接取模型v20.0的參數(shù)

作為最終訓(xùn)練結(jié)果。

回到一開始的問題,老板問奶茶售價定為35,它預(yù)計的銷量為多少呢?有了模型不難算出

,四舍五入一下得到我們的預(yù)測銷量536。

復(fù)盤一下,我們學(xué)到了什么?

所謂數(shù)學(xué)建模就是將實(shí)際問題轉(zhuǎn)化為數(shù)學(xué)問題,然后用數(shù)學(xué)工具去解決它。我們將預(yù)測奶茶銷量的實(shí)際問題轉(zhuǎn)化為了確定一次函數(shù)兩個參數(shù)值的數(shù)學(xué)問題,并通過求偏導(dǎo)這一數(shù)學(xué)工具不斷的優(yōu)化參數(shù)值以求最好的擬合已有數(shù)據(jù),最終確定參數(shù)值后輸入售價得到了預(yù)測銷量。

所謂模型,本質(zhì)就是一套數(shù)學(xué)公式。無論大模型還是小模型,其本質(zhì)都是一套數(shù)學(xué)公式,或者說函數(shù)。在預(yù)測奶茶銷量這件事中,我們選取了只含兩個參數(shù)的一次函數(shù)作為模型來完成預(yù)測工作。而大模型的的公式極復(fù)雜,參數(shù)量極多,以至于它可以先將我們輸入的人話轉(zhuǎn)化為可運(yùn)算的數(shù)字,進(jìn)行計算后輸出另一句人話,從而完成與人對話這種神奇的事情。

所謂訓(xùn)練(或者學(xué)習(xí)),就是用數(shù)據(jù)通過反向傳播算法不斷調(diào)整模型中的參數(shù)。我們根據(jù)已有數(shù)據(jù)的分布特點(diǎn)猜了兩個數(shù)作為模型參數(shù)的初始值,然后把已有數(shù)據(jù)一個又一個,一輪又一輪的送入模型中做前向傳播和反向傳播來調(diào)整參數(shù),讓模型更好的擬合已有數(shù)據(jù)。直到我們發(fā)現(xiàn)進(jìn)行更多的訓(xùn)練也不能顯著降低模型的誤差后便停止訓(xùn)練。對于我們這樣只有兩個參數(shù)的模型都進(jìn)行了20輪訓(xùn)練,可想而知擁有幾十上百億參數(shù)的大模型要進(jìn)行多少訓(xùn)練,消耗多少算力。

歡迎來到1986

以反向傳播算法為核心的模型訓(xùn)練機(jī)制出自1986年的文章《Learning Representations by Back – Propagating Errors》。到此,恭喜你對大模型知識的理解來到了1986年。此時距離DeepSeek-R1發(fā)布還有39年。

AI Heroes

模型之所以能被訓(xùn)練是因?yàn)榉聪騻鞑ニ惴ㄗ屍淠芨鶕?jù)已有數(shù)據(jù)不斷調(diào)整參數(shù)以進(jìn)行更好的擬合。反向傳播算法的代表作是David E. Rumelhart、Geoffrey E. Hinton和Ronald J. Williams于 1986 年發(fā)表在《Nature》上的論文《Learning Representations by Back – Propagating Errors》。盡管在這之前也有類似的方法被提出,但此文將反向傳播算法應(yīng)用于多層神經(jīng)網(wǎng)絡(luò),并證明了其在機(jī)器學(xué)習(xí)中的有效性,對現(xiàn)代神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)領(lǐng)域產(chǎn)生了深遠(yuǎn)的影響。

其中,Rumelhart于2011年逝世,享年70歲。 Williams于2024年逝世,享年79歲。Hinton于2024年獲得諾貝爾物理學(xué)獎以表彰其為機(jī)器學(xué)習(xí)領(lǐng)域作出的基礎(chǔ)性發(fā)現(xiàn)和發(fā)明。

高中時的 Hinton 就對人腦機(jī)制產(chǎn)生了濃厚興趣,在大學(xué)期間,他雖然不斷更換專業(yè),但一直圍繞著探索人腦神經(jīng)元如何連接并工作的奧秘,這一興趣促使他在讀博期間選擇了神經(jīng)網(wǎng)絡(luò)作為研究方向?,F(xiàn)在如火如荼的神經(jīng)網(wǎng)絡(luò)在當(dāng)時并不是一個被看好的方向,甚至在1978年Hinton博士畢業(yè)的時候,其博士生導(dǎo)師也建議他之后能更換研究方向,但他依舊遵循自己對人腦工作機(jī)制的探索欲望而在這個方向行走著,一路成果頗豐,桃李滿天。

2012年,他與學(xué)生Alex Krizhevsky, Ilya Sutskever所合作的AlexNet在當(dāng)年的ImageNet大規(guī)模視覺識別挑戰(zhàn)賽(ILSVRC)上以顯著優(yōu)勢取得了冠軍,開啟了深度學(xué)習(xí)的新時代。其中 Ilya Sutskever 于2015 年加入了一家創(chuàng)業(yè)公司,作為CTO和聯(lián)合創(chuàng)始人領(lǐng)導(dǎo)了大模型相關(guān)的研究工作,并于2023年底發(fā)布chatGPT開啟了大模型時代。這家大名鼎鼎的創(chuàng)業(yè)公司名叫——OpenAI。

行文至此,謹(jǐn)以諾獎評辭致敬這位把神經(jīng)網(wǎng)絡(luò)從墳?zāi)估锿诔鰜淼墓掠抡摺?/p>

“For foundational discoveries and inventions that enable machine learning with artificial neural networks”

Geoffrey E. Hinton, 2024 年于斯德哥爾摩舉行的諾貝爾獎演講上發(fā)表講話

“他用物理的語言賦予機(jī)器自學(xué)的能力,讓神經(jīng)網(wǎng)絡(luò)從理論玩具成長為重塑世界的智能引擎?!?/strong>

——后記

以下是文中為易于理解而表述不嚴(yán)謹(jǐn)之處,不讀不影響理解后續(xù)文章

比如還是第一款奶茶,模型對它銷量的擬合誤差為5000,這個誤差對

求偏導(dǎo)后的結(jié)果分別為3000和100,這兩個數(shù)可以粗暴解讀為

這件事為擬合誤差貢獻(xiàn)了3000份力,而

貢獻(xiàn)了100份力,二者一共貢獻(xiàn)了3100份力導(dǎo)致了5000的誤差。

這里將誤差函數(shù)對k和b的偏導(dǎo)數(shù)相加得到3100實(shí)際上是沒有意義的,類似于將一個蘋果和一頭豬相加一樣沒有意義。

本文由 @夜雨思晗 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!
专题
16015人已学习12篇文章
有效的团队管理对于一个企业来说十分重要。本专题的文章分享了团队管理的方法。
专题
13134人已学习12篇文章
知识管理是什么?通常来看,想理解知识管理,可以从业务、管理、实施等视角切入。本专题的文章分享了如何做知识管理。
专题
17258人已学习18篇文章
本专题的文章分享了车载HMI设计指南,包括HMI的交互、设计、功能等方面的知识分享。
专题
11581人已学习12篇文章
任何理论都有它的局限性和前提条件,没有一种方法论是永远有效的。品牌方法论一直处在变化阶段,它随着时代发展的变化而变化。本专题的文章分享了品牌方法论。
专题
13522人已学习13篇文章
广告是互联网的最大的商业模式,已经逐步形成一个巨大的行业,整个互联网广告也在持续增长中。本专题的文章分享了关于对互联网广告的思考与分析
专题
14549人已学习15篇文章
智能硬件产品经理需要做什么工作内容呢?与互联网产品经理有什么区别呢?本专题为刚入行的智能硬件产品经理分享了入门指南。