微軟亞洲研究院推出的最新成果bGPT,這種基於位元組的Transformer模型,為我們探索數位世界開闢了新的大門。
與傳統的基於詞表的語言模型不同,bGPT的獨特之處在於其對原始二進位資料的直接處理能力,不受特定格式或任務的限制,其目標是全面模擬數位世界。
論文:https://arxiv.org/abs/2402.19155
程式碼:https://github.com/sanderwood/bgpt
模型:https://huggingface.co/sander-wood/bgpt
專案首頁:https://byte-gpt.github.io
研究團隊在其論文中展示了bGPT在建模上的巨大潛力,透過位元組級處理,bGPT不僅能產生文字、圖像和音頻,還能模擬電腦行為——從格式轉換演算法到CPU狀態的建模。將所有資料視為位元組序列的做法,使bGPT能夠將不同類型的資料納入同一框架之下。
bGPT的論文一經發布,便在X(Twitter)上引發了廣泛的關注和討論,標誌著深度學習範式轉變的可能性,使得模型能夠真正理解並模擬數位世界中的各種活動。
二進位數據:構成數位世界的基礎DNA
二進位資料是數位世界的基礎,從電腦處理器到我們日常使用的電子產品的作業系統,構成了所有資料、設備和軟體的核心。bGPT正是從這一點出發,旨在透過學習二進位資料序列來掌握數位系統的內部邏輯,以重建和模擬複雜的數位現象。
bGPT透過位元組級的處理,不僅能應用於常規的AI生成和理解任務,還能處理更多的非傳統應用。例如,它能直接模擬MIDI——一種音樂傳輸和儲存的標準格式,這在先前的研究中由於MIDI的二進位本質而避免了直接建模。
但bGPT天生適合此類任務,能夠精確模擬音樂資料的轉換演算法,將ABC記譜法轉換為MIDI格式時,達到極低的錯誤率(0.0011 BPB)。
在實際應用中,bGPT通常能夠準確地完成ABC符號與MIDI檔案之間的轉換,有時甚至能修正原始檔案中的錯誤,使音樂轉換更加準確。
bGPT自動將ABC記譜法轉換成MIDI格式(上圖)與原MIDI資料(下圖)的對比,凸顯了關鍵的差異:雖然原MIDI資料中漏掉了一拍(見下圖),導致和弦伴奏斷開,但由bGPT轉換的結果(見上圖)正確填補了這一缺失,確保了和弦伴奏的流暢性。
研究團隊也將CPU建模作為硬體行為模擬的代表性任務:該任務要求模型接收低階機器指令序列作為輸入,其目標是準確預測每個指令執行後CPU狀態如何更新,直到程式停止。
在這個任務中,bGPT展現出超過99.99%的準確率,顯示了位元組模型在處理原生二進位資料方面的強大能力和可擴展性。
在提供了程式和初始CPU狀態的情況下,bGPT能夠準確地預測CPU執行的完整過程,直到程式終止。在這個範例中,bGPT精確地處理了所有CPU指令。為了便於理解,這裡將實際的位元組序列轉換成了更易讀的格式。
從位元組到萬物:突破邊界,朝向統一的資料建模進發
bGPT不僅能處理原生二進位數據,還能將多種資料類型整合進一個統一的模型架構中,視一切資料為位元組序列。
這種方法不僅簡化了資料建模流程,也使得從任何資料來源的整合變得輕而易舉,且無需為特定資料類型自訂模型。
研究團隊在論文中舉例了傳統文本、圖像及音訊文件,展現了bGPT在統一資料建模方面的能力。他們訓練的bGPT模型擁有約1億參數。
實驗結果表明,在與GPT-2(文字模型)、ViT(視覺模型)和AST(音訊模型)等同規模模型的比較中,bGPT在不同資料類型上均展現出了可媲美的性能。
bGPT在文本生成方面的表現非常出色。由於其位元組層級的文本編碼,該模型無需依賴詞彙表,從而支援所有語言。
它的分層Transformer架構,儘管計算開銷與GPT-2相近,卻能產生長達8KB的文本,大大超出了GPT-2的長度限制。在經過Wikipedia資料進行預訓練後,bGPT生成的文字在風格和主題上都與GPT-2不相上下,證明了其在文字生成方面的強大能力。
bGPT在Wikipedia資料集上進行預訓練,產生的文字範例品質和主題一致性與GPT-2相當。
bGPT可以透過預測影像位元組序列中的下一個位元組來產生影像。該模型在ImageNet資料集上進行了預訓練,生成的影像解析度為32x32像素。
雖然在目前規模下,透過位元組序列準確捕捉影像的二維空間關係有所困難,導致生成的影像存在偽影和雜訊,但紋理和光影效果通常還是比較準確的。
此外,這些產生的影像均能正常解碼為BMP檔。研究團隊指出,透過擴大bGPT的規模,類似OpenAI開發的iGPT在像素序列建模方面的方法,或許可以實現更高品質、更逼真的影像生成。
這些是由在ImageNet資料集上進行預訓練的bGPT所產生的一組影像。雖然影像的紋理和光影效果通常比較準確,但在這些生成的影像中辨識主要物體卻有一定難度。
bGPT將音訊資料視為位元組序列,可產生1秒長、取樣率為8000 Hz的音訊取樣。
該模型在LibriSpeech資料集上完成了預訓練,並進一步在Speech Commands v2資料集上進行微調和演示。bGPT產生的音訊樣本保持了較高的準確度,其中一些樣本幾乎與真實音訊無法區分。以下是展示bGPT在音訊生成領域能力的範例集。
follow_no_zero_one_two_seven,新智元,6秒
在Speech Commands v2資料集上微調的bGPT產生的優秀範例。
包括「follow」、「no」、「zero」、「one」、「two」和「seven」的樣本。
透過bGPT探索位元組所構成的數位世界
傳統語言模型,不管它們有多強大,主要專注於處理自然語言文本。bGPT模型透過基於位元組的處理機制,打破了這種僅限於文字處理的局限性,開啟了一個全新的資料處理範疇。
這項進步讓bGPT有能力無縫地處理包括文字、影像、音訊在內的各種數據類型,甚至能處理來自演算法和硬體的原生二進位數據,為全面模擬和理解數位世界鋪平了道路。
雖然bGPT展現了引人注目的能力,但其在計算開銷方面的局限性,如當前在常規顯卡上僅能處理最大8KB的字節序列,對於那些需要生成或處理大量數據的應用來說,構成了明顯的限制。未來的工作計畫將集中在開發更有效率的演算法和利用硬體的進步上,旨在提高處理更大規模資料序列的能力。
全球的科技愛好者們已經開始展望bGPT未來的潛力,從網路修剪和自我學習的優化到超大規模網路的自我重構能力,這些討論指向了一個共同的願景:bGPT最終可能實現一個統一的模型,能夠處理和輸出所有類型的位元組數據,真正成為數位世界的全面模擬器。
研究團隊已將bGPT的程式碼和模型開源。這意味著你可以在自己的資料集上直接訓練bGPT,無需做出任何模型架構上的調整,便可探索字節模型在數位領域的廣闊前景。
參考資料:
https://arxiv.org/abs/2402.19155