99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

Continuous Batching:解鎖LLM潛力!讓LLM推斷速度飆升23倍,降低延遲!

智能感知與物聯(lián)網(wǎng)技術(shù)研究所 ? 來(lái)源:未知 ? 2023-10-15 20:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹一篇 LLM 推理加速技術(shù)相關(guān)的文章,值得讀一讀。

LLMs 在現(xiàn)實(shí)應(yīng)用中的計(jì)算成本主要由服務(wù)成本所主導(dǎo),但是傳統(tǒng)的批處理策略存在低效性。在這篇文章中,我們將告訴你,為什么 Continuous Batching 連續(xù)批處理成為了解決這一問(wèn)題的新方法,而不再把 LLMs 視為“黑匣子”。這個(gè)技術(shù)如何利用內(nèi)存,而不是計(jì)算能力,來(lái)實(shí)現(xiàn) 10 倍以上的性能提升,將改變AI領(lǐng)域的游戲規(guī)則。

文章標(biāo)題:

How continuous batching enables 23x throughput in LLM inference while reducing p50 latency

文章鏈接:

https://www.anyscale.com/blog/continuous-batching-llm-inference

wKgaomUt6XaAHl_fAAAl6LOgh3c991.png

Section 1

為了更好地理解這篇文章,讓我們先了解一下大型語(yǔ)言模型(LLM)的推斷過(guò)程以及傳統(tǒng)批處理策略中存在的低效性。

Q1. 你能解釋一下什么是大型語(yǔ)言模型(LLM)的推斷過(guò)程嗎?以及在傳統(tǒng)批處理策略中存在的哪些低效性?

當(dāng)我們談?wù)摯笮驼Z(yǔ)言模型(LLM)的推斷過(guò)程時(shí),我們指的是使用已經(jīng)訓(xùn)練好的模型來(lái)對(duì)輸入文本進(jìn)行處理,從而生成相應(yīng)的輸出。推斷過(guò)程涉及將一個(gè)或多個(gè)文本片段傳遞給模型,并從模型中獲取相應(yīng)的預(yù)測(cè)或生成的文本。 在傳統(tǒng)的批處理策略中,文本通常會(huì)被分成小批次(batch)進(jìn)行處理,以便在 GPU 或其他硬件上進(jìn)行并行計(jì)算。然而,由于 LLMs 通常需要大量的內(nèi)存和計(jì)算資源,傳統(tǒng)的批處理策略可能會(huì)導(dǎo)致一些低效性:
  1. 內(nèi)存消耗高:傳統(tǒng)批處理策略可能會(huì)導(dǎo)致大量的 GPU 內(nèi)存被占用,限制了可以同時(shí)處理的文本量。
  2. 計(jì)算資源未被充分利用:由于內(nèi)存限制,傳統(tǒng)批處理策略可能導(dǎo)致 GPU 計(jì)算資源未被充分利用,從而降低了推斷效率。
  3. 高延遲:由于大型模型的計(jì)算需求,傳統(tǒng)批處理策略可能會(huì)導(dǎo)致高延遲,使得生成結(jié)果的響應(yīng)速度變慢。
  4. 難以處理長(zhǎng)文本:傳統(tǒng)批處理策略可能會(huì)限制模型處理長(zhǎng)文本的能力,因?yàn)樗鼈兛赡軣o(wú)法一次性將整個(gè)文本載入內(nèi)存。

因此,傳統(tǒng)的批處理策略可能會(huì)限制了 LLMs 在實(shí)際應(yīng)用中的效率和性能。在接下來(lái)的部分,文章將介紹連續(xù)批處理(continuous batching)作為一種優(yōu)化策略,以解決傳統(tǒng)批處理策略中存在的這些低效性問(wèn)題。

Q2. 為什么傳統(tǒng)的處理方法可能會(huì)導(dǎo)致在實(shí)際應(yīng)用中服務(wù)成為大多數(shù)情況下的計(jì)算成本主導(dǎo)因素?

傳統(tǒng)的處理方法將 LLMs 視為“黑匣子”,主要通過(guò)內(nèi)部更改(如量化和自定義 CUDA 內(nèi)核)來(lái)進(jìn)行優(yōu)化。這種方法忽視了 LLMs 在推斷過(guò)程中生成輸出的迭代性質(zhì),以及 LLM 推斷通常受限于內(nèi)存而不是計(jì)算資源。由于 LLMs 通常需要大量的 GPU 內(nèi)存和計(jì)算成本,這導(dǎo)致在實(shí)際應(yīng)用中,服務(wù)成為計(jì)算成本的主導(dǎo)因素。 因?yàn)?LLMs 在推斷過(guò)程中需要迭代生成輸出,而且通常情況下是內(nèi)存受限的,所以存在著可以在系統(tǒng)級(jí)別進(jìn)行批處理優(yōu)化的機(jī)會(huì)。這意味著可以通過(guò)合理的批處理策略來(lái)最大程度地利用 GPU 資源,從而顯著提高推斷吞吐量,降低計(jì)算成本,使得服務(wù)成本不再是主導(dǎo)因素。

Q3. 在文章中提到了 LLMs 被視為“黑匣子”,認(rèn)為只能通過(guò)內(nèi)部更改(如量化和自定義 CUDA 內(nèi)核)來(lái)進(jìn)行優(yōu)化。然而,作者認(rèn)為這并不完全正確。為什么作者持這樣的看法?

作者之所以持這樣的看法,是因?yàn)樗麄冋J(rèn)為 LLMs 在生成輸出時(shí)是迭代進(jìn)行的,并且 LLM 推斷通常受到內(nèi)存而不是計(jì)算資源的限制。這意味著存在一些出人意料的系統(tǒng)級(jí)批處理優(yōu)化方法,可以在實(shí)際工作負(fù)載中產(chǎn)生顯著的性能提升。 相較于將 LLMs 視為不可調(diào)優(yōu)的“黑匣子”,作者認(rèn)為可以通過(guò)采用更靈活的系統(tǒng)級(jí)批處理策略來(lái)實(shí)現(xiàn)性能的大幅度提升,而不僅僅局限于內(nèi)部更改如量化和自定義 CUDA 內(nèi)核。這樣的優(yōu)化方法可以使得在實(shí)際應(yīng)用中,LLMs 的性能提升達(dá)到 10 倍甚至更多。

Q4. 文章中提到了 LLMs 通常是內(nèi)存受限而不是計(jì)算受限的情況下,有一些出乎意料的系統(tǒng)級(jí)批處理優(yōu)化方法。這些優(yōu)化方法可以在實(shí)際工作負(fù)載中產(chǎn)生 10 倍甚至更多的差異。你能解釋一下作者指的內(nèi)存受限和計(jì)算受限是什么意思嗎?

