自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Llama-3的競(jìng)爭(zhēng)對(duì)手來(lái)了——可運(yùn)行在iPhone上的小體量高性能LLM模型Phi-3 原創(chuàng)

發(fā)布于 2024-5-15 08:37
瀏覽
0收藏

這篇文章將深入探討Phi-3論文中的新發(fā)現(xiàn),以及Phi-3等模型發(fā)布的重要意義。

簡(jiǎn)介

熟悉我的文章的讀者可能還記得我以前報(bào)道《課本就是你所需要的一切》(https://medium.com/@mgunton7/the-impact-of-better-data-on-llms-46153ba26795)時(shí)的情景,這是微軟的一篇論文,展示了高質(zhì)量的數(shù)據(jù)如何對(duì)模型性能產(chǎn)生巨大影響。文章中的新發(fā)現(xiàn)直接駁斥了模型必須巨大才能發(fā)揮作用的觀點(diǎn)。值得慶幸的是,這篇論文的研究人員一直在繼續(xù)他們的工作,最近又發(fā)表了一些讓我覺得非常令人興奮的東西。

他們發(fā)表的最新論文《Phi-3技術(shù)報(bào)告:手機(jī)本地運(yùn)行的高性能語(yǔ)言模型》(https://arxiv.org/pdf/2404.14219)也許正解釋了相關(guān)的最大發(fā)現(xiàn)。

接下來(lái),讓我們深入了解作者從Phi-2模型中改變了什么,他們是如何進(jìn)行模型訓(xùn)練的,以及該模型在iPhone上是如何工作的。

關(guān)鍵術(shù)語(yǔ)

在深入了解上述模型的體系結(jié)構(gòu)之前,首先需要了解幾個(gè)關(guān)鍵概念。如果您已經(jīng)知道這些內(nèi)容,請(qǐng)隨時(shí)跳到下一節(jié)。

第一個(gè)關(guān)鍵概念是模型的參數(shù)(parameters),它是指模型在訓(xùn)練過(guò)程中學(xué)習(xí)的權(quán)重和偏差的數(shù)量。如果你有10億個(gè)參數(shù),那么你就有10億的權(quán)重和偏差來(lái)決定模型的性能。參數(shù)越多,神經(jīng)網(wǎng)絡(luò)就越復(fù)雜。第二個(gè)關(guān)鍵概念是頭(head),它是指轉(zhuǎn)換器中的自注意機(jī)制所具有的鍵、值和查詢向量的數(shù)量。第三個(gè)關(guān)鍵概念是層(layers),它是指轉(zhuǎn)換器的神經(jīng)網(wǎng)絡(luò)中存在的神經(jīng)段的數(shù)量;其中,隱藏維度是典型隱藏層中的神經(jīng)元數(shù)量。

此外,分詞器(Tokenizer)是一個(gè)軟件組件,它能夠把你的輸入文本轉(zhuǎn)換成一個(gè)嵌入,然后由轉(zhuǎn)換器使用它。詞匯大小(vocabulary size)是指在其上進(jìn)行訓(xùn)練的模型的唯一符號(hào)的數(shù)量。轉(zhuǎn)換器的塊結(jié)構(gòu)(block structure)是指為特定模型選擇的層、頭、激活函數(shù)、分詞器和層規(guī)范化的組合。

Llama-3的競(jìng)爭(zhēng)對(duì)手來(lái)了——可運(yùn)行在iPhone上的小體量高性能LLM模型Phi-3-AI.x社區(qū)

圖片來(lái)自于論文“GOA:從多頭檢查點(diǎn)訓(xùn)練廣義的多查詢轉(zhuǎn)換器模型”(https://arxiv.org/pdf/2305.13245)

最后,還有一個(gè)重要術(shù)語(yǔ)是分組查詢注意力(GQA:Grouped-Query Attention),它是我們優(yōu)化多頭注意力以減少訓(xùn)練和推理過(guò)程中的計(jì)算開銷的一種方法。正如您從下圖中看到的,GQA采用了中間方法——我們采用了1:1:M的方法,而不是將1個(gè)值和1個(gè)鍵與1個(gè)查詢配對(duì),其中許多比整個(gè)查詢都小。這樣做仍然可以從多查詢注意力(MQA)中獲得訓(xùn)練成本效益,同時(shí)最大限度地減少我們隨后看到的性能下降。

Phi 3體系架構(gòu)

讓我們從這個(gè)模型背后的體系架構(gòu)開始講起。研究人員發(fā)布了3種不同的僅包含解碼器的模型,分別是phi-3-mini、phi-3-small和phi-3-medium,每種模型都使用了不同的超參數(shù)。

phi-3-mini

  • 38億個(gè)參數(shù)
  • 32個(gè)頭
  • 32個(gè)層
  • 3072個(gè)隱藏尺寸
  • 4k大小的符號(hào)默認(rèn)上下文長(zhǎng)度
  • 詞匯量大小為32064
  • 權(quán)重以bfloat16類型存儲(chǔ)
  • 使用3.3萬(wàn)億個(gè)符號(hào)進(jìn)行訓(xùn)練

phi-3-small

  • 70億個(gè)參數(shù)
  • 32個(gè)頭
  • 32個(gè)層
  • 4096個(gè)隱藏維度
  • 8k大小的符號(hào)默認(rèn)上下文長(zhǎng)度
  • 詞匯量大小為100352
  • 權(quán)重以bfloat16類型存儲(chǔ)
  • 使用4.8萬(wàn)億個(gè)符號(hào)進(jìn)行訓(xùn)練

phi-3-medium

  • 140億個(gè)參數(shù)
  • 40個(gè)頭
  • 40個(gè)層
  • 3072個(gè)隱藏尺寸
  • 使用4.8萬(wàn)億個(gè)符號(hào)進(jìn)行訓(xùn)練

現(xiàn)在,我們來(lái)比較一下它們一些差異。首先,phi-3-mini模型是使用典型的多頭注意力訓(xùn)練的。雖然論文中沒(méi)有提到,但讓我懷疑的是,由于該模型的大小大約是其他兩個(gè)模型的一半,因此與多頭相關(guān)的訓(xùn)練成本并不令人反感。當(dāng)然,當(dāng)它們擴(kuò)展到phi-3-small時(shí),使用的是分組查詢注意力,其中4個(gè)查詢連接到1個(gè)鍵。

此外,他們使phi-3-mini的嵌段結(jié)構(gòu)盡可能接近LLaMa-2結(jié)構(gòu)。這里的目標(biāo)是允許開源社區(qū)繼續(xù)他們對(duì)LLaMa-2和Phi-3的研究。這對(duì)于進(jìn)一步理解塊結(jié)構(gòu)的力量是有意義的。

然而,phi-3-small沒(méi)有使用LLaMa的塊結(jié)構(gòu),而是選擇使用Tiktoken分詞器,使用交替的密集注意力層和新的塊稀疏注意力層。此外,他們?cè)谶@些模型的訓(xùn)練數(shù)據(jù)集中添加了10%的多語(yǔ)言數(shù)據(jù)。

訓(xùn)練和數(shù)據(jù)優(yōu)化組合

與Phi-2類似,研究人員主要投資于高質(zhì)量的數(shù)據(jù)。他們?cè)谏蓴?shù)據(jù)來(lái)訓(xùn)練模型時(shí)使用了類似的“教育價(jià)值”范式,選擇使用比上次多得多的數(shù)據(jù)。他們分兩個(gè)階段創(chuàng)建數(shù)據(jù)。

