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

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

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

LLaMA2上下文長度暴漲至100萬tokens,只需調(diào)整1個超參數(shù)

深度學(xué)習(xí)自然語言處理 ? 來源:量子位 ? 2023-10-22 10:20 ? 次閱讀

只需微調(diào)一下,大模型支持上下文大小就能從1.6萬tokens延長至100萬?!

還是在只有70億參數(shù)的LLaMA 2上。

要知道,即使是當(dāng)前最火的Claude 2和GPT-4,支持上下文長度也不過10萬和3.2萬,超出這個范圍大模型就會開始胡言亂語、記不住東西。

現(xiàn)在,一項(xiàng)來自復(fù)旦大學(xué)和上海人工智能實(shí)驗(yàn)室的新研究,不僅找到了讓一系列大模型提升上下文窗口長度的方法,還發(fā)掘出了其中的規(guī)律。

9520a7a2-7004-11ee-939d-92fbcf53809c.png

按照這個規(guī)律,只需調(diào)整1個超參數(shù),就能確保輸出效果的同時,穩(wěn)定提升大模型外推性能。

外推性,指大模型輸入長度超過預(yù)訓(xùn)練文本長度時,輸出表現(xiàn)變化情況。如果外推能力不好,輸入長度一旦超過預(yù)訓(xùn)練文本長度,大模型就會“胡言亂語”。

所以,它究竟能提升哪些大模型的外推能力,又是如何做到的?

大模型外推能力提升“機(jī)關(guān)”

這種提升大模型外推能力的方法,和Transformer架構(gòu)中名叫位置編碼的模塊有關(guān)。

事實(shí)上,單純的注意力機(jī)制(Attention)模塊無法區(qū)分不同位置的token,例如“我吃蘋果”和“蘋果吃我”在它眼里沒有差異。

因此需要加入位置編碼,來讓它理解詞序信息,從而真正讀懂一句話的含義。

目前的Transformer位置編碼方法,有絕對位置編碼(將位置信息融入到輸入)、相對位置編碼(將位置信息寫入attention分?jǐn)?shù)計(jì)算)和旋轉(zhuǎn)位置編碼幾種。其中,最火熱的要屬旋轉(zhuǎn)位置編碼,也就是RoPE了。

RoPE通過絕對位置編碼的形式,實(shí)現(xiàn)了相對位置編碼的效果,但與相對位置編碼相比,又能更好地提升大模型的外推潛力。

如何進(jìn)一步激發(fā)采用RoPE位置編碼的大模型的外推能力,也成為了最近不少研究的新方向。

這些研究,又主要分為限制注意力和調(diào)整旋轉(zhuǎn)角兩大流派。

限制注意力的代表研究包括ALiBi、xPos、BCA等。最近MIT提出的StreamingLLM,可以讓大模型實(shí)現(xiàn)無限的輸入長度(但并不增加上下文窗口長度),就屬于這一方向的研究類型。

9534c1ec-7004-11ee-939d-92fbcf53809c.png

△圖源作者

調(diào)整旋轉(zhuǎn)角的工作則更多,典型代表如線性內(nèi)插、Giraffe、Code LLaMA、LLaMA2 Long等都屬于這一類型的研究。

95461e06-7004-11ee-939d-92fbcf53809c.png

△圖源作者

以Meta最近爆火的LLaMA2 Long研究為例,它就提出了一個名叫RoPE ABF的方法,通過修改一個超參數(shù),成功將大模型的上下文長度延長到3.2萬tokens。

這個超參數(shù),正是Code LLaMA和LLaMA2 Long等研究找出的“開關(guān)”——

旋轉(zhuǎn)角底數(shù)(base)。

只需要微調(diào)它,就可以確保提升大模型的外推表現(xiàn)。

但無論是Code LLaMA還是LLaMA2 Long,都只是在特定的base和續(xù)訓(xùn)長度上進(jìn)行微調(diào),使得其外推能力增強(qiáng)。

是否能找到一種規(guī)律,確保所有用了RoPE位置編碼的大模型,都能穩(wěn)定提升外推表現(xiàn)?

掌握這個規(guī)律,上下文輕松100w+

來自復(fù)旦大學(xué)和上海AI研究院的研究人員,針對這一問題進(jìn)行了實(shí)驗(yàn)。

他們先是分析了影響RoPE外推能力的幾種參數(shù),提出了一種名叫臨界維度(Critical Dimension)的概念,隨后基于這一概念,總結(jié)出了一套RoPE外推的縮放法則(Scaling Laws of RoPE-based Extrapolation)。

只需要應(yīng)用這個規(guī)律,就能確保任意基于RoPE位置編碼大模型都能改善外推能力。

先來看看臨界維度是什么。

從定義中來看,它和預(yù)訓(xùn)練文本長度Ttrain、自注意力頭維度數(shù)量d等參數(shù)都有關(guān)系,具體計(jì)算方法如下:

