Meta 的 Llama 大型語言模型集合是當今開源社區中最受歡迎的基礎模型,支持多種應用場景。全球數百萬開發者正在基于這些模型構建衍生模型,并將其集成到他們的應用程序中。
Meta 將在 Llama 3.1 中推出一套大型語言模型(LLMs)以及一套信任和安全模型,以確保 LLM 響應的安全。
Meta 工程師在 NVIDIA H100 Tensor Core GPU 上訓練了 Llama 3。他們顯著優化了完整的訓練堆棧,并將模型訓練推向超過 16K H100 GPU,使 405B 成為第一個在這種規模下訓練的 Llama 模型。
我們很高興地宣布,Llama 3.1 集合已針對全球超過 1 億個 GPU 進行優化,涵蓋 NVIDIA 所有平臺,從數據中心到邊緣和 PC。
在 NVIDIA 加速計算平臺上加速 Llama 3.1
最新的 NVIDIA H200 Tensor Core GPU 運行 TensorRT-LLM,在 Llama 3.1-405B 上提供出色的推理性能。憑借 H200 GPU 的大 HBM3e 顯存容量,該模型可以舒適地安裝在單個配備八個 H200 GPU 的 HGX H200 中。第四代 NVLink 和第三代 NVSwitch 加速了大型模型(如 Llama 3.1-405B)的推理吞吐量,通過在服務器中的所有 GPU 之間提供比 PCIe 5.0 快七倍的高帶寬通信。
表 1 和表 2 顯示了在 8-GPU H200 系統上運行的 Llama 3.1-405B 在各種輸入和輸出序列長度下的最大吞吐量性能。
輸入 | 輸出序列長度 | 2048 | 128 | 32768 | 2048 | 120000 | 2048 |
輸出令牌/秒 | 399.9 | 230.8 | 49.6 |
NVIDIA 內部測量。輸出令牌/秒包括生成第一個令牌的時間。tok/s = 總生成令牌數 / 總延遲。DGX H200、TP8、FP8,批量大小調整以實現最大節點吞吐量,TensorRT-LLM 版本 0.12.0.dev2024072300。
除了最大吞吐量性能外,我們還使用相同的輸入和輸出序列長度顯示最小延遲性能。
輸入 | 輸出序列長度 | 2048 | 128 | 32768 | 2048 | 120000 | 2048 |
輸出令牌/秒 | 37.4 | 33.1 | 22.8 |
NVIDIA 內部測量。輸出令牌每秒包括生成第一個令牌的時間。tok/s = 總生成令牌數 / 總延遲。DGX H200、TP8、FP8,批量大小 = 1,TensorRT-LLM 版本 0.12.0.dev2024072300。
正如這些結果表明的那樣,H200 GPU 和 TensorRT-LLM 在發布時就已經在 Llama 3.1-405B 上提供了出色的性能,無論是在延遲優化還是吞吐量優化場景中。
使用 NVIDIA 軟件,在每一步都使用 Llama 3.1 進行構建
要在應用程序中采用 Llama,您需要具備以下功能:
- 能夠根據特定領域定制模型
- 支持嵌入模型,以實現檢索增強生成(RAG)應用
- 能夠評估模型準確性
- 保持對話主題和安全性的能力
- 優化的推理解決方案
借助此版本,NVIDIA 使您能夠使用 NVIDIA 軟件執行所有這些任務,以便更易于采用。
首先,高質量的數據集是訓練、自定義和評估語言模型的必要條件。然而,一些開發者發現很難獲取具有合適許可條款的高質量數據集。
NVIDIA 通過提供基于 Llama 3.1 構建的合成數據生成(SDG)流程來解決此問題,以幫助您創建自定義的高質量數據集。

