大型語言模型(LLM)正在革新數據科學領域,特別是在自然語言理解、AI 以及 機器學習 方面。針對特定領域的見解量身打造的自定義 LLM 在企業應用程序中的吸引力越來越大。
NVIDIA NeMo Megatron-3 8B 系列 基礎模型 是一款功能強大的新工具,用于構建生產就緒型 生成式 AI。從客戶服務 AI 聊天機器人到尖端 AI 產品,它在企業中促進創新的應用廣泛。
這些新的基礎模型 NVIDIA NeMo 端到端框架,用于構建、自定義和部署為企業量身打造的 LLM。企業現在可以使用這些工具快速、經濟高效地大規模開發 AI 應用程序。這些應用程序可以在云、數據中心以及 Windows 臺式機和筆記本電腦上運行。
Nemotron-3 8B 系列可在 Azure AI 模型目錄、HuggingFace 和 NVIDIA NGC 的 NVIDIA AI 基礎模型中心找到。它包括了一系列旨在解決各種下游任務的基礎模型、聊天模型和問答 (Q&A) 模型。表 1 展示了完整的基礎模型系列。
模型 | 變體 | 主要優勢 |
基礎 |
Nemotron-3-8B 堿基 | 支持自定義,包括針對適用于領域的 LLM 進行參數高效的微調和持續預訓練 |
聊天 |
Nemotron-3-8B 聊天 – SFT | 用于指令調整自定義模型 或用戶定義對齊(例如 RLHF 或 SteerLM 模型)的構建塊 |
Nemotron-3-8B 聊天 RLHF | 出色的開箱即用型聊天模型性能 | |
Nemotron-3-8B 聊天轉向 LM | 開箱即用的聊天模型,可在推理時靈活對齊 | |
問答 | Nemotron-3-8B-QA | 基于知識庫定制的問答 LLM |
設計用于生產的基礎模型
基礎模型是一個強大的構建塊,可減少構建有用的自定義應用程序所需的時間和資源。但是,組織必須確保這些模型滿足其企業需求。
NVIDIA AI 基礎模型基于負責任的來源數據集進行訓練,捕捉各種聲音和體驗。嚴格的監控可提供數據保真度,并符合不斷變化的法律規定。任何出現的數據問題都會得到迅速解決,確保企業配備的 AI 應用程序符合法律規范和用戶隱私。這些模型可以同化公開可用的數據集和專有數據集。
Nemotron-3 -8B 底座
Nemotron-3 -8B 基礎模型是一種緊湊的高性能模型,用于生成類似人類的文本或代碼。該模型的 MMLU 5 分平均值為 54.4.該基礎模型還滿足具有多語種功能的全球企業的需求,因為它精通 53 種語言,包括英語、德語、俄語、西班牙語、法語、日語、中文、意大利語和荷蘭語。該基礎模型還使用 37 種不同的編碼語言進行訓練。
Nemotron-3 -8B 聊天
在此套件中添加了 Nemotron-3-8B 聊天模型,這些模型面向由 LLM 提供支持的聊天機器人交互。有三個聊天模型版本,每個版本都設計為獨特的用戶特定調整:
- 監督式微調 (SFT)
- 從人類反饋中進行強化學習 (RLHF)
- NVIDIA SteerLM
Nemotron-3-8B-SFT 模型是指令調整的第一步,我們借此構建在 8B 類別(最受引用的聊天質量指標)中 MT-Bench 得分最高的 RLHF 模型。我們建議用戶從 8B-chat-RLHF 開始,以實現最佳的即時聊天交互,但對于有興趣以唯一方式符合最終用戶偏好的企業,我們建議在應用自己的 RLHF 時使用 SFT 模型。
最后,最新的比對方法 SteerLM 為在推理中訓練和自定義 LLM 提供了更高的靈活性。借助 SteerLM,用戶可以定義他們想要的所有屬性,并將其嵌入到單個模型中。然后,他們可以在模型運行時為給定用例選擇所需的組合。
此方法實現了持續的改進周期。來自自定義模型的響應可以作為未來訓練運行的數據,從而將模型的實用性提升到新的水平。
Nemotron-3-8B 問答
Nemotron-3-8B-QA 模型是一個問答 (QA) 模型,根據專注于目標用例的大量數據進行了微調。
Nemotron-3-8B-QA 模型提供了先進的性能,在 GPU 上實現了 41.99% 的零射擊 F1 分數 Natural Questions 數據集。此指標用于測量生成的答案與真值在 QA 中的接近程度。
Nemotron-3-8B-QA 模型已經過其他參數大小更大的先進語言模型的測試。此測試基于 NVIDIA 創建的數據集以及自然問題和 Doc2Dial 數據集進行。結果表明,此模型表現良好。
使用 NVIDIA NeMo 框架構建自定義 LLM
NVIDIA NeMo 通過為多個模型架構提供端到端功能和容器化方法,簡化了構建自定義企業生成式 AI 模型的路徑。借助 Nemotron-3 -8B 模型系列,開發者可以訪問 NVIDIA 的預訓練模型,這些模型可以輕松適應其特定用例。
快速模型部署
使用 NeMo 框架時,無需收集數據或設置基礎設施。NeMo 簡化了流程。開發者可以自定義現有模型,并快速將其部署到生產環境中。
最佳模型性能
此外,它還與 NVIDIA TensorRT-LLM 開源庫無縫集成,可優化模型性能,NVIDIA Triton 推理服務器 加速推理服務過程。這種工具組合可實現出色的準確性、低延遲和高吞吐量。
數據隱私和安全
NeMo 支持安全、高效且符合安全和保密法規的大規模部署。例如,如果數據隱私是您企業的主要關注點,您可以使用 NeMo 護欄 來在不犧牲性能或可靠性的前提下安全地存儲客戶數據。
總體而言,使用 NeMo 框架構建自定義 LLM 是在不犧牲質量或安全標準的情況下快速創建企業 AI 應用的有效方式。它為開發者提供了自定義方面的靈活性,同時提供了大規模快速部署所需的可靠工具。
Nemotron-3 -8B 入門
您可以在 Nemotron-3 -8B 模型上輕松運行推理,通過使用 NeMo 框架,它利用了 TensorRT-LLM,這是一個開源庫,可提供高級優化,以便在 NVIDIA GPU 上輕松高效地進行 LLM 推理。它內置了對各種優化技術的支持,包括:
- KV 緩存
- 高效 Attention 模塊(包括 MQA、GQA 和 Paged Attention)
- 動態(或連續)批處理
- 支持低精度 (INT8/FP8) 量化等其他優化。
NeMo 框架推理容器包含所有必要的腳本和依賴項,以便在 NeMo 模型(例如 Nemotron-3 -8B 系列)上應用 TensorRT-LLM 優化,并使用 Triton 推理服務器托管這些模型。通過部署,它可以顯示您可以向其發送推理查詢的端點。
預備知識
要按照說明進行部署和推理,您需要訪問:
- NVIDIA 數據中心 GPU:至少 (1) A100 – 40 GB/80 GB,(2) H100 – 80 GB,或 (3) L40S.
- NVIDIA NeMo 框架:提供訓練和推理容器,助您自定義或部署 Nemotron-3 -8B 系列模型。
在 Azure ML 上部署的步驟
Nemotron-3 -8B 系列中的模型可在 Azure ML 模型目錄中獲取,以便在 Azure ML 管理的端點中進行部署。AzureML 提供易于使用的“無代碼部署”流帽,因此可以輕松部署 Nemotron – 3 – 8B 系列模型。平臺內集成了底層管道,即 NeMo 框架推理容器。