當(dāng)作者提到 LLMs 通常是內(nèi)存受限而不是計(jì)算受限時(shí),他指的是在 LLM 推斷過(guò)程中,通常更多地受到可用內(nèi)存的限制,而不是計(jì)算能力的限制。 內(nèi)存受限意味著在處理大型語(yǔ)言模型時(shí),系統(tǒng)的內(nèi)存資源是一個(gè)相對(duì)稀缺的資源。這意味著模型在推斷時(shí)需要將許多數(shù)據(jù)存儲(chǔ)在內(nèi)存中,例如輸入文本、中間計(jì)算結(jié)果等。如果內(nèi)存不足以容納所需的數(shù)據(jù),可能會(huì)導(dǎo)致內(nèi)存溢出或性能下降。 相比之下,計(jì)算受限指的是在進(jìn)行模型推斷時(shí),計(jì)算資源(例如 CPU 或 GPU 的處理能力)是主要的瓶頸。這種情況下,系統(tǒng)的處理能力會(huì)成為推斷性能的主要限制因素,而內(nèi)存資源可能并不是主要的瓶頸。 因此,在 LLM 推斷中,作者指出通常更關(guān)鍵的是如何有效地利用有限的內(nèi)存資源,而不是解決計(jì)算資源瓶頸。通過(guò)優(yōu)化內(nèi)存的使用方式,可以使得在實(shí)際工作負(fù)載中推斷性能提升 10 倍甚至更多。這意味著通過(guò)合理地調(diào)度和利用內(nèi)存,可以顯著地提高 LLM 模型在實(shí)際應(yīng)用中的性能表現(xiàn)。

Q5. 作者提到了一種最近提出的優(yōu)化方法,即連續(xù)批處理,也稱為動(dòng)態(tài)批處理或迭代級(jí)別調(diào)度批處理。你能介紹一下這種優(yōu)化方法的工作原理嗎?

連續(xù)批處理是一種最近提出的優(yōu)化方法,也稱為動(dòng)態(tài)批處理或迭代級(jí)別調(diào)度批處理。它旨在解決傳統(tǒng)批處理策略中的一些低效性問(wèn)題。 傳統(tǒng)批處理策略通常是基于請(qǐng)求的動(dòng)態(tài)批處理,即一次性處理一批請(qǐng)求。這可能會(huì)導(dǎo)致一些請(qǐng)求在推斷過(guò)程中花費(fèi)的時(shí)間較長(zhǎng),因?yàn)槟承┱?qǐng)求可能會(huì)比其他請(qǐng)求更加復(fù)雜或耗時(shí)。 相比之下,連續(xù)批處理采用了一種更為靈活的方法。它允許在推斷過(guò)程中動(dòng)態(tài)地調(diào)整批次的大小,以適應(yīng)不同請(qǐng)求的復(fù)雜程度。具體來(lái)說(shuō),連續(xù)批處理會(huì)在模型推斷的過(guò)程中不斷地將新的請(qǐng)求添加到當(dāng)前的批次中,同時(shí)保持一定的效率。 這意味著,如果某些請(qǐng)求需要更多時(shí)間來(lái)完成推斷,它們可以在當(dāng)前批次中等待,而不會(huì)等待整個(gè)批次處理完畢。這樣可以顯著降低高復(fù)雜度請(qǐng)求的等待時(shí)間,提高了推斷的效率。 wKgaomUt6XaAMajMAAAuhh9-KLM622.png

Section2 - The basics of LLM inference

Q1. 在 LLM 推斷中,對(duì)于每一個(gè)請(qǐng)求,我們是如何開(kāi)始的?可以描述一下“前綴”或“提示”是什么嗎?

當(dāng)進(jìn)行 LLM 推斷時(shí),對(duì)于每一個(gè)請(qǐng)求,我們會(huì)首先提供一個(gè)稱為“前綴”或“提示”的 token 序列作為輸入。這個(gè)前綴通常包含了一個(gè)或多個(gè)起始 token,用于引導(dǎo)模型生成接下來(lái)的文本。例如,在文章中的例子中,前綴是句子:“What is the capital of California:”。 這個(gè)前綴的目的是為了提供模型一個(gè)起點(diǎn),使其能夠理解用戶的請(qǐng)求并生成相應(yīng)的響應(yīng)。在這個(gè)例子中,前綴引導(dǎo)模型去回答加利福尼亞的首府是什么。 一旦提供了前綴,LLM 會(huì)開(kāi)始生成一個(gè)完整的響應(yīng)序列,它會(huì)在產(chǎn)生一個(gè)終止 token 或達(dá)到最大序列長(zhǎng)度時(shí)停止。這是一個(gè)迭代的過(guò)程,每一次前向傳遞模型都會(huì)產(chǎn)生一個(gè)額外的完成 token,逐步構(gòu)建出完整的響應(yīng)序列。

Q2. LLM 在產(chǎn)生完整的響應(yīng)之前會(huì)產(chǎn)生一個(gè)什么樣的 token 序列?什么情況下會(huì)停止生成?

LLM 在產(chǎn)生完整的響應(yīng)之前會(huì)產(chǎn)生一個(gè)包含多個(gè) token 的序列,這個(gè)序列通常被稱為 “completion tokens”。生成過(guò)程會(huì)一直進(jìn)行,直到滿足以下兩種情況之一:
  1. 生成了一個(gè)特定的“停止”標(biāo)記,表明生成過(guò)程應(yīng)該終止。
  2. 達(dá)到了設(shè)定的最大序列長(zhǎng)度,這時(shí)也會(huì)停止生成。

Q3. 作者提到了這是一個(gè)迭代的過(guò)程,可以舉一個(gè)例子來(lái)說(shuō)明嗎?如果我們以句子“加利福尼亞的首府是什么:”作為提示,需要多少次前向傳遞才能得到完整的響應(yīng)?

當(dāng)以句子“加利福尼亞的首府是什么:”作為提示時(shí),LLM 會(huì)逐步生成完整的響應(yīng)。這是一個(gè)迭代的過(guò)程,每次迭代都會(huì)產(chǎn)生一個(gè)新的完成 token。 示例迭代過(guò)程:
  1. 第一次迭代:LLM 生成第一個(gè) token "S",此時(shí)我們有 ["S"]。
  2. 第二次迭代:LLM 生成第二個(gè) token "a",此時(shí)我們有 ["S", "a"]。
  3. 第三次迭代:LLM 生成第三個(gè) token "c",此時(shí)我們有 ["S", "a", "c"]。
  4. ...
  5. 第十次迭代:LLM 生成第十個(gè) token "o",此時(shí)我們有完整的響應(yīng):["S", "a", "c", "r", “a”, "m", "e", "n", "t", "o"]。

