OpenAI也有24MB的模型了!人人都用的起CLIP模型,iPhone上也能運行新智元關(guān)注共 3267字,需瀏覽 7分鐘 ·2021-08-19 20:40 新智元報道 來源:reddit編輯:LRS【新智元導(dǎo)讀】24MB的CLIP模型香不香?不要顯卡,不要大內(nèi)存,一臺手機iPhone就能用!研究人員還順帶解決了CLIP過度關(guān)注文本的問題,快來看看怎么做的。Transformer的模型動輒以GB論大小,參數(shù)量也不斷突破億、十億,這種大模型想要應(yīng)用在移動端或者給沒有高端顯卡「平民」玩家使用,也是十分困難。 CLIP 是openAI 在今年年初發(fā)布的一個多模態(tài)模型,能夠從自然語言標注數(shù)據(jù)中學(xué)到有價值的視覺概念,并且和GPT-2/3一樣擁有zero-shot的能力。 CLIP的訓(xùn)練數(shù)據(jù)包括超過4億個圖像文本對,使用256個GPU訓(xùn)練了2周。雖然這是把屠龍刀,但對執(zhí)劍人有著超高要求,所以有研究人員就在考慮如何縮減模型的規(guī)模,把它能用在更多的地方。 這項研究工作在Reddit分享后,直取200贊,聲稱可以在iPhone中使用。 CLIP模型根據(jù)輸入的文本,召回相關(guān)的圖片,但它存在一個問題是過度注重圖片中的文本而非語義,例如當輸入為cat(貓)時,把圖片中包含cat相似文本的圖片排序更高。 下面這個有小貓的圖片反而獲得更低的排序。 可以看出搜索詞和圖像之間的相似性包括兩方面:1、圖像包含與搜索詞相似的文本: 我們稱之為文本相似性(textual similarity)2、圖像和搜索詞的語義含義相似: 我們稱之為語義相似性(semantic similarity) 在構(gòu)建搜索功能時,人們更傾向于選擇語義相似性而不是文本相似性,但 CLIP 傾向于給文本相似的圖片更高的分數(shù)。 輸入蜘蛛俠Spider-Man,模型會返回一張蜘蛛Spider的圖片,或者是有Spider文本的圖片。 給「蘋果」貼上一個「iPod」標簽,他就真成了一個「iPod」,并且模型認為正確率超過99.7%。 針對這個問題,有人提出了解決方法,就是增加第三個標簽「an apple with a label saying iPod」,這樣就可以讓模型預(yù)測正確。 有網(wǎng)友表示,這個idea可以讓你博士畢業(yè)了! 但研究人員還有其他更深層次探索的解決方案,假設(shè)在共享向量空間中存在一個方向,其中圖像的「文本性(textness)」特性變化很大,而「語義」特性保持不變,那么可以根據(jù)找到的這個方向,使用一個向量指向這個方向,并將其添加到所有的圖像向量(或文本向量) ,然后對它們進行標準化并計算余弦相似性,這個向量稱之為textness_bias向量。 在進行下一步操作前,消除文本偏差向量的影響。 并且創(chuàng)建一個新的caption數(shù)據(jù)集,去除所有純文本的圖片,然后使用模型的權(quán)重找出textness bias向量。 實驗結(jié)果表明,向文本向量添加bias比向圖像向量添加bias更有效,并且scale值越大,CLIP 越強調(diào)文本的相似性。 借助CLIP的強大功能,可以使用知識蒸餾的方法減小模型的尺寸,CLIP 模型實際上是兩個具有不相交參數(shù)集的模型: ViT (將圖像轉(zhuǎn)換為向量)和 Transformer (將文本轉(zhuǎn)換為向量)模型。 研究人員決定對 ViT 模型(精度為 FP32的350MB)進行模型精餾,學(xué)生 ViT 模型的大小初步?jīng)Q定小于50MB。 創(chuàng)建的學(xué)生模型將寬度和層數(shù)減少了兩倍,由于不確定header的數(shù)量,所以定義了兩個版本,一個與teacher模型中的頭的數(shù)量相同,另一個頭的數(shù)量是模型的兩倍,這個實驗可以看到增加頭的數(shù)量將如何影響模型的性能。 訓(xùn)練數(shù)據(jù)來自不同來源的大約20萬張圖片。大約10個epoch之后,一旦看到一些可信的實驗結(jié)果,輸入圖片的大小就增加到了80萬以上。 損失函數(shù)使用 KLD + L1損失之和對模型進行訓(xùn)練,在前10個epoch,temperature被設(shè)定為4,然后減少到2。 最初的 CLIP 是用4億張圖片訓(xùn)練的。雖然收集如此大規(guī)模的圖像是不切實際的,但研究人員主要關(guān)注標準開源數(shù)據(jù)集中的圖像。為了避免對大量圖像的需求,也嘗試過使用 Zero Shot 蒸餾,但是沒有成功。 使用 COCO 測試數(shù)據(jù)集,通過查看每個搜索詞的前20個結(jié)果來查看蒸餾后 CLIP 模型的性能。還評估了平均精度(MAP)的基礎(chǔ)上top N 的結(jié)果,對于每個搜索詞,原始的CLIP 和蒸餾后的CLIP的 N的 范圍從10到20。 對于 每個N,可以發(fā)現(xiàn) MAP 大約為0.012。如此低的精度表明從原始和蒸餾 CLIP 得到的結(jié)果不會有很多共同的結(jié)果。 雖然這聽起來令人沮喪,但是從蒸餾后的 CLIP 模型得到的結(jié)果看起來蒸餾效果確實還是可以的。 它們都給出了語義上有意義的結(jié)果只是方面不同,快速瀏覽這兩個模型的前20個結(jié)果解釋了低 MAP的原因。 根據(jù)bird搜索詞,teacher和student模型的召回結(jié)果如下所示。雖然召回不同,但都是正確的。這兩個結(jié)果都是有意義的,盡管幾乎沒有任何共同的結(jié)果。 雖然蒸餾后的 ViT CLIP模型顯示了良好的結(jié)果,但是有一些情況下,它的性能比原來的模型有所下降。 1、對于未包含在訓(xùn)練數(shù)據(jù)集中的情況,它的性能很差: 但這是基于一些觀察的假設(shè),還沒有進行測試來驗證它。例如,對于像 flag 這樣的搜索詞,它的召回結(jié)果不盡如人意。另一個有趣的例子是搜索詞 flock。這個蒸餾后的模型學(xué)會了將數(shù)量的概念和 flock 聯(lián)系起來,但是方式錯了。student模型顯示的是大群的動物而不是鳥 2、顏色搜索的準確率下降,而且也不能做 OCR: 還應(yīng)該注意到,在進行顏色搜索時,提取的模型不能執(zhí)行概念的合成。例如,當搜索白貓時,提取的模型會返回圖像中某處有白色顏色的貓的圖像,而不是白貓的圖像。最初的模型似乎很好地組合了這些概念。另一個發(fā)現(xiàn)是模型無法從圖像中讀取文本,這是原始CLIP模型擅長的。研究人員認為這也是由于訓(xùn)練數(shù)據(jù)集不包含很多帶有文本的圖像導(dǎo)致的。 3、它似乎失去了多模態(tài)的特性: 搜索圣誕節(jié)或?qū)W校這樣的詞,原始CLIP模型返回多模態(tài)的結(jié)果,如圣誕樹,圣誕帽和圣誕蛋糕和書籍,學(xué)校標志和學(xué)校校車。但在蒸餾模型的結(jié)果中沒有看到這個屬性。 最后得到的學(xué)生模型大小為48MB。經(jīng)過幾個星期的單 P100 GPU 的訓(xùn)練,模型效果已經(jīng)可以應(yīng)用了。隨后作者將模型轉(zhuǎn)換成 CoreML 格式,將精度降低到 FP16(大小變?yōu)橹挥?4 MB) ,發(fā)現(xiàn)其性能與 FP32模型相比變化不大。 除此之外,在進行圖像檢索時,仍然使用 CLIP 中的原始語言模型。 蒸餾后的CLIP模型可以在iPhone上運行。 但目前代碼仍未公開,作者表示未來將在GitHub上開源代碼。參考資料:https://www.reddit.com/r/MachineLearning/comments/p1o2bd/research_we_distilled_clip_model_vit_only_from/?utm_source=amp&utm_medium=&utm_content=post_body 瀏覽 58點贊 評論 收藏 分享 手機掃一掃分享分享 舉報 評論圖片表情視頻評價全部評論推薦 iPhone上也能運行OpenAI了!新機器視覺0命運的模型(上)命運的模型(上)0命運的模型(上)在模型交換會會場裡,發(fā)現(xiàn)一具陳屍在密室裡的無頭女模特兒屍體。 跟她一起倒在同一間密室的研究命運的模型命運的模型0中世紀的模型中世紀的模型0會動的模型會動的模型0OpenAI教GPT-3學(xué)會上網(wǎng),「全知全能」的AI模型上線了視學(xué)算法0中世紀的模型《中世紀的模型:英格蘭經(jīng)濟發(fā)展的歷史與理論》是對中世紀英國經(jīng)濟史理論的介紹性著作,主要涉及馬克思主義小白也能看懂的Java內(nèi)存模型程序IT圈0會動的模型會動的模型0點贊 評論 收藏 分享 手機掃一掃分享分享 舉報