第一階段涉及尋找他們發(fā)現(xiàn)對(duì)用戶具有高“教育價(jià)值”的網(wǎng)絡(luò)數(shù)據(jù)。這里的目標(biāo)是為模型提供一般知識(shí)。然后,第二階段獲取第一階段數(shù)據(jù)的子集,并生成數(shù)據(jù),教導(dǎo)模型如何進(jìn)行邏輯推理或獲得特定技能。

這里面的挑戰(zhàn)是,如何確保來(lái)自每個(gè)語(yǔ)料庫(kù)的數(shù)據(jù)組合適合正在訓(xùn)練的模型的規(guī)模(即phi-3-small與phi-3-mini)。這就是“數(shù)據(jù)優(yōu)化”機(jī)制背后的理念,在該機(jī)制中,您提供給LLM進(jìn)行訓(xùn)練的數(shù)據(jù)為其塊結(jié)構(gòu)提供了最佳能力。換言之,如果你認(rèn)為數(shù)據(jù)是訓(xùn)練一個(gè)好的LLM的關(guān)鍵區(qū)別,那么通過(guò)數(shù)據(jù)找到正確的技能組合來(lái)展示模型與找到好的數(shù)據(jù)同樣重要。研究人員強(qiáng)調(diào),他們希望該模型具有比知識(shí)更強(qiáng)的推理能力,從而從第二階段語(yǔ)料庫(kù)中選擇的數(shù)據(jù)比從第一階段語(yǔ)料庫(kù)中更多。

