0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RoPE可能是LLM時代的Resnet

深度學(xué)習(xí)自然語言處理 ? 來源:深度學(xué)習(xí)自然語言處理 ? 2023-07-14 16:58 ? 次閱讀

因為和蘇神做過一段時間同事,所以2021年就知道RoPE了,當(dāng)時也沒太在意,因為位置編碼是在為transformer類模型提供位置信息,在我實際實驗中不同位置編碼對最終效果差別很小。

2023年LLM大爆發(fā),facebook開源了LLAMA模型,并且采用了RoPE,我也第一時間用上了LLAMA,那會感覺RoPE有點東西,但是還是心理覺得位置編碼沒那么重要。

直到最近fb發(fā)了一篇文章《EXTENDING CONTEXT WINDOW OF LARGE LANGUAGE MODELS VIA POSITION INTERPOLATION》通過線性插值+少量微調(diào)的方式將LLAMA原始2k的模型輕松拓展到了32k,這時候我感覺到RoPE的強大之處。

進NLP群—>加入NLP交流群

通過線性插值RoPE擴張LLAMA context長度最早其實是在llamacpp項目中被人發(fā)現(xiàn),有人在推理的時候直接通過線性插值將LLAMA由2k拓展到4k,性能沒有下降,引起了很多人關(guān)注。fb的論文給這個發(fā)現(xiàn)提供了理論和實驗支撐,進一步發(fā)現(xiàn)通過線性插值+微調(diào)可以擴展到32k長度。實現(xiàn)非常簡單,只需要對位置編碼進行線性插值,初始化的時候增加幾行代碼就行

defRotaryEmbedding(torch.nn.Module):
def__init__(self,dim,max_position_embeddings=2048,base=10000,device=None):
super().__init__()
inv_freq=1.0/(base**(torch.arange(0,dim,2).float().to(device)/dim))
self.register_buffer("inv_freq",inv_freq)

max_position_embeddings=8192

#Buildheretomake`torch.jit.trace`work.
self.max_seq_len_cached=max_position_embeddings
t=torch.arange(
self.max_seq_len_cached,
device=self.inv_freq.device,
dtype=self.inv_freq.dtype,
)

self.scale=1/4
t*=self.scale

freqs=torch.einsum("i,j->ij",t,self.inv_freq)
#Differentfrompaper,butitusesadifferentpermutationinordertoobtainthesamecalculation
emb=torch.cat((freqs,freqs),dim=-1)
self.register_buffer(
"cos_cached",emb.cos()[None,None,:,:],persistent=False
)
self.register_buffer(
"sin_cached",emb.sin()[None,None,:,:],persistent=False
)

這兩天reddit上又出現(xiàn)了ntk RoPE通過引入新的插值的scale,來擴展context,甚至微調(diào)都不需要!讓人震撼。實現(xiàn)也是極其簡單

importtransformers

old_init=transformers.models.llama.modeling_llama.LlamaRotaryEmbedding.__init__
defntk_scaled_init(self,dim,max_position_embeddings=2048,base=10000,device=None):

#Themethodisjustthesethreelines
max_position_embeddings=16384
a=8#Alphavalue
base=base*a**(dim/(dim-2))#Basechangeformula

old_init(self,dim,max_position_embeddings,base,device)


transformers.models.llama.modeling_llama.LlamaRotaryEmbedding.__init__=ntk_scaled_init

具體解釋可以參考蘇神自己寫的文章[1]。

為什么說RoPE會成為LLM時代的Resnet,首先是兩者解決的問題有相似性。

Resnet解決了卷積模型變深之后梯度消失的問題,使的深度模型大放光彩。

RoPE類似的也解決了LLM context過長之后引起的上下文無法關(guān)聯(lián)問題。

兩者都有結(jié)構(gòu)簡單,方法有效的優(yōu)點,這個在工程上有極大的優(yōu)勢,個人預(yù)感RoPE將會被大規(guī)模采用。如同當(dāng)年Resnet一樣。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3114

    瀏覽量

    48660
  • resnet
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    3155
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    0

    文章

    264

    瀏覽量

    297

