YH Hsu
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    6
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    ### [AI / ML領域相關學習筆記入口頁面](https://hackmd.io/@YungHuiHsu/BySsb5dfp) --- # [Multimodal] CVPR 2023。Multimodal Foundation Models : From Specialists to General-Purpose Assistants<br>多模態基礎模型研究回顧 本系列筆記筆記基於2023.07 CVPR研討會Recent Advances in Vision Foundation Models 視覺基礎模型回顧的論文,與研討會5場演講(附上投影片與影片連結),更新近期視覺與多模態模型的發展趨勢與前沿技術 #### [2023。CVPR。Recent Advances in Vision Foundation Models](https://vlp-tutorial.github.io/) | 主題 | 資源 | 演講者 | 個人筆記連節 | | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | --- | | Opening Remarks & Visual and Vision-Language Pre-training<br>**CH2 Visual Understanding** | [Slides](https://datarelease.blob.core.windows.net/tutorial/vision_foundation_models_2023/slides/Zhe_CVPR2023_Tutorial.pdf), [YouTube](https://youtu.be/hE135guhTQo) | Zhe Gan | [筆記連結](https://hackmd.io/@YungHuiHsu/S1nPk2eET) | | From Representation to Interface: The Evolution of Foundation for Vision Understanding<br>**CH2 Visual Understanding** | [Slides](https://datarelease.blob.core.windows.net/tutorial/vision_foundation_models_2023/slides/Jianwei_CVPR2023_Tutorial.pdf), [YouTube](https://youtu.be/wIcTyutOlDs) | Jianwei Yang | [筆記連結](https://hackmd.io/@YungHuiHsu/HyjAklf4T) | | Alignments in Text-to-Image Generation<br>**CH3 Visual Generation** | [Slides](https://datarelease.blob.core.windows.net/tutorial/vision_foundation_models_2023/slides/Zhengyuan_Tutorial_T2I2023.pdf), [YouTube](https://youtu.be/iixMLxeuOqU) | Zhengyuan Yang | [筆記連結](https://hackmd.io/@YungHuiHsu/Bko4OHNNT) | | Large Multimodal Models | [Slides](https://datarelease.blob.core.windows.net/tutorial/vision_foundation_models_2023/slides/Chunyuan_cvpr2023_tutorial_lmm.pdf), [Notes](https://arxiv.org/pdf/2306.14895.pdf), [YouTube](https://youtu.be/mkI7EPD1vp8) | Chunyuan Li | | | Multimodal Agents: Chaining Multimodal Experts with LLMs | [Slides](https://datarelease.blob.core.windows.net/tutorial/vision_foundation_models_2023/slides/Linjie_Multimodal%20Agents.pptx), [YouTube](https://youtu.be/Wb5ZkZUNYc4) | Linjie Li | | #### 會議論文[2023.09。Multimodal Foundation Models: From Specialists to General-Purpose Assistants](https://arxiv.org/abs/2309.10020) - [個人筆記](https://hackmd.io/@YungHuiHsu/HkOjXPg46) 各章詳細內容請見演講筆記 --- # [Multimodal Foundation Models: From Specialists to General-Purpose Assistants](https://arxiv.org/abs/2309.10020) ## 1. Introduction ![image](https://hackmd.io/_uploads/S1G5LPlNa.png =800x) Figure 1.1: Illustration of foundation model development trajectory for language and vision/multimodality > 圖1.1 表展示了語言和視覺/多模態基礎模型發展的軌跡。它分為四個類別: > > * 任務特定模型(Task-Specific Models):這些是為特定應用(如情感分析或翻譯)設計的模型。對於語言,如情感分析和翻譯;對於視覺和多模態,如分類、檢索和風格轉換。 > * 預訓練模型(Pre-trained Models):這些模型在大量數據上進行預訓練,以學習通用的表徵,然後可以用於各種任務。語言模型包括BERT和GPT-2,而視覺和多模態模型則包括MoCo、CLIP和DALL-E。 > * 具有新興能力的統一模型(Unified Models with Emerging Capabilities):這些模型將預訓練模型的概念推進到更進一步,不僅能夠處理多種任務,還展示了新興的能力,如在上下文中學習(in-context learning)和思維鏈(chain-of-thought)。在這一類中,語言模型有GPT-3和LLaMA,而視覺和多模態模型則有Flamingo和Palm-E。 > * 通用助手(General-purpose Assistants):這些是高度靈活的模型,可以進行指令跟隨、互動等更高級的任務。語言領域的代表有ChatGPT和GPT-4。 > > 這個發展軌跡顯示從任務特定模型到通用助手的演進過程,其中包括了從專門為特定目的訓練的模型到能夠進行多種任務的統一模型的轉變。這一過程對於語言和視覺/多模態領域都是相似的,但仍需要更多的研究來確定最佳的模型配方。圖中的問號表示多模態基礎模型的未來發展仍不確定,例如多模態GPT-4和Gemini是否會變得公開 ### 1.1 What are Multimodal Foundation Models? ![image](https://hackmd.io/_uploads/HyBTLwlNp.png =600x) Figure 1.2: Illustration of three representative problems that multimodal foundation models aim to solve in this paper > 圖 1.2 展示了多模態基礎模型在這篇論文中旨在解決的三個代表性問題:視覺理解任務、視覺生成任務,以及具備語言理解和生成能力的通用界面。 > > 這三個問題是: > > * **如何學習視覺表徵(Q1: how to learn visual representations?)**:這是關於如何教導AI系統從視覺數據中提取關鍵信息,這些信息能幫助AI理解所觀察到的內容,就像人類如何從眼睛接收的圖像中識別物體、場景和動作一樣。 > > * **如何進行視覺生成(Q2: how to do visual generation?)**:這涉及到如何使AI能夠創建視覺內容,例如圖片或視頻,這可能基於文字描述(如GPT-3和其他類似模型所展示的能力)或其他視覺提示。 > > * **如何統一視覺模型與靈活、可升級的界面而無需LLM(Q3: how to unify vision models with flexible, promotable interfaces, without LLM?**)**:這個問題探討如何整合視覺模型來進行多種任務,而不僅僅依賴於大型語言模型。 > > * 如何訓練多模態LLM(Q4: how to train multimodal LLM?):這關注於如何開發並訓練能夠理解和生成多種類型數據(如圖像和文字)的大型語言模型。 > > - 如何將多模態專家與LLM鏈接(Q5: how to chain multimodal experts with LLM?):這是關於如何將專門處理視覺或語言任務的AI系統與LLM結合起來,以創造一個能夠處理更複雜多模態任務的通用AI助手。 > > 在圖中,我們看到「視覺編碼器」(Visual Encoder)是負責消化和理解視覺數據的部分,而「視覺生成器」(Visual Generator)則是負責創建視覺輸出的部分。這兩部分通過「LLM for language understanding and generation」這個模塊聯繫起來,這意味著LLM不僅處理語言任務,還要能理解和生成與視覺相關的任務,從而達成一個通用的目的。 多模態基礎模型(Multimodal Foundation Models)是一種結合了視覺和語言處理能力的先進AI模型,它們在近年來成為人工智能領域的一個重要趨勢。這類模型的發展可以分為四個階段:任務特定模型、預訓練模型、具有新興能力的統一模型和通用助手。 在語言領域,這一進程表現為從BERT、GPT-2這樣的預訓練模型,到GPT-3和LLaMA這樣能夠統合不同語言任務的模型,再到如ChatGPT和GPT-4這樣的通用助手。這些模型不僅跟隨指令,還能進行交互式學習。 在視覺和多模態領域,這個發展軌跡也相似。早期的模型專注於特定的視覺任務如分類、檢索和風格轉換,例如MoCo、CLIP、DALL-E和Flamingo等。隨著技術進步,我們正在見證多模態基礎模型的轉變,從特定目的的預訓練模型到統一模型,最終發展為通用助手。然而,這一領域仍在探索階段,尚需研究以確定最佳的發展策略。 本文將多模態基礎模型的範圍限定在視覺和視覺語言領域。近期相關的綜述論文涵蓋了圖像理解模型、圖像生成模型和視覺語言預訓練(Vision-Language Pre-training, VLP)。現有的VLP綜述文獻主要涵蓋了預訓練時代之前特定視覺語言問題的VLP方法,以及核心視覺任務和/或視頻-文字任務。此外,還有研究探討如何將視覺模型與大型語言模型(LLMs)整合。 - **視覺理解模型** (Visual Understanding Models): - 以圖像為基礎,學習通用視覺表徵,包括: - **標籤監督(Label supervision)**: - 標籤監督指的是使用特定的標籤來訓練模型,這些標籤通常來自於像 ImageNet 這樣的數據集。在這種情況下,圖像會被賦予明確的標籤(如狗、貓、車等),模型通過學習這些標籤來理解和識別不同的物體(即傳統的監督學習)。 - **語言監督(Language supervision)**: - 語言監督是一種利用語言作為監督信息來訓練模型的方法。模型如 CLIP 和 ALIGN 通過對大量圖像和文字對進行對比學習來進行預訓練。這些模型能夠進行零樣本圖像分類,並能應對開放詞彙的計算機視覺任務 - **僅圖像的自我監督(Image-only self-supervision)**: - 這類方法旨在從圖像本身學習圖像表徵,無需外部標籤或語言輔助。這包括使用對比學習、非對比學習和掩碼(masked)圖像建模等技術(例如 MAE)。這些技術讓模型能從圖像中挖掘出有用的信息,從而理解和識別圖像內容 - 補充:即沒有給予標籤的自監督學習,讓模型從句量資料中學習資料本身特性 - **多模態融合、區域級和像素級預訓練(Multimodal fusion, region-level and pixel-level pre-training.)**: - 這類方法不僅涉及對圖像背景的預訓練,還包括多模態融合(例如通過 CoCa 和 Flamingo),以及專注於圖像的區域級和像素級理解的方法,如開放集物體檢測 GLIP 和可提示的分割 SAM。這些方法通常依賴於預訓練的圖像編碼器或預訓練的圖像-文字編碼器對 - **視覺生成模型** (Visual Generation Models): 這類模型專注於根據大規模的圖像-文字數據來創建基礎的圖像生成模型。技術上包括了向量量化的變分自編碼器(vector-quantized VAE)方法、基於擴散的(diffusion-based)模型和自回歸(auto-regressive)模型。這些技術使得模型能夠基於文字描述生成高保真度的圖像和視頻,從而開啟了新的視覺內容創造方式 - 基於大規模圖像-文字數據,包括: - **文字條件視覺生成 (Text-conditioned visual generation)**: - 基於開放式文字描述來生成忠實的視覺內容,包括圖像、視頻等。這一領域的發展使得生成模型能夠根據文字提示製作高保真度的圖像。著名的例子包括 DALL-E、DALL-E 2、Stable Diffusion、Imagen 和 Parti。這些模型還能夠基於文字提示生成視頻,如 Imagen Video 和 Make-A-Video。 - **人類對齊視覺生成器 (Human-aligned visual generator)**: - 著重於提升預訓練視覺生成器,使其更好地遵循人類的意圖。為此,研究人員致力於解決基礎視覺生成器所面臨的各種挑戰 改進預訓練視覺生成器以更好地遵循人類意圖(文字編輯、視覺概念客製化) - **通用目的接口** (General-purpose Interface): 這些多模態基礎模型原本設計來解決特定的計算機視覺(CV)問題或任務。最近,我們看到了以AI代理為基礎的通用模型L - **整合的通用視覺模型,用於理解和生成 (Unified vision models for understanding and generation)**: - 在計算機視覺領域,已有多次嘗試建立一個通用的基礎模型,將特定目的的多模態模型的功能結合起來。為此,採用了統一的模型架構,適用於各種下游的計算機視覺和視覺語言任務。其中包括將所有封閉集視覺任務轉換為開放集任務的努力,如 CLIP 和 GLIP,以及跨不同細粒度層次統一不同視覺語言理解任務的方法,如 UniTAB 和 Unified-IO - **與LLMs的訓練(Training with LLMs)**: - 類似於 LLMs,這類模型能夠通過遵循**指令**和處理任務中的示例來解決語言任務。這種方法的目標是開發一個視覺和文字界面,指導模型解決多模態任務。通過將 LLMs 的能力擴展到多模態設置並進行端到端訓練,開發了多模態 LLMs 或大型多模態模型,如 Flamingo 和多模態 GPT-4 - **與 LLM 的工具鏈接 (Chaining tools with LLM)**: - 利用 LLMs 的工具使用能力,越來越多的研究將 LLMs 如 ChatGPT 與多模態基礎模型整合起來,以通過對話界面促進圖像理解和生成。這種跨學科的方法結合了自然語言處理和計算機視覺的優勢,使研究人員能夠開發更強大、更多功能的AI系統,這些系統能夠處理視覺信息並通過人機對話生成類似人類的回應。代表性的作品包括 Visual ChatGPT 和 MM-REACT ![image](https://hackmd.io/_uploads/SyzIDPgVT.png) Figure 1.3: An overview of the paper’s structure, detailing Chapters 2-6. > Figure 1.3提供了論文 "Multimodal Foundation Models" 結構的概覽,詳細介紹了第2到第6章的內容。這裡將圖中的各部分進行了分類,並提供了相應的標題和部分代表性模型或概念的參考。 > **多模態基礎模型 (Multimodal Foundation Models)**: > 這是整個結構的核心,包含了專門針對特定目的預訓練的模型、視覺理解和視覺生成,以及通往更一般通用助手的過渡。 > - **特定目的預訓練模型 (Specific-Purpose Pre-trained Models)**: > 分為「視覺理解」和「視覺生成」兩大塊 > - **通用助手 (General-Purpose Assistants)**: 這裡著重在大型多模態模型和其與LLM結合的訓練,以及多模態代理與LLM的工具鏈接 ## 2. 視覺理解 (Visual Understanding) ### 2.1 概述 (Overview) ### 2.2 受監督預訓練 (Supervised Pre-training) ### 2.3 對比語言-圖像預訓練 (Contrastive Language-Image Pre-training) #### 2.3.1 CLIP 訓練基礎 (Basics of CLIP Training) #### 2.3.2 CLIP 變體 (CLIP Variants) ### 2.4 僅圖像自我監督學習 (Image-Only Self-Supervised Learning) #### 2.4.1 對比學習與非對比學習 (Contrastive and Non-contrastive Learning) #### 2.4.2 掩碼圖像建模 (Masked Image Modeling) ### 2.5 不同學習方法間的協同 (Synergy Among Different Learning Approaches) ### 2.6 多模態融合,區域級和像素級預訓練 (Multimodal Fusion, Region-Level and Pixel-Level Pre-training) #### 2.6.1 從多模態融合到多模態 LLM (From Multimodal Fusion to Multimodal LLM) #### 2.6.2 區域級預訓練 (Region-Level Pre-training) #### 2.6.3 像素級預訓練 (Pixel-Level Pre-training) ## 3. 視覺生成 (Visual Generation) ### 3.1 概述 (Overview) #### 3.1.1 視覺生成中的人類對齊 (Human Alignments in Visual Generation) #### 3.1.2 文字到圖像生成 (Text-to-Image Generation) ### 3.2 空間可控制生成 (Spatial Controllable Generation) ### 3.3 基於文字的編輯 (Text-based Editing) ### 3.4 文字提示跟隨 (Text Prompts Following) ### 3.5 概念定制 (Concept Customization) ### 3.6 趨勢:人類對齊的統一調整 (Trends: Unified Tuning for Human Alignments) ## 4. 統一視覺模型 (Unified Vision Models) ### 4.1 概述 (Overview) 在此節中,我們首先回顧了語言模型和自然語言處理(NLP)在過去幾年的演進。在2018年之前,不同的NLP任務會使用到特定的任務專用模型,如翻譯、語義解析、摘要等。隨著變換器架構(Transformer architecture)的出現,不同NLP任務的語言模型得以統一,例如以解碼器為中心的架構,比如GPT模型。之後,GPT模型通過下一個詞預測任務進行學習,進一步微調以遵循人類指令,從而產生了ChatGPT 1,這徹底改變了我們對AI系統能做什麼的期望。這樣的演進促使我們思考是否可以以類似方式建立通用目的的視覺系統。 ### 4.2 從封閉集到開放集模型 (From Closed-Set to Open-Set Models) #### 4.2.1 物體檢測與定位 (Object Detection and Grounding) #### 4.2.2 圖像分割與指引 (Image Segmentation and Referring) ### 4.3 從任務特定模型到通用模型 (From Task-Specific Models to Generic Models) #### 4.3.1 輸入/輸出統一 (I/O Unification) #### 4.3.2 功能統一 (Functionality Unification) ### 4.4 從靜態到可提示模型 (From Static to Promptable Models) #### 4.4.1 多模態提示 (Multi-modal Prompting) #### 4.4.2 情境中提示 (In-context Prompting) ### 4.5 總結與討論 (Summary and Discussion) ## 5. 大型多模態模型:與大型語言模型的訓練 (Large Multimodal Models: Training with LLM) 這一章節深入探討了大型多模態模型,重點關注於圖像到文字生成模型的基本原理以及這些模型在不同案例研究中的代表性實例。此外,還討論了當前最先進的OpenAI多模態GPT-4模型並識別出該領域存在的研究差距。為了更好地理解大型語言模型中指令調整(instruction tuning)的過程,本節探討了其重要性以及它在自我指令和開源語言模型中的角色。接下來,本章節探討了經過指令調整的大型多模態模型,闡述了它們的基本原理、重要性以及應用。此外,第5.4節討論了多模態模型的進階主題,以提供對這一領域更深入的理解。最後,本章評估了該領域當前的進展,並探討了我們與實現OpenAI多模態GPT-4這一重要里程碑的距離 ### 5.1 背景 (Background) #### 5.1.1 圖像到文字生成模型 (Image-to-Text Generative Models) 目前的大型多模態模型(LMMs)主要是圖像到文字的生成模型,它接收圖像作為輸入並輸出文字序列。所有這些模型變體共享非常類似的模型架構和訓練目標。 - **模型架構**:這些模型通常包含一個圖像編碼器用於提取視覺特徵,以及一個語言模型用於解碼文字序列。視覺和語言模態可以通過可訓練的連接模塊選擇性地連接。圖像編碼器和語言模型可以從頭開始訓練,也可以從預訓練模型初始化。 - **訓練目標**:這些模型通常採用自回歸損失來訓練輸出文字tokens。在Transformer模型中,圖像tokens可以相互關注,當前的文字tokens則關注所有圖像tokens和之前的文字tokens #### 5.1.2 案例研究 (Case Studies) 本節介紹了穩定擴散模型(Stable Diffusion, SD)的案例研究,這是一個廣泛使用的開源圖像到圖像(Text-to-Image, T2I)模型。SD利用一種基於擴散的圖像生成方法,透過多次迭代的去噪過程逐漸將隨機噪聲細化成有意義的圖像,並結合了文字輸入​​。 SD模型包含三個主要部分:一個圖像變分自編碼器(VAE)、一個去噪U-Net,以及一個條件編碼器。VAE將RGB圖像編碼成一個連續的潛在隨機變量,再將這個潛在變量解碼回圖像。去噪U-Net是圖像生成過程的核心,預測每個去噪時間步中要減去的噪聲,從而逐步將初始隨機噪聲演變成有意義的圖像潛在變量。條件編碼器則是使用CLIP文字編碼器來編碼輸入的文字條件​​。 此外,本節還討論了區域控制的T2I生成,即如何通過增加文字詞彙的空間坐標標記來控制特定區域的內容。ReCo模型是一個代表性的工作,它通過擴展文字編碼器的詞彙並排列不同的標記來表示基於地面的文字輸入。這種方法允許用戶更輕鬆地指定所需的圖像,例如在特定位置精確地描述一個區域。GLIGEN則是另一項代表性的工作,它採用插入式方法:凍結原始T2I模型並訓練額外的閘控自注意力層來學習新的定位技能​​。 控制網(ControlNet)則是將密集的空間條件(如邊緣圖、深度圖等)納入T2I模型的一個顯著例子,它在穩定擴散模型的基礎上增加了一個可訓練的ControlNet分支,為文字提示增加了額外的輸入條件。這些技術的進一步研究進行了改進,以便單一模型能夠理解多種輸入條件類型,甚至可以結合兩種條件​​。 總結與趨勢方面,與早期研究相比,現在的趨勢是將空間條件與文字條件整合在一起。T2I模型可能會有一個微調階段,允許它們理解圖像和文字輸入。在這種情況下,盒子坐標可以通過文字融入,而密集控制可以作為圖像輸入提供​​。 #### 5.1.3 OpenAI 多模態 GPT-4 和研究差距 (OpenAI Multimodal GPT-4 and Research Gaps) ### 5.2 前提:大型語言模型中的指令調整 (Pre-requisite: Instruction Tuning in Large Language Models) #### 5.2.1 指令調整 (Instruction Tuning) 指令調整是在大型語言模型(LLM)中的一個關鍵過程。這包括了使用ViT-L/14 CLIP文字編碼器將輸入的文字查詢轉化為文字特徵。例如,穩定擴散(Stable Diffusion)模型在每個去噪時間步長t中預測要減去的噪聲,逐步將初始隨機噪聲演變為有意義的圖像潛在特徵 #### 5.2.2 自學指令和開源 LLMs (Self-Instruct and Open-Source LLMs) 在大型語言模型的訓練過程中,區域控制的文字到圖像(T2I)生成是一個逐漸增強的趨勢。這樣的模型可以產生高解析度的圖像,但缺乏空間控制能力,例如使用自由形式的文字描述精確指定一個特定區域的內容。為了解決這個限制,研究人員探索了對區域控制T2I生成的研究,例如**ReCo**模型,它通過擴展文字編碼器的文字詞彙和排列不同的標記來代表定位的文字輸入,以便細化圖像生成過程。**GLIGEN**模型則採用了凍結原始T2I模型並訓練額外的自我注意力層以學習新的地面技巧,這些技巧在預訓練的T2I模型中加入了新的真實文字輸入 ### 5.3 指令調整的大型多模態模型 (Instruction-Tuned Large Multimodal Models) 本節介紹如何以開源資源建立多模態GPT-4的最小原型。特別使用LLaVA (Liu et al., 2023c) 作為例子,此概念亦在MiniGPT-4 (Zhu et al., 2023a) 的同時提出。近年來,多模態領域的研究常受NLP最新進展啟發,一成功的策略是探索將NLP的創新想法應用於視覺語言社群。但多模態研究中的獨特挑戰是缺乏公開的多模態導師。因此,研究問題成為:如何使用語言模型如GPT-4創建多模態指令跟隨數據。 - **數據創建** 部分著重於如何將圖像轉化為符號序列,並考慮字幕和邊界框。這些數據有助於訓練階段的模型表現。 - **網絡架構和訓練** 部分介紹了LLaVA的網絡架構,包括CLIP ViT-L/14視覺編碼器和大型語言模型Vicuna。LLaVA採用了兩階段指令調整訓練過程。 - **性能** 方面,LLaVA在多模態指令跟隨數據上的微調表現優異,並在LLaVA-Bench評估數據集上達到了相對於基準的高分數。此外,LLaVA展示了在野外的強大零樣本OCR任務轉移能力。 ### 5.4 進階主題 (Advanced Topics) 本節概述了最近的指令調整LMM歷史,強調了自GPT-4推出後三個月內的迅速研究進展。提出了多種模型,如Alpaca、Vicuna、MiniGPT-4和LLaVA,這些模型將語言模型擴展到視覺領域。討論了 - **更多模態(超越視覺語言)**,其中介紹了多模態嵌入空間的共享概念,如PandaGPT和SpeechGPT。 **改進視覺指令數據質量和數量** 部分指出,由於模型架構向GPT型網絡收斂,因此LMM的表現主要取決於其訓練數據。 - **參數高效訓練** 部分著重於如何以較少的參數更新來改進大型模型的可訪問性,並介紹了量化等方法。 - **基準測試** 部分討論了評估LMM在多場景中視覺識別和推理能力的方法,提到了LLaVA-Bench等多個相關基準測試。 - 最後,**應用** 部分提出了LMM在垂直領域(如醫學、遊戲和教育)的應用 ## 6. 多模態代理:與 LLM 的工具鏈接 (Multimodal Agents: Chaining Tools with LLM) ### 6.1 概述 (Overview) 進入新模型範式,從獨立解決特定問題的模型轉變為將多種工具或專家與**LLM**結合起來,解決更複雜的開放性問題。這種系統可以不透過訓練,僅透過示範範例(指令調節)教導LLM產生對現有工具的正確調用。這一節突顯了與傳統方法相比,新範式即以**LLM鏈接工具**(chaining tools with LLM ) 的不同之處 ![image](https://hackmd.io/_uploads/HJMJ2ngE6.png) Figure 6.1: Evolution of modeling paradigm. ### 6.2 多模態代理 (Multimodal Agent) 多模態代理是結合視覺專家工具使用的代表性作品,如**VISPROG**和**Visual ChatGPT**。這些代理能夠實現基於程式語言的工具鏈接,並使對話型圖像編輯成為可能。MM-REACT 通過結合各種先進的視覺專家,展示了ChatGPT在執行複雜多模態動作和推理方面的能力。此節提供了多模態代理框架的概覽,以及它們如何與用戶交互、規劃和執行以達成用戶的目標 ![image](https://hackmd.io/_uploads/H16L32xV6.png) Figure 6.2: The surge of multimodal agents from November 18, 2022 to July 26th, 2023. ![image](https://hackmd.io/_uploads/Syjn23g4a.png) Table 6.1: Glossary of representative works on chaining tools with LLMs. ### 6.3 案例研究:MM-REACT (Case Study: MM-REACT) #### 6.3.1 系統設計 (System Design) MM-REACT設計了一個系統範式,將眾多多模態工具與ChatGPT組合起來,以支持包括文字、圖像和視頻在內的多模態輸入和輸出。這種系統設計允許將核心LLM升級到更新、更強大的模型,並且無需重新訓練。同時,這種架構允許通過插拔機制添加更多工具,從而無需訓練即可擴展系統 #### 6.3.2 能力 (Capabilities) MM-REACT 展示了包括視覺數學、文字推理、視覺條件化笑話/迷因理解、空間/坐標理解、視覺規劃和預測、多圖像推理、多跳文檔理解、開放世界概念理解以及視頻分析和摘要等在內的多模態推理和行動能力 #### 6.3.3 可擴展性 (Extensibility) 多模態代理的一個優勢是系統可從兩個方面輕鬆擴展和增強:一是升級系統核心LLM,二是擴展外部工具的數量。例如,HuggingGPT利用了huggingface上托管的所有開源模型,而Chameleon不僅整合了huggingface模型,還包 括GitHub上的開源模型、Bing搜索API和Python編譯器,顯示了通過添加更多工具來擴展現有多模態代理的潛力 ### 6.4 進階主題 (Advanced Topics) #### 6.4.1 與第五章中的 LLM 訓練比較 (Comparison to Training with LLM in Chapter 5) 本節關注於空間可控制的圖像生成(T2I)模型,這些模型能結合文字和空間條件來指導圖像生成過程。最新的研究趨勢是將空間條件與文字條件整合,例如 **ReCo** 透過擴大文字詞彙與位置標記合併空間坐標控制到文字輸入中,而從 **ControlNet** 延伸的研究則整合了「圖像式」條件到T2I框架中,從而捕獲廣泛的密集條件。這指出了未來T2I模型可能包含一個微調階段,以理解圖像和文字輸入 #### 6.4.2 改進多模態代理 (Improving Multimodal Agents) 多模態代理的改進包括使用不需要額外模型訓練的推論時間空間引導(inference-time spatial guidance),這能夠在不進行額外訓練的情況下實現T2I生成的空間控制。例如,使用物件偵測損失來引導生成過程,但這可能不會產生如微調方法般精確的結果 #### 6.4.3 多模態代理的多樣化應用 (Diverse Applications of Multimodal Agents) 多模態代理的應用正在進一步擴展,涵蓋了從生成人類舞蹈影片的 **ControlNet** 到能夠處理各種空間條件的 **Uni-ControlNet** 和 **UniControl**。這些研究展示了通過統一輸入條件,單一模型能夠理解多種輸入條件類型,或甚至處理兩種條件的組合 #### 6.4.4 多模態代理的評估 (Evaluation of Multimodal Agents) 評估多模態代理的效能時,應考慮其在不同條件下生成圖像的能力,如使用 **ReCo** 和 **ControlNet** 所提供的空間控制能力,以及未來可能的微調階段,這將允許T2I模型理解圖像和文字輸入 。 #### 6.4.5 工具創建 (Tool Creation) 當現有工具無法滿足新情境需求時,**CREATOR** 提出即時編寫Python代碼創建數學推理工具,而非依賴API如Wolfram Alpha。Cai等(2023)展示了LLMs作為工具製造者和使用者共同解決問題的能力。在多模態領域,挑戰是創建能處理多模態輸入的工具,例如指導LLMs利用現有Python包生成程式。**AutoML GPT** 展望利用LLMs自動化模型訓練流程,展示了為特定用戶需求定製多模態深度學習工具的潛力。 #### 6.4.6 檢索增強的多模態代理 (Retrieval-Augmented Multimodal Agents) 在實際應用中,許多信息儲存在數據庫裡,檢索增強模型可以從外部記憶體中提取相關文檔以回應輸入文字。這些模型利用視覺和/或文字知識提升如圖像分類、標題生成和問答等任務的表現。例如,**RAC** 通過檢索改善長尾分類,而**K-LITE** 和 **REACT** 強化文字提示與圖文任務轉移表現。特別的是,**RA-CM3** 為首個構建的檢索增強LLM,能檢索多模態文檔並生成文字和圖像。這些方法顯示了結合外部知識以增強核心模型功能的強大聯繫,並為多模態代理提供了廣闊的應用前景。在多模態體系中,**圖像本身**可以作為獲取外部知識的查詢,無論是從知識庫中檢索,還是從其他預訓練的視覺專家模型中提取 ## 7. 結論與研究趨勢 (Conclusions and Research Trends) ### 7.1 總結與結論 (Summary and Conclusions) 在**空間控制生成**的早期研究中,像是layout-to-image和mask-to-image生成通常與T2I(Text-to-Image)生成並行處理。然而,隨著先進的大規模T2I模型的出現,最近的研究開始傾向於將空間條件與文字條件結合起來。我們識別出兩個主要趨勢:首先,如ReCo那樣的**區域可控T2I生成**通過擴大文字詞彙與位置代幣合併空間座標控制到文字輸入中。其次,從ControlNet延伸的研究將一個額外的「圖像式」條件整合到T2I框架中,從而捕獲廣泛的密集條件。未來的T2I模型可能會有一個微調階段,允許它們理解圖像和文字輸入 ### 7.2 邁向建立通用目的 AI 代理 (Towards Building General-Purpose AI Agents) 我們預見,未來的T2I模型將有一個**統一的對齊調整階段**,這將使一個預訓練的T2I模型轉變為一個更能與人類意圖共鳴的模型。這樣的模型將能夠無縫處理文字和圖像輸入,產生預期的視覺內容,而不需要多個針對不同對齊挑戰量身定制的模型。與LLM開發中建立的人類對齊調整實踐相比,我們預計這部分的技術將合併到一個全面的第二階段調整中,用於生成基礎模型開發。這個對齊調整階段的兩個主要目的是,首先它擴展了T2I的文字輸入以包含交錯的圖像-文字輸入;其次,它通過使用數據損失和旨在與人類期望對齊的獎勵,對基礎T2I模型進行微調 --- # 補充與參考資料 ## CVPR2023 Tutorial Talk ### [[CVPR2023 Tutorial Talk] Recent Advances in Vision Foundation Models](https://www.youtube.com/watch?v=hE135guhTQo) ### [[CVPR2023 Tutorial Talk] Multimodal Agents: Chaining Multimodal Experts with LLMs](https://www.youtube.com/watch?v=Wb5ZkZUNYc4) - New Paradigm: Sandalone models on finite scenarios => Chaining tools for open problems ![image](https://hackmd.io/_uploads/H1J1qDlEa.png =600x) - Multimodal Agents - Multimodal experts as tools for advanced multimodal reasoning and action ![image](https://hackmd.io/_uploads/SyMvFDgET.png) * MM-ReAct: Prompting ChatGPT for Multimodal Reasoning and Action - https://multimodal-react.github.io/ ![image](https://hackmd.io/_uploads/HJRtAtl4T.png =1200x) ### Multimodal Agents #### [2023.11。Chenllliang。Towards End-to-End Embodied Decision Making via Multi-modal Large Language Model: Explorations with GPT4-Vision and Beyond<br>具身智能与多模态语言模型: GPT4-Vision 地表最强Agent?](https://zhuanlan.zhihu.com/p/660996688) 從畫面做出駕駛判斷 ![image](https://hackmd.io/_uploads/SyxPaXdN6.png =400x) #### [2023.11。microsoft.github.io/autogen。Multimodal with GPT-4V and LLaVA](https://microsoft.github.io/autogen/blog/2023/11/06/LMM-Agent/) * Introducing the **Multimodal Conversable Agent** and the **LLaVA Agent **to enhance LMM functionalities. * Demonstrated through the [GPT-4V notebook](https://github.com/microsoft/autogen/blob/main/notebook/agentchat_lmm_gpt-4v.ipynb). * Demonstrated through the [LLaVA notebook](https://github.com/microsoft/autogen/blob/main/notebook/agentchat_lmm_llava.ipynb). #### [2023.09。mlwires.com。Multimodal foundation models: the future of AI assistants](https://www.mlwires.com/multimodal-foundation-models-from-specialists-to-general-purpose-assistants/) ### 其他補充參考資料 #### [2023.10。Chip Huyen。Multimodality and Large Multimodal Models (LMMs)](https://huyenchip.com/2023/10/10/multimodal.html) 這篇科普文章會比較好入門些,建議先從這篇看起,這裡有簡體中文翻譯。 - 簡體中文翻譯[多模态和多模态大模型 (LMM)[译]](https://baoyu.io/translations/lmm/multimodality-and-large-multimodal-models#google_vignette) - 大綱 > - Part 1. Understanding Multimodal > - Part 2. Fundamentals of Multimodal Training > - CLIP: Contrastive Language-Image Pre-training > - Flamingo: the dawns of LMMs > - Part 3. Research Directions for LMMs > - Multimodal systems for instruction-following #### [2023.01。李沐。多模态论文串讲·下【论文精读】](https://www.youtube.com/watch?v=S1le41J76lQ&t=7s) ![image](https://hackmd.io/_uploads/HJ9hma9Sp.png) #### [2017.08。T Baltrušaitis, C Ahuja, LP Morency。Multimodal Machine Learning: A Survey and Taxonomy](https://arxiv.org/abs/1705.09406) - [2022.10。张浩在路上。多模态学习(MultiModal Learning)](https://imzhanghao.com/2022/10/27/multimodal-learning/) > > - Representation > - 第一个基本挑战是学习如何以利用多种模态的互补性和冗余性的方式表示和总结多模态数据。多模态数据的异质性使得构建这样的表示具有挑战性。例如,语言通常是象征性的,而音频和视觉形式将被表示为信号。 > - 单模态的表征负责将信息表示为计算机可以处理的数值向量或者进一步抽象为更高层的特征向量,而多模态表征是指通过利用多模态之间的互补性,剔除模态间的冗余性,从而学习到更好的特征表示。 > ![image](https://hackmd.io/_uploads/r1qe9E446.png =500x) > - Joint Representation > - 联合表征(Joint Representation)将多个模态的信息一起映射到一个统一的多模态向量空间,Joint结构注重捕捉多模态的互补性,融合多个输入模态$x_1,x_2$获得多模态表征$x_m=f(x_1,...,x_n)$,进而使$x_m$完成某种预测任务 > :pencil: 來自不同模態的數據被融合到一個共享的表示空間,即在同一個模型中處理所有模態,並通過如Cross-Attention這樣的機制來直接對齊和整合特徵。這種方法嘗試捕捉模態之間的交互和互補訊息 > > > > ![image](https://hackmd.io/_uploads/S1kUY4V4p.png =400x) > > > ![image](https://hackmd.io/_uploads/SyeEF4EVa.png =500x) > > - Coordinated Representation > ![image](https://hackmd.io/_uploads/ry8QtV4Np.png =400x) > :pencil2: 每個模態獨立產生自己的表示,然後這些表示被協調以進行後續的任務,如匹配、排序或其他形式的比對。這通常涉及到分別訓練的模型或模型部分,它們通過某種方式(例如距離度量或對比學習)被對齊,CLIP的概念接近於Coordinated Representation。 > > - Alignment > 第三个挑战是从两种或多种不同的模态中识别(子)元素之间的直接关系。例如,我们可能希望将食谱中的步骤与显示正在制作的菜肴的视频对齐。为了应对这一挑战,我们需要测量不同模式之间的相似性并处理可能的长期依赖和歧义。 > ![image](https://hackmd.io/_uploads/B1KfFNENp.png =600x) > - Explicit Alignment > - 如果模型的主要目标是对齐来自两个或多个模态的子元素,那么我们将其分类为执行显式对齐。显式对齐的一个重要工作是相似性度量。大多数方法都依赖于度量不同模态的子组件之间的相似性作为基本构建块。 > > :pencil2: 直接找到不同模態元素之間的對應關系。在多模態學習中,這意味著模型會被訓練來識別和對齊來自不同模態的特定特徵或部分。例如,將圖像中的對象與文字描述中的相應詞匯明確匹配。 ControlNet 、可提示(promptable)的多模態模型例如 SAM,通過明確的用戶指令來控制模型輸出,屬於此類。 > ![image](https://hackmd.io/_uploads/By1uF44Na.png =600x) > - Implicit Alignment > - **隐式对齐用作另一个任务的中间(通常是潜在的)步骤**。 这允许在许多任务中有更好的表现,包括语音识别、机器翻译、媒体描述和视觉问题回答。这些模型不显式地对齐数据,也不依赖于监督对齐示例,而是学习如何在模型训练期间潜在地对齐数据 > > :pencil2: 模型內部利用不同模態間的潛在關系來解決問題,但不一定直接對應於明確的元素或特徵。這種對齊通常是模型學習過程中自動發生的,不需要外部明確指定每個對齊關係。CLIP概念接近於此類 > > ![image](https://hackmd.io/_uploads/r18stVNNT.png =600x) > > > - Fusion > - 第四个挑战是结合来自两个或多个模态的信息来执行预测。例如,对于视听语音识别,将嘴唇运动的视觉描述与语音信号融合以预测口语。来自不同模态的信息可能具有不同的预测能力和噪声拓扑,并且可能在至少一种模态中丢失数据 > > ![image](https://hackmd.io/_uploads/rkOgnEEVT.png =600x) > ![image](https://hackmd.io/_uploads/S1hlhEV4p.png =600x) #### Cross-Attention補充 :::info **Cross-Attention** 是一種常見於多模態轉換器(Transformer)模型中的機制,它允許模型在處理一種模態時明確(Explicit)考慮另一種模態的上下文信息。在此過程中: - 文字編碼器(Text Encoder)產生的特徵通常被用作 **Key** 和 **Value**,因為它們提供了要被檢索和關聯的語義信息。 - 視覺編碼器(Vision Encoder)產生的特徵則被用作 **Query**,因為視覺特徵正在尋求與文字特徵匹配的相應部分。 這種整合方式稱為 **Joint Representations**,因為它結合了來自不同模態的信息進入一個統一的表示空間。在這個表示空間中,模型進行 **Explicit Alignment**,直接對齊和整合來自不同模態的特徵,並且這個過程是有目的和明確的。 在某些多模態應用中,如交互式視覺和語言任務,Cross-Attention 機制可以指定文字提示在圖像中框選或分割特定的區域(這通常稱為視覺問答或圖像分割)。反之亦然,也可以根據指定的圖像區域生成描述性文字。 Cross-Attention的對應關係在Latent space對觀察者不一定顯而易見,但它們是模型內部精確對齊過程的一部分。 ps: 這邊指的是[Stable Diffusion中的Cross-Attention](https://hackmd.io/25Qd-n1NQKOqBUlsmm7NNw?both) :::

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Google Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully