看到這個標題,你可能會覺得是噱頭。誰不知道 chatgpt 模型有 1750 億以上的參數,別說是在筆記本電腦上跑,就是使用高性能 gpu 的台式機,也無法帶得動啊。老老實實調用 api 不好嗎?其實,llm(大語言模型)有非常寬泛的參數量範圍。咱們今天介紹的這個模型 gpt4all 隻有 70 億參數,在 llm 裏麵現在算是妥妥的小巧玲瓏。不過看這個名字你也能發現,它確實是野心勃勃,照著 chatgpt 的性能去對標的。gpt4all 基於 meta 的 ma 模型訓練。你可能立即覺得不對,你這跟 gpt 有啥關係?為什麽要無端蹭熱度?且慢,gpt4all 確實和 chatgpt 有關 —— 它用來微調的訓練數據,正是調用 chatgpt 產生的大量問答內容。我怕你對技術細節不感興趣,因此隻用下麵這張圖來說明 gpt4all 的訓練過程。??gpt4all 其實就是非常典型的蒸餾(distill)模型 —— 想要模型盡量靠近大模型的性能,又要參數足夠少。聽起來很貪心,是吧?據開發者自己說,gpt4all 雖小,卻在某些任務類型上可以和 chatgpt 相媲美。但是,咱們不能隻聽開發者的一麵之辭。還是試試看比較好,你說是吧?深度神經網絡由多個層組成。每一層包含處理輸入數據並通過非線性激活函數(sigmoid 或 relu)傳遞給其他層的神經元。每一層的輸出會傳遞給另一層,在傳遞給下一層進行進一步處理之前,這一層會對這個中間表示進行某種操作。 這個架構可以分為兩個主要部分:輸入層和輸出層。 輸入層 - 這表示一組輸入,這些輸入被送入人工神經網絡(ann)作為訓練數據或測試數據,然後由深度學習算法使用,以根據曆史信息(例如過去的交易等)預測未來事件 \/ 結果,這一過程使用輸入層及其相關權重。 輸出層 - 這表示一組輸出,這些輸出在經過人工神經網絡內部的各個層(例如卷積神經網絡、循環神經網絡或長短時記憶網絡)處理後被送迴到 ann 中,然後由深度學習算法使用,以根據曆史信息(例如過去的交易等)預測未來事件 \/ 結果,這一過程使用輸出層及其相關權重。 深度學習模型的架構可能會因各種因素而有所不同,例如數據類型、特征數量、目標變量或正在解決的分類問題。transformer 是一類深度學習架構,在自然語言處理(nlp)和其他領域中已變得非常流行,這歸功於它們強大的性能和可擴展性。transformer 首次在 vaswani 等人於 2017 年發表的論文 \"attention is all you need\" 中被介紹。transformer 基於自注意力機製,這使它們能夠捕獲長距離依賴關係並在序列中建模複雜的模式。自注意力機製:transformer 的核心是自注意力機製,它允許模型衡量每個輸入標記與序列中每個其他標記的關係的重要性。這是通過使用三個可學習的向量實現的,分別稱為查詢向量(q)、鍵向量(k)和值向量(v)。自注意力機製計算每對標記之間的注意力分數,然後用於生成值向量的加權和。多頭注意力:transformer 使用多頭注意力來捕捉輸入序列的不同方麵。多頭注意力層中的每個 \"頭\" 都獨立執行自注意力,並生成自己的輸出。這些輸出然後被連接並線性轉換以創建多頭注意力層的最終輸出。看到這裏,你可能已經怒了 —— 有這麽比的嗎?!你拿一個如此精致的小模型 gpt4all(70b)跟 gpt-4 這樣的大怪物去比。gpt-4 勝之不武,我為 gpt4all 鳴不平!且慢惱怒,我想表達的意思是這樣的:如果一個模型真的能達到蒸餾濃縮的作用,那麽顯然體積的顯著減小是重大優勢,畢竟這意味著訓練和應用成本降低,速度顯著提升。但如果模型縮小以後在解決問答、解釋和編程能力上和大模型相比差距顯著,那麽我們就不能武斷地說小模型「性價比」更高了。有研究證實過在「有人類調教的情況下」,60 億參數的小模型甚至可以在某些任務上麵擊敗 1750 億參數的大模型 (ouyang et al. 2022)。隻不過,這裏的比較並不公平 —— 它指的是小模型有人工調教,而大模型缺乏調教的情況。chatgpt 不缺乏調教,因此我們並沒有看到 gpt4all 能夠以少量的參數達到 chatgpt 這麽好的性能,即便它充分使用了 chatgpt 的輸入輸出數據。訓練大語言模型時,多大的語料會使得模型對外部世界真實認知產生質的飛躍(可以在各項任務上都有好的表現)?目前的經驗是 300 億單詞的輸入量 (zhang et al. 2020)。但是大語料需要足夠高的模型複雜度來承載。模型相對輸入數據過於複雜固然不好(過擬合,over-fitting)。然而一個太小的模型在麵對大數據的時候,也會力不從心(欠擬合)。大和小是需要相對判斷的。目前的 gpt4all 在一眾巨無霸麵前,無論如何也是個小模型。chatgpt 這樣的大語言模型讓人們驚詫的地方,在於它能夠有自己的「頓悟時刻」。這種「頓悟時刻」如何出現的?現在學術界還在研究中。但是有很多證據指向一些提示語(例如「一步步來」step by step)能夠激活大語言模型的 chain-of-thought (思維鏈),從而有助於解鎖「頓悟」般的邏輯推理能力。不過研究者同樣證明了,這種「魔法」提示語有效的前提,是模型的參數量需要達到 1000 億的規模 (wei et al. 2023)。chatgpt 的參數超過了這個閾值,而 gpt4all 還遠得很。當然不是。如果你把 gpt4all 看成某種終極形態,那麽等待你的可能是從激動快速跌落到失望。但是比較一下初代 iphone 和 iphone 4s,你就能感受到短短幾年間,技術進步帶來的產品性能天差地別。更何況,現在的 ai 進展速度,可不像 iphone 一樣「一年一更」。即便從短期來看,gpt4all 也有其用途。在我們的測試中,它在寫作上還是有能力的。gpt4all 不需要付費調用 token ,也不需要把數據傳遞到遠端進行處理。對有些使用目的(例如保護公司機密數據)而言,gpt4all 這樣的模型出現,關乎的可不隻是「好用」與「不好用」,而是「能用」和「不能用」的分水嶺。對於很多機構的事務性工作而言,複雜的邏輯推理能力其實隻是錦上添花。若是能完美解決日常單項任務,收益也已經十分顯著。請你在試用之後,依然對gpt4all保持一份耐心。也許不久以後,我們每個人的電腦和手機上,都能運行一個隨時待命的優秀助理,幫助我們做許多從前想做,但是一想到要做就頭疼的任務