2022年11月ChatGPT的推出讓各行業的玩家對大型語言模型AI有了新的認識。這種熱潮滲透到了加密貨幣領域,本文旨在介紹AI的發展、當前狀態以及AI與加密貨幣結合所催生的行業。
機器學習(ML)是一種具有經驗學習能力的技術,它通過從大量數據集中學習來區分動物、語言翻譯和其他特定任務。機器學習是當前實現人工智能的最實際的方法之一,根據學習的數據是否標記以及其特徵,可以分爲監督學習和無監督學習。
完成監督學習的模型有很多種,包括基於樹的模型、圖模型以及最近出現的神經網路。隨着計算能力和數據的快速發展,深度學習在神經網路架構的基礎上得到了進一步發展。當前的深度學習架構通常包括但不限於卷積神經網路(CNN)、遞歸神經網路(RNN)和注意力機制。
機器學習的分類,來源:HashKey Capital
不同的深度學習網路具有輸入層、隱藏層和輸出層的基本架構。輸入層通常是經過處理的文本、視頻、音頻和其他數據(如“標記化/嵌入”)。隱藏層的設計(模型形狀)根據數據集和任務目的的不同而有所不同,如表所示。
神經網路的類型,來源:HashKey Capital 整理
神經網路發展的30年歷程,來源:HashKey Capital整理
神經網路的訓練最早可以追溯到20世紀80年代中期,喬丹(Jordan)在其1986年論文《序列順序:並行分布處理方法》中訓練了一個神經網路來學習序列模式。該網路非常小,只有少量的神經元。
到了1990年代,傑弗裏·埃爾曼(Jeffrey Ehrman)擴展了神經網路,開發了一個50個神經元的網路,並發現該網路能夠根據詞義進行空間聚類。例如,它可以將無生命和有生命的名詞分開,在有生命物體中,進一步將人類和非人類進行細分,而無生命物體則分爲易碎和可食用。這表明神經網路具有學習層次解釋的能力。
他進一步觀察到,單詞可以表示爲高維空間中的點,單詞或句子的序列可以被視爲路徑。這個重大的突破使得文本數據集得以數字化、向量化,並通過計算機進行處理。
來源: http://3b1b.co/neural-networks
2011年,Confluence的研究人員訓練了包含數千個神經元和數百萬個連接的更大規模網路,並發現了該網路在保持長序列上下文連貫性方面的瓶頸。
2017年,OpenAI基於Kathy的研究,使用8200萬條亞馬遜評論進行訓練,發現了情感神經元。這些神經元能夠完美地分類文本的情感。
資料來源:學習生成評論並發現情緒
關於上下文大小的限制,2017年《Attention Is All You Need》論文提出了一個解決方案。該論文創建了一個動態層網路,能夠根據網路的上下文動態調整連接權重。其工作原理是通過允許輸入中的單詞相互查看、比較,並找到最相關的單詞。概念上越接近的單詞在空間上也越接近,並且可以擁有更高的連接權重。不過,該論文僅專注於翻譯問題。
因此,OpenAI的研究人員嘗試了更強大的Transformer架構,並在2020年推出了GPT-3,這一模型引起了全球各行業的廣泛關注。GPT-3的網路規模達到了1750億參數、96層以及1000詞的上下文窗口。
以以下28x28像素的數字圖像爲例,神經元對應於28x28輸入圖像的每個像素,總共包含784個神經元。神經元中的數字表示激活值,範圍從0到1。
28x28 像素數字圖像,來源: http://3b1b.co/neural-networks
這784個神經元構成了網路的輸入層。最終的輸出層包含十個神經元,分別代表數字0到9,其激活值範圍同樣爲0到1。中間層爲隱藏層,在神經網路運行過程中,上一層的激活值決定了下一層的激活值。
深度學習的深度在於模型學習了多層的變換,每一層都有不同的表示方式。例如,正如下圖中的數字9所示,不同的層可以識別不同的特徵。輸入層越靠近數據的低級細節,而輸出層則越接近可以用來區分的更具體的概念。
來源: http://3b1b.co/neural-networks
隨着模型規模的擴大,中間的隱藏層涉及每層數千億的權重,這些權重和偏差實際上決定了網路的行爲。機器學習的過程就是尋找正確的參數,即權重和偏差的過程。
在GPT等大型語言模型中使用的Transformer架構包含一個中間隱藏層,由96層解碼器模塊組成,其中GPT1、GPT2和GPT3分別有12層、48層和96層。解碼器模塊包含注意力機制和前饋神經網路組件。
計算或學習過程涉及定義一個代價函數(或損失函數),該函數將網路計算的輸出預測與實際值之間的差異平方求和。當總和較小時,模型的表現就處於可接受的範圍內。
訓練從隨機參數化網路開始,並通過尋找能最小化代價函數的參數來確定最終的模型參數。收斂代價函數的方法是通過梯度下降法,它通過檢查每個參數變化對代價/損失的影響程度,然後根據影響程度調整參數。
計算參數梯度的過程引入了反向傳播算法(backpropagation),該算法根據鏈式法則從輸出層到輸入層反向遍歷網路。同時,算法需要存儲任何用於計算梯度的中間變量(偏導數)。
在訓練AI大型語言模型時,有三個主要因素影響其性能,分別是模型參數的數量、數據集的規模和計算資源的量。
來源:OpenAI 報告,神經語言模型的縮放定律
這與現實中數據集和計算機(計算能力)的發展趨勢一致,但從下表中也可以看出,計算能力的增長速度快於可用數據的增長,而內存的發展則是最慢的。
數據集、內存和計算能力的發展,來源: https://github.com/d2l-ai
面對大型模型,當訓練數據過少時,容易出現過擬合的情況。通常,隨着數據量的增加,更復雜模型的準確性會得到提升。關於大型模型所需的數據量,可以依據“10倍規則”來決定,即數據量應爲參數數量的10倍,但有些深度學習算法採用1:1的比例。
監督學習需要使用標記數據集和特徵數據集來得出有效結果。
來源:Fashion-MNIST 服裝分類數據集
盡管過去十年或二十年數據量迅速增加,當前的開源數據集包括Kaggle、Azure、AWS、Google數據庫等,但由於隱私問題、模型參數增加和數據可重復性問題,有限、稀缺且昂貴的數據逐漸成爲AI發展的瓶頸。爲緩解這一問題,提出了不同的數據解決方案。
數據增強技術可能是有效的解決方案,通過在不獲取新樣本的情況下爲模型提供不足的數據,例如縮放、旋轉、反射、裁剪、平移、添加高斯噪聲、mixup等。
合成數據是另一種選擇。合成數據是通過計算機模擬或算法人工生成的數據,可以有或沒有先前的參考數據集。關於合成數據生成工具的開發,Ian J. Goodfellow發明了生成對抗網路(GAN),這是一種深度學習架構。
GAN訓練兩個神經網路相互競爭,可以從給定的訓練數據集中生成新的、更真實的數據。該架構支持生成圖像、填補缺失信息、爲其他模型生成訓練數據、基於2D數據生成3D模型等。
該領域的發展仍處於早期階段,大多數從事合成數據的公司成立於2021年或2022年,少數在2023年。
合成數據公司的融資狀況。來源 : https://frontline.vc/blog/synthetic-data/
AI訓練過程涉及大量矩陣操作,從詞嵌入、Transformer的QKV矩陣,到softmax操作等等。通過這些矩陣操作,整個模型的參數也被承載在矩陣中。
向量數據庫的示例,來源: https://x.com/ProfTomYeh/status/1795076707386360227
大型模型帶來了巨大的計算機硬件需求,這主要分爲訓練和推理兩部分。
預訓練和微調可以進一步細分爲訓練過程。正如之前提到的,構建網路模型首先需要隨機初始化參數,然後訓練網路並持續調整參數,直到網路的損失值達到可接受範圍。預訓練和微調的區別在於:
預訓練從每層參數的隨機初始化開始,而微調則可以直接使用之前訓練模型的某些層的參數作爲本任務的初始化參數(凍結之前層的參數),並在特定數據集上進行調整。
來源: https://d2l.ai/chapter_computer-vision/fine-tuning.html
預訓練和微調都涉及模型參數的變化,最終導致模型或參數的優化,而推理則是在用戶輸入後加載模型進行計算,從而獲得反饋和輸出結果。
在計算機需求方面,預訓練、微調和推理的排名從最大到最小。下表比較了訓練和推理的計算機硬件需求。由於計算過程和準確性要求的不同,兩者在計算能力、內存和通信/帶寬方面的硬件需求差異顯著。同時,計算能力、內存和通信/帶寬之間存在一個不可能的三元悖論。
*該表中的統計測量基於單個模型處理單個令牌的情況,即單個參數。
*FLOPs:每秒浮點運算次數,矩陣計算的數量。
*DP, TP, PP:數據並行、張量並行、流水線並行。
計算機硬件的訓練與推理比較,來源:HashKey Capital整理
訓練神經網路的過程需要在前向傳播和反向傳播之間交替進行,利用反向傳播給出的梯度來更新模型參數。而推理則只需要前向傳播。這一差異成爲影響訓練和推理計算機硬件資源需求的主要因素。
在計算能力方面,如表所示,模型參數數量與計算能力消耗之間存在簡單的乘法關係,其中訓練需要6–8倍的浮點運算,而推理只需要2倍。這是因爲訓練涉及的反向傳播需要的計算能力是前向傳播的兩倍,因此訓練的計算能力消耗遠高於推理。
在內存方面,訓練中使用的反向傳播重用在前向傳播中存儲的中間值,以避免重復計算。因此,訓練過程需要保留中間值,直到反向傳播完成。訓練過程中的內存消耗主要包括模型參數、前向計算生成的中間激活值、反向傳播計算生成的梯度以及優化器狀態。推理階段不需要反向傳播,也不需要優化器狀態和梯度等,其內存消耗遠小於訓練。
在通信/帶寬方面,爲了提高AI訓練性能,主流模型訓練通常使用三種並行策略:數據並行、張量並行和流水線並行。
資料來源:OpenAI, https://openai.com/index/techniques-for-training-large-neural-networks/
對於這三種策略,預計張量並行(TP)的通信頻率最大,通信量最高,與代幣數量、模型寬度和層數相關。流水線並行(PP)的通信量和頻率小於張量並行,且與代幣數量和模型寬度相關。數據並行(DP)的通信量和頻率最小,並且與輸入代幣無關。
大型模型在計算機硬件資源方面的瓶頸主要受限於計算能力、帶寬/通信和內存,這三者之間存在制衡關係,導致了不可能三元悖論。例如,由於通信瓶頸,無法通過單純優化單臺計算機的計算能力來提升集羣性能。
因此,盡管採用並行架構來加速集羣性能,但大多數並行架構實際上會爲了計算能力而犧牲通信或存儲。
犧牲通信和存儲以提升計算能力:
在流水線並行(PP)中,如果將每層Transformer分配給一個GPU,盡管計算能力在時間單位內增加,但層間的通信需求也增加,導致數據量和延遲的增加。同時,前向傳播的中間狀態存儲需求會極快地增加。
犧牲通信以提升計算能力:
在張量並行(TP)中,每個Transformer被拆分爲並行計算。由於Transformer包含兩個組件(注意力頭和前饋網路),任務可以在層內拆分爲注意力頭或前饋神經網路。這種TP方法可以緩解由於GPU無法容納模型而導致的PP層級過多的問題。然而,這種方法仍然存在嚴重的通信開銷。
在本文中,我們認爲目前在加密領域主要有以下幾類AI:
資料來源:HashKey Capital 整理
如前所述,AI中最關鍵的三個組成部分是數據、模型和計算能力,它們作爲基礎設施來賦能加密AI。
它們的結合實際上形成了一個計算網路,在計算過程中出現了大量中間件,以提高效率並更符合加密精神。在下遊,基於這些可驗證結果的Agent可以進一步爲不同用戶羣體提供不同的角色服務。
另一種流程圖可以用來表達加密AI的基本生態如下:
生態流程圖,來源:HashKey Capital整理
當然,在加密領域中,需要代幣經濟機制來激勵不同參與者的協同參與。
對於數據集,可以選擇公共數據源或自己特定的私有數據源。
數據來源:
綜合數據平台:
其他:
數據標注服務平台通過將標注任務分配給不同的工人,工人在完成任務後可以獲得相應的代幣激勵,例如Cropo、Public AI等。然而,當前的問題是從事數據標注的人數多於數據量,而AI公司有穩定的數據標注供應商來滿足其標注數據需求。由於這些供應商的粘性存在,使得它們切換到去中心化平台的意願較弱。這些平台可能只能從數據標注供應商那裏獲得剩餘訂單的分配。
泛化計算網路,指的是聚合GPU和CPU等資源的網路,能夠提供通用的計算服務,這意味着訓練和推理之間沒有區別。
在加密領域,由a16z投資的Gensyn提出了一種去中心化的訓練計算網路。
流程是這樣的:用戶提交訓練需求任務後,平台會分析這些需求,評估所需的計算能力,並將其拆分爲最小數量的機器學習任務。在此階段,驗證者會定期獲取分析後的任務,生成用於下遊學習證明的閾值。
任務進入訓練階段後,由Solver執行,該過程定期存儲模型權重和來自訓練數據集的響應索引,同時生成學習證明。驗證者也會重新運行一些證明以進行距離計算,驗證是否與原始證明匹配。舉報者基於圖形化的精確挑戰程序進行仲裁,以檢查驗證工作是否正確執行。
微調比直接預訓練大型模型更容易且成本更低,只需通過特定數據集對預訓練模型進行微調,即可將模型適配到特定任務,同時保留原始模型。
Hugging Face 可作爲預訓練語言模型資源提供者接入分布式平台,用戶根據任務要求選擇需要微調的模型,然後利用計算網路提供的GPU和其他資源進行任務的微調。根據任務的復雜性,需要確定數據集的大小、模型的復雜性,並進一步確定是否需要更高水平的資源,如A100。
除了Gensyn支持預訓練外,大多數計算平台也支持微調。
與訓練(預訓練和微調)相比,推理計算過程僅涉及前向傳播,因此所需的計算能力較少。大多數去中心化計算網路目前主要集中在推理服務上。
在推理階段,即模型使用階段,可以在適當的時機引入中間件:
鏈上智能合約用於檢索鏈外 AI 計算的結果:
可以在計算網路中添加另一層隱私保護,主要包括數據隱私和模型隱私,其中數據隱私比模型隱私更爲重要。
大多數計算網路構建了不同的驗證系統以確保系統的準確運行,而鏈上部分則是傳統 AI 領域尚未引入的部分。
零知識證明的主要作用有兩個:
Modulus Labs 通過使用 Polygon 的 Plonky 證明系統,展示了爲 1800 萬參數模型生成證明的可能性,時間爲 60 到 70 秒。對於小型模型,在這一階段使用 ZKML 是可行的,但成本仍然相當高。
來源: @ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307"">https://medium.com/@ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307
考慮到上述 ZKML 的局限性,OPML 是一個替代方案。盡管在安全性方面不如 ZKML,但其內存消耗和證明計算時間顯著優於 ZKML。根據 ORA 報告顯示,對於相同的 7B-LLaMA 模型(模型大小約爲 26GB),OPML 可以在 32GB 的內存內處理,而 ZKML 的電路內存消耗可能達到 TB 甚至 PB 級別。
受信執行環境(TEE)提供硬件級別的安全性,可以作爲ZKML和OPML的替代方案。TEE 證明是通過TEE內部計算生成的,其計算成本遠低於 zk 證明。此外,TEE 的證明大小通常是固定的常量(籤名長度),因此在鏈上驗證時具有較小的佔用空間和較低的成本。
除了驗證外,TEE 還有保持敏感數據隔離的優勢,確保外部過程或計算無法訪問或更改其中的數據。
使用 TEE 的項目包括:
來源: https://arxiv.org/pdf/2401.17555, Marlin 協議
此外,ORA 協議在其 ZKML 和 OPML 驗證之外,還開發了 opp/ai(Optimistic Privacy-Preserving AI on Blockchain),這一點未包含在上述比較表中。
代理具有分析接收到的信息、評估當前環境條件並做出決策的能力。代理的組成如下圖所示,其中LLM(大語言模型)是核心組件。此外,還需要向LLM提供適當的提示,並通過Memory(記憶)存儲短期數據和長期歷史數據(外部數據)。
由於復雜的任務無法一次完成,需要通過Plan(計劃)將其拆分成更小的任務。此外,代理還可以調用外部API以獲取附加信息,包括當前信息、代碼執行能力、訪問專有信息源等。
資料來源:基於大型語言模型的自治代理調查
代理的決策能力直到近年來大語言模型(LLM)的出現才取得了顯著突破。一份報告整理了2021年至2023年間關於代理的論文數量,如下圖所示。實際上,2021年的相關研究論文只有十幾篇,而2023年則有數百篇論文發表。該報告將代理分爲7個類別。
資料來源:基於大型語言模型的自治代理調查
在Web3中,代理的應用場景相較於Web2世界仍然有限,目前包括自動結算、構建代碼組件(編寫智能合約、編寫zk電路)、實時風險控制以及執行套利和收益耕作等策略。
根據不同的代理,可以組合、抽象或創建特定的應用程序。同時,用戶可以選擇某種協調平台來決定使用哪些代理來構建特定類型的應用程序。但大多數平台仍然局限於代理的開發。
一些開發者會利用人工智能來提升他們平台的智能性。例如,在安全項目中,機器學習被用於識別攻擊漏洞;DeFi 協議使用人工智能構建實時監控工具;數據分析平台也使用人工智能來幫助數據清理和分析。
在這篇文章中,我們想強調以下三點:
在加密領域,多個計算網路的出現不可避免地讓用戶感到 GPU 代表了人工智能。但如前面分析的那樣,計算網路面臨着一個不可能三角,即計算能力、帶寬/通信和內存,以及模型訓練中使用的三種並行策略:數據並行、張量並行和流水線並行,這些都指向了建立計算網路框架時所面臨的制衡。
同一模型和數據不一定產生相同結果的原因在於浮點計算的使用。這種計算差異也會影響計算網路的構建。
人工智能代理近年才開始顯示出更多的實用性,我們預計市場上會出現更多的代理。但代理在加密領域如何運作或如何找到合適的代幣激勵仍然是一個挑戰。
本文轉載自[medium],原文標題“AI into Crypto”,著作權歸屬原作者[哈希資本 ],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。
2022年11月ChatGPT的推出讓各行業的玩家對大型語言模型AI有了新的認識。這種熱潮滲透到了加密貨幣領域,本文旨在介紹AI的發展、當前狀態以及AI與加密貨幣結合所催生的行業。
機器學習(ML)是一種具有經驗學習能力的技術,它通過從大量數據集中學習來區分動物、語言翻譯和其他特定任務。機器學習是當前實現人工智能的最實際的方法之一,根據學習的數據是否標記以及其特徵,可以分爲監督學習和無監督學習。
完成監督學習的模型有很多種,包括基於樹的模型、圖模型以及最近出現的神經網路。隨着計算能力和數據的快速發展,深度學習在神經網路架構的基礎上得到了進一步發展。當前的深度學習架構通常包括但不限於卷積神經網路(CNN)、遞歸神經網路(RNN)和注意力機制。
機器學習的分類,來源:HashKey Capital
不同的深度學習網路具有輸入層、隱藏層和輸出層的基本架構。輸入層通常是經過處理的文本、視頻、音頻和其他數據(如“標記化/嵌入”)。隱藏層的設計(模型形狀)根據數據集和任務目的的不同而有所不同,如表所示。
神經網路的類型,來源:HashKey Capital 整理
神經網路發展的30年歷程,來源:HashKey Capital整理
神經網路的訓練最早可以追溯到20世紀80年代中期,喬丹(Jordan)在其1986年論文《序列順序:並行分布處理方法》中訓練了一個神經網路來學習序列模式。該網路非常小,只有少量的神經元。
到了1990年代,傑弗裏·埃爾曼(Jeffrey Ehrman)擴展了神經網路,開發了一個50個神經元的網路,並發現該網路能夠根據詞義進行空間聚類。例如,它可以將無生命和有生命的名詞分開,在有生命物體中,進一步將人類和非人類進行細分,而無生命物體則分爲易碎和可食用。這表明神經網路具有學習層次解釋的能力。
他進一步觀察到,單詞可以表示爲高維空間中的點,單詞或句子的序列可以被視爲路徑。這個重大的突破使得文本數據集得以數字化、向量化,並通過計算機進行處理。
來源: http://3b1b.co/neural-networks
2011年,Confluence的研究人員訓練了包含數千個神經元和數百萬個連接的更大規模網路,並發現了該網路在保持長序列上下文連貫性方面的瓶頸。
2017年,OpenAI基於Kathy的研究,使用8200萬條亞馬遜評論進行訓練,發現了情感神經元。這些神經元能夠完美地分類文本的情感。
資料來源:學習生成評論並發現情緒
關於上下文大小的限制,2017年《Attention Is All You Need》論文提出了一個解決方案。該論文創建了一個動態層網路,能夠根據網路的上下文動態調整連接權重。其工作原理是通過允許輸入中的單詞相互查看、比較,並找到最相關的單詞。概念上越接近的單詞在空間上也越接近,並且可以擁有更高的連接權重。不過,該論文僅專注於翻譯問題。
因此,OpenAI的研究人員嘗試了更強大的Transformer架構,並在2020年推出了GPT-3,這一模型引起了全球各行業的廣泛關注。GPT-3的網路規模達到了1750億參數、96層以及1000詞的上下文窗口。
以以下28x28像素的數字圖像爲例,神經元對應於28x28輸入圖像的每個像素,總共包含784個神經元。神經元中的數字表示激活值,範圍從0到1。
28x28 像素數字圖像,來源: http://3b1b.co/neural-networks
這784個神經元構成了網路的輸入層。最終的輸出層包含十個神經元,分別代表數字0到9,其激活值範圍同樣爲0到1。中間層爲隱藏層,在神經網路運行過程中,上一層的激活值決定了下一層的激活值。
深度學習的深度在於模型學習了多層的變換,每一層都有不同的表示方式。例如,正如下圖中的數字9所示,不同的層可以識別不同的特徵。輸入層越靠近數據的低級細節,而輸出層則越接近可以用來區分的更具體的概念。
來源: http://3b1b.co/neural-networks
隨着模型規模的擴大,中間的隱藏層涉及每層數千億的權重,這些權重和偏差實際上決定了網路的行爲。機器學習的過程就是尋找正確的參數,即權重和偏差的過程。
在GPT等大型語言模型中使用的Transformer架構包含一個中間隱藏層,由96層解碼器模塊組成,其中GPT1、GPT2和GPT3分別有12層、48層和96層。解碼器模塊包含注意力機制和前饋神經網路組件。
計算或學習過程涉及定義一個代價函數(或損失函數),該函數將網路計算的輸出預測與實際值之間的差異平方求和。當總和較小時,模型的表現就處於可接受的範圍內。
訓練從隨機參數化網路開始,並通過尋找能最小化代價函數的參數來確定最終的模型參數。收斂代價函數的方法是通過梯度下降法,它通過檢查每個參數變化對代價/損失的影響程度,然後根據影響程度調整參數。
計算參數梯度的過程引入了反向傳播算法(backpropagation),該算法根據鏈式法則從輸出層到輸入層反向遍歷網路。同時,算法需要存儲任何用於計算梯度的中間變量(偏導數)。
在訓練AI大型語言模型時,有三個主要因素影響其性能,分別是模型參數的數量、數據集的規模和計算資源的量。
來源:OpenAI 報告,神經語言模型的縮放定律
這與現實中數據集和計算機(計算能力)的發展趨勢一致,但從下表中也可以看出,計算能力的增長速度快於可用數據的增長,而內存的發展則是最慢的。
數據集、內存和計算能力的發展,來源: https://github.com/d2l-ai
面對大型模型,當訓練數據過少時,容易出現過擬合的情況。通常,隨着數據量的增加,更復雜模型的準確性會得到提升。關於大型模型所需的數據量,可以依據“10倍規則”來決定,即數據量應爲參數數量的10倍,但有些深度學習算法採用1:1的比例。
監督學習需要使用標記數據集和特徵數據集來得出有效結果。
來源:Fashion-MNIST 服裝分類數據集
盡管過去十年或二十年數據量迅速增加,當前的開源數據集包括Kaggle、Azure、AWS、Google數據庫等,但由於隱私問題、模型參數增加和數據可重復性問題,有限、稀缺且昂貴的數據逐漸成爲AI發展的瓶頸。爲緩解這一問題,提出了不同的數據解決方案。
數據增強技術可能是有效的解決方案,通過在不獲取新樣本的情況下爲模型提供不足的數據,例如縮放、旋轉、反射、裁剪、平移、添加高斯噪聲、mixup等。
合成數據是另一種選擇。合成數據是通過計算機模擬或算法人工生成的數據,可以有或沒有先前的參考數據集。關於合成數據生成工具的開發,Ian J. Goodfellow發明了生成對抗網路(GAN),這是一種深度學習架構。
GAN訓練兩個神經網路相互競爭,可以從給定的訓練數據集中生成新的、更真實的數據。該架構支持生成圖像、填補缺失信息、爲其他模型生成訓練數據、基於2D數據生成3D模型等。
該領域的發展仍處於早期階段,大多數從事合成數據的公司成立於2021年或2022年,少數在2023年。
合成數據公司的融資狀況。來源 : https://frontline.vc/blog/synthetic-data/
AI訓練過程涉及大量矩陣操作,從詞嵌入、Transformer的QKV矩陣,到softmax操作等等。通過這些矩陣操作,整個模型的參數也被承載在矩陣中。
向量數據庫的示例,來源: https://x.com/ProfTomYeh/status/1795076707386360227
大型模型帶來了巨大的計算機硬件需求,這主要分爲訓練和推理兩部分。
預訓練和微調可以進一步細分爲訓練過程。正如之前提到的,構建網路模型首先需要隨機初始化參數,然後訓練網路並持續調整參數,直到網路的損失值達到可接受範圍。預訓練和微調的區別在於:
預訓練從每層參數的隨機初始化開始,而微調則可以直接使用之前訓練模型的某些層的參數作爲本任務的初始化參數(凍結之前層的參數),並在特定數據集上進行調整。
來源: https://d2l.ai/chapter_computer-vision/fine-tuning.html
預訓練和微調都涉及模型參數的變化,最終導致模型或參數的優化,而推理則是在用戶輸入後加載模型進行計算,從而獲得反饋和輸出結果。
在計算機需求方面,預訓練、微調和推理的排名從最大到最小。下表比較了訓練和推理的計算機硬件需求。由於計算過程和準確性要求的不同,兩者在計算能力、內存和通信/帶寬方面的硬件需求差異顯著。同時,計算能力、內存和通信/帶寬之間存在一個不可能的三元悖論。
*該表中的統計測量基於單個模型處理單個令牌的情況,即單個參數。
*FLOPs:每秒浮點運算次數,矩陣計算的數量。
*DP, TP, PP:數據並行、張量並行、流水線並行。
計算機硬件的訓練與推理比較,來源:HashKey Capital整理
訓練神經網路的過程需要在前向傳播和反向傳播之間交替進行,利用反向傳播給出的梯度來更新模型參數。而推理則只需要前向傳播。這一差異成爲影響訓練和推理計算機硬件資源需求的主要因素。
在計算能力方面,如表所示,模型參數數量與計算能力消耗之間存在簡單的乘法關係,其中訓練需要6–8倍的浮點運算,而推理只需要2倍。這是因爲訓練涉及的反向傳播需要的計算能力是前向傳播的兩倍,因此訓練的計算能力消耗遠高於推理。
在內存方面,訓練中使用的反向傳播重用在前向傳播中存儲的中間值,以避免重復計算。因此,訓練過程需要保留中間值,直到反向傳播完成。訓練過程中的內存消耗主要包括模型參數、前向計算生成的中間激活值、反向傳播計算生成的梯度以及優化器狀態。推理階段不需要反向傳播,也不需要優化器狀態和梯度等,其內存消耗遠小於訓練。
在通信/帶寬方面,爲了提高AI訓練性能,主流模型訓練通常使用三種並行策略:數據並行、張量並行和流水線並行。
資料來源:OpenAI, https://openai.com/index/techniques-for-training-large-neural-networks/
對於這三種策略,預計張量並行(TP)的通信頻率最大,通信量最高,與代幣數量、模型寬度和層數相關。流水線並行(PP)的通信量和頻率小於張量並行,且與代幣數量和模型寬度相關。數據並行(DP)的通信量和頻率最小,並且與輸入代幣無關。
大型模型在計算機硬件資源方面的瓶頸主要受限於計算能力、帶寬/通信和內存,這三者之間存在制衡關係,導致了不可能三元悖論。例如,由於通信瓶頸,無法通過單純優化單臺計算機的計算能力來提升集羣性能。
因此,盡管採用並行架構來加速集羣性能,但大多數並行架構實際上會爲了計算能力而犧牲通信或存儲。
犧牲通信和存儲以提升計算能力:
在流水線並行(PP)中,如果將每層Transformer分配給一個GPU,盡管計算能力在時間單位內增加,但層間的通信需求也增加,導致數據量和延遲的增加。同時,前向傳播的中間狀態存儲需求會極快地增加。
犧牲通信以提升計算能力:
在張量並行(TP)中,每個Transformer被拆分爲並行計算。由於Transformer包含兩個組件(注意力頭和前饋網路),任務可以在層內拆分爲注意力頭或前饋神經網路。這種TP方法可以緩解由於GPU無法容納模型而導致的PP層級過多的問題。然而,這種方法仍然存在嚴重的通信開銷。
在本文中,我們認爲目前在加密領域主要有以下幾類AI:
資料來源:HashKey Capital 整理
如前所述,AI中最關鍵的三個組成部分是數據、模型和計算能力,它們作爲基礎設施來賦能加密AI。
它們的結合實際上形成了一個計算網路,在計算過程中出現了大量中間件,以提高效率並更符合加密精神。在下遊,基於這些可驗證結果的Agent可以進一步爲不同用戶羣體提供不同的角色服務。
另一種流程圖可以用來表達加密AI的基本生態如下:
生態流程圖,來源:HashKey Capital整理
當然,在加密領域中,需要代幣經濟機制來激勵不同參與者的協同參與。
對於數據集,可以選擇公共數據源或自己特定的私有數據源。
數據來源:
綜合數據平台:
其他:
數據標注服務平台通過將標注任務分配給不同的工人,工人在完成任務後可以獲得相應的代幣激勵,例如Cropo、Public AI等。然而,當前的問題是從事數據標注的人數多於數據量,而AI公司有穩定的數據標注供應商來滿足其標注數據需求。由於這些供應商的粘性存在,使得它們切換到去中心化平台的意願較弱。這些平台可能只能從數據標注供應商那裏獲得剩餘訂單的分配。
泛化計算網路,指的是聚合GPU和CPU等資源的網路,能夠提供通用的計算服務,這意味着訓練和推理之間沒有區別。
在加密領域,由a16z投資的Gensyn提出了一種去中心化的訓練計算網路。
流程是這樣的:用戶提交訓練需求任務後,平台會分析這些需求,評估所需的計算能力,並將其拆分爲最小數量的機器學習任務。在此階段,驗證者會定期獲取分析後的任務,生成用於下遊學習證明的閾值。
任務進入訓練階段後,由Solver執行,該過程定期存儲模型權重和來自訓練數據集的響應索引,同時生成學習證明。驗證者也會重新運行一些證明以進行距離計算,驗證是否與原始證明匹配。舉報者基於圖形化的精確挑戰程序進行仲裁,以檢查驗證工作是否正確執行。
微調比直接預訓練大型模型更容易且成本更低,只需通過特定數據集對預訓練模型進行微調,即可將模型適配到特定任務,同時保留原始模型。
Hugging Face 可作爲預訓練語言模型資源提供者接入分布式平台,用戶根據任務要求選擇需要微調的模型,然後利用計算網路提供的GPU和其他資源進行任務的微調。根據任務的復雜性,需要確定數據集的大小、模型的復雜性,並進一步確定是否需要更高水平的資源,如A100。
除了Gensyn支持預訓練外,大多數計算平台也支持微調。
與訓練(預訓練和微調)相比,推理計算過程僅涉及前向傳播,因此所需的計算能力較少。大多數去中心化計算網路目前主要集中在推理服務上。
在推理階段,即模型使用階段,可以在適當的時機引入中間件:
鏈上智能合約用於檢索鏈外 AI 計算的結果:
可以在計算網路中添加另一層隱私保護,主要包括數據隱私和模型隱私,其中數據隱私比模型隱私更爲重要。
大多數計算網路構建了不同的驗證系統以確保系統的準確運行,而鏈上部分則是傳統 AI 領域尚未引入的部分。
零知識證明的主要作用有兩個:
Modulus Labs 通過使用 Polygon 的 Plonky 證明系統,展示了爲 1800 萬參數模型生成證明的可能性,時間爲 60 到 70 秒。對於小型模型,在這一階段使用 ZKML 是可行的,但成本仍然相當高。
來源: @ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307"">https://medium.com/@ModulusLabs/chapter-5-the-cost-of-intelligence-da26dbf93307
考慮到上述 ZKML 的局限性,OPML 是一個替代方案。盡管在安全性方面不如 ZKML,但其內存消耗和證明計算時間顯著優於 ZKML。根據 ORA 報告顯示,對於相同的 7B-LLaMA 模型(模型大小約爲 26GB),OPML 可以在 32GB 的內存內處理,而 ZKML 的電路內存消耗可能達到 TB 甚至 PB 級別。
受信執行環境(TEE)提供硬件級別的安全性,可以作爲ZKML和OPML的替代方案。TEE 證明是通過TEE內部計算生成的,其計算成本遠低於 zk 證明。此外,TEE 的證明大小通常是固定的常量(籤名長度),因此在鏈上驗證時具有較小的佔用空間和較低的成本。
除了驗證外,TEE 還有保持敏感數據隔離的優勢,確保外部過程或計算無法訪問或更改其中的數據。
使用 TEE 的項目包括:
來源: https://arxiv.org/pdf/2401.17555, Marlin 協議
此外,ORA 協議在其 ZKML 和 OPML 驗證之外,還開發了 opp/ai(Optimistic Privacy-Preserving AI on Blockchain),這一點未包含在上述比較表中。
代理具有分析接收到的信息、評估當前環境條件並做出決策的能力。代理的組成如下圖所示,其中LLM(大語言模型)是核心組件。此外,還需要向LLM提供適當的提示,並通過Memory(記憶)存儲短期數據和長期歷史數據(外部數據)。
由於復雜的任務無法一次完成,需要通過Plan(計劃)將其拆分成更小的任務。此外,代理還可以調用外部API以獲取附加信息,包括當前信息、代碼執行能力、訪問專有信息源等。
資料來源:基於大型語言模型的自治代理調查
代理的決策能力直到近年來大語言模型(LLM)的出現才取得了顯著突破。一份報告整理了2021年至2023年間關於代理的論文數量,如下圖所示。實際上,2021年的相關研究論文只有十幾篇,而2023年則有數百篇論文發表。該報告將代理分爲7個類別。
資料來源:基於大型語言模型的自治代理調查
在Web3中,代理的應用場景相較於Web2世界仍然有限,目前包括自動結算、構建代碼組件(編寫智能合約、編寫zk電路)、實時風險控制以及執行套利和收益耕作等策略。
根據不同的代理,可以組合、抽象或創建特定的應用程序。同時,用戶可以選擇某種協調平台來決定使用哪些代理來構建特定類型的應用程序。但大多數平台仍然局限於代理的開發。
一些開發者會利用人工智能來提升他們平台的智能性。例如,在安全項目中,機器學習被用於識別攻擊漏洞;DeFi 協議使用人工智能構建實時監控工具;數據分析平台也使用人工智能來幫助數據清理和分析。
在這篇文章中,我們想強調以下三點:
在加密領域,多個計算網路的出現不可避免地讓用戶感到 GPU 代表了人工智能。但如前面分析的那樣,計算網路面臨着一個不可能三角,即計算能力、帶寬/通信和內存,以及模型訓練中使用的三種並行策略:數據並行、張量並行和流水線並行,這些都指向了建立計算網路框架時所面臨的制衡。
同一模型和數據不一定產生相同結果的原因在於浮點計算的使用。這種計算差異也會影響計算網路的構建。
人工智能代理近年才開始顯示出更多的實用性,我們預計市場上會出現更多的代理。但代理在加密領域如何運作或如何找到合適的代幣激勵仍然是一個挑戰。
本文轉載自[medium],原文標題“AI into Crypto”,著作權歸屬原作者[哈希資本 ],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。