58行代碼把Llama 3擴(kuò)展到100萬上下文,任何微調(diào)版都適用

量子位
0 評(píng)論 877 瀏覽 2 收藏 6 分鐘
🔗 B端产品经理需要更多地关注客户的商业需求、痛点、预算、决策流程等,而C端产品经理需要更多地关注用户的个人需求

開源之王Llama 3原本只有8k的上下文窗口,在開源社區(qū)技術(shù)大佬的努力下,僅需58行代碼,自動(dòng)擴(kuò)展到1048k(一百萬)上下文。怎么實(shí)現(xiàn)的?請(qǐng)看作者的分享。

堂堂開源之王Llama 3,原版上下文窗口居然只有……8k,讓到嘴邊的一句“真香”又咽回去了。?

在32k起步,100k尋常的今天,這是故意要給開源社區(qū)留做貢獻(xiàn)的空間嗎?

開源社區(qū)當(dāng)然不會(huì)放過這個(gè)機(jī)會(huì):

現(xiàn)在只需58行代碼,任何Llama 3 70b的微調(diào)版本都能自動(dòng)擴(kuò)展到1048k(一百萬)上下文。

背后是一個(gè)LoRA,從擴(kuò)展好上下文的Llama 3 70B Instruct微調(diào)版本中提取出來,文件只有800mb。

接下來使用Mergekit,就可以與其他同架構(gòu)模型一起運(yùn)行或直接合并到模型中。

所使用的1048k上下文微調(diào)版本,剛剛在流行的大海撈針測(cè)試中達(dá)到全綠(100%準(zhǔn)確率)的成績(jī)。

不得不說,開源的進(jìn)步速度是指數(shù)級(jí)的。

1048k上下文LoRA怎么煉成的

首先1048k上下文版Llama 3微調(diào)模型來自Gradient AI,一個(gè)企業(yè)AI解決方案初創(chuàng)公司。

而對(duì)應(yīng)的LoRA來自開發(fā)者Eric Hartford,通過比較微調(diào)模型與原版的差異,提取出參數(shù)的變化。

他先制作了524k上下文版,隨后又更新了1048k版本。

首先,Gradient團(tuán)隊(duì)先在原版Llama 3 70B Instruct的基礎(chǔ)上繼續(xù)訓(xùn)練,得到Llama-3-70B-Instruct-Gradient-1048k。

具體方法如下:

  • 調(diào)整位置編碼:用NTK-aware插值初始化RoPE theta的最佳調(diào)度,進(jìn)行優(yōu)化,防止擴(kuò)展長(zhǎng)度后丟失高頻信息
  • 漸進(jìn)式訓(xùn)練:使用UC伯克利Pieter Abbeel團(tuán)隊(duì)提出的Blockwise RingAttention方法擴(kuò)展模型的上下文長(zhǎng)度

值得注意的是,團(tuán)隊(duì)通過自定義網(wǎng)絡(luò)拓?fù)湓赗ing Attention之上分層并行化,更好地利用大型GPU集群來應(yīng)對(duì)設(shè)備之間傳遞許多KV blocks帶來的網(wǎng)絡(luò)瓶頸。

最終使模型的訓(xùn)練速度提高了33倍。

長(zhǎng)文本檢索性能評(píng)估中,只在最難的版本中,當(dāng)“針”藏在文本中間部分時(shí)容易出錯(cuò)。

有了擴(kuò)展好上下文的微調(diào)模型之后,使用開源工具M(jìn)ergekit比較微調(diào)模型和基礎(chǔ)模型,提取參數(shù)的差異成為L(zhǎng)oRA。

同樣使用Mergekit,就可以把提取好的LoRA合并到其他同架構(gòu)模型中了。

合并代碼也由Eric Hartford開源在GitHub上,只有58行。

目前尚不清楚這種LoRA合并是否適用于在中文上微調(diào)的Llama 3。

不過可以看到,中文開發(fā)者社區(qū)已經(jīng)關(guān)注到了這一進(jìn)展。

524k版本LoRA:

https://huggingface.co/cognitivecomputations/Llama-3-70B-Gradient-524k-adapter

1048k版本LoRA:

https://huggingface.co/cognitivecomputations/Llama-3-70B-Gradient-1048k-adapter

合并代碼:

https://gist.github.com/ehartford/731e3f7079db234fa1b79a01e09859ac

參考鏈接:

[1]https://twitter.com/erhartford/status/1786887884211138784

本文由人人都是產(chǎn)品經(jīng)理作者【量子位】,微信公眾號(hào):【量子位】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!
专题
13563人已学习11篇文章
本专题的文章以To G领域为例,从产品经理的角度,分享TO G产品设计指南。
专题
12728人已学习12篇文章
活动策划,既是脑力活,也是苦力活,因此你需要尽量把各种情况考虑到。本专题的文章分享了如何策划一场线下活动。
专题
15147人已学习12篇文章
用户故事在软件开发过程中被作为描述需求的一种表达形式,本专题的文章分享了如何讲好用户故事。
专题
124855人已学习33篇文章
小程序时代,产品经理和运营人员该如何拥抱这种变化?
专题
13404人已学习13篇文章
增长模型是产品增长的通用思维框架。本专题的文章分享了如何构建增长模型。
专题
17317人已学习14篇文章
本专题的文章分享了如何设计B端SaaS产品及B端SaaS产品方法论。