在這個(gè)例子中,使用了十次前向傳遞迭代才能得到完整的響應(yīng)。 請(qǐng)注意,在實(shí)際情況下,token 并不是一一對(duì)應(yīng)于 ASCII 字符,作者提到了一種稱為 Byte-Pair Encoding 的流行的 token 編碼技術(shù),但不論如何編碼,生成的迭代過(guò)程都是相似的。

Q4. 作者在例子中提到了一種簡(jiǎn)化情況,實(shí)際上 token 與 ASCII 字符并不是一一映射的,采用了一種流行的 token 編碼技術(shù),叫做 Byte-Pair Encoding。請(qǐng)簡(jiǎn)要解釋一下這種編碼技術(shù)的作用。

當(dāng)作者提到了 Byte-Pair Encoding(字節(jié)對(duì)編碼)時(shí),實(shí)際上指的是一種流行的文本壓縮和編碼技術(shù)。它的主要作用是將文本中的字符或字節(jié)序列進(jìn)行編碼,以便更有效地表示和傳輸文本數(shù)據(jù)。 具體來(lái)說(shuō),Byte-Pair Encoding 通過(guò)識(shí)別和合并在文本中頻繁出現(xiàn)的字符對(duì)(字節(jié)對(duì)),來(lái)構(gòu)建一個(gè)更緊湊的編碼表。這使得一些常用的字符或詞組可以用更短的編碼表示,從而減小了文本的總體大小。 在大型語(yǔ)言模型(LLM)的上下文中,使用 Byte-Pair Encoding 可以幫助將原始文本轉(zhuǎn)化為模型可以更有效地處理的編碼形式。這也是為什么在實(shí)際情況中,token 與 ASCII 字符并不是一一映射的原因之一。

Q5. 這里展示了一個(gè)玩具示例,用于說(shuō)明 LLM 推斷的簡(jiǎn)化過(guò)程。你能解釋一下圖中的元素代表了什么嗎?

wKgaomUt6XaAPBNqAARwg209pr0475.png

在這個(gè)玩具示例中,圖中的元素代表了 LLM 推斷的一些關(guān)鍵組成部分:
  1. 黃色方框中的 T1, T2, ..., T8:這些代表了一個(gè)假設(shè)模型,它支持最大長(zhǎng)度為 8 個(gè) token 的序列。這里的 T1, T2, ..., T8 是不同的 token。
  2. 藍(lán)色的箭頭:表示推斷過(guò)程的迭代。從開(kāi)始的“前綴”或“提示”(黃色方框中的內(nèi)容)開(kāi)始,模型逐步生成一個(gè) token。
  3. 紅色的方框中的 “end-of-sequence” 標(biāo)志:這表示了當(dāng)模型生成了一個(gè)特殊的 token,通知推斷過(guò)程結(jié)束。
  4. 批處理大小(Batch Size):這里展示的示例只包含一個(gè)輸入序列,因此批處理大小為1。

簡(jiǎn)而言之,這個(gè)圖示說(shuō)明了 LLM 推斷的簡(jiǎn)化過(guò)程,從一個(gè)起始的提示開(kāi)始,模型逐步生成一個(gè) token,直到生成了一個(gè)特殊的 “end-of-sequence” 標(biāo)志為止。請(qǐng)注意,這是一個(gè)簡(jiǎn)化的例子,實(shí)際的 LLM 推斷過(guò)程可能涉及到更復(fù)雜的計(jì)算和模型結(jié)構(gòu)。

Q6. 作者提到了初始攝入(“預(yù)填充”)階段,即提示“加利福尼亞的首府是什么:”的處理,它與生成后續(xù) token 一樣需要一定的時(shí)間。這是因?yàn)轭A(yù)填充階段預(yù)先計(jì)算了某些關(guān)于注意力機(jī)制的輸入,這些輸入在生成的整個(gè)生命周期內(nèi)保持不變。你能解釋一下預(yù)填充階段的具體作用和原理嗎?

當(dāng)處理一個(gè)請(qǐng)求時(shí),預(yù)填充階段扮演著關(guān)鍵的角色。這個(gè)階段起初可能會(huì)花費(fèi)一些時(shí)間,但它在整個(gè)生成過(guò)程中扮演著非常重要的作用。 在預(yù)填充階段,模型會(huì)提前計(jì)算一些關(guān)于注意力機(jī)制的輸入信息。這些輸入信息是在生成過(guò)程中保持不變的,因?yàn)樗鼈兣c前綴(或提示)無(wú)關(guān)。這樣做的好處是,在每次進(jìn)行后續(xù)的生成時(shí),不需要重新計(jì)算這些輸入信息,從而節(jié)省了計(jì)算資源和時(shí)間。 具體來(lái)說(shuō),這些提前計(jì)算的輸入信息可以幫助模型在生成后續(xù) token 時(shí)更高效地利用 GPU 的并行計(jì)算能力。這是因?yàn)檫@些輸入信息可以獨(dú)立計(jì)算,而不受后續(xù)生成過(guò)程的影響。 總的來(lái)說(shuō),預(yù)填充階段的作用是優(yōu)化模型的生成過(guò)程,通過(guò)提前計(jì)算一些與前綴無(wú)關(guān)的輸入信息,從而在后續(xù)的生成過(guò)程中節(jié)省計(jì)算資源和時(shí)間。 這個(gè)階段的存在是為了使整個(gè)生成過(guò)程更加高效和快速,尤其是對(duì)于需要生成大量 token 的情況下,可以明顯地提升性能。

Q7. 作者指出了 LLM 推斷是內(nèi)存 - IO 受限的,而不是計(jì)算受限的。這意味著加載 1MB 的數(shù)據(jù)到GPU的計(jì)算核心所需的時(shí)間比在 1MB 的數(shù)據(jù)上執(zhí)行 LLM 計(jì)算所需的時(shí)間更長(zhǎng)。這一點(diǎn)對(duì)于 LLM 推斷的吞吐量有著怎樣的影響?可以解釋一下 GPU 內(nèi)存的作用和影響嗎?