原文標(biāo)題:RoPE可能是LLM時代的Resnet

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    labview中while循環(huán)不執(zhí)行可能是什么原因

    請教一下,labvlew中while循環(huán)不執(zhí)行可能是什么原因?
    發(fā)表于 05-13 18:29

    請問這個可能是什么IC

    請問這個可能是什么IC
    發(fā)表于 02-15 10:23

    IPv6協(xié)議棧中AH可能是和諧的嗎

    在IPv6協(xié)議棧中,AH可能是和諧的嗎?如果你使用的是MZ芯片上的密碼?隨著最近基于物聯(lián)網(wǎng)的攻擊,安全性成為了一個大話題。
    發(fā)表于 04-26 09:28

    基于resnet10+ssd的虹膜檢測方式

    基于resnet10+ssd的虹膜檢測
    發(fā)表于 05-01 15:17

    這個三腳的元器件可能是什么東西

    這個三腳的東西可能是什么,在電路板上是個很小的元件,一開始猜是個穩(wěn)壓管,但是上側(cè)的二極管和電阻說不通
    發(fā)表于 05-15 20:33

    伺服電機異響可能是哪方面的原因?

    伺服電機異響可能是哪方面的原因?
    發(fā)表于 11-15 07:02

    5G難改手機市場格局 更大的可能是強者恒強

    4G時代國內(nèi)手機市場形成了華米歐維新四大,有人認(rèn)為5G時代的到來或?qū)⑷?G時代一樣導(dǎo)致國內(nèi)智能手機市場的變局,不過筆者認(rèn)為這種可能性不大,更大的可能
    的頭像 發(fā)表于 07-30 10:10 ?3037次閱讀

    移動空間可能是Microsoft面臨的最大問題之一

    移動空間可能是Microsoft面臨的最大問題之一。該公司的Windows Mobile平臺仍在由創(chuàng)新的觸摸屏平臺(如Apple的iOS和Google的Android操作系統(tǒng))主導(dǎo)的市場中苦苦掙扎。
    的頭像 發(fā)表于 04-16 14:51 ?2746次閱讀

    單片機程序死機,可能是這幾個原因

    單片機程序死機,可能是這幾個原因
    的頭像 發(fā)表于 06-19 17:18 ?8718次閱讀
    單片機程序死機,<b class='flag-5'>可能是</b>這幾個原因

    LLM在各種情感分析任務(wù)中的表現(xiàn)如何

    地址 :https://arxiv.org/pdf/2305.15005.pdf 代碼 :https://github.com/DAMO-NLP-SG/LLM-Sentiment 這篇工作調(diào)查了LLM時代情感分析的研究現(xiàn)狀,旨
    的頭像 發(fā)表于 05-29 17:24 ?2186次閱讀
    <b class='flag-5'>LLM</b>在各種情感分析任務(wù)中的表現(xiàn)如何

    基于ResNet的手勢識別邊緣計算項目

    電子發(fā)燒友網(wǎng)站提供《基于ResNet的手勢識別邊緣計算項目.zip》資料免費下載
    發(fā)表于 06-14 14:53 ?0次下載
    基于<b class='flag-5'>ResNet</b>的手勢識別邊緣計算項目

    PLC指示燈異常閃爍可能是哪些原因造成的?

    PLC指示燈異常閃爍可能是由多種原因造成的。以下是一些常見的可能原因
    的頭像 發(fā)表于 12-05 09:03 ?1.4w次閱讀

    英特爾攜手騰訊云用CPU打造LLM時代數(shù)據(jù)中樞,共筑AGI基建

    英特爾攜手騰訊云用CPU打造LLM時代數(shù)據(jù)中樞,共筑AGI基建
    的頭像 發(fā)表于 05-27 11:53 ?479次閱讀
    英特爾攜手騰訊云用CPU打造<b class='flag-5'>LLM</b><b class='flag-5'>時代</b>數(shù)據(jù)中樞,共筑AGI基建

    什么是LLM?LLM的工作原理和結(jié)構(gòu)

    隨著人工智能技術(shù)的飛速發(fā)展,大型語言模型(Large Language Model,簡稱LLM)逐漸成為自然語言處理(NLP)領(lǐng)域的研究熱點。LLM以其強大的文本生成、理解和推理能力,在文本
    的頭像 發(fā)表于 07-02 11:45 ?6225次閱讀

    LLM模型的應(yīng)用領(lǐng)域

    在本文中,我們將深入探討LLM(Large Language Model,大型語言模型)的應(yīng)用領(lǐng)域。LLM是一種基于深度學(xué)習(xí)的人工智能技術(shù),它能夠理解和生成自然語言文本。近年來,隨著計算能力的提高
    的頭像 發(fā)表于 07-09 09:52 ?478次閱讀