借助 Llama 3.1-405B,您可以訪問先進的生成模型,該模型可在 SDG 流程中用作生成器。數據生成階段之后是 Nemotron-4 340B 獎勵模型,該模型用于評估數據質量,過濾掉分數較低的數據,并提供符合人類偏好的數據集。獎勵模型在 RewardBench 排行榜 上名列前茅,總分為 92.0。它在聊天困難子集方面表現出色,該子集測試模型處理技巧問題和指令響應中細微差別的能力。有關更多信息,請參閱 使用 Llama 3.1 405B 創建合成數據。
數據集準備就緒后,可以使用 NVIDIA NeMo 平臺對其進行進一步的策劃、定制和評估。
NVIDIA NeMo
要使用 Llama 3.1 構建自定義模型和應用,您可以使用 NVIDIA NeMo。NeMo 提供了一個端到端平臺,用于隨時隨地開發自定義生成式 AI。它使用高級并行技術來最大限度地提高 NVIDIA GPU 性能,跨多個節點和 GPU 管理 GPU 資源和內存。
使用此 開源 平臺完成以下任意或所有任務:
- 使用 NeMo Curator 整理數據,以便通過清理、刪除重復數據、過濾和分類數據集來編譯高質量數據,并提高自定義模型的性能NeMo Curator。
- 使用高效參數微調(PEFT)技術(如p-tuning、低階自適應(LoRA)及其量化版本(QLoRA))自定義模型,這些技術有助于在不需要大量計算能力的情況下創建自定義模型。
- 引導模型響應并根據人類偏好調整 Llama 3.1 模型,使模型隨時可以集成到面向客戶的應用中。NeMo 當前提供的支持包括以下內容:
- 使用現已處于早期訪問階段的 NeMo Evaluator 微服務簡化 LLM 評估。此微服務可以自動根據學術基準、自定義數據集進行評估,并以 LLM 作為判斷進行評估(在真值未定義的場景中很有用)。
- 將檢索增強生成(RAG) 檢索增強生成(RAG) 功能與 微服務集合 NeMo Retriever 結合使用,該微服務提供了-state-of-the-art、開放的商業數據檢索,具有高準確度和最大數據隱私。
- 借助NeMo Guardrails減輕幻境,您可以將可編程的防護 rails 添加到基于語言模型(LLM)的對話式應用中,從而確保可信性、安全性和可控性對話。它可以與其他防護 rails 和安全模型(例如Meta 的最新 Llama Guard)進行擴展。它還可以無縫集成到開發者工具中,包括LangChain 和LlamaIndex 等熱門框架。
通過 NVIDIA AI Foundry 使用這些工具和更多。
無處不在
Meta-Llama 3.1-8B 模型現在針對 NVIDIA GeForce RTX 個人電腦和 NVIDIA RTX 工作站上的推理進行了優化。
借助適用于 Windows 的 TensorRT 模型優化器,Llama 3.1-8B 模型通過 AWQ 訓練后量化(PTQ)方法量化為 INT4。這使得模型能夠適應 NVIDIA RTX GPU 上可用的 GPU 顯存,并通過減少內存帶寬瓶頸來提高性能。這些模型是NVIDIA TensorRT-LLM(我們的開源軟件,可加速 LLM 推理性能)原生支持的。
Llama 3.1-8B 模型還在 NVIDIA Jetson Orin 上針對機器人和邊緣計算設備進行了優化。
借助 Lama 3.1 實現出色性能
所有 Llama 3.1 模型均支持 128K 上下文長度,并可作為基礎和指令變體以 BF16 精度提供。
現在,這些模型還使用 TensorRT-LLM 進行加速。TensorRT-LLM 將模型編譯為 TensorRT 引擎,使用模式匹配和融合將模型層編譯為優化的 CUDA 內核,以最大限度地提高推理性能。然后,這些引擎由 TensorRT-LLM 運行時執行,其中包括多項 優化:
- 動態批處理
- KV 緩存
- 量化以支持低精度工作負載
TensorRT-LLM 通過 縮放旋轉位置嵌入 (RoPE) 技術 支持 128K 長上下文長度,包括 多 GPU 和多節點 推理的 Llama 3.1-405B 在 H100 上 BF16 精度級別模型,以及在 H200 上進行單節點推理。
支持 FP8 精度推理。在 NVIDIA Hopper 和 NVIDIA Ada GPU 上使用訓練后量化(PTQ)
對于 Llama 3.1-405B 模型,TensorRT-LLM 增加了對行級粒度級別的 FP8 量化支持。這涉及在執行前為每個輸出權重通道計算靜態縮放系數,以及在執行期間為每個令牌計算動態縮放系數,以保持最大準確性。
在 TensorRT 引擎構建過程中,無法自動發現一些復雜的層融合。TensorRT-LLM 使用在編譯時顯式插入到網絡圖形定義中的插件來優化這些內容,以替換用戶定義的內核,例如針對 Llama 3.1 模型的矩陣乘法運算來自 FBGEMM。
為便于使用和部署,TensorRT-Model-Optimizer 和 TensorRT-LLM 優化已捆綁到 NVIDIA NIM 推理微服務中。
NVIDIA NIM
現在,NVIDIA NIM 支持 Llama 3.1 進行生產部署。NIM 推理微服務可以加速生成式 AI 模型在 NVIDIA 加速的基礎設施(包括云、數據中心和工作站)中的部署。
NIM 支持動態 LoRA 適配器選擇,使您能夠使用單個基礎模型為多個用例提供服務。這通過多層緩存系統實現,該系統管理跨 GPU 和主機內存的適配器,并使用特殊的 GPU 內核進行加速,以便同時為多個用例提供服務。
后續步驟
借助 NVIDIA 加速計算平臺,您可以在任何平臺上使用 Llama 3.1 構建模型和應用,從數據中心到 NVIDIA RTX 和 NVIDIA Jetson。
NVIDIA 致力于推進、優化和推動開源軟件和模型的發展。了解更多關于 NVIDIA AI 平臺如何應用于生成式 AI 的信息。
?