當(dāng)作者提到 LLM 推斷是內(nèi)存 - IO 受限而不是計(jì)算受限時(shí),意味著在 LLM 推斷過(guò)程中,主要的瓶頸并不在于計(jì)算速度,而在于數(shù)據(jù)的傳輸速度,特別是從主內(nèi)存加載數(shù)據(jù)到 GPU 內(nèi)存的過(guò)程。 這對(duì) LLM 推斷的吞吐量有著重要的影響。具體來(lái)說(shuō),由于數(shù)據(jù)傳輸速度相對(duì)較慢,如果我們可以減少需要從主內(nèi)存加載到 GPU 內(nèi)存的次數(shù),就能提高推斷的效率,從而提高吞吐量。 GPU 內(nèi)存在這里起到了關(guān)鍵的作用。它是臨時(shí)存儲(chǔ)模型參數(shù)、輸入數(shù)據(jù)和計(jì)算結(jié)果的地方。在 LLM 推斷過(guò)程中,模型參數(shù)需要在 GPU 內(nèi)存中保留,同時(shí)輸入數(shù)據(jù)也需要被加載到 GPU 內(nèi)存中才能進(jìn)行計(jì)算。因此,GPU 內(nèi)存的大小限制了我們可以處理的數(shù)據(jù)量以及批次的大小。 總的來(lái)說(shuō),GPU 內(nèi)存的充足與否直接影響了 LLM 推斷的性能和吞吐量。如果我們能夠優(yōu)化內(nèi)存的使用,比如通過(guò)模型量化策略或其他方法減少內(nèi)存占用,就能提升推斷效率,從而實(shí)現(xiàn)更高的吞吐量。

Q8. GPU 內(nèi)存的消耗量是如何隨著基本模型大小和 token 序列長(zhǎng)度的增加而變化的?你能簡(jiǎn)要說(shuō)明一下這方面的估算和計(jì)算方法嗎?

當(dāng)基本模型大小和 token 序列長(zhǎng)度增加時(shí),GPU 內(nèi)存的消耗量也會(huì)相應(yīng)增加。這是因?yàn)楦蟮哪P秃透L(zhǎng)的序列需要更多的內(nèi)存來(lái)存儲(chǔ)它們的參數(shù)和生成的中間結(jié)果。 具體地說(shuō),一般可以使用以下方法來(lái)估算 GPU 內(nèi)存消耗:
  1. 基本模型大?。P蛥?shù)):隨著模型大小的增加,需要更多的內(nèi)存來(lái)存儲(chǔ)模型的權(quán)重、偏差等參數(shù)。一般來(lái)說(shuō),模型越大,所需內(nèi)存就越多。

  2. Token 序列長(zhǎng)度:每個(gè) token 都需要一定的內(nèi)存來(lái)存儲(chǔ)其編碼和相關(guān)信息。因此,當(dāng)序列長(zhǎng)度增加時(shí),內(nèi)存消耗也會(huì)隨之增加。

  3. 模型架構(gòu):不同的模型架構(gòu)可能會(huì)對(duì)內(nèi)存消耗產(chǎn)生不同的影響。一些模型可能會(huì)有特定的內(nèi)存優(yōu)化策略或特性,可以影響其在 GPU 上的內(nèi)存占用。

  4. GPU 類型和內(nèi)存容量:不同類型和容量的 GPU 具有不同的內(nèi)存限制。較大內(nèi)存的 GPU 可以容納更大的模型和序列。

  5. 其他輔助數(shù)據(jù)和計(jì)算:除了模型參數(shù)和 token 序列之外,還可能存在其他計(jì)算所需的內(nèi)存,比如中間結(jié)果的存儲(chǔ)等。

Q9. 文章中提到了一些策略和方法可以優(yōu)化內(nèi)存的使用,可以舉一些例子說(shuō)明嗎?

當(dāng)涉及到優(yōu)化內(nèi)存使用時(shí),文章中提到了以下一些策略和方法:
  1. 模型量化策略:例如 AutoGPTQ,它可以通過(guò)將模型權(quán)重從 16 位減少到 8 位表示,從而減少內(nèi)存使用,為更大批處理提供了更多空間。
  2. FlashAttention 技術(shù):該技術(shù)通過(guò)重新組織注意力計(jì)算,以減少內(nèi)存 - IO,從而實(shí)現(xiàn)了顯著的吞吐量提升。
  3. 優(yōu)化模型實(shí)現(xiàn):例如 NVIDIA 的 FasterTransformer,通過(guò)優(yōu)化模型實(shí)現(xiàn)可以提高吞吐量。
  4. 連續(xù)批處理:這是一種內(nèi)存優(yōu)化技術(shù),不需要對(duì)模型進(jìn)行修改。它可以提高 LLM 生成的內(nèi)存效率。

這些策略和方法旨在充分利用GPU內(nèi)存,減少內(nèi)存開(kāi)銷,從而提高LLM推斷的吞吐量和效率。

Q10. 連續(xù)批處理是另一種不需要修改模型的內(nèi)存優(yōu)化技術(shù),它是如何工作的?可以解釋一下它相對(duì)于樸素批處理的優(yōu)勢(shì)嗎?

當(dāng)使用連續(xù)批處理時(shí),它允許將多個(gè)請(qǐng)求的前綴(prompt)合并成一個(gè)批次一起發(fā)送到模型進(jìn)行推斷。相比之下,樸素批處理會(huì)單獨(dú)處理每個(gè)請(qǐng)求,即使它們之間可能存在共享的計(jì)算資源。 具體來(lái)說(shuō),連續(xù)批處理的工作方式如下:
  1. 合并前綴:對(duì)于多個(gè)請(qǐng)求,將它們的前綴合并成一個(gè)批次。這樣做的好處是可以利用 GPU 的并行計(jì)算能力,因?yàn)榭梢砸淮涡缘赜?jì)算多個(gè)請(qǐng)求的前綴。

  2. 共享計(jì)算資源:通過(guò)將多個(gè)請(qǐng)求的前綴合并成一個(gè)批次,模型的計(jì)算可以在這些前綴之間共享,從而減少了冗余的計(jì)算工作。這使得整體推斷的效率得到了提升。
相對(duì)于樸素批處理,連續(xù)批處理的優(yōu)勢(shì)在于:
  1. 減少前綴處理時(shí)間:樸素批處理會(huì)為每個(gè)請(qǐng)求單獨(dú)處理前綴,而連續(xù)批處理可以一次性地處理多個(gè)請(qǐng)求的前綴,從而減少了前綴處理的總時(shí)間。
  2. 提高內(nèi)存利用率:連續(xù)批處理可以在同樣的內(nèi)存限制下處理更多的請(qǐng)求,因?yàn)樗鼘⒍鄠€(gè)請(qǐng)求的前綴合并成一個(gè)批次,從而減少了內(nèi)存的浪費(fèi)。
  3. 提升模型推斷效率:通過(guò)共享計(jì)算資源,連續(xù)批處理可以更高效地利用 GPU 的計(jì)算能力,從而提升了模型推斷的速度。

總的來(lái)說(shuō),連續(xù)批處理是一種有效的內(nèi)存優(yōu)化技術(shù),它通過(guò)合并多個(gè)請(qǐng)求的前綴,共享計(jì)算資源,從而提高了 LLM 推斷的效率,而無(wú)需對(duì)模型進(jìn)行任何修改。 wKgaomUt6XaAJmGjAAAtJ0fTuoM176.png

Section3 - LLM batching explained

