10分鐘讀懂:全面解析AI大模型
因為產(chǎn)品經(jīng)理可以不懂技術,這就導致在了解新技術特別困難,下面我會用極簡的方式介紹什么是AI大模型。
不懂代碼、不懂數(shù)學、不懂數(shù)據(jù)庫,也能了解大模型。
一、名詞解釋
無論是配置模型還是使用,都會遇到一些大模型相關的特有名詞,所以需要先了解這些名詞是什么意思才能更好的運用它。
1.1 參數(shù)
參數(shù)是指模型的大小,一般來說參數(shù)越大,模型的能力越強。大模型的參數(shù)單位一般用“B”來表示,1B代表10億參數(shù)。
以下面的兩張圖為例,第一張圖是阿里百煉平臺的模型廣場,另一張圖是歐拉瑪?shù)哪P蛷V場,這里面的模型基本都會按照“名稱”+“版本”+“參數(shù)”的形式分類。
參數(shù)的單位基本都是“B”,但是因為有些模型不是通用大模型,而只是適用于某些領域的小模型,所以參數(shù)量會比較小,單位為“K”或“M”。
單位包括:K(千)、M(百萬)、B(十億)、T(萬億)。
阿里云百煉
歐拉瑪(Ollama)
參數(shù)越大那么模型就可能會占用越多的存儲空間,但因為不同模型對于權重、精度、壓縮技術的處理方式不同,所以參數(shù)與存儲空間并不是線性關系。
你如果問7B參數(shù)大小的模型占用多少內存空間,我只能說不知道,這要看具體的模型.每家模型訓練的不一樣,那么相同參數(shù)的情況下所占用的存儲空間也是不一樣的。就好像同樣是6年紀的小學生,有的身高一米五、有的身高一米七一樣。
1.2 token
token是大模型處理數(shù)據(jù)的最小單位,比如一個字、一個詞、一個像素、一段音軌等。
我們試著將下面的句子拆分成最小單位:
–“你好!”–,這一段話,可以將其拆分為:“你”、“好”、“!”,這三個最小單位。
–“我想吃蝦丸?!?#8211;,這一段話,可以將其拆分為:“我”、“想”、“吃”、“蝦丸”、“?!?,這五個最小單位。
這兩句話在拆分時有一點不一樣,第二句話的“蝦丸 ”并沒有拆分成兩個字,而是以詞的形式做了拆分,原因是“蝦丸”作為名詞,已經(jīng)無法在進行拆分了,如果拆分為“蝦”、“丸”兩個字,那就導致句子失去了原有的含義。
代碼是怎么進行拆分的呢?基本邏輯就是將一句話中的詞挑出來,剩下的就可以作為字來處理。
中文分詞工具包括:THULAC (Tsinghua University Language Analysis and Computing、HanLP (Han Language Processing)、LTP (Language Technology Platform)等。
另外對于大模型的提供方已經(jīng)內置分詞功能了,或者說大模型本身就有分詞能力,不需要我們在做額外工作。
1.3 上下文
一段話的周圍信息就是上下文,例如連續(xù)問大模型兩個問題,這兩個問題及回答互為上下文。
日常在溝通過程中,相同的問題我們會因為場景不同得出不同的結論。
開需求評審會時,我們會問技術同學、測試同學對需求有什么問題?技術同學會從技術的角度回答需求有什么問題、測試同學會從測試的角度回答測試的問題。假如此時我們沖著門外的設計同學詢問他們有什么問題,設計同學會一臉懵,因為他們不知道你是因為什么原因問的這個問題。
回到圖片示例的大模型問答上,當我問“包含哪些部分”時,大模型會基于第一句話理解我的意圖,再做出對應的回答。
1.4 多模態(tài)
是指可以處理多種類型的數(shù)據(jù),比如純文字、圖片、文檔等,而單一模態(tài)的模型是指只能處理文字或圖片或聲音的模型。
下面的通義模型,可以上傳圖片、文字、文檔數(shù)據(jù),就是多模態(tài)大模型。
下圖的openai提供的一系列模型皆為多模態(tài)模型,可以上傳圖片、文字。GPT3只能輸入輸出文字,所以是單一模態(tài)的模型,但是目前openAI已經(jīng)不提供GPT-3及以前的模型了。
1.5 溫度
是一個調整模型回復的隨機性的值,值越大隨機性越高,回復越有創(chuàng)造性;值越小隨機性越小,回復越重復老套。
這個名詞來源于英語單詞temperature,可以將其翻譯為溫度、熱度等。在使用模型時,默認系統(tǒng)溫度值即可;如果在回復中感覺到模型的回復會重復,這時就可以提高溫度值,如果感覺到模型回復漫無邊際,就可以降低溫度值,下圖為智譜清言對于溫度的介紹。
溫度值設置為最低時的回復(ChatGPT):
溫度值設置為最高時的回復(ChatGPT):
1.6 向量值(詞向量)
向量是用來描述token在高維世界的特征,數(shù)學領域中的向量是一個的數(shù)字列表,在一維空間中,位置可以用(x)表示;在二維空間中,則用(x, y,)表示。以此類推,三維空間(x, y, z),四維空間(x1,x2,x3,x4)……
如果道單選題,題目給出了海豚、馬、兔子、駱駝這四種動物,讓我們挑選出不一樣的一種動物,應該怎么選?
我希望你的答案是海豚,因為海豚生活在海里,其他動物生活在陸地上。當然你要非說是駱駝,因為體型大;非說是兔子,因為兔子鉆洞;非說是馬,因為速度快,那我也沒辦法。畢竟人就是通過各種各樣的特征去了解事物的,總能找到那個不一樣的特征。
那怎么讓計算機知道這些特征從而理解世界呢?我們可以將這些特征提取出來,如果提取1個特征,比如是不是陸地生物;如果提取兩個特征,比如體型的大小。
只有“陸地生物”這一個特征的時候,越是符合這個特征則越靠近右側,為了方便知道其位置,可以給一個坐標。如果增加“體型”這個特征的時候,那么每一個動物也就擁有了二維坐標。如果繼續(xù)增加特征呢,那每個動物就會擁有三維坐標、四維坐標、五維坐標……
用圖像肯定不方便表示,計算機中也不可能放一張無限維度的坐標圖,但是計算機中可以存儲每個動物的坐標位置,每一個數(shù)字就是對應了一個特征的值,通過動物之間數(shù)字的對比就可以知道每個動物之間的差異及內涵。
那計算機是怎么知道這些特征和數(shù)值大小的呢?可以靠計算機學習,讓神經(jīng)網(wǎng)絡學習大量資料后,讓計算機去區(qū)分每一個token的特征和特征的值。
二、大語言模型(LLM)
2.1 為什么叫大語言模型?
能聽懂人話并且和人溝通的模型,叫做大語言模型。
大語言模型主要是處理語言的,處理什么數(shù)據(jù)就叫什么模型,除了語言模型還有處理視覺、音頻、生成數(shù)據(jù)等其他作用的模型。
如果有人開發(fā)出了畫原型圖的模型,也可以叫它“原型圖模型”。
多模態(tài)模型也就是綜合了語言模型、視覺模型等多種模型能力的大模型。因為每一種模型的作用是不相同的,為了讓大模型的能力更強更方便使用,所以產(chǎn)生了多模態(tài)大模型,也就是即可以聽懂人話,也可以看懂圖片是什么意思。
2.2 為什么大模型能夠聽懂人話?
我們并不確定計算機理解人類的語言還是概率運算的結果。
我們可以教會鸚鵡說“你好”,那我們可以說鸚鵡聽懂了人類的語言嗎?不可以,因為我們明確的科學的可以知道鸚鵡只是重復音節(jié)。
大模型則是通過了大量的文本訓練,學會了語言中的各種溝通方式、文字與文字之間的排列規(guī)則、語法的結構。通過這一系列的規(guī)則運算,給人一種可以聽懂人話的感覺。
要了解大模型是怎么變得這么厲害的,那就需要從頭開始說了。
最早有關人工智能的概念來源于圖靈,他在《計算機器與智能》的論文里提出了“圖靈測試”,什么是圖靈測試呢?就是讓一臺機器和人對話,如果這個人沒法辨別和他對話的是機器還是真人,那么就可以說這臺機器具備了智能。
為了使機器能夠通過圖靈測試,研究人員開始研究人類語言。因為人是地球上擁有最高智慧的物種,而語言是人類溝通過程中最重要工具,更是智能的表現(xiàn)形式。
具體怎么研究語言呢?最直接的方式就是從語言的規(guī)則下手。比如n-gram模型,就是根據(jù)人類的語言習慣,通過前面的字來預測后面字的方式讓計算機實現(xiàn)語言功能的,而且現(xiàn)在的大模型也是站在n-gram模型的肩膀上發(fā)展出來的,了解n-gram模型就能夠很清楚的知道現(xiàn)在的大模型的實現(xiàn)邏輯。
① 入門級模型:n-gram模型
n-gram模型前面的N是指,用幾個詞來預測下一個詞。
如果我們當前文字及前面的一個文字來預測下一個詞,這就叫做2-gram;如果用當前文字及前面的兩個文字來預測下一個詞,這就叫做3-gram。
為了能夠理解n-gram模型,我們可以舉個例子。
有一個數(shù)據(jù)集,里面只有兩句話。
- 我喜歡吃蘋果。
- 我喜歡吃香蕉。
我們需要先將這兩句話拆分token,也就是“我”“喜歡”“吃”“蘋果”“香蕉”。
根據(jù)概率推算,“我”后面必然會跟著“喜歡”兩個字,概率是100%;那么當我們輸入“我”這個漢字的時候,系統(tǒng)就會根據(jù)概率,輸出“喜歡”這個詞,可見下圖。
如果規(guī)定模型持續(xù)運行直到生成一句話,那么模型就會根據(jù)概率生成“我喜歡吃蘋果”或者“我喜歡吃香蕉”,因為“蘋果”和“香蕉”兩個詞的概率都是50%,那么系統(tǒng)會隨機生成。
但是n-gram模型也有很多缺陷,因為n-gram模型是先假設每一個詞都是互相獨立存在,彼此沒有關系的。但詞語和文字卻是有實際意義的,所以就導致模型沒法理解上下文,沒辦法解決句子中的邏輯關系。如果出現(xiàn)了新詞語,也沒法理解其用法,純粹是概率計算。
直到后來,出現(xiàn)了神經(jīng)網(wǎng)絡技術。
② 大模型核心角色-神經(jīng)網(wǎng)絡
神經(jīng)網(wǎng)絡是通過模仿大腦處理信息的方式而產(chǎn)生的計算模型,是為了解決圖像識別和邏輯運算的。
神經(jīng)網(wǎng)絡的設計靈感來源于人腦的結構,每個神經(jīng)元代表一個基本的計算單元,單個神經(jīng)元實際上是一串代碼,用來處理簡單的數(shù)學運算。盡管單個神經(jīng)元的功能相對簡單,但當大量這樣的神經(jīng)元連接起來形成網(wǎng)絡后,整個網(wǎng)絡就能夠去處理復雜的任務。
經(jīng)典的神經(jīng)網(wǎng)絡可以分為三層結構,輸入層、隱藏層、輸出層,每一層都是由一堆神經(jīng)元組成。
- 輸入層:接收原始數(shù)據(jù),將原始數(shù)據(jù)經(jīng)過預處理后傳遞給隱藏層。
- 隱藏層:通過線性加權求和、激活函數(shù)、權重等一系列運算,將結果傳遞給輸出層。
- 輸出層:處理接收到的數(shù)據(jù)并輸出結果,將結果反饋給用戶。
總結一下就是,每個神經(jīng)元作為一個計算單元,通過對輸入數(shù)據(jù)進行加權求和并應用激活函數(shù)來提取有用的特征,然后將處理后的信息傳遞到網(wǎng)絡的下一層。在網(wǎng)絡的輸出層,對于分類任務,神經(jīng)元可以輸出表示不同類別的概率值。
具體到圖像識別任務,圖像是由像素構成的,每個像素都有其特定的色值。以數(shù)字“6”為例,我們可以給計算機大量數(shù)字6的圖片,計算機會將圖像分解為像素,然后將顏色轉換成色值,并分析這些色值的分布規(guī)律。
最終,當模型遇到新的、未見過的數(shù)字6圖片時,它能夠基于已學到的規(guī)則將其識別出來。如果給神經(jīng)網(wǎng)絡提供大量高質量且標注準確的數(shù)據(jù),那么神經(jīng)網(wǎng)絡就可以擁有解釋圖像信息的能力。
雖然神經(jīng)網(wǎng)絡這么厲害,但因為早期的硬件限制,導致發(fā)展并不順利。前面我們可以得知,神經(jīng)網(wǎng)絡是通過大量神經(jīng)元構成的,而每個神經(jīng)元只負責簡單的運算,這種方式要求硬件能提供強大的并行處理能力,以同時執(zhí)行這些大量的簡單運算任務。但當時訓練神經(jīng)網(wǎng)絡只能依靠CPU且性能還有限。
隨著計算機硬件技術的發(fā)展,特別是GPU的引入,這才讓神經(jīng)網(wǎng)絡的硬件環(huán)境得到改善。硬件技術的發(fā)展讓研究人員能夠去設計和訓練更復雜的神經(jīng)網(wǎng)絡結構,比如卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡、注意力機制、預訓練等。而現(xiàn)在的大模型都是基于神經(jīng)網(wǎng)絡架構的,可以說沒有硬件的發(fā)展、沒有神經(jīng)網(wǎng)絡的發(fā)展,就沒有目前的大模型。
而Transformer架構是神經(jīng)網(wǎng)絡中最主流的,當前的大語言模型幾乎都是基于Transformer架構搭建的。
③ 主流架構-Transformer架構
Transformer架構是特別適用于自然語言處理的神經(jīng)網(wǎng)絡模型。
Transformer架構能夠如此厲害,在于Transformer架構能夠通過向量數(shù)據(jù)、自注意力機制、神經(jīng)網(wǎng)絡等能力,高效地處理和理解自然語言。
向量數(shù)據(jù):每個token被轉換為了高維向量,通過token的向量值,可以知道詞匯本身的語義信息、特征,還能分析出token與token之間的復雜關系。
自注意力機制:輸入到神經(jīng)網(wǎng)絡的每一個token都可以與其他token發(fā)生聯(lián)系,并且通過“權重”來區(qū)分鏈接過程中的重要程度,這樣可以讓大模型解決上下文關聯(lián)問題,避免提問第二個問題的時候忘記第一個問題。
神經(jīng)網(wǎng)絡的能力:通過全新的神經(jīng)網(wǎng)絡結構,不僅能捕捉局部特征,還能理解全局信息,從而支持更深層次的語言理解和生成任務。
國外的openai、谷歌、微軟,到國內的阿里、騰訊、清華的團隊等,都是基于或借鑒Transformer架構開發(fā)的大模型。
https://bbycroft.net/llm ,這是一個LLM可視化網(wǎng)站,可以清楚的看到大模型每一步的工作細節(jié)。
三、大模型實踐方法
3.1 提示詞工程
提示詞功能的作用在于通過設定提示,讓大模型的回答更加精準。
大模型訓練時并不會針對特定領域,是為廣泛問題進行設計的。而提示詞工程(Prompt Engineering)也叫上下文提示,目的是希望大模型在回答問題時,可以得知前因后果,聚焦用戶的特定需求。
也就是無論形式如何,只要能夠讓大模型得知你的需求就是提示詞,只要讓大模型給你想要的答案就是好的提示詞,哪怕你問的是“1+1等于幾?”。
比如你讓大模型扮演某個角色,你可以告訴大模型:“你要扮演魯迅,回答的風格要與魯迅的作品類似”。那么大模型就會扮演魯迅且通過魯迅的說話風格回答你的問題。
而在創(chuàng)建智能體時,也會讓用戶填寫智能體的設定,這個設定就起到了提示詞的功能。
針對復雜問題,為了從大型語言模型中獲得高質量的回答,我們需要提供更加詳盡的問題描述。在2023年11月,新加坡舉辦了首屆提示詞功能大賽,冠軍Sheila Tao撰寫了一篇文章,探討了她對提示詞的理解,并介紹了CO-STAR框架的應用方法。
工作原理如下:
(C)背景:提供任務的背景信息
這有助于 LLM 了解正在討論的具體場景,確保其回應是相關的。
(O)目標:明確你希望 LLM 執(zhí)行的任務是什么
明確你的目標有助于 LLM 集中精力實現(xiàn)該特定目標。
(S)風格:指定您希望 LLM 使用的寫作風格
這可能是某個名人的寫作風格,也可能是某個行業(yè)的某個專家,比如商業(yè)分析師或 CEO。這將指導 LLM 以符合您需求的方式和措辭進行回復。
(T)語氣:設定回應的態(tài)度
這確保 LLM 的回應與預期的情緒或情感背景產(chǎn)生共鳴。例如正式、幽默、富有同理心等。
(A)受眾:確定回復針對的對象
根據(jù)受眾(例如某個領域的專家、初學者、兒童等)定制 LLM 的回應,確保它在您需要的背景下是適當且易于理解的。
(R)回復:提供回復格式
這可確保 LLM 輸出的格式與您執(zhí)行下游任務所需的格式完全一致。示例包括列表、JSON、專業(yè)報告等。對于大多數(shù)以編程方式處理 LLM 響應以進行下游操作的 LLM 應用程序而言,JSON 輸出格式是理想的選擇。
如果我們希望大模型可以幫產(chǎn)品經(jīng)歷寫一份年終總結,就可以按照CO-STAR框架編寫提示詞。
背景:我是“XXXXX”公司的產(chǎn)品經(jīng)理,負責XXXXXX應用。在過去的一年中,我們實現(xiàn)了多項功能升級,并且用戶基數(shù)有了顯著增長。
目標:編寫一份全面的年終總結報告,概述本年度的關鍵成就、遇到的主要挑戰(zhàn)及解決策略,并簡要介紹下一年的戰(zhàn)略規(guī)劃。
風格:采用清晰、專業(yè)的商務寫作風格,類似于業(yè)界公認的產(chǎn)品經(jīng)理或公司領導人的表達方式。
語氣:正式而積極,體現(xiàn)對團隊努力的認可以及對未來發(fā)展的樂觀態(tài)度。
受眾:這份報告將提交給公司的高級管理層以及我的直接上司,并會在內部分享給整個產(chǎn)品團隊。
回復:請按照標準的年終總結格式提供文檔,包括封面頁、目錄、引言、年度回顧、主要成就、面臨的挑戰(zhàn)與解決方案、未來展望等部分。文檔需保持專業(yè)性,重點突出。
如果不會寫提示詞怎么辦?沒關系,可以復制文中的工作原理,把寫提示詞的工作交給大模型。
雖然可以通過CO-STAR框架中說明了提示詞該怎么寫,但我們的重點并不在于如何編寫提示詞,而在于讓大模型給出我們滿意的答案。
3.2 知識庫
知識庫就是資料庫,目的就是為大模型處理問題提供必要背景知識。
雖然大模型擅長處理廣泛領域的常見問題,但在面對特定領域內深入且專業(yè)的問題時存在局限性,而知識庫提供了特定領域的信息,幫助其解決特定問題。
如果希望大模型幫助企業(yè)優(yōu)化供應鏈管理,那么大模型就需要知道供應商信息、庫存水平、物流數(shù)據(jù)、采購數(shù)據(jù)等信息。如果希望大模型能夠幫助系統(tǒng)應用,那么大模型就需要知道項目管理流程、技術文檔、操作說明書等信息。而這些信息就需要存放到知識庫,作為大模型的知識儲備。
chatgpt的存儲功能
阿里百煉的數(shù)據(jù)管理功能
這里需要注意,大模型和知識庫是兩種不同的技術,只是針對于特殊問題需要知識庫提供特定信息。
所有的數(shù)據(jù)都需要存儲在服務器上,常見的數(shù)據(jù)庫類型包括關系型數(shù)據(jù)庫、非關系型數(shù)據(jù)庫,這些數(shù)據(jù)庫可以有效地存儲和管理結構化與非結構化數(shù)據(jù)。然而對于大模型來說,這些傳統(tǒng)的存儲方式并無本質區(qū)別,它們更像是文件夾,用于存儲和檢索信息。
并不是知識庫的數(shù)據(jù)就需要向量存儲,只是需要處理相似性任務的時候,需要用到向量數(shù)據(jù)庫。
前面提到大模型時也有提到,大模型的本質是概率計算,通過token與token之間向量值的對比來生成數(shù)據(jù),這種基于向量的計算方式使得大模型能夠理解和處理復雜的模式和關系。只要任務需要用到數(shù)據(jù)與數(shù)據(jù)的相似性對比,那么就需要用到向量數(shù)據(jù)庫,可見第一部分的向量詞。
對于產(chǎn)品經(jīng)理來說,我們必須知道如何運用知識庫,如果想要進一步的了解向量數(shù)據(jù)庫,可以詢問大模型、B站搜索向量數(shù)據(jù)、阿里云或騰訊云的開發(fā)文檔及介紹。
3.3 微調
微調就是讓通用的大模型,更加適用于某個特定項目。
如果大模型是一個大學生,知識庫相當于公司資料,而微調工作就相當于入職培訓,培訓其如何與客戶繼續(xù)溝通。
聽起來微調似乎很高深,但其實大模型廠商都會提供對應的微調功能,我們可以通過平臺提供的微調模板,了解微調是什么。
微調的目的是通過使用實際案例來優(yōu)化大模型的表現(xiàn)能力,使其更符合特定應用場景的需求。無論是像ChatGPT還是通義這樣的大模型,都是采用一問一答的形式進行。
通過提供企業(yè)自身的實際案例,微調過程可以讓大模型學習到更加精準和符合企業(yè)需求的回復方式,從而使通用的大模型能夠高度適配企業(yè)的具體業(yè)務場景。這樣不僅提升了模型的實用性,還增強了其在特定領域中的表現(xiàn)力和準確性。
四、最后
對于AI產(chǎn)品經(jīng)理來說,我們的核心工作是應用大模型,而不是作為大模型的研究者。無論各研究團隊推出了什么新的架構,對于產(chǎn)品來說都不重要,重要的是如何將其集成到現(xiàn)有的系統(tǒng)中。至于如何集成到系統(tǒng),不同公司有不同的解決方案,這些就需要在工作中探索了。
本文由 @入幽 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉載。
題圖來自 Unsplash,基于CC0協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。
深入淺出,受益匪淺,這回他們講話我能聽懂了,哈哈
學到了很多,謝謝作者
感謝??,如果需要深度學習的話,不建議花錢報班,可以在b站看清華的公開課或吳恩達的課程。
好咧,謝謝