人類同時跨多種資料輸入模式處理知識。我們學習的方式、我們的經歷都是多模式的。我們不僅有視覺,還有音訊和文字。
現代教育之父約翰·阿莫斯·誇美紐斯 (John Amos Comenius) 在其 1658 年的著作《Orbis Sensualium Pictus》中闡明瞭這些學習的基本原則。
- “所有自然相關的事物都應該組合起來教授”
與這些原則相反,在過去,我們的機器學習方法通常側重於為處理單一模式而定製的專門模型。例如,我們開發了用於文字轉語音或語音轉文字等任務的音訊模型,以及用於物件檢測和分類等任務的計算機視覺模型。
然而,新一波的多模態大語言模型開始出現。示例包括 OpenAI 的 GPT-4 Vision、Google 的 Vertex AI Gemini Pro Vision、Anthropic 的 Claude3 以及開源產品 LLaVA 和 balklava 能夠接受多種輸入,包括文字影像、音訊和影片,並透過整合這些輸入來生成文字響應。
多模態大語言模型 (LLM) 功能使模型能夠與影像、音訊或影片等其他模態結合處理和生成文字。
Spring AI - 多模態
多模態是指模型同時理解和處理來自各種來源(包括文字、影像、音訊和其他資料格式)的資訊的能力。
Spring AI Message API 提供了支援多模式 LLM 所需的所有抽象。
例子
例如,我們將下面的圖片 ( multimodal.test.png ) 作為輸入,並要求 LLM 解釋它在圖片中看到的內容。
對於大多數多模式大模型,Spring AI 程式碼如下所示:
byte[] imageData = new ClassPathResource(<font>"/multimodal.test.png").getContentAsByteArray(); |
併產生如下響應:
這是一個設計簡單的水果盤的影像。碗由金屬製成,帶有彎曲的金屬絲邊緣,形成開放式結構,使水果從各個角度都可見。碗裡有兩個黃色香蕉,上面放著一個看起來像紅蘋果的東西。香蕉稍微熟過頭了,從香蕉皮上的棕色斑點可以看出。碗的頂部有一個金屬環,可能用作攜帶的把手。碗放置在具有中性色背景的平坦表面上,可以清晰地看到裡面的水果。 |
Spring AI 的最新 (1.0.0-SANPSHOT) 版本為以下聊天客戶端提供多模式支援:
- Open AI - (GPT-4-Vision model)
- Ollama - (LLaVa and Baklava models)
- Vertex AI Gemini - (gemini-pro-vision model)
- Anthropic Claude 3
- AWS Bedrock Anthropic Claude 3
結論
傳統上,機器學習專注於單一模式的專門模型。然而,隨著 OpenAI 的 GPT-4 Vision 和 Google 的 Vertex AI Gemini 等創新,一個新時代已經到來。
隨著我們擁抱這個多模式人工智慧時代,誇美紐斯設想的互聯學習的願景成為現實。
Spring AI 的訊息 API 促進了多模式 LLM 的整合,使開發人員能夠建立創新的解決方案。透過利用這些模型,應用程式可以理解並響應各種形式的資料,從而為人工智慧驅動的體驗釋放新的可能性。