Q1. 文章提到 LLMs 盡管具有大量的計(jì)算能力,但由于內(nèi)存帶寬主要用于加載模型參數(shù),LLMs 很難實(shí)現(xiàn)計(jì)算飽和度。請(qǐng)解釋一下為什么模型參數(shù)的加載對(duì)計(jì)算飽和度有如此大的影響。

模型參數(shù)的加載對(duì) LLMs 的計(jì)算飽和度有很大影響是因?yàn)樵?GPU 架構(gòu)中,內(nèi)存和計(jì)算是兩個(gè)相對(duì)獨(dú)立但又相互關(guān)聯(lián)的方面。
  1. GPU 的計(jì)算能力:GPUs 是高度并行化的計(jì)算架構(gòu),可以以每秒數(shù)萬(wàn)億次(teraflop)甚至百萬(wàn)億次(petaflop)的浮點(diǎn)運(yùn)算速度執(zhí)行計(jì)算任務(wù)。這意味著它們可以在短時(shí)間內(nèi)完成大量的計(jì)算工作。
  2. 內(nèi)存帶寬的限制:然而,GPU 的內(nèi)存帶寬相對(duì)有限。內(nèi)存帶寬是指 GPU 用于在內(nèi)存和處理器之間傳輸數(shù)據(jù)的速度。加載模型參數(shù)意味著將模型的權(quán)重和其他相關(guān)數(shù)據(jù)從存儲(chǔ)介質(zhì)(如硬盤或內(nèi)存)傳輸?shù)?GPU 的內(nèi)存中。

由于 LLMs 通常擁有大量的參數(shù)(特別是像 GPT-3 這樣的大型模型擁有數(shù)十億甚至數(shù)百億的參數(shù)),加載模型參數(shù)可能會(huì)占用大量的內(nèi)存帶寬。這會(huì)導(dǎo)致 GPU 在加載模型參數(shù)時(shí)花費(fèi)了大量的時(shí)間和資源,使得在實(shí)際計(jì)算上的利用率變得相對(duì)較低。 因此,即使 GPU 具有強(qiáng)大的計(jì)算能力,但如果大部分內(nèi)存帶寬用于加載模型參數(shù),就會(huì)導(dǎo)致 LLMs 難以充分利用其計(jì)算資源,從而影響了計(jì)算飽和度。為了解決這個(gè)問(wèn)題,文章提出了批處理的方法,通過(guò)一次加載模型參數(shù),然后使用它們來(lái)處理多個(gè)輸入序列,從而更有效地利用了 GPU 的內(nèi)存帶寬,提高了計(jì)算利用率和吞吐量。

Q2. 什么是批處理,以及它如何有助于提高LLM推斷的效率?與每次處理一個(gè)輸入序列加載新模型參數(shù)相比,批處理有什么優(yōu)勢(shì)?

批處理是一種將多個(gè)數(shù)據(jù)樣本一起傳遞給模型進(jìn)行處理的技術(shù)。相比于逐個(gè)處理單個(gè)樣本,批處理允許在一次計(jì)算中同時(shí)處理多個(gè)樣本。這樣可以更有效地利用計(jì)算資源,提高計(jì)算速度。 在 LLM 推斷中,批處理的優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面:
  1. 減少模型參數(shù)加載次數(shù):在不使用批處理的情況下,每次處理一個(gè)輸入序列都需要加載一次模型參數(shù)。而批處理可以在一次加載后多次使用這些參數(shù),從而減少了加載的次數(shù)。
  2. 提高內(nèi)存帶寬的利用率:GPU 的內(nèi)存帶寬是有限的資源,而加載模型參數(shù)通常會(huì)消耗大量的內(nèi)存帶寬。通過(guò)批處理,可以更有效地利用這些內(nèi)存帶寬,使其在計(jì)算過(guò)程中得到更充分的利用。

  3. 提高計(jì)算資源的利用率:LLM 推斷通常是內(nèi)存 - IO 受限的,而不是計(jì)算受限的,意味著加載數(shù)據(jù)到 GPU 的計(jì)算核心比在計(jì)算核心上執(zhí)行 LLM 計(jì)算花費(fèi)的時(shí)間更多。通過(guò)批處理,可以更有效地利用計(jì)算資源,提高計(jì)算速度。

Q3. 傳統(tǒng)的批處理方法被稱為靜態(tài)批處理,為什么它被稱為靜態(tài)批處理?它與 LLM 推斷中的迭代性質(zhì)有什么關(guān)系?

wKgaomUt6XaAQYScAAXuD-8uPVA451.png

傳統(tǒng)的批處理方法被稱為靜態(tài)批處理,是因?yàn)樵谶@種方法中,批處理的大小在推斷完成之前保持不變。與 LLM 推斷的迭代性質(zhì)相關(guān)的是,在 LLM 推斷過(guò)程中,每個(gè)請(qǐng)求是逐步生成的。具體來(lái)說(shuō): 在靜態(tài)批處理中,一次性加載了模型參數(shù),并在整個(gè)推斷過(guò)程中重復(fù)使用這些參數(shù)來(lái)處理多個(gè)輸入序列。這樣做更有效地利用了芯片的內(nèi)存帶寬,提高了計(jì)算利用率、吞吐量,并降低了 LLM 推斷的成本。 然而,LLM 推斷是一個(gè)迭代的過(guò)程。對(duì)于每個(gè)請(qǐng)求,模型會(huì)逐步生成輸出序列的各個(gè)部分,直到生成停止標(biāo)記或達(dá)到最大序列長(zhǎng)度為止。這意味著每次模型前向傳遞時(shí),都會(huì)獲得一個(gè)額外的輸出 token。例如,如果我們以句子“加利福尼亞的首府是什么:”作為提示,它將需要進(jìn)行十次前向傳遞才能得到完整的響應(yīng),即 ["S", "a", "c", "r", “a”, "m", "e", "n", "t", "o"]。 由于 LLM 推斷是一個(gè)迭代生成的過(guò)程,靜態(tài)批處理可能導(dǎo)致 GPU 在批處理中的不同序列的生成長(zhǎng)度不同時(shí)被低效利用。因?yàn)椴煌男蛄锌赡軙?huì)在批處理中的不同迭代步驟中完成生成,而靜態(tài)批處理會(huì)等待所有序列完成生成后才開(kāi)始處理新的序列。這導(dǎo)致了在等待最后一個(gè)序列完成生成之前,GPU 可能會(huì)被低效利用的情況。

Q4. 在文章中提到靜態(tài)批處理的問(wèn)題在于 GPU 會(huì)被低效利用,尤其是當(dāng)批處理中的不同序列的生成長(zhǎng)度不同時(shí)。請(qǐng)解釋一下為什么這會(huì)導(dǎo)致 GPU 低效利用,以及在靜態(tài)批處理中,如何處理不同生成長(zhǎng)度的序列?