要在 Azure ML 上部署 NVIDIA 基礎模型以進行推理,請執行以下步驟:
- 登錄您的 Azure 賬戶:https://portal.azure.com/#home
- 前往 Azure ML 機器學習工作室
- 選擇您的工作空間并導航至模型目錄
NVIDIA AI 基礎模型可用于在 Azure 上進行微調、評估和部署。可以使用 NeMo 訓練框架在 Azure ML 中完成模型自定義。由訓練和推理容器組成的 NeMo 框架已集成在 AzureML 中。
如要微調基礎模型,請選擇您喜歡的模型變體,單擊`fine-tune`(微調),然后填寫任務類型、自定義訓練數據、訓練和驗證分割以及計算集群等參數。
要部署模型,請選擇您喜歡的模型變體,單擊“Real-time endpoint”(實時端點),然后選擇實例、端點和其他參數以自定義部署。單擊“Deploy”(部署)將推理模型部署到端點。
Azure CLI 和 SDK 的支持也可用于在 Azure ML 上運行微調作業和部署。有關更多信息,請參閱 Azure ML 中的基礎模型 文檔。
在本地或其他云上部署的步驟
Nemotron-3 -8B 系列中的模型具有獨特的推理請求提示模板,推薦將其作為最佳實踐,但它們的部署說明相似,因為它們共享相同的基礎架構。
要獲取使用 NeMo 框架推理容器的最新部署說明,請參閱NVIDIA NGC。為了演示,我們將部署 Nemotron-3-8B-Base-4k。
- 登錄 NGC 目錄,然后獲取推理容器。
# log in to your NGC organization
docker login nvcr.io
# Fetch the NeMo framework inference container
docker pull nvcr.io/ea-bignlp/ga-participants/nemofw-inference:23.10
- 下載 Nemotron-3 -8B-Base-4k 模型。8B 系列模型可在 NGC 目錄 以及 Hugging Face 上找到。您可以從這兩個平臺中任選其一下載模型。
NVIDIA NGC
使用 CLI 是從 NGC 下載模型的最簡單方法。如果您還沒有安裝 NGC CLI,請根據入門指南進行安裝和配置。
# Downloading using CLI. The model path can be obtained from it’s page on NGC
ngc registry model download-version "dztrnjtldi02/nemotron-3-8b-base-4k:1.0"
擁抱面部識別技術
以下命令使用 git-lfs,但您也可以通過 Hugging Face 支持的方法 下載模型。
git lfs install
git clone https://huggingface.co/nvidia/nemotron-3-8b-base-4knemotron-3-8b-base-4k_v1.0
- 以交互模式運行 NeMo 推理容器,并安裝相關路徑
# Create a folder to cache the built TRT engines. This is recommended so they don’t have to be built on every deployment call.
mkdir -p trt-cache
# Run the container, mounting the checkpoint and the cache directory
docker run --rm --net=host \
--gpus=all \
-v $(pwd)/nemotron-3-8b-base-4k_v1.0:/opt/checkpoints/ \
-v $(pwd)/trt-cache:/trt-cache \
-w /opt/NeMo \
-it nvcr.io/ea-bignlp/ga-participants/nemofw-inference:23.10 bash
4.在具有 TensorRT-LLM 后端的 Triton 推理服務器上轉換和部署模型。
python scripts/deploy/deploy_triton.py \
--nemo_checkpoint /opt/checkpoints/Nemotron-3-8B-Base-4k.nemo \
--model_type="gptnext" \
--triton_model_name Nemotron-3-8B-4K \
--triton_model_repository /trt-cache/ \
--max_input_len 3000 \
--max_output_len 1000 \
--max_batch_size 2
成功完成此命令后,它會顯示您可以查詢的端點。我們來看看如何做到這一點。
運行推理的步驟
根據您想要的服務集成方式,有幾個可用于運行推理的選項:
- 通過 NeMo 框架推理容器 使用 NeMo 客戶端 API
- 使用 PyTriton 在您的環境中創建客戶端應用
- 使用任何可以發送 HTTP 請求的庫/工具,因為部署的服務會公開 HTTP 端點。
以下是使用 NeMo 客戶端 API 的選項 1 示例。您可以在同一臺機器上的 NeMo 框架推理容器中使用它,也可以在訪問服務 IP 和端口的其他機器上使用它。
from nemo.deploy import NemoQuery
# In this case, we run inference on the same machine
nq = NemoQuery(url="localhost:8000", model_name="Nemotron-3-8B-4K")
output = nq.query_llm(prompts=["The meaning of life is"], max_output_token=200, top_k=1, top_p=0.0, temperature=0.1)
print(output)
您可以在README中找到其他示例推理容器的信息。
這促使了 80 億個模型系列
NVIDIA Nemotron-3 -8B 系列中的模型所有 NVIDIA Nemotron – 3 – 8B 數據集都有一個共同的預訓練基礎。但是,用于調整聊天的數據集(SFT、RLHF、SteerLM)和 QA 模型都是針對其特定目的而定制的。此外,構建這些模型采用不同的訓練方法。因此,這些模型在遵循類似于其訓練方式的模板的定制提示下最為有效。
這些模型的推薦提示模板可在其各自的模型卡上找到。
例如,以下是適用于 Nemotron-3 -8B-Chat-SFT 和 Nemotron – 3 – 8B – Chat-RLHF 模型的單圈和多圈格式:
Nemotron-3 -8B-Chat-SFT 和 Nemotron – 3 – 8B – Chat-RLHF | |
一次性提示 | 多圈或幾次射擊 |
<extra_id_0>System <extra_id_1>User{prompt}<extra_id_1>Assistant |
<extra_id_0>System <extra_id_1>User{prompt 1}<extra_id_1>Assistant{response 1}<extra_id_1>User{prompt 2}<extra_id_1>Assistant{response 2}...<extra_id_1>User{prompt N}<extra_id_1>Assistant |
prompt 和 response 字段對應輸入的去向。以下是使用一次性模板格式化輸入的示例。
PROMPT_TEMPLATE = """<extra_id_0>System
{system}
<extra_id_1>User
{prompt}
<extra_id_1>Assistant
"""
system = ""
prompt = "Write a poem on NVIDIA in the style of Shakespeare"
prompt = PROMPT_TEMPLATE.format(prompt=prompt, system=system)
print(prompt)
注意:對于 Nemotron-3 -8B-Chat-SFT 和 Nemotron – 3 – 8B – Chat-RLHF 型號,我們建議將系統提示保留為空。
進一步訓練和自定義
NVIDIA NeMo Megatron-3 -8B 模型系列適合針對特定領域的數據集進行進一步定制。為此,我們提供多種選項,例如從檢查點繼續進行預訓練、SFT 或參數高效微調、使用 RLHF 對人類演示進行比對,或使用來自 NVIDIA 的新技術 SteerLM。
NeMo 框架訓練容器中包含了易于使用的腳本,這些腳本整合了上述技術。我們還提供了數據管理工具,幫助識別用于訓練和推理的最佳超參數,并支持在您選擇的本地硬件上運行 NeMo 框架,包括 DGX 云、支持 Kubernetes 的平臺,或各種 云服務提供商。
欲了解更多信息,請參閱NeMo 框架用戶指南或查看相關容器的README文件。
Nemotron-3 -8B 系列模型專為各種用例而設計,不僅在各種基準測試中表現出色,而且還能夠支持多種語言。
嘗試一下并在評論中分享您的想法。
?