Midjourney在沉寂九個月后推出了Midjourney V6,這個文生圖產品體現出的更細膩的細節處理,更強大的語言理解能力和更加“不像AI”的圖片效果在過去幾天引發一片驚呼。
作為一個閉源的模型產品,Midjourney的魔法配方并不為人所知,但就像OpenAI和Google一樣它會在產品更新時發布官方技術公告,有心人還是可以從中一窺模型能力提升的技術原理。
而我們去扒了扒它透露的信息后,發現這次更新的意義遠不止于大家曬的那一張張精美的圖片上…….
Midjourney v6生成,電影月光光心慌慌的假劇照,圖片源自reddit
圖片模型的突破,卻靠的是語言模型能力?
“Midjourney v6作為一個“文生圖”模型,此次改進的核心能力卻來自其自然語言處理能力的提升。
這首先是對提示詞理解的’跟隨能力’的提升。在其官方文檔中,這被稱為“prompt following”。簡單來說,這就是指系統對用戶輸入的提示詞的理解和響應能力。通過增強這一能力,Midjourney現在能夠更好地解析復雜的提示,無論是關鍵詞、命令還是問題,都能夠準確把握。
Midjourney v6生成,電影疤面煞星的假劇照,圖片源自reddit
第二個顯著的更新是提示詞的長度。用戶現在可以輸入更長的提示詞。這一方面得益于上面提到的模型跟蹤能力的增強,另外則依靠模型連貫性的提升。
所謂連貫性,用一個經典的故事就能解釋。A問B:“下午大掃除,你來嗎?”B說:“我去!我不去!”那么B的意思毫無疑問是不去,因為上文中的大掃除非常累,而B說的“我去!”在這里則表示驚訝,能夠準確理解這個對話,就叫連貫性。它確保了模型在處理用戶哪怕很復雜的指令輸入時,也能夠邏輯一致地響應。
Midjourney v6生成,李奧納多在網飛出演電視劇的海報,圖片源自reddit
這兩個自然語言能力上的改進,Midjourney具體是如何做的?
在跟隨能力方面的改進,主要基于三個方面:
上下文管理,它通過分析上下文關系來更準確地理解用戶意圖;序列建模,利用循環神經網絡(RNN)和長短時記憶網絡(LSTM)來捕捉對話中的長期依賴;以及交互狀態跟蹤,它持續追蹤用戶的目標、意圖和對話狀態,以確保系統響應的連貫性。
這些改進看起來就像是一個大語言模型的進化中在做的事情。
Midjourney v6生成,圣誕夜驚魂版的小丑和哈莉奎茵,圖片源自reddit
但它畢竟是個文生圖模型,也就是語言能力和圖片能力結合的模型,這其實也給它在提升能力時帶來了優勢——與語言模型的對話產品形態總是涉及隱私與所屬的問題不同,Midjourney v6生成的圖片目前來看,全部是公共資源。
也就是說你花錢買了服務以后,圖片是公共的,模型會生成兩份,你拿一份,V6的服務器(也就是V6 discoard)也拿一份。那么Midjouney可以拿這些“實戰”反過來加入到自己的預訓練大模型中,繼續訓練模型以提高性能。
Midjourney v6生成,一只貓拿著手槍,圖片源自reddit
所以這還引出一個有意思的話題,如果文生圖因此而能夠源源不斷擁有更高質量的數據來反哺到預訓練階段,而數據真的成為模型訓練的決定性因素后,是不是文生圖模型有可能訓練出比大語言模型更強的語言能力?
在連貫性提升上其實就已經有一點這個味道。對于大語言模型來說,想要提高連貫性并不簡單,涉及了多方面的因素。但是作為一個使用自然語言來生成圖片的模型,事實上簡化了過程,由于它不涉及與用戶進行持續對話,因此無需應用束搜索等啟發式算法,也無需處理自然語言生成中的后處理問題,如語法校正和風格調整。這種簡化使得Midjourney在提高連貫性方面只需專注于核心任務,從而顯著提升了其在理解和響應用戶輸入時的邏輯一致性。
Midjourney v6生成,獵魔人杰洛特與超人的結合,二者皆有同一演員亨利·卡維爾飾演,圖片源自reddit
懂視覺的模型能有更好的文字能力?
圖像模型卻靠語言能力突破,這其實已經不是第一次。此前同樣引發一陣騷動的Dalle3,也是如此。作為OpenAI的模型,背靠ChatGPT,語言能力自然更強。
在對比了兩者后我發現V6在語言理解上其實還是較DALL·E有一定差距。最明顯的地方就在于適應性上。適應性代表系統在能適應不同用戶的語言風格和表達方式,以及在面對新的或未見過的情況時保持響應連貫性的能力。可能是DALL·E背靠ChatGPT,所以在對自然語言各方面的性能上會更優異一些。
但Midjourney似乎也在瞄著ChatGPT為代表的語言模型的能力來進化。在此次的更新中,V6增加的另一個非常重要的能力,也與語言有關。Midjourney稱,其現在擁有了文本繪制能力,雖然依然較弱。
對于人工智能繪圖來說,能繪制文本無疑是一項重大進步。
文字不再是亂碼。圖源:X.com
這個能力并非像看起來那樣,直接來自模型里大語言模型的模塊。在官方更新里,文本繪制能力后緊隨的是圖像放大功能的更新。它們原理比較復雜,但本質其實是同一個問題。
圖像生成模型在訓練的時候所用的數據,是一些通過泛化和模糊處理的圖像內容。我們都知道,分辨率越高的圖片數據量越大,反之,越模糊越泛化的圖片它的數據量就越小。人工智能理解圖片的方式和人類完全不一樣,他們是按照統計學的一個概念叫做“模式識別”,通過圖片中的特征來理解。使用泛化和模糊的圖片好處在于,小數據量的圖片讀取速度快,訓練時間就短。但想要用這種訓練方式來理解文字是非常難的,因為文字是一種符號,這種泛化處理對于圖像中的文字尤其不利,即使是微小的變形或模糊都可能導致文字難以辨認。同時,訓練所使用的圖像分辨率很低,那么生成圖片時,分辨率也不會高到哪里去。
圖片上的文字與圖像整體風格融合。圖片來源:X.com
而Midjourney的訓練方法,其實就是在訓練它的圖像“放大”能力。它所使用的模型叫做去噪擴散概率模型(denoising diffusion probabilistic models),這種模型通過模擬從噪聲中提取信息的過程來生成清晰的圖像。想象一下,就像我們用軟件修復模糊的老照片,Midjourney的模型也能夠從模糊的圖像中“學習”到清晰的細節。
圖片來源:X.com
也就是說,這是像Midjourney這樣的圖像模型一直在做的事情,訓練越久優化越久它的圖像“放大”能力就越強,也就會逐漸產生關于文字的生成能力。
在直覺上,這種能力肯定不如“純粹”的語言模型的語言能力,但一些研究已經在給出不同的指向,在多模態領域很重要的模型VLMO的論文里就曾提到一個有意思的結論,當你完全拿一個在視覺數據上訓練好的模型,可以直接對文本數據建模,甚至不需要微調就可以有很強的文本生成能力。但反過來用語言訓練在視覺上生成,則差很多。
這也許就是視覺想對文字說的話。圖源:X.com
這是一種很奇怪也很有意思的現象,這一次V6似乎把它再一次輕微的展示出來了。而更重要的是在今天多模態大模型已經成為未來最重要的趨勢時,一個圖像能力為主的模型產生文字能力給了走向多模態一個新的思路。
世界更精彩了。