靜態(tài)批處理之所以會(huì)導(dǎo)致 GPU 低效利用,主要是因?yàn)樗y以有效地處理不同生成長(zhǎng)度的序列,這些序列可能在同一批次中同時(shí)存在。這導(dǎo)致了以下問(wèn)題:
  1. 等待最長(zhǎng)序列完成:在靜態(tài)批處理中,所有序列都必須等待批處理中生成時(shí)間最長(zhǎng)的序列完成,然后才能進(jìn)行下一批次的處理。這意味著一旦有一個(gè)生成時(shí)間較長(zhǎng)的序列存在,其他生成時(shí)間較短的序列將被迫等待,導(dǎo)致 GPU 的計(jì)算資源無(wú)法充分利用。這會(huì)浪費(fèi) GPU 的計(jì)算能力,尤其是當(dāng)一些序列的生成非??鞎r(shí)。
  2. 難以釋放資源和添加新請(qǐng)求:由于 LLM 推斷是一個(gè)迭代過(guò)程,一些序列可能會(huì)在批次中的不同時(shí)間點(diǎn)完成生成。這使得難以及時(shí)釋放已完成生成的序列所占用的資源,并添加新的請(qǐng)求到批次中。如果沒(méi)有有效的機(jī)制來(lái)管理這些生成中和已完成的序列,將導(dǎo)致 GPU 資源的浪費(fèi)和低效利用。
  3. Variance in Generation Output:在靜態(tài)批處理中,如果不同序列的生成長(zhǎng)度差異較大,那么某些序列可能會(huì)迅速完成,而其他序列則需要更長(zhǎng)的時(shí)間。這種差異性會(huì)導(dǎo)致 GPU 的部分計(jì)算資源一直處于閑置狀態(tài),因?yàn)樗鼈儫o(wú)法立即用于生成更多的序列。

Q5. 靜態(tài)批處理何時(shí)會(huì)低效利用 GPU?請(qǐng)舉一個(gè)例子來(lái)說(shuō)明,特別是當(dāng)輸入和輸出序列的長(zhǎng)度不相等時(shí),靜態(tài)批處理可能會(huì)導(dǎo)致什么情況。

靜態(tài)批處理在輸入和輸出序列長(zhǎng)度不相等的情況下會(huì)低效利用 GPU。舉例來(lái)說(shuō),假設(shè)我們有一個(gè) LLM 模型,可以接受最多 512 個(gè) token 的輸入序列,但其生成的輸出序列可能長(zhǎng)度不一。如果我們采用靜態(tài)批處理,即將一批輸入序列一次性加載到 GPU 中進(jìn)行推斷,那么如果批中的不同序列生成長(zhǎng)度不同,就會(huì)導(dǎo)致以下情況:

假設(shè)我們有一個(gè)批次,其中包含了以下兩個(gè)輸入序列:
  1. 輸入序列 1(長(zhǎng)度為 512)生成的輸出序列長(zhǎng)度為 20。
  2. 輸入序列 2(長(zhǎng)度為 512)生成的輸出序列長(zhǎng)度為 30。

在靜態(tài)批處理的情況下,GPU 將等到批中的所有序列都完成生成后才會(huì)開(kāi)始下一個(gè)批次的處理。這會(huì)導(dǎo)致以下問(wèn)題:
  • 輸入序列 1 生成的輸出序列長(zhǎng)度只有 20,但 GPU 在等待序列 2 完成生成之前無(wú)法開(kāi)始下一個(gè)批次的處理。這意味著 GPU 會(huì)在這段時(shí)間內(nèi)處于空閑狀態(tài),無(wú)法充分利用其計(jì)算資源。
  • 輸入序列 2 生成的輸出序列長(zhǎng)度為 30,但在整個(gè)批次處理期間,GPU 只能等待最長(zhǎng)的生成過(guò)程完成。這導(dǎo)致 GPU 的計(jì)算資源被浪費(fèi)了 10 個(gè) token 的長(zhǎng)度。

Q6. 作者提到了連續(xù)批處理是一種更高效的方法,相對(duì)于靜態(tài)批處理。請(qǐng)解釋一下連續(xù)批處理是如何工作的,以及它是如何提高 GPU 利用率的?

wKgaomUt6XeAI1TPAAXmeBeoygo199.png

連續(xù)批處理是一種相對(duì)于靜態(tài)批處理更高效的方法,特別適用于 LLM 推斷。它的工作原理如下:
  1. 動(dòng)態(tài)確定批次大小:與靜態(tài)批處理不同,連續(xù)批處理采用了迭代級(jí)別的調(diào)度。它并不等待每個(gè)序列在批次中完成生成后再進(jìn)行下一個(gè)序列的處理。相反,它在每個(gè)迭代中根據(jù)需要確定批次的大小。這意味著一旦某個(gè)序列在批次中完成生成,就可以立即將一個(gè)新的序列插入到相同位置。
  2. 提高 GPU 利用率:連續(xù)批處理通過(guò)更靈活地利用 GPU 的計(jì)算資源來(lái)提高 GPU 的利用率。在靜態(tài)批處理中,如果批次中的不同序列的生成長(zhǎng)度不同,GPU 會(huì)被低效利用,因?yàn)樗仨毜却沃械乃行蛄型瓿缮刹拍荛_(kāi)始下一個(gè)批次。而在連續(xù)批處理中,一旦一個(gè)序列完成生成,就可以立即開(kāi)始處理下一個(gè)序列,從而最大程度地減少了 GPU 的閑置時(shí)間。

Q7. 文章中提到了 Orca 是一個(gè)首次解決這一問(wèn)題的論文,它采用了迭代級(jí)別的調(diào)度。請(qǐng)解釋一下迭代級(jí)別調(diào)度是如何工作的,以及它相對(duì)于靜態(tài)批處理的優(yōu)勢(shì)是什么?

當(dāng)使用迭代級(jí)別調(diào)度時(shí),相較于靜態(tài)批處理,批次的大小是在每個(gè)迭代中動(dòng)態(tài)確定的,而不是在推斷過(guò)程的開(kāi)始時(shí)就固定下來(lái)。這意味著一旦批次中的某個(gè)序列完成生成,就可以立即插入一個(gè)新的序列以繼續(xù)利用 GPU 進(jìn)行計(jì)算。 相對(duì)于靜態(tài)批處理,迭代級(jí)別調(diào)度具有以下優(yōu)勢(shì):
  1. 更高的 GPU 利用率:在迭代級(jí)別調(diào)度中,一旦一個(gè)序列完成生成,就可以立即開(kāi)始處理下一個(gè)序列。這意味著 GPU 的計(jì)算資源得到更高效的利用,不會(huì)因?yàn)榈却沃械乃行蛄型瓿缮啥焕速M(fèi)。
  2. 更高的推斷吞吐量:由于 GPU 的計(jì)算資源得到更充分的利用,相對(duì)于靜態(tài)批處理,迭代級(jí)別調(diào)度可以實(shí)現(xiàn)更高的推斷吞吐量,從而加快了整個(gè)推斷過(guò)程的速度。

