Open main menu
IT人
復旦等釋出AnyGPT:任意模態輸入輸出,影像、音樂、文字、語音都支援
机器之心
發表於
2024-03-04
GPT
最近,OpenAI 的影片生成模型 Sora 爆火,生成式 AI 模型在多模態方面的能力再次引起廣泛關注。
現實世界本質上是多模態的,生物體透過不同的渠道感知和交換資訊,包括視覺、語言、聲音和觸覺。開發多模態系統的一個有望方向是增強 LLM 的多模態感知能力,主要涉及多模態編碼器與語言模型的整合,從而使其能夠跨各種模態處理資訊,並利用 LLM 的文字處理能力來產生連貫的響應。
然而,該策略僅限於文字生成,不包含多模態輸出。一些開創性工作透過在語言模型中實現多模態理解和生成取得了重大進展,但這些模型僅包含單一的非文字模態,例如影像或音訊。
為了解決上述問題,復旦大學邱錫鵬團隊聯合 Multimodal Art Projection(MAP)、上海人工智慧實驗室的研究者提出了一種名為 AnyGPT 的多模態語言模型,該模型能夠以任意的模態組合來理解和推理各種模態的內容。具體來說,AnyGPT 可以理解文字、語音、影像、音樂等多種模態交織的指令,並能熟練地選擇合適的多模態組合進行響應。
例如給出一段語音 prompt,AnyGPT 能夠生成語音、影像、音樂形式的綜合響應:
其中,AnyGPT 生成的兩段音樂如下:
給出文字 + 影像形式的 prompt,AnyGPT 能夠按照 prompt 要求生成音樂:
其中,AnyGPT 生成的三段音樂如下:
論文地址:https://arxiv.org/pdf/2402.12226.pdf
專案主頁:https://junzhan2000.github.io/AnyGPT.github.io/
方法簡介
AnyGPT 利用離散表徵來統一處理各種模態,包括語音、文字、影像和音樂。
為了完成任意模態到任意模態的生成任務,該研究提出了一個可以統一訓練的綜合框架。如下圖 1 所示,該框架由三個主要元件組成,包括:
多模態 tokenizer
作為主幹網路的多模態語言模型
多模態 de-tokenizer
其中,tokenizer 將連續的非文字模態轉換為離散的 token,隨後將其排列成多模態交錯序列。然後,語言模型使用下一個 token 預測訓練目標進行訓練。在推理過程中,多模態 token 被相關的 de-tokenizer 解碼回其原始表徵。為了豐富生成的質量,可以部署多模態增強模組來對生成的結果進行後處理,包括語音克隆或影像超解析度等應用。
AnyGPT 可以穩定地訓練,無需對當前的大型語言模型(LLM)架構或訓練正規化進行任何改變。相反,它完全依賴於資料級預處理,使得新模態無縫整合到 LLM 中,類似於新增新語言。
這項研究的一個關鍵挑戰是缺乏多模態交錯指令跟蹤資料。為了完成多模態對齊預訓練,研究團隊利用生成模型合成了第一個大規模「任意對任意」多模態指令資料集 ——AnyInstruct-108k。它由 108k 多輪對話樣本組成,這些對話錯綜複雜地交織著各種模態,從而使模型能夠處理多模態輸入和輸出的任意組合。
這些資料通常需要大量位元才能準確表徵,從而導致序列較長,這對語言模型的要求特別高,因為計算複雜度隨著序列長度呈指數級增加。為了解決這個問題,該研究採用了兩階段的高保真生成框架,包括語義資訊建模和感知資訊建模。首先,語言模型的任務是生成在語義層面經過融合和對齊的內容。然後,非自迴歸模型在感知層面將多模態語義 token 轉換為高保真多模態內容,在效能和效率之間取得平衡。
實驗
實驗結果表明,AnyGPT 能夠完成任意模態對任意模態的對話任務,同時在所有模態中實現與專用模型相當的效能,證明離散表徵可以有效且方便地統一語言模型中的多種模態。
該研究評估了預訓練基礎 AnyGPT 的基本功能,涵蓋所有模態的多模態理解和生成任務。該評估旨在測試預訓練過程中不同模態之間的一致性,具體來說是測試了每種模態的 text-to-X 和 X-to-text 任務,其中 X 分別是影像、音樂和語音。
為了模擬真實場景,所有評估均以零樣本模式進行。這意味著 AnyGPT 在評估過程中不會對下游訓練樣本進行微調或預訓練。這種具有挑戰性的評估設定要求模型泛化到未知的測試分佈。
評估結果表明,AnyGPT 作為一種通用的多模態語言模型,在各種多模態理解和生成任務上取得了令人稱讚的效能。
影像
該研究評估了 AnyGPT 在影像描述任務上的影像理解能力,結果如表 2 所示。
文字到影像生成任務的結果如表 3 所示。
語音
該研究透過計算 LibriSpeech 資料集的測試子集上的詞錯誤率 (WER) 來評估 AnyGPT 在自動語音識別 (ASR) 任務上的效能,並使用 Wav2vec 2.0 和 Whisper Large V2 作為基線,評估結果如表 5 所示。
音樂
該研究在 MusicCaps 基準上評估了 AnyGPT 在音樂理解和生成任務方面的表現,採用 CLAP_score 分數作為客觀指標,衡量生成的音樂和文字描述之間的相似度,評估結果如表 6 所示。
感興趣的讀者可以閱讀論文原文,瞭解更多研究內容。
相關文章
搜狗輸入法語音轉文字型驗報告
2020-11-26
直播平臺開發,動態文字輸出,文字自動輸出
2022-05-10
C語言輸入輸出
2024-04-29
C語言
C語言之輸入輸出
2024-10-24
C語言
文字、影像、點雲任意模態輸入,AI能夠一鍵生成高質量CAD模型了
2024-11-25
AI
模型
StreamingPro 支援多輸入,多輸出配置
2021-09-09
樹莓派語音互動--語音輸入識別
2020-11-24
樹莓派
輸入和輸出基礎語法
2018-12-08
輸入輸出
2024-06-03
win10如何使用語音輸入_win10系統實現語音輸入的方法
2020-03-08
Win10
Mac入門科普:如何在 Mac 上開啟語音輸入轉文字
2021-05-18
Mac
輸入輸出流
2024-10-19
c語言:輸入任意10個正整數,按照升序排序輸出:(冒泡演算法)
2018-09-14
C語言
排序
演算法
手機端搜狗輸入法語音轉文字的體驗報告
2020-11-26
win10怎麼設定聲音為hdmi輸出_win10設定hdmi聲音輸出教程
2020-06-20
Win10
android音視訊指南-處理音訊輸出的變化
2019-03-01
Android
音訊
Java 輸入輸出流
2018-12-23
Java
1.輸入輸出
2024-12-06
【C++】輸入輸出
2022-02-03
C++
輸入輸出系統
2020-12-22
shell——shell輸入輸出
2020-12-06
linux中的輸入與輸出管理(重定向輸入,輸出,管道符)
2020-10-05
Linux
在Mac中如何啟用語音輸入功能?
2021-11-04
Mac
C語言_輸入輸出函式_PAGE5
2024-11-24
C語言
函式
002.08 文字輸出排版 PySimpleGUI
2019-12-22
GUI
Java —— 標準輸入輸出
2018-10-28
Java
資料的輸入輸出
2019-01-20
python ----輸入輸出 變數
2019-01-17
Python
變數
Java基礎輸入輸出
2024-03-11
Java
03 資料輸入-輸出
2020-11-04
格式化輸入輸出
2020-11-05
Shell輸入\輸出重定向
2020-09-29
Python輸入和輸出(IO)
2019-03-03
Python
python 標準輸入輸出
2018-04-21
Python
常用輸入輸出函式
2024-10-13
函式
排序,檔案輸入輸出
2020-12-11
排序
win10聲音無法找到輸出裝置怎麼辦 win10聲音找到輸出裝置的方法
2022-04-26
Win10
入門輸出Hello World!——C語言
2020-11-28
C語言