學(xué)習(xí)大模型開發(fā),需要具備人工智能或深度學(xué)習(xí)理論基礎(chǔ)嗎? 原創(chuàng)
“ 學(xué)以致用,問題才是學(xué)習(xí)的真正驅(qū)動力 ”
最近發(fā)表了幾篇關(guān)于學(xué)習(xí)人工智能技術(shù)的文章,然后就有人問沒有深度學(xué)習(xí)的基礎(chǔ)可以學(xué)習(xí)人工智能嗎?
答案是肯定的,學(xué)習(xí)人工智能技術(shù)并不一定非要懂得深度學(xué)習(xí),雖然深度學(xué)習(xí)是大模型的基礎(chǔ)。
怎么學(xué)習(xí)大模型?
很多人學(xué)習(xí)大模型技術(shù),第一步就卡在了入門上,也就是說不知道應(yīng)該怎么學(xué)習(xí)人工智能技術(shù)。
可能在很多人的認(rèn)知中,學(xué)習(xí)人工智能就要學(xué)習(xí)機器學(xué)習(xí)和深度學(xué)習(xí),面對著復(fù)雜的機器學(xué)習(xí)模型以及復(fù)雜的算法實現(xiàn),直接導(dǎo)致很多人的人工智能學(xué)習(xí)之路自此中斷。
其實大家完全沒必要把人工智能或者說大模型想的那么復(fù)雜,作者在之前的文章中曾不只一次的說過,技術(shù)的本質(zhì)就是一個工具;而會不會制造和使用工具是人和動物的根本區(qū)別。
既然大模型技術(shù)是一種工具,我們即使不會制造大模型這個工具;但我們可以學(xué)會使用這個工具。所以,對不懂機器學(xué)習(xí)和深度學(xué)習(xí)的人來說,學(xué)習(xí)大模型技術(shù)最好也是最簡單的方式就是先學(xué)會使用大模型。
學(xué)習(xí)使用大模型也有兩種情況,一種是完全不懂技術(shù)的人,只需要學(xué)會使用基于大模型作為底座開發(fā)的產(chǎn)品,比如一些音視頻生成工具等。
第二,就是懂技術(shù)的人,他們有一定的編程基礎(chǔ),這時他們可以學(xué)習(xí)在大模型之上構(gòu)建上層應(yīng)用,也就是給不懂技術(shù)的人使用的工具。
第一種沒什么好說的,不論是人工智能還是微信,淘寶,拼多多對第一種人來說沒什么區(qū)別。
我們今天主要討論的是學(xué)習(xí)大模型技術(shù)的人,當(dāng)然,第二種情況下也會有那種特別喜歡大模型技術(shù)本身的人,比如學(xué)習(xí)機器學(xué)習(xí)模型,算法,架構(gòu)等等;這種就不在我們今天討論的范圍。
為什么我說學(xué)習(xí)大模型可以不懂的機器學(xué)習(xí)和深度學(xué)習(xí)?
原因就是學(xué)習(xí)的方式有多種,在學(xué)生時代學(xué)校采用填鴨式的教學(xué)方式,上來就給我們講高大上的理論還一些不知所以的概念。
因此,也有人開玩笑說我只需要上街買個菜,需要知道什么是牛頓萊布尼茨公式嗎?
而我們很多人學(xué)習(xí)人工智能或者學(xué)習(xí)大模型技術(shù)的時候也是一樣,他們根本不知道什么是人工智能,也不知道什么是大模型;就知道這玩意現(xiàn)在比較火,說起來比較牛逼,然后就去學(xué)。
但你問他為什么要學(xué),他們又說不出個一二三。
所以,很多人學(xué)習(xí)大模型的時候聽了一堆概念,看了一堆書,然后也不知道到底能干什么,為什么這么干。
因此,踏入社會之后我們就要學(xué)會另一種學(xué)習(xí)方式,那就是從問題出發(fā),從應(yīng)用出發(fā),在問題中尋找答案。
先不要去學(xué)習(xí)哪些高大上的理論和一些亂七八糟的概念,我們首先要做的就是先學(xué)會大模型的使用,比如讓它幫我們生成一張圖片,回答一個問題。
這時問題就來了,大模型為什么可以生成圖片,為什么可以回答問題?
然后去思考它是怎么做到的,以及它為什么能做到。
這時,你帶著問題去尋找答案,你就會發(fā)現(xiàn)原來看不懂的概念現(xiàn)在好像有點懂了;之所以可以生成圖片和回答問題,是因為現(xiàn)在的模型叫生成式模型,使用特殊的架構(gòu)實現(xiàn)的一種能夠通過預(yù)訓(xùn)練習(xí)得知識的能力。
然后你就又發(fā)現(xiàn)了一個問題,什么是預(yù)訓(xùn)練? 以及預(yù)訓(xùn)練是怎么做的?
這時你就會去學(xué)習(xí)大模型的預(yù)訓(xùn)練流程,選擇模型,數(shù)據(jù)清洗,數(shù)據(jù)訓(xùn)練,正向傳播,反向傳播,損失計算等等。
這時的你可能對大模型技術(shù)就有了一個大致的認(rèn)識,雖然你并不知道大模型到底是怎么實現(xiàn)的,但你知道通過預(yù)訓(xùn)練流程就可以打造一款適合某個場景的模型。
這時你就開始思考怎么才能訓(xùn)練一個能解決某個問題的模型?
怎么選擇合適的模型,從哪里找到這些模型,這些模型需要什么樣的以及什么格式的數(shù)據(jù),預(yù)訓(xùn)練需要多少算力,需不需要分布式并行計算等等。
這時你就會發(fā)現(xiàn),原來訓(xùn)練一個模型這么復(fù)雜,這么困難;那該怎么辦呢?
這時你又看到了微調(diào),通過少量的數(shù)據(jù)就可以實現(xiàn)把類似功能的預(yù)訓(xùn)練模型調(diào)整成適合你指定任務(wù)的模型。
這時你就會發(fā)現(xiàn),原來訓(xùn)練和微調(diào)在技術(shù)上沒有本質(zhì)的區(qū)別;唯一的區(qū)別就是預(yù)訓(xùn)練模型的參數(shù)是經(jīng)過訓(xùn)練的,而微調(diào)只需要對部分參數(shù)進行調(diào)整即可。如果是全量微調(diào),那就和訓(xùn)練沒什么本質(zhì)的區(qū)別了。
這時,你已經(jīng)明白了大模型的基本運作原理,以及訓(xùn)練和微調(diào)的方法;這時你可能會想我也自己設(shè)計一個大模型出來給別人用?
這時你通過一通查資料發(fā)現(xiàn)想實現(xiàn)這個目標(biāo)確實比較復(fù)雜,不但要深入了解各種機器學(xué)習(xí)的理論和算法,還是懂得足夠的數(shù)學(xué)基礎(chǔ)。
所以,這時你可能會轉(zhuǎn)變方向,先去基于大模型開發(fā)一款工具或應(yīng)用;比如AIGC或知識庫等。
然后,你就會思考怎么用大模型開發(fā)應(yīng)用呢?
是自己訓(xùn)練或微調(diào)一個大模型,還是使用第三方的大模型?如果使用三方大模型只需要懂得接口調(diào)用,甚至不需要知道一點人工智能的東西就可以開發(fā),技術(shù)要求低,成本也低。
而如果自己使用其它的開源模型,那么自己怎么部署,怎么動態(tài)擴容等等。
等你真正決定自己部署大模型的時候,你才發(fā)現(xiàn)原來自己獨立運維部署大模型是如此復(fù)雜的一個工程,不但要考慮模型的選擇,還要負(fù)責(zé)大模型的集群部署和擴容;而如此龐大的系統(tǒng)工程依靠人力是無法完成的,因此自動化運維就成了必不可少的東西。
最終,你經(jīng)過一通亂七八糟的操作,最終成功部署了大模型;這時,你又發(fā)現(xiàn)模型的生成效果好像并不是太好,使用了現(xiàn)有的訓(xùn)練和微調(diào)方式都沒辦法解決這個問題。
這時,你就需要開始真正的研究大模型的底層實現(xiàn),使用了什么算法,什么架構(gòu),可能是什么問題導(dǎo)致大模型表現(xiàn)不好等等。
或者說,你在使用大模型的過程中,突然發(fā)現(xiàn)一些之前沒有注意到的好玩的地方,比如大模型的幻覺問題,一本正經(jīng)的胡說八道。
而產(chǎn)生這個問題的根本原因是什么?
這時,你就會發(fā)現(xiàn)你自己好像懂了什么是大模型;但又好像什么都不懂;感覺自己什么東西都知道一點,但又沒辦法說個所以然。
為什么會產(chǎn)生上面的情況,原因就是大模型是一個復(fù)雜的系統(tǒng)性工程,沒有人上來就能把它說個一二三;大家都是在不斷學(xué)習(xí),不斷使用的過程中,發(fā)現(xiàn)問題,改正問題,在問題中成長。
所以說,你沒有機器學(xué)習(xí)和深度學(xué)習(xí)的基礎(chǔ),你會有上面的各種疑問;而你有機器學(xué)習(xí)和深度學(xué)習(xí)的基礎(chǔ),你同樣會有上面的疑問。
學(xué)習(xí)最重要的是學(xué)以致用,不論是你先從應(yīng)用學(xué)起,還是從底層理論學(xué)期,你可以根據(jù)自己的喜好,選擇適合自己的學(xué)習(xí)方式;沒有人規(guī)定有了深度學(xué)習(xí)技術(shù)就一定能學(xué)會大模型技術(shù);也沒有人規(guī)定,沒有深度學(xué)習(xí)技術(shù)的基礎(chǔ)就學(xué)不會大模型技術(shù)。
本文轉(zhuǎn)載自公眾號AI探索時代 作者:DFires