Q8. 作者提到 Hugging Face 在他們的文本生成推斷 LLM 推斷服務(wù)器中實(shí)現(xiàn)了連續(xù)批處理。這個(gè)實(shí)現(xiàn)是如何管理預(yù)填充階段和生成階段的?有沒(méi)有提到的超參數(shù) “waiting_served_ratio”?

在 Hugging Face 的文本生成推斷 LLM 推斷服務(wù)器中,連續(xù)批處理的實(shí)現(xiàn)是通過(guò)一個(gè)名為 “waiting_served_ratio” 的超參數(shù)來(lái)管理預(yù)填充階段和生成階段的。 “waiting_served_ratio” 指的是等待預(yù)填充和等待生成結(jié)束的請(qǐng)求數(shù)之間的比率。這個(gè)超參數(shù)的設(shè)置影響著連續(xù)批處理的表現(xiàn),它可以用來(lái)調(diào)整在生成階段與預(yù)填充階段之間的權(quán)衡。文章沒(méi)有詳細(xì)說(shuō)明如何設(shè)置這個(gè)超參數(shù),但可以推測(cè)它可能是根據(jù)具體情況和需求進(jìn)行調(diào)整的關(guān)鍵參數(shù)之一。 這個(gè)超參數(shù)的存在表明,Hugging Face 在他們的實(shí)現(xiàn)中考慮了如何在預(yù)填充階段和生成階段之間平衡處理請(qǐng)求,以最大化 GPU 的利用率。

Q9. 文章中提到了連續(xù)批處理、動(dòng)態(tài)批處理和迭代級(jí)別調(diào)度這些術(shù)語(yǔ)都可以用來(lái)描述批處理算法,但選擇使用了連續(xù)批處理。為什么選擇了這個(gè)術(shù)語(yǔ),以及它與動(dòng)態(tài)批處理和迭代級(jí)別調(diào)度有什么區(qū)別?

選擇使用連續(xù)批處理這個(gè)術(shù)語(yǔ)是因?yàn)樗顪?zhǔn)確地描述了優(yōu)化方法的本質(zhì)。下面是連續(xù)批處理與動(dòng)態(tài)批處理以及迭代級(jí)別調(diào)度之間的區(qū)別:
  1. 連續(xù)批處理:連續(xù)批處理是一種優(yōu)化技術(shù),它允許在生成過(guò)程中動(dòng)態(tài)地調(diào)整批處理的大小。具體來(lái)說(shuō),一旦一個(gè)序列在批處理中完成生成,就可以立即用新的序列替代它,從而提高了 GPU 的利用率。這種方法的關(guān)鍵在于實(shí)時(shí)地適應(yīng)當(dāng)前的生成狀態(tài),而不是等待整個(gè)批次的序列都完成。
  2. 動(dòng)態(tài)批處理:動(dòng)態(tài)批處理也是一種批處理策略,但它通常指的是在訓(xùn)練過(guò)程中動(dòng)態(tài)調(diào)整批處理的大小,以便更好地利用硬件資源。在推斷過(guò)程中,動(dòng)態(tài)批處理的意義可能會(huì)略有不同,可能是根據(jù)當(dāng)前生成狀態(tài)來(lái)動(dòng)態(tài)調(diào)整批處理的大小。
  3. 迭代級(jí)別調(diào)度:迭代級(jí)別調(diào)度與連續(xù)批處理類似,它也是在生成過(guò)程中動(dòng)態(tài)調(diào)整批處理的大小。但它強(qiáng)調(diào)的是調(diào)度是以迭代為單位的,也就是說(shuō),在每個(gè)迭代中決定批處理的大小,而不是隨時(shí)隨地都可以進(jìn)行調(diào)整

wKgaomUt6XeAfaXSAAAC0jQz1zo206.jpg

參考文獻(xiàn)

wKgaomUt6XeAfaXSAAAC0jQz1zo206.jpg ?

https://mp.weixin.qq.com/s/bs3puOXFZYg5K-zfyDfpOw


原文標(biāo)題:Continuous Batching:解鎖LLM潛力!讓LLM推斷速度飆升23倍,降低延遲!

文章出處:【微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


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

原文標(biāo)題:Continuous Batching:解鎖LLM潛力!讓LLM推斷速度飆升23倍,降低延遲!