955f7a2c-7004-11ee-939d-92fbcf53809c.png

其中,10000即超參數(shù)、旋轉(zhuǎn)角底數(shù)base的“初始值”。

作者發(fā)現(xiàn),無論放大還是縮小base,最終都能讓基于RoPE的大模型的外推能力得到增強(qiáng),相比之下當(dāng)旋轉(zhuǎn)角底數(shù)為10000時,大模型外推能力是最差的。

957007b6-7004-11ee-939d-92fbcf53809c.png

958052b0-7004-11ee-939d-92fbcf53809c.png

對此論文認(rèn)為,旋轉(zhuǎn)角底數(shù)更小,能讓更多的維度感知到位置信息,旋轉(zhuǎn)角底數(shù)更大,則能表示出更長的位置信息。

958b4fda-7004-11ee-939d-92fbcf53809c.png

既然如此,在面對不同長度的續(xù)訓(xùn)語料時,究竟縮小和放大多少旋轉(zhuǎn)角底數(shù),才能確保大模型外推能力得到最大程度上的提升?

論文給出了一個擴(kuò)展RoPE外推的縮放法則,與臨界維度、大模型的續(xù)訓(xùn)文本長度和預(yù)訓(xùn)練文本長度等參數(shù)有關(guān):

9590165a-7004-11ee-939d-92fbcf53809c.png

基于這一規(guī)律,可以根據(jù)不同預(yù)訓(xùn)練和續(xù)訓(xùn)文本長度,來直接計(jì)算出大模型的外推表現(xiàn),換言之就是預(yù)測大模型的支持的上下文長度。

反之利用這一法則,也能快速推導(dǎo)出如何最好地調(diào)整旋轉(zhuǎn)角底數(shù),從而提升大模型外推表現(xiàn)。

作者針對這一系列任務(wù)進(jìn)行了測試,發(fā)現(xiàn)實(shí)驗(yàn)上目前輸入10萬、50萬甚至100萬tokens長度,都可以保證,無需額外注意力限制即可實(shí)現(xiàn)外推。

與此同時,包括Code LLaMA和LLaMA2 Long在內(nèi)的大模型外推能力增強(qiáng)工作都證明了這一規(guī)律是確實(shí)合理有效的。

這樣一來,只需要根據(jù)這個規(guī)律“調(diào)個參”,就能輕松擴(kuò)展基于RoPE的大模型上下文窗口長度、增強(qiáng)外推能力了。

論文一作柳瀟然表示,目前這項(xiàng)研究還在通過改進(jìn)續(xù)訓(xùn)語料,提升下游任務(wù)效果,等完成之后就會將代碼和模型開源,可以期待一下~

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

    關(guān)注

    11

    文章

    1834

    瀏覽量

    32224
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47279

    瀏覽量

    238511
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    2450

    瀏覽量

    2714

