GPT-4內(nèi)幕大泄露1.8萬億巨量參數(shù)13萬億token訓(xùn)練斥資6300萬美元
。
就在剛剛,OpenAI的GPT-4又被業(yè)內(nèi)人士「開源」了!
其中包括GPT-4的架構(gòu)、訓(xùn)練和推理的基礎(chǔ)設(shè)施、參數(shù)量、訓(xùn)練數(shù)據(jù)集、token數(shù)、成本、混合專家模型(Mixture of Experts,MoE)等非常具體的參數(shù)和信息。
尤其是,在不同工程背后,OpenAI究竟是怎樣權(quán)衡的。以及在巨型模型推理時(shí),如何跨越其中最大的瓶頸。
如此重磅的爆料,出自何許人也?
文章作者,是SemiAnalysis的兩位名叫Dylan Patel和Gerald Wong的撰稿人。
值得一提的是,此前曾在業(yè)內(nèi)引起軒然大波的谷歌內(nèi)部文件泄漏事件(「我們沒有護(hù)城河,OpenAI也沒有」),作者之一同樣是Dylan Patel。
而DeepMind CEO Hassabis近日在外媒The Verge的采訪中,確認(rèn)了這份谷歌工程師泄漏文件的真實(shí)性。
可見,Dylan Patel的確有一些特殊渠道,這就讓今日這份爆料的真實(shí)性又提高了幾分。
出門問問CEO李志飛對(duì)此也發(fā)表了感言
很多企業(yè)都能做出GPT-4
在爆料文章作者看來,OpenAI之所以不open,不是為了確保人類不被AI毀滅,而是因?yàn)樗麄儤?gòu)建的東西是可復(fù)制的。
他甚至預(yù)計(jì),未來所有中國和美國的互聯(lián)網(wǎng)大廠或者AI頭部初創(chuàng)企業(yè),都會(huì)有能力構(gòu)建出和GPT-4一樣,甚至是超過GPT-4的模型。
但他同時(shí)也承認(rèn),GPT-4是OpenAI的偉大杰作。它凝結(jié)了工程師的匠心設(shè)計(jì),復(fù)雜的構(gòu)架和各種巧妙的工程上的取舍。
而OpenAI最持久的護(hù)城河,是他們擁有真實(shí)用戶的使用反饋,業(yè)內(nèi)最頂尖的工程人才,以及先發(fā)優(yōu)勢帶來的持續(xù)領(lǐng)先地位。
模型框架
首先爆料作者認(rèn)為,GPT-4在120層中總共包含了1.8萬億參數(shù),而GPT-3只有約1750億個(gè)參數(shù)。
也就是說,GPT-4的規(guī)模是GPT-3的10倍以上。
為了保持合理的成本,OpenAI采用了MoE模型來進(jìn)行構(gòu)建。
具體而言,GPT-4擁有16個(gè)專家模型,每個(gè)MLP專家大約有1110億個(gè)參數(shù)。其中,有兩個(gè)專家模型被用于前向傳播。
雖然文獻(xiàn)中大量討論了選擇每個(gè)token指向哪些專家的高級(jí)算法,但是據(jù)說,OpenAI用于GPT-4的算法,其實(shí)非常簡單。
此外,模型中還有大約550億個(gè)參數(shù),被用做注意力機(jī)制的共享。
在每次的前向傳播推理(生成一個(gè)token)中,GPT-4只需要使用大約2800億參數(shù)和560TFLOPs。
這與很多純密集模型每次前向傳播需要大約1.8萬億參數(shù)和3700TFLOPs形成了鮮明的對(duì)比。
數(shù)據(jù)集的構(gòu)成
OpenAI用13萬億的token訓(xùn)出了GPT-4。
這個(gè)數(shù)據(jù)集不單單是包含了13萬億的token,而且因?yàn)闆]有高質(zhì)量的token,這個(gè)數(shù)據(jù)集還包含了許多個(gè)epoch。
在Scale AI和數(shù)據(jù)集內(nèi)部,還包含了數(shù)百萬行的指令微調(diào)數(shù)據(jù)。
不過爆料作者說,在這些RLHF數(shù)據(jù)上,他們并沒有找到太多信息。
在預(yù)訓(xùn)練階段的上下文長度達(dá)到了8K(seqlen),而32k的版本是基于預(yù)訓(xùn)練后的8K版本微調(diào)而來的。
批大小在集群中是幾天之內(nèi)逐漸增加的,最終OpenAI使用的批大小為6000萬。
當(dāng)然,這「只是」每個(gè)750萬token的專家模型的大小,因?yàn)椴皇敲總€(gè)專家模型都會(huì)看到全部的token。
并行策略
并行策略對(duì)于A100GPU是相當(dāng)重要的。
OpenAI采用了8路張量并行,因?yàn)镹VLink最高只支持這么多。
但除此之外,爆料作者聽說OpenAI采用15路并行管線。
理論上,考慮到數(shù)據(jù)通信和計(jì)算時(shí)間,15個(gè)管線就有些多了。
但是因?yàn)槭艿絻?nèi)存容量的限制,這么多的管線就是有意義的了。
當(dāng)純管線和張量并行時(shí),每個(gè)GPU的FP16參數(shù)大約是30GB。
但是一旦加上了KV緩存和成本,如果OpenAI使用的GPU大部分是40GB的A100,那這樣的構(gòu)架在理論上就是有意義的。
可能OpenAI使用的是ZeRo Stage 1,并且可能使用的是塊級(jí)FSDP或者是混合共享數(shù)據(jù)并行。
為什么他們沒有使用FSDP的全模型呢?可能是因?yàn)檫^高的通信成本。
雖然OpenAI大多數(shù)節(jié)點(diǎn)之間都有高速網(wǎng)絡(luò),但是沒有覆蓋所有的節(jié)點(diǎn)。
其中,至少有一些集群的連接帶寬會(huì)比其他的集群低很多。
但是作者表示,他并不是太明白OpenAI在如此高的管線并行度下,如何避免在每批中產(chǎn)生如下圖這樣的「泡泡」(huge bubbles),很有可能OpenAI就是生生地抗下了這些成本。
訓(xùn)練成本
OpenAI訓(xùn)練GPT-4的FLOPS約為2.15e25,在大約25000個(gè)A100上訓(xùn)練了90到100天,利用率在32%到36%之間。
這種極低的利用率,部分原因是故障數(shù)量過多,這就會(huì)導(dǎo)致需要重新從之前的檢查點(diǎn)開始訓(xùn)練。比如上面提到的氣泡成本。
這種情況浪費(fèi)的訓(xùn)練成本極高。
另一個(gè)原因是這么多GPU之間的all-reduce非常昂貴。
此圖表假設(shè),無法融合每個(gè)操作、注意力機(jī)制所需的內(nèi)存帶寬、硬件開銷相當(dāng)于參數(shù)讀取,都會(huì)導(dǎo)致效率低下。實(shí)際上,即使使用優(yōu)化的庫,比如英偉達(dá)的FasterTransformrmer庫,總開銷甚至還會(huì)更大
爆料作者懷疑,如果這種集群實(shí)際上是一群具有較弱網(wǎng)絡(luò)連接的較小集群構(gòu)成的,那么集群不同部分之間的非阻斷(non-block)連接速度為800G/1.6T,但這些部分之間的連接速度僅為200G/400G。
如果OpenAI云計(jì)算的成本是差不多1美元/每A100小時(shí)的話,那么在這樣的條件下,訓(xùn)練成本大約是6300萬美元。
這還不包括所有的實(shí)驗(yàn)、失敗的訓(xùn)練和其他成本,比如數(shù)據(jù)收集、RLHF、人力成本等。
如果考慮到剛剛說的這些因素,真實(shí)成本要高得多的多。
此外,這還得是在能別人買得到芯片/網(wǎng)絡(luò)/數(shù)據(jù)中心,承擔(dān)資本支出組建了這些系統(tǒng),并將它們租給OpenAI的前提下。
但是放到今天,在2美元/每H100小時(shí)的條件下,預(yù)訓(xùn)練可以在大約8,192個(gè)H100上進(jìn)行,只需要55天,費(fèi)用為2150萬美元。
上圖顯示了一些已公開的先進(jìn)模型各自的參數(shù)數(shù)量和token。圖中的線是谷歌DeepMind的Chinchilla縮放觀測值(平滑了較大的誤差條),線上的每一點(diǎn)都顯示了使用該參數(shù)和token數(shù)訓(xùn)練模型所需的理論FLOPS
不過,爆料作者稱到今年年底,至少將會(huì)有9個(gè)公司擁有超過上述大小的H100集群。
雖然并非所有這些公司都會(huì)將它們?nèi)坑糜趩蝹€(gè)模型訓(xùn)練,但如果有公司這樣做的話,他們將擁有比GPT-4更大的模型。
比如Meta到今年年底將擁有超過100,000個(gè)H100,但其中相當(dāng)一部分將分布在自己的數(shù)據(jù)中心進(jìn)行推理。
但是它最大的單個(gè)集群仍將超過25,000個(gè)H100。
總之,到今年年底,許多公司都會(huì)擁有足夠的算力資源,來訓(xùn)練GPT-4大小的模型。
本表是在英偉達(dá)A100上訓(xùn)練模型的理論最佳成本,沒有考慮所需的人力、ML Ops工具、數(shù)據(jù)收集/預(yù)處理、故障恢復(fù)、one-shot/few-shot學(xué)習(xí)示例、推理等,許多部分的成本高得驚人
混合專家模型方面的權(quán)衡
MoE(混合專家模型)是一種在推理過程中減少參數(shù)量的很好方法,雖然同時(shí)會(huì)增加參數(shù)量。
但是這對(duì)于每個(gè)訓(xùn)練標(biāo)記來編碼更多信息是必要的,因?yàn)楂@取足夠高質(zhì)量的標(biāo)記非常困難。
如果OpenAI真的想追求最佳性能,他們需要訓(xùn)練兩倍的token才能達(dá)到。
話雖如此,OpenAI還是做出了不少的取舍。
例如,在推理過程中處理MoE非常困難,因?yàn)槟P偷拿總€(gè)部分并不在每個(gè)token生成時(shí)都被使用。
這意味著有些部分可能處于休眠狀態(tài),而其他部分在工作。
當(dāng)為用戶提供服務(wù)時(shí),這種情況會(huì)大大降低利用率。
研究人員已經(jīng)證明,使用64-128個(gè)專家模型比使用16個(gè)專家模型能夠獲得更好的損失情況,但這僅僅是研究結(jié)果。
采用相對(duì)比較少的專家模型的原因很多,OpenAI選擇16個(gè)專家的原因之一是因?yàn)樵谠S多任務(wù)上更多的專家模型很難泛化。
使用更多的專家模型也更難實(shí)現(xiàn)收斂。
在如此龐大的訓(xùn)練過程中,OpenAI選擇在專家模型數(shù)量上反而更為保守。
此外,使用較少的專家模型還有助于他們的推理基礎(chǔ)架構(gòu)。在切換到混合專家模型推理架構(gòu)時(shí),存在各種困難的取舍和權(quán)衡。
爆料作者從對(duì)LLM推理的基本取舍開始討論,然后再討論OpenAI面臨的問題和他們所做的選擇。
推理權(quán)衡
在介紹推理權(quán)衡之前,順帶提一下,爆料者與所有的LLM公司交談過后,發(fā)現(xiàn)英偉達(dá)的FasterTransformer推理庫非常糟糕,TensorRT更是如此。
這意味著,如果英偉達(dá)不修改,人們還需要從頭開始創(chuàng)建自己的解決方案。
推理大型語言模型有三個(gè)主要的權(quán)衡,即批大小(同時(shí)處理用戶數(shù))維度和使用的芯片數(shù)量,具體如下:
1. 延遲
模型必須在合理的延遲時(shí)間內(nèi)做出響應(yīng)。誰也不想在聊天APP中等待幾秒鐘才開始收到輸出。預(yù)填(輸入token)和解碼(輸出token)的處理時(shí)間各不相同。
2. 吞吐量
模型必須以每秒輸出一定數(shù)量的token。人類大約需要每秒30個(gè)token。對(duì)于其他各種用例,較低和較高的吞吐量都可以接受。
3. 利用率
運(yùn)行模型的硬件必須實(shí)現(xiàn)高利用率,否則成本過高。雖然更高的延遲和較低的吞吐量,可以用來將更多用戶請(qǐng)求組合在一起,從而實(shí)現(xiàn)更高的利用率,但也會(huì)增加難度。
LLM推理的關(guān)鍵是平衡內(nèi)存帶寬和計(jì)算這兩個(gè)要點(diǎn)。
簡單來講,每個(gè)參數(shù)都必須被讀取,并且與之相關(guān)的有2個(gè)FLOP。
因此,大多數(shù)芯片的比率(H100 SXM僅有3TB/s內(nèi)存帶寬,但FP8有2,000 TFLOP/s)在批大小為1的推理中完全是不平衡的。
如果只有一個(gè)用戶(批大小為1),那么在每次生成token時(shí),為了讀取每個(gè)參數(shù)所需的內(nèi)存帶寬,會(huì)主要占據(jù)推理時(shí)間,而計(jì)算時(shí)間幾乎可以忽略不計(jì)。
為了將大型語言模型高效地?cái)U(kuò)展到多個(gè)用戶,批處理大小必須超過1。多個(gè)用戶將參數(shù)讀取成本分?jǐn)?。例如,在批大小?56/512時(shí),每個(gè)字節(jié)的內(nèi)存讀取可以獲得512 FLOP/s或1024 FLOP/s。
這個(gè)比率更接近H100的內(nèi)存帶寬與FLOPS之間的平衡。這有助于實(shí)現(xiàn)更高的利用率,但代價(jià)是更高的延遲。
很多人認(rèn)為內(nèi)存容量是LLM推理的一個(gè)主要瓶頸,因?yàn)榇笮湍P托枰鄠€(gè)芯片進(jìn)行推理,而較高的內(nèi)存容量意味著它們可以適應(yīng)較少的芯片。
然而,實(shí)際上更好的方法是使用更多的芯片,以便將延遲降低,增加吞吐量,并且可以使用更大的批大小以實(shí)現(xiàn)更高的利用率。
GPT-4推理權(quán)衡和基礎(chǔ)設(shè)施
以上所提到的,對(duì)GPT-4推理來說非常困難。但是作為一個(gè)MoE模型,再次引入了一系列全新的困難。
每個(gè)生成token的前向傳遞可以路由到不同的專家組。這對(duì)在較大的批大小下的吞吐量、延遲和利用率之間的權(quán)衡造成了困擾。
OpenAI的GPT-4有16個(gè)專家,每個(gè)前向傳遞路由到其中2個(gè)專家。
這意味著如果批大小為8,每個(gè)專家的參數(shù)讀取可能只有批大小為1。
更糟糕的是,這可能意味著一個(gè)專家的批大小為8,而其他專家的批大小為4、1或0。
每個(gè)生成token,路由算法都會(huì)將前向傳遞發(fā)送到不同的方向,導(dǎo)致token之間的延遲和專家批大小顯著變化。
推理基礎(chǔ)設(shè)施是OpenAI選擇較少數(shù)量的專家的主要原因之一。如果他們選擇更多的專家,內(nèi)存帶寬會(huì)成為推理的瓶頸。
OpenAI的推理集群通??梢赃_(dá)到4k+的批大小,這意味著即使在專家之間實(shí)現(xiàn)最佳的load平衡,專家的批大小也只有大約500左右。這需要非常大量的使用才能實(shí)現(xiàn)。
爆料者稱,我們了解到OpenAI在一個(gè)由128個(gè)GPU組成的集群上進(jìn)行推理。他們在多個(gè)數(shù)據(jù)中心和地理位置上都有多個(gè)這樣的集群。
推理采用8路張量并行和16路管線并行。每個(gè)由8個(gè)GPU組成的節(jié)點(diǎn)只有約130B的參數(shù),或者在FP16下每個(gè)GPU不到30GB,在FP8/int8下不到15GB。
這樣可以在40GB的A100上運(yùn)行推理,只要所有批的KV緩存大小不會(huì)過大。
不同節(jié)點(diǎn)上的包含不同專家的層不會(huì)被分割,因?yàn)槟菢訒?huì)導(dǎo)致網(wǎng)絡(luò)流量過于不規(guī)則,而在每個(gè)生成token之間重新計(jì)算KV緩存的代價(jià)太高。
對(duì)于未來的MoE模型擴(kuò)展和條件路由,最大的困難是如何處理KV緩存的路由。
模型的層數(shù)為120,所以可以簡單地將它們分配給15個(gè)不同的節(jié)點(diǎn),但是因?yàn)榈谝粋€(gè)節(jié)點(diǎn)需要進(jìn)行數(shù)據(jù)加載和嵌入,所以在推理集群的主節(jié)點(diǎn)上放置較少的層是有意義的。
此外,有一些關(guān)于「推測解碼」(后續(xù))的傳聞,這也解釋了為什么主節(jié)點(diǎn)需要包含較少的層。
推理成本
與擁有1750億參數(shù)的Davinchi模型相比,GPT-4的成本是其3倍,盡管其前饋參數(shù)只增加了1.6倍。
這主要是因?yàn)镚PT-4需要更大的集群,并且實(shí)現(xiàn)的利用率更低。
作者認(rèn)為,在128個(gè)A100上推理GPT-4的8k序列長度每1,000個(gè)標(biāo)記的成本為0.0049美元,而在128個(gè)H100上推理GPT-4的8k序列長度每1,000個(gè)標(biāo)記的成本為0.0021美元。
需要注意的是,這是假設(shè)有相當(dāng)高的利用率,并保持較高批大小的情況下。
但很明顯,OpenAI有時(shí)的利用率非常低。
對(duì)此作者假設(shè),OpenAI會(huì)在低峰時(shí)段關(guān)閉集群,重新配置節(jié)點(diǎn),恢復(fù)訓(xùn)練較小的測試模型,并嘗試各種新技術(shù),從而降低推理成本。
如果OpenAI不這樣做,他們的利用率會(huì)更低,而成本也將增加一倍以上。
多查詢注意力
除此之外,OpenAI也在使用多查詢注意力(Multi-Query Attention,MQA)。
論文地址:https://arxiv.org/pdf/1911.02150.pdf
簡而言之,只需要一個(gè)注意力頭,并且可以顯著減少KV緩存的內(nèi)存占用。
即便如此,32k長度的GPT-4肯定無法在40GB的A100上運(yùn)行,而8k的最大批大小也有上限。
連續(xù)批處理
OpenAI實(shí)現(xiàn)了可變批大小和連續(xù)批處理。
這樣做可以允許一定程度的最大延遲,并優(yōu)化推理成本。
推測解碼(Speculative Decoding)
爆料稱,OpenAI在GPT-4的推理過程中使用了「推測解碼」,這其中還有100%的不確定性。
token到token的延遲變化,以及在進(jìn)行簡單的檢索任務(wù)和更復(fù)雜的任務(wù)時(shí)差異,似乎表明這一點(diǎn)是可能的,不過還是有太多的變量無法確定。
在此,爆料者通過DeepMind的一項(xiàng)研究「Accelerating LLM Inference with Staged Speculative Decoding」中的文本,進(jìn)行了適當(dāng)修改/添加一些細(xì)節(jié),進(jìn)行了解釋。
使用LLM通常分為兩個(gè)階段。
首先是預(yù)填充(prefill),將提示文本輸入模型中以生成KV緩存和第一個(gè)輸出的對(duì)數(shù)幾率(可能的token輸出的概率分布)。這個(gè)過程通常很快,因?yàn)檎麄€(gè)提示文本可以并行處理。
第二個(gè)階段是解碼(decoding)。從輸出的對(duì)數(shù)幾率中選擇一個(gè)token,并將其反饋到模型中,模型將生成下一個(gè)token的對(duì)數(shù)幾率。重復(fù)這個(gè)過程,直到生成所需數(shù)量的token。
由于解碼必須按順序進(jìn)行,每次都需要將權(quán)重流通過計(jì)算單元以生成單個(gè)token。因此當(dāng)以小量批運(yùn)行時(shí),這個(gè)第二階段的計(jì)算密集度(即計(jì)算FLOP/內(nèi)存帶寬的字節(jié)數(shù))非常低。因此,解碼通常是自回歸生成中最昂貴的部分。
這就是為什么OpenAI的API調(diào)用中,輸入token比輸出token便宜得多的原因。
「推測解碼」的基本思想是使用一個(gè)更小、更快的草案模型提前解碼多個(gè)token,然后將它們作為一個(gè)批輸入到預(yù)測模型中。
如果草案模型的預(yù)測是正確的,即更大的模型也同意這些預(yù)測,那么可以使用單個(gè)批解碼多個(gè)token,這樣可以節(jié)省大量的內(nèi)存帶寬和時(shí)間。
然而,如果更大的模型拒絕了草案模型預(yù)測的token,則剩余的批將被丟棄,算法自然會(huì)恢復(fù)到標(biāo)準(zhǔn)的逐個(gè)token解碼。
「推測解碼」可能還伴隨著拒絕抽樣的方案,以從原始分布中進(jìn)行采樣。值得注意的是,這僅在帶寬是瓶頸的小批設(shè)置中有用。
「推測解碼」以計(jì)算換取帶寬,而成為一個(gè)有吸引力的性能工程目標(biāo)有兩個(gè)關(guān)鍵原因:
首先,它不會(huì)降低模型質(zhì)量。其次,它提供的性能改進(jìn)通常與其他方法正交,因?yàn)槠湫阅軄碜杂趯ⅰ疙樞驁?zhí)行」轉(zhuǎn)換為「并行執(zhí)行」。
當(dāng)前的推測方法為批預(yù)測的單獨(dú)序列。然而,這種方法不能很好地拓展到大量的批,或低草案模型對(duì)齊上。
直觀地說,兩個(gè)模型在連續(xù)長序列的token上達(dá)成一致的概率呈指數(shù)級(jí)低,這意味著隨著算術(shù)密度的增加,推測解碼的收益會(huì)迅速減少。
爆料者認(rèn)為,如果OpenAI使用「推測解碼」,他們可能只在大約4個(gè)token的序列中使用。
順便提一句,有關(guān)OpenAI閹割,而導(dǎo)致GPT-4質(zhì)量降低的整個(gè)陰謀,可能只是因?yàn)樗麄冏岊A(yù)測模型接受了「推測解碼」模型的低概率序列。
另外有人推測,Bard也使用了「推測解碼」,因?yàn)楣雀柙趯⒄麄€(gè)序列發(fā)送給用戶之前會(huì)等待其完全生成,但在爆料者認(rèn)為,這種猜測是完全不正確的。
視覺多模態(tài)
視覺多模態(tài)能力是GPT-4中最不令人印象深刻的部分,至少與領(lǐng)先的研究相比是如此。
當(dāng)然,現(xiàn)在還沒有人將多模態(tài)LLM的研究成果商業(yè)化。
爆料者稱,它是一個(gè)獨(dú)于文本編碼器的視覺編碼器,還有交叉注意力,架構(gòu)類似于Flamingo,并在GPT-4 1.8T上增加了更多參數(shù)。
GPT-4多模態(tài)能力是在文本預(yù)訓(xùn)練之后,又用大約2萬億token進(jìn)?了微調(diào)。
據(jù)稱,在視覺模型上,OpenAI原本希望從頭開始訓(xùn)練,但因其不夠成熟,無奈從文本訓(xùn)練模型進(jìn)行微調(diào)。
而下一代模型GPT-5,其訓(xùn)練應(yīng)該從零開始訓(xùn)練視覺模型,并且能夠生成圖像,甚至生成音頻。
這樣的視覺能力主要目的之一,讓自主智能體能夠閱讀網(wǎng)頁,并轉(zhuǎn)錄圖像,視頻中的內(nèi)容。
值得一提的是,OpenAI用來訓(xùn)練多模態(tài)模型的數(shù)據(jù)包括:「聯(lián)合數(shù)據(jù)」(LaTeX/文本)、網(wǎng)頁屏幕截圖、YouTube視頻(采樣幀,以及運(yùn)行Whisper獲取字幕)。
關(guān)于LLM的過度優(yōu)化,一個(gè)有趣的事實(shí)是視覺模型的IO成本不同于文本模型。在視覺模型中,數(shù)據(jù)加載IO大約是文本模型的150倍。
視覺模型的IO成本很低
視覺模型中的每個(gè)token 600字節(jié),文本是4字節(jié)/token。
因此這需要在圖像壓縮方面做很多工作。這對(duì)于硬件供應(yīng)商來說極為重要,因?yàn)樗麄冋趪@LLM的用例和比率優(yōu)化2-3年后的硬件。
他們可能會(huì)發(fā)現(xiàn)自己身處的世界中,每個(gè)模型都具有強(qiáng)大的視覺和音頻功能。
他們可能會(huì)發(fā)現(xiàn)自己的架構(gòu)適應(yīng)性會(huì)很差。
總的來說,架構(gòu)肯定會(huì)超越我們今天看到的基于文本簡化的密集模型,和MoE模型。