文章出處:【微信號(hào):tyutcsplab,微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在魔搭社區(qū)使用TensorRT-LLM加速優(yōu)化Qwen3系列模型推理部署

    TensorRT-LLM 作為 NVIDIA 專為 LLM 推理部署加速優(yōu)化的開(kāi)源庫(kù),可幫助開(kāi)發(fā)者快速利用最新 LLM 完成應(yīng)用原型驗(yàn)證與產(chǎn)品部署。
    的頭像 發(fā)表于 07-04 14:38 ?686次閱讀

    Qualys TotalAI 降低 Gen AI 和 LLM 工作負(fù)載的風(fēng)險(xiǎn)

    “在AI時(shí)代,最大的風(fēng)險(xiǎn)不是不去創(chuàng)新,而是在沒(méi)有穩(wěn)固基礎(chǔ)的情況下創(chuàng)新?!?生成式人工智能 (Gen AI) 和大語(yǔ)言模型 (LLM) 正在革新各行各業(yè),但是,它們的快速應(yīng)用帶來(lái)了嚴(yán)峻的網(wǎng)絡(luò)安全挑戰(zhàn)
    的頭像 發(fā)表于 06-25 14:18 ?134次閱讀
    Qualys TotalAI <b class='flag-5'>降低</b> Gen AI 和 <b class='flag-5'>LLM</b> 工作負(fù)載的風(fēng)險(xiǎn)

    使用 llm-agent-rag-llamaindex 筆記本時(shí)收到的 NPU 錯(cuò)誤怎么解決?

    使用 conda create -n ov-nb-demos python=3.11 創(chuàng)建運(yùn)行 llm-agent-rag-llamaindex notebook 的環(huán)境。 執(zhí)行“創(chuàng)建
    發(fā)表于 06-23 06:26

    使用NVIDIA Triton和TensorRT-LLM部署TTS應(yīng)用的最佳實(shí)踐

    針對(duì)基于 Diffusion 和 LLM 類別的 TTS 模型,NVIDIA Triton 和 TensorRT-LLM 方案能顯著提升推理速度。在單張 NVIDIA Ada Lovelace
    的頭像 發(fā)表于 06-12 15:37 ?627次閱讀
    使用NVIDIA Triton和TensorRT-<b class='flag-5'>LLM</b>部署TTS應(yīng)用的最佳實(shí)踐

    詳解 LLM 推理模型的現(xiàn)狀

    2025年,如何提升大型語(yǔ)言模型(LLM)的推理能力成了最熱門的話題之一,大量?jī)?yōu)化推理能力的新策略開(kāi)始出現(xiàn),包括擴(kuò)展推理時(shí)間計(jì)算、運(yùn)用強(qiáng)化學(xué)習(xí)、開(kāi)展監(jiān)督微調(diào)和進(jìn)行提煉等。本文將深入探討LLM推理優(yōu)化
    的頭像 發(fā)表于 04-03 12:09 ?516次閱讀
    詳解 <b class='flag-5'>LLM</b> 推理模型的現(xiàn)狀

    無(wú)法在OVMS上運(yùn)行來(lái)自Meta的大型語(yǔ)言模型 (LLM),為什么?

    無(wú)法在 OVMS 上運(yùn)行來(lái)自 Meta 的大型語(yǔ)言模型 (LLM),例如 LLaMa2。 從 OVMS GitHub* 存儲(chǔ)庫(kù)運(yùn)行 llama_chat Python* Demo 時(shí)遇到錯(cuò)誤。
    發(fā)表于 03-05 08:07

    新品| LLM630 Compute Kit,AI 大語(yǔ)言模型推理開(kāi)發(fā)平臺(tái)

    LLM630LLM推理,視覺(jué)識(shí)別,可開(kāi)發(fā),靈活擴(kuò)展···LLM630ComputeKit是一款A(yù)I大語(yǔ)言模型推理開(kāi)發(fā)平臺(tái),專為邊緣計(jì)算和智能交互應(yīng)用而設(shè)計(jì)。該套件的主板搭載愛(ài)芯AX630CSoC
    的頭像 發(fā)表于 01-17 18:48 ?705次閱讀
    新品| <b class='flag-5'>LLM</b>630 Compute Kit,AI 大語(yǔ)言模型推理開(kāi)發(fā)平臺(tái)

    小白學(xué)大模型:構(gòu)建LLM的關(guān)鍵步驟

    隨著大規(guī)模語(yǔ)言模型(LLM)在性能、成本和應(yīng)用前景上的快速發(fā)展,越來(lái)越多的團(tuán)隊(duì)開(kāi)始探索如何自主訓(xùn)練LLM模型。然而,是否從零開(kāi)始訓(xùn)練一個(gè)LLM,并非每個(gè)組織都適合。本文將根據(jù)不同的需求與資源,幫助
    的頭像 發(fā)表于 01-09 12:12 ?989次閱讀
    小白學(xué)大模型:構(gòu)建<b class='flag-5'>LLM</b>的關(guān)鍵步驟

    解鎖NVIDIA TensorRT-LLM的卓越性能

    NVIDIA TensorRT-LLM 是一個(gè)專為優(yōu)化大語(yǔ)言模型 (LLM) 推理而設(shè)計(jì)的庫(kù)。它提供了多種先進(jìn)的優(yōu)化技術(shù),包括自定義 Attention Kernel、Inflight
    的頭像 發(fā)表于 12-17 17:47 ?880次閱讀

    什么是LLM?LLM在自然語(yǔ)言處理中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,自然語(yǔ)言處理(NLP)領(lǐng)域迎來(lái)了革命性的進(jìn)步。其中,大型語(yǔ)言模型(LLM)的出現(xiàn),標(biāo)志著我們對(duì)語(yǔ)言理解能力的一次飛躍。LLM通過(guò)深度學(xué)習(xí)和海量數(shù)據(jù)訓(xùn)練,使得機(jī)器能夠以前
    的頭像 發(fā)表于 11-19 15:32 ?3671次閱讀

    TensorRT-LLM低精度推理優(yōu)化

    本文將分享 TensorRT-LLM 中低精度量化內(nèi)容,并從精度和速度角度對(duì)比 FP8 與 INT8。首先介紹性能,包括速度和精度。其次,介紹量化工具 NVIDIA TensorRT Model
    的頭像 發(fā)表于 11-19 14:29 ?1288次閱讀
    TensorRT-<b class='flag-5'>LLM</b>低精度推理優(yōu)化

    如何訓(xùn)練自己的LLM模型

    訓(xùn)練自己的大型語(yǔ)言模型(LLM)是一個(gè)復(fù)雜且資源密集的過(guò)程,涉及到大量的數(shù)據(jù)、計(jì)算資源和專業(yè)知識(shí)。以下是訓(xùn)練LLM模型的一般步驟,以及一些關(guān)鍵考慮因素: 定義目標(biāo)和需求 : 確定你的LLM將用
    的頭像 發(fā)表于 11-08 09:30 ?1534次閱讀

    LLM技術(shù)對(duì)人工智能發(fā)展的影響

    隨著人工智能技術(shù)的飛速發(fā)展,大型語(yǔ)言模型(LLM)技術(shù)已經(jīng)成為推動(dòng)AI領(lǐng)域進(jìn)步的關(guān)鍵力量。LLM技術(shù)通過(guò)深度學(xué)習(xí)和自然語(yǔ)言處理技術(shù),使得機(jī)器能夠理解和生成自然語(yǔ)言,極大地?cái)U(kuò)展了人工智能的應(yīng)用范圍
    的頭像 發(fā)表于 11-08 09:28 ?1865次閱讀

    LLM和傳統(tǒng)機(jī)器學(xué)習(xí)的區(qū)別

    在人工智能領(lǐng)域,LLM(Large Language Models,大型語(yǔ)言模型)和傳統(tǒng)機(jī)器學(xué)習(xí)是兩種不同的技術(shù)路徑,它們?cè)谔幚頂?shù)據(jù)、模型結(jié)構(gòu)、應(yīng)用場(chǎng)景等方面有著顯著的差異。 1. 模型結(jié)構(gòu)
    的頭像 發(fā)表于 11-08 09:25 ?1912次閱讀

    LLM大模型推理加速的關(guān)鍵技術(shù)

    LLM(大型語(yǔ)言模型)大模型推理加速是當(dāng)前人工智能領(lǐng)域的一個(gè)研究熱點(diǎn),旨在提高模型在處理復(fù)雜任務(wù)時(shí)的效率和響應(yīng)速度。以下是對(duì)LLM大模型推理加速關(guān)鍵技術(shù)的詳細(xì)探討,內(nèi)容將涵蓋模型壓縮、解碼方法優(yōu)化、底層優(yōu)化、分布式并行推理以及特
    的頭像 發(fā)表于 07-24 11:38 ?1832次閱讀