原文標(biāo)題:LLaMA2上下文長度暴漲至100萬tokens,只需調(diào)整1個超參數(shù)|復(fù)旦邱錫鵬團(tuán)隊(duì)出品

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

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于進(jìn)程上下文、中斷上下文及原子上下文的一些概念理解

    : 0x0fff0000凡是上面4宏返回1得到地方都是原子上下文,是不容許內(nèi)核訪問用戶空間,不容許內(nèi)核睡眠的,不容許調(diào)用任何可能引起睡眠的函數(shù)。而且代表thread_info->preempt_count不是0,這就告訴內(nèi)核,
    發(fā)表于 09-06 09:58

    進(jìn)程上下文與中斷上下文的理解

    )進(jìn)程下文:其是指切換到內(nèi)核態(tài)后執(zhí)行的程序,即進(jìn)程運(yùn)行在內(nèi)核空間的部分。2.中斷上下文:(1)中斷上文:硬件通過中斷觸發(fā)信號,導(dǎo)致內(nèi)核調(diào)用中斷處理程序,進(jìn)入內(nèi)核空間。這個過程中,硬件的
    發(fā)表于 12-11 19:45

    JavaScript的執(zhí)行上下文

    JavaScript執(zhí)行上下文之執(zhí)行上下文
    發(fā)表于 05-29 16:12

    進(jìn)程上下文/中斷上下文及原子上下文的概念

    為什么會有上下文這種概念進(jìn)程上下文/中斷上下文及原子上下文的概念
    發(fā)表于 01-13 07:17

    中斷中的上下文切換詳解

    ();  /* 發(fā)起一次在中斷中的上下文切換 */  cpu_irq_context_switch();  }  tos_knl_irq_enter接口(進(jìn)入ISR時調(diào)用)將一標(biāo)識中斷嵌套次數(shù)的變量
    發(fā)表于 03-23 17:18

    基于多Agent的用戶上下文自適應(yīng)站點(diǎn)構(gòu)架

    自適應(yīng)站點(diǎn)很少考慮對用戶環(huán)境的自適應(yīng)。為此,提出用戶上下文自適應(yīng)站點(diǎn)的概念,給出基于多Agent技術(shù)的用戶上下文自適應(yīng)站點(diǎn)構(gòu)架模型。闡述用戶上下文獲取、挖掘過程以及站
    發(fā)表于 04-11 08:49 ?13次下載

    基于交互上下文的預(yù)測方法

    傳統(tǒng)的上下文預(yù)測是在單用戶的上下文基礎(chǔ)上進(jìn)行的,忽視了實(shí)際普適計(jì)算環(huán)境中由于用戶交互活動導(dǎo)致的上下文變化因素。為了合理、有效地解決上述局限性問題,該文提出基
    發(fā)表于 10-04 14:08 ?7次下載

    終端業(yè)務(wù)上下文的定義方法及業(yè)務(wù)模型

    該文針對業(yè)務(wù)上下文僅關(guān)注業(yè)務(wù)質(zhì)量較少考慮用戶終端環(huán)境的現(xiàn)狀,提出終端業(yè)務(wù)上下文的概念,為普適業(yè)務(wù)的開展提供必要的信息支撐。給出一種終端業(yè)務(wù)上下文的通用定義方法
    發(fā)表于 03-06 11:06 ?11次下載

    基于Pocket PC的上下文菜單實(shí)現(xiàn)

    介紹了基于 Pocket PC 中的點(diǎn)按操作概念, 論述了在Pocket PC 中上下文菜單的實(shí)現(xiàn)原理及方法, 并給出了基于MFC 下的Windows CE 應(yīng)用程序?qū)崿F(xiàn)上下文菜單的步驟和代碼實(shí)例。
    發(fā)表于 07-25 18:26 ?17次下載

    基于Pocket PC的上下文菜單實(shí)現(xiàn)

    本文介紹了基于 Pocket PC 中的“點(diǎn)按”操作概念 論述了在 Pocket PC 中上下文菜單的實(shí)現(xiàn)原理及方法 并給出了基于 MFC 下的 Windows CE 應(yīng)用程序?qū)崿F(xiàn)上下文菜單的步驟和代碼實(shí)例 。
    發(fā)表于 04-18 10:46 ?0次下載

    基于上下文相似度的分解推薦算法

    模型,再對目標(biāo)用戶的K鄰居用戶建立移動用戶一上下文一移動服務(wù)三維張量分解模型,獲得目標(biāo)用戶的移動服務(wù)預(yù)測值,生成移動推薦。實(shí)驗(yàn)結(jié)果顯示,與余弦相似性方法、Pearson相關(guān)系數(shù)方法和Cosinel改進(jìn)相似度模型相比,所提UCS-TF算法表現(xiàn)
    發(fā)表于 11-27 17:42 ?0次下載

    Web服務(wù)的上下文的訪問控制策略模型

    的訪問控制策略模型。模型的核心思想是將各種與訪問控制有關(guān)的信息統(tǒng)一抽象表示為一上下文概念,以上下文為中心來制定和執(zhí)行訪問控制策略,上下文擔(dān)當(dāng)了類似基于角色的訪問控制( RBAC)中角
    發(fā)表于 01-05 16:32 ?0次下載

    初學(xué)OpenGL:什么是繪制上下文

    初學(xué)OpenGL,打開紅寶書,會告訴你OpenGL是狀態(tài)機(jī),OpenGL采用了客戶端-服務(wù)器模式,那時覺得好抽象,直到后來了解了繪制上下文才把這些聯(lián)系起來。我們可以認(rèn)為每一硬件GPU是
    發(fā)表于 04-28 11:47 ?2456次閱讀

    如何分析Linux CPU上下文切換問題

    在我的上一篇文章:《探討 Linux CPU 的上下文切換》中,我談到了 CPU 上下文切換的工作原理。快速回顧一下,CPU 上下文切換是保證 Linux 系統(tǒng)正常運(yùn)行的核心功能??煞譃檫M(jìn)程
    的頭像 發(fā)表于 05-05 20:11 ?1951次閱讀

    在線研討會 | 基于 LLM 構(gòu)建中文場景檢索式對話機(jī)器人:Llama2 + NeMo

    Llama2 的出現(xiàn)掀起了開源大模型的熱潮,相比于前身 Llama1,Llama2 的訓(xùn)練數(shù)據(jù)多了 40%,經(jīng)過了 2 萬億標(biāo)記的訓(xùn)練,
    的頭像 發(fā)表于 10-13 20:35 ?920次閱讀
    在線研討會 | 基于 LLM 構(gòu)建中文場景檢索式對話機(jī)器人:<b class='flag-5'>Llama2</b> + NeMo