今天小編分享的科技經驗:寫給小白的大模型入門科普,歡迎閲讀。
引言: 網上關于大模型的文章也很多,但是都不太容易看懂。小棗君今天試着寫一篇,争取做到通俗易懂。
廢話不多説,我們直入主題。
什麼是大模型?
大模型,英文名叫 Large Model,大型模型。早期的時候,也叫 Foundation Model,基礎模型。
大模型是一個簡稱。完整的叫法,應該是 " 人工智能預訓練大模型 "。 預訓練,是一項技術,我們後面再解釋。
我們現在口頭上常説的大模型,實際上特指大模型的其中一類,也是用得最多的一類——語言大模型(Large Language Model,也叫大語言模型,簡稱 LLM)。
除了語言大模型之外,還有視覺大模型、多模态大模型等。現在,包括所有類别在内的大模型合集,被稱為廣義的大模型。而語言大模型,被稱為狹義的大模型。
從本質來説,大模型,是包含超大規模參數(通常在十億個以上)的神經網絡模型。
之前給大家科普人工智能(鏈接)的時候,小棗君介紹過,神經網絡是人工智能領網域目前最基礎的計算模型。它通過模拟大腦中神經元的連接方式,能夠從輸入數據中學習并生成有用的輸出。
這是一個全連接神經網絡(每層神經元與下一層的所有神經元都有連接),包括 1 個輸入層,N 個隐藏層,1 個輸出層。
大名鼎鼎的卷積神經網絡(CNN)、循環神經網絡(RNN)、長短時記憶網絡(LSTM)以及 transformer 架構,都屬于神經網絡模型。
目前,業界大部分的大模型,都采用了 transformer 架構。
剛才提到,大模型包含了超大規模參數。實際上,大模型的 " 大 ",不僅是參數規模大,還包括:架構規模大、訓練數據大、算力需求大。
以 OpenAI 公司的 GPT-3 為例。 這個大模型的隐藏層一共有 96 層,每層的神經元數量達到 2048 個。
整個架構的規模就很大(我可畫不出來),神經元節點數量很多。
大模型的參數數量和神經元節點數有一定的關系。簡單來説,神經元節點數越多,參數也就越多。例如,GPT-3 的參數數量,大約是 1750 億。
大模型的訓練數據,也是非常龐大的。
同樣以 GPT-3 為例,采用了 45TB 的文本數據進行訓練。即便是清洗之後,也有 570GB。具體來説,包括 CC 數據集(4 千億詞)+WebText2(190 億詞)+BookCorpus(670 億詞)+ 維基百科(30 億詞),絕對堪稱海量。
最後是算力需求。
這個大家應該都聽説過,訓練大模型,需要大量的 GPU 算卡資源。而且,每次訓練,都需要很長的時間。
GPU 算卡
根據公開的數據顯示,訓練 GPT-3 大約需要 3640PFLOP · 天(PetaFLOP · Days)。如果采用 512 張英偉達的 A100 GPU(單卡算力 195 TFLOPS),大約需要 1 個月的時間。訓練過程中,有時候還會出現中斷,實際時間會更長。
總而言之,大模型就是一個虛拟的龐然大物,架構復雜、參數龐大、依賴海量數據,且非常燒錢。
相比之下,參數較少(百萬級以下)、層數較淺的模型,是小模型。小模型具有輕量級、高效率、易于部署等優點,适用于數據量較小、計算資源有限的垂直領網域場景。
大模型是如何訓練出來的?
接下來,我們了解一下大模型的訓練過程。
大家都知道,大模型可以通過對海量數據的學習,吸收數據裏面的 " 知識 "。然後,再對知識進行運用,例如回答問題、創造内容等。
學習的過程,我們稱之為訓練。運用的過程,則稱之為推理。
訓練,又分為預訓練(Pre-trained)和微調(Fine tuning)兩個環節。
預訓練
在預訓練時,我們首先要選擇一個大模型框架,例如 transformer。然後,通過 " 投喂 " 前面説的海量數據,讓大模型學習到通用的特征表示。
那麼,為什麼大模型能夠具有這麼強大的學習能力?為什麼説它的參數越多,學習能力就越強?
我們可以參考 MIT(麻省理工)公開課的一張圖:
這張圖是深度學習模型中一個神經元的結構圖。
神經元的處理過程,其實就是一個函數計算過程。算式中,x 是輸入,y 是輸出。預訓練,就是通過 x 和 y,求解 W。W 是算式中的 " 權重(weights)"。
權重決定了輸入特征對模型輸出的影響程度。通過反復訓練來獲得權重,這就是訓練的意義。
權重是最主要的參數類别之一。除了權重之外,還有另一個重要的參數類别——偏置(biases)。
參數有很多種類
權重決定了輸入信号對神經元的影響程度,而偏置則可以理解為神經元的 " 容忍度 ",即神經元對輸入信号的敏感程度。
簡單來説,預訓練的過程,就是通過對數據的輸入和輸出,去反復 " 推算 " 最合理的權重和偏置(也就是參數)。訓練完成後,這些參數會被保存,以便模型的後續使用或部署。
參數越多,模型通常能夠學習到更復雜的模式和特征,從而在各種任務上表現出更強的性能。
我們通常會説大模型具有兩個特征能力——湧現能力和泛化能力。
當模型的訓練數據和參數不斷擴大,直到達到一定的臨界規模後,會表現出一些未能預測的、更復雜的能力和特性。模型能夠從原始訓練數據中,自動學習并發現新的、更高層次的特征和模式。這種能力,被稱為 " 湧現能力 "。
" 湧現能力 ",可以理解為大模型的腦子突然 " 開竅 " 了,不再僅僅是復述知識,而是能夠理解知識,并且能夠發散思維。
泛化能力,是指大模型通過 " 投喂 " 海量數據,可以學習復雜的模式和特征,可以對未見過的數據做出準确的預測。
簡單來説,就像董宇輝一樣,書讀得多了,有些書雖然沒讀過,他也能瞎掰幾句。
參數規模越來越大,雖然能讓大模型變得更強,但是也會帶來更龐大的資源消耗,甚至可能增加 " 過拟合 " 的風險。
過拟合,是指模型對訓練數據學習得過于精确,以至于它開始捕捉并反映訓練數據中的噪聲和細節,而不是數據的總體趨勢或規律。説白了,就是大模型變成了 " 書呆子 ",只會死記硬背,不願意融會貫通。
預訓練所使用的數據,我們也需要再説明一下。
預訓練使用的數據,是海量的未标注數據(幾十 TB)。
之所以使用未标注數據,是因為互聯網上存在大量的此類數據,很容易獲取。而标注數據(基本上靠人肉标注)需要消耗大量的時間和金錢,成本太高。
預訓練模型,可以通過無監督學習方法(如自編碼器、生成對抗網絡、掩碼語言建模、對比學習等,大家可以另行了解),從未标注數據中,學習到數據的通用特征和表示。
這些數據,也不是随便網上下載得來的。整個數據需要經過收集、清洗、脱敏和分類等過程。這樣可以去除異常數據和錯誤數據,還能删除隐私數據,讓數據更加标準化,有利于後面的訓練過程。
獲取數據的方式,也是多樣化的。
如果是個人和學術研究,可以通過一些官方論壇、開源數據庫或者研究機構獲取。如果是企業,既可以自行收集和處理,也可以直接通過外部渠道(市場上有專門的數據提供商)購買。
微調
預訓練學習之後,我們就得到了一個通用大模型。這種模型一般不能直接拿來用,因為它在完成特定任務時往往表現不佳。
這時,我們需要對模型進行微調。
微調,是給大模型提供特定領網域的标注數據集,對預訓練的模型參數進行微小的調整,讓模型更好的完成特定任務。
行業數據類别
微調之後的大模型,可以稱之為行業大模型。例如,通過基于金融證券數據集的微調,可以得到一個金融證券大模型。
如果再基于更細分的專業領網域進行微調,就是專業大模型(也叫垂直大模型)。
我們可以把通用大模型理解為中小學生,行業大模型是大學大學生,專業大模型是研究生。
微調階段,由于數據量遠小于預訓練階段,所以對算力需求小很多。
大家注意,對于大部分大模型廠商來説,他們一般只做預訓練,不做微調。而對于行業客户來説,他們一般只做微調,不做預訓練。
" 預訓練 + 微調 " 這種分階段的大模型訓練方式,可以避免重復的投入,節省大量的計算資源,顯著提升大模型的訓練效率和效果。
預訓練和微調都完成之後,需要對這個大模型進行評估。通過采用實際數據或模拟場景對大模型進行評估驗證,确認大模型的性能、穩定性和準确性 等是否符合設計要求。
等評估和驗證也完成,大模型基本上算是打造成功了。接下來,我們可以部署這個大模型,将它用于推理任務。
換句話説,這時候的大模型已經 " 定型 ",參數不再變化,可以真正開始幹活了。
大模型的推理過程,就是我們使用它的過程。通過提問、提供提示詞(Prompt),可以讓大模型回答我們的問題,或者按要求進行内容生成。
最後,畫一張完整的流程圖:
大模型究竟有什麼作用?
根據訓練的數據類型和應用方向,我們通常會将大模型分為語言大模型(以文本數據進行訓練)、音頻大模型(以音頻數據進行訓練)、視覺大模型(以影像數據進行訓練),以及多模态大模型(文本和影像都有)。
語言大模型,擅長自然語言處理(NLP)領網域,能夠理解、生成和處理人類語言,常用于文本内容創作(生成文章、詩歌、代碼)、文獻分析、摘要匯總、機器翻譯等場景。大家熟悉的 ChatGPT,就屬于此類模型。
音頻大模型,可以識别和生產語音内容,常用于語音助手、語音客服、智能家居語音控制等場景。
視覺大模型,擅長計算機視覺(CV)領網域,可以識别、生成甚至修復影像,常用于安防監控、自動駕駛、醫學以及天文影像分析等場景。
多模态大模型,結合了 NLP 和 CV 的能力,通過整合并處理來自不同模态的信息(文本、影像、音頻和視頻等),可以處理跨領網域的任務,例如文生圖,文生視頻、跨媒體搜索(通過上傳圖,搜索和圖有關的文字描述)等。
今年以來,多模态大模型的崛起勢頭非常明顯,已經成為行業關注的焦點。
如果按照應用場景進行分類,那麼類别就更多了,例如金融大模型、醫療大模型、法律大模型、教育大模型、代碼大模型、能源大模型、政務大模型、通信大模型,等等。
例如金融大模型,可以用于風險管理、信用評估、交易監控、市場預測、合同審查、客户服務等。功能和作用很多很多,不再贅述。
大模型的發展趨勢?
截至 2024 年 3 月 25 日,中國 10 億參數規模以上的大模型數量已經超過 100 個,号稱 " 百模大戰 "。
這些大模型的應用領網域、參數規模各有不同,但是,背後都是白花花的銀子。
根據行業估測的數據,訓練一個大模型,成本可能在幾百萬美元到上億美元之間。例如,GPT-3 訓練一次的成本,約為 140 萬美元。Claude 3 模型的訓練費用,高達約 1 億美元。
如此多的企業推出大模型,實際上也是一種資源的浪費。
而且,大模型也分為開源大模型和閉源大模型。行業裏有能力做閉源大模型的企業,并不是很多。大部分的大模型,都是基于開源大模型框架和技術打造的,實際上是為了迎合資本市場的需求,或者為了蹭熱度。
行業裏,目前仍有部分頭部企業在死磕參數規模更大的超大模型(擁有數萬億到數千萬億個參數),例如 OpenAI、xAI 等。馬斯克之前就在 X 平台宣布,xAI 團隊已經成功啓動了世界上最強大的 AI 訓練集群。該集群由 10 萬塊 H100 組成,主要用于 Grok 2 和 Grok 3 的訓練和開發。
對于大部分企業來説,萬卡和萬億參數其實已經是個天花板了,再往上走的意願不強烈,錢包也不允許。
随着行業逐漸趨于理性,現在大家的關注焦點,逐漸從 " 打造大模型 ",變成 " 使用大模型 "。如何将大模型投入具體應用,如何吸引更多用户,如何通過大模型創造收入,成為各大廠商的頭等任務。
大模型落地,就涉及到能力 " 入 " 端(下沉到終端)。所以,AI 手機、AI PC、具身智能的概念越來越火,成為新的發展熱點。
以 AI 手機為例,像高通、聯發科等芯片廠商,都推出了具有更強 AI 算力的手機芯片。而 OPPO、vivo 等手機廠商,也在手機裏内置了大模型,并推出了很多原生 AI 應用。
第三方 AI 應用的數量,就更不用説了。截止目前,根據行業數據顯示,具有 AI 功能的 APP 數量已達到 300 多萬款。2024 年 6 月,AIGC 類 APP 的月活躍用户規模達 6170 萬,同比增長 653%。
大模型入端,也帶來了輕量化的趨勢。為了在資源受限的設備上運行,大模型将通過剪枝、量化、蒸餾等技術進行輕量化,保持性能的同時減少計算資源需求。
大模型會帶來哪些挑戰?
大模型是一個好東西,能夠幫我們做很多事情,節約時間,提升效率。但是,大模型也是一把雙刃劍,會帶來一些新的挑戰。
首先,是影響失業率。大模型所掀起的 AI 人工智能浪潮,肯定會導致一些人類工作崗位被替代,進而導致失業率上升。
其次,是版權問題。大模型基于已有數據進行學習。大模型生成的内容,尤其是用于文本、影像、音樂和視頻創作,可能引發版權和知識產權問題。它雖然幫助了創作,但也 " 引用 " 了人類創作者的作品,界限難以區分。長此以往,可能打擊人類的原生創作熱情。
第三,大模型可能引發算法偏見和不公平。也就是説,訓練數據中存在的偏差,會導致大模型學習到這些偏差,從而在預測和生成内容時表現出不公平的行為。模型可能無意中強化社會上的刻板印象和偏見,例如性别、種族和宗教等方面的偏見。大模型生成的内容也可能被用于政治宣傳和操縱,影響選舉和公共輿論。
第四,被用于犯罪。大模型可以生成逼真的文本、影像、語音和視頻,這些内容可能被用于詐騙、诽謗、虛假信息傳播等惡意用途。
第五,能耗問題。大模型的訓練和推理需要大量的計算資源,這不僅增加了成本,還帶來了巨大的碳排放。很多企業為了服務于資本市場或跟風,盲目進行大模型訓練,消耗了大量的資源,也導致了無意義的碳排放。
總而言之,大模型在倫理、法律、社會和經濟層面帶來的威脅和挑戰還是很多的,需要更多時間進行探索和解決。
好啦,以上就是今天文章的全部内容,希望對大家有所幫助!
本文來自微信公眾号 " 鮮棗課堂 "(ID:xzclasscom),作者:小棗君。