Llama-3的競(jìng)爭(zhēng)對(duì)手來(lái)了——可運(yùn)行在iPhone上的小體量高性能LLM模型Phi-3-AI.x社區(qū)

論文(https://arxiv.org/pdf/2404.14219)中的圖2強(qiáng)調(diào)了數(shù)據(jù)優(yōu)化的潛在關(guān)系

有趣的是,當(dāng)他們用與訓(xùn)練phi-3-small大致相同的數(shù)據(jù)混合物訓(xùn)練phi-3-medium時(shí),他們注意到從7B參數(shù)到14B的改進(jìn)遠(yuǎn)比從3.8B到7B的改進(jìn)有限。作者懷疑這不是塊結(jié)構(gòu)的限制,而是他們用來(lái)訓(xùn)練phi-3-medium的數(shù)據(jù)混合。

后期訓(xùn)練

該團(tuán)隊(duì)使用監(jiān)督微調(diào)(Supervised Fine Tuning:SFT)和直接偏好優(yōu)化(DPO:Direct Preference Optimization)技術(shù)來(lái)改進(jìn)訓(xùn)練后的模型。有興趣深入了解DPO的讀者可以從鏈接https://medium.com/towards-data-science/understanding-the-implications-of-direct-preference-optimization-a4bbd2d85841處查看我的博客文章。監(jiān)督微調(diào)是一種遷移學(xué)習(xí)方法,我們使用自定義數(shù)據(jù)集來(lái)提高LLM在該數(shù)據(jù)集上的能力。作者使用SFT來(lái)提高模型在數(shù)學(xué)、編碼、推理和安全等不同領(lǐng)域的能力。然后,他們使用DPO進(jìn)行聊天優(yōu)化,引導(dǎo)其遠(yuǎn)離他們想要避免的回應(yīng),轉(zhuǎn)向理想的回應(yīng)。

正是在這個(gè)階段,作者將phi-3-mini的上下文窗口從4k個(gè)符號(hào)大小擴(kuò)展到128k個(gè)符號(hào)。他們把用來(lái)做這件事的方法命名為“長(zhǎng)繩索(Long Rope)”。作者聲稱,這兩種上下文類型之間的性能是一致的,考慮到上下文長(zhǎng)度的巨大增加,這是一件大事。如果有足夠的興趣,我將再單獨(dú)發(fā)表一篇關(guān)于該論文中相關(guān)研究成果的博客。

手機(jī)使用場(chǎng)景下的量化

盡管上述這些模型很小,但要讓這些模型在手機(jī)上跑起來(lái),仍然需要進(jìn)一步最小化。通常,LLM的權(quán)重被存儲(chǔ)為浮點(diǎn)形式;例如,Phi-3的原始權(quán)重是bfloat16,這意味著每個(gè)權(quán)重占用內(nèi)存中的16位。雖然16位可能看起來(lái)微不足道,但當(dāng)你考慮到10?數(shù)量級(jí)大小的模型中的參數(shù)時(shí),您就會(huì)意識(shí)到每個(gè)額外的位加起來(lái)的速度是怎樣的。

為了解決這個(gè)問(wèn)題,作者將權(quán)重從16位壓縮到4位。其基本思想是減少存儲(chǔ)每個(gè)數(shù)字所需的位數(shù)。作為一個(gè)概念性的例子,數(shù)字2.71828可以濃縮為2.72。雖然這是一種有損操作,但它仍然可以捕獲大部分信息,同時(shí)占用的存儲(chǔ)空間要少得多。

Llama-3的競(jìng)爭(zhēng)對(duì)手來(lái)了——可運(yùn)行在iPhone上的小體量高性能LLM模型Phi-3-AI.x社區(qū)

論文(https://arxiv.org/pdf/2404.14219)中的圖1內(nèi)容

作者在安裝A16芯片的iPhone上運(yùn)行了上述量化內(nèi)容,發(fā)現(xiàn)它每秒可以產(chǎn)生多達(dá)12個(gè)符號(hào)。相比之下,運(yùn)行LLaMa-2量化4位的M1 MacBook的運(yùn)行速度約為每秒107個(gè)符號(hào)。我見過(guò)的最快的符號(hào)生成(Groq)以每秒853.35個(gè)符號(hào)的速度生成符號(hào)。鑒于這僅僅是一個(gè)開始,我們能夠以如此之快的速度看到這款模型在iPhone上生成的符號(hào),這一點(diǎn)值得注意。另外,推斷速度方面似乎只會(huì)更快一些。

將Phi-3與搜索引擎配對(duì)

小型模型的一個(gè)局限性是它在網(wǎng)絡(luò)中存儲(chǔ)信息的位置較少。因此,我們發(fā)現(xiàn)Phi-3在需要廣泛知識(shí)的任務(wù)方面不如LLaMa-2等模型執(zhí)行得好。

論文作者建議,通過(guò)將Phi-3與搜索引擎配對(duì),該模型的能力將顯著提高。如果是這樣的話,我認(rèn)為檢索增強(qiáng)生成(RAG)很可能會(huì)繼續(xù)存在,成為幫助小型模型和大型模型一樣具有性能的關(guān)鍵部分。

Llama-3的競(jìng)爭(zhēng)對(duì)手來(lái)了——可運(yùn)行在iPhone上的小體量高性能LLM模型Phi-3-AI.x社區(qū)

論文(https://arxiv.org/pdf/2404.14219)中的圖4強(qiáng)調(diào)如何搜索能夠提高Phi-3性能

結(jié)論

如今,我們看到了機(jī)器學(xué)習(xí)領(lǐng)域已經(jīng)出現(xiàn)了高性能的小型模型。雖然訓(xùn)練這些模型在很大程度上仍然依賴于高性能硬件,但對(duì)它們的推理正日益普及開來(lái)。這將引發(fā)一些有趣現(xiàn)象的出現(xiàn)。

首先,可以在本地運(yùn)行的模型幾乎是完全私有的,允許用戶提供這些LLM數(shù)據(jù);否則,他們可能會(huì)覺得在互聯(lián)網(wǎng)上發(fā)送不舒服。這為更多的應(yīng)用場(chǎng)景打開了大門。

其次,這些模型將推動(dòng)移動(dòng)硬件的性能提升。因此,我希望在高端智能手機(jī)上看到更多的片上系統(tǒng)(SoC),尤其是CPU和GPU之間具有共享內(nèi)存的SoC,以最大限度地提高推理速度。此外,與該硬件具有高質(zhì)量接口也是至關(guān)重要。在消費(fèi)硬件領(lǐng)域,任何新的硬件上市都可能需要像Apple Silicon的MLX這樣的庫(kù)。

第三,正如論文所展示的,在LLM領(lǐng)域,高質(zhì)量數(shù)據(jù)在許多方面都可以勝過(guò)更多的網(wǎng)絡(luò)復(fù)雜性;因此,人們一方面要尋找高質(zhì)量數(shù)據(jù),同時(shí)生成高質(zhì)量數(shù)據(jù)的競(jìng)爭(zhēng)也會(huì)不斷加劇。

總之,當(dāng)前我們正處于一個(gè)激動(dòng)人心的發(fā)展時(shí)期。

參考文獻(xiàn)

【1】Abdin, M.,等人?!癙hi-3 Technical Report: A Highly Capable Language Model Locally on Your Phone” (2024)。arXiv。

【2】Ding,Y.等人。“LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens” (2024),arXiv。

【3】Gerganov, G.,等人?!癙erformance of llama.cpp on Apple Silicon M-series” (2023),GitHub。

【4】Ainslie, J.,等人?!癎QA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints” (2023),arXiv。

譯者介紹

朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計(jì)算機(jī)教師,自由編程界老兵一枚。

原文標(biāo)題:Phi-3 and the Beginning of Highly Performant iPhone LLMs,作者:Matthew Gunton

鏈接:

https://towardsdatascience.com/phi-3-and-the-beginning-of-highly-performant-iphone-models-d413d8ea0714。

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
已于2024-5-15 08:42:47修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