重要提示

您正在查看 NeMo 2.0 文档。此版本对 API 和新库 NeMo Run 进行了重大更改。我们目前正在将 NeMo 1.0 中的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档

教程#

开始使用 NeMo 的最佳方式是从我们的教程之一开始。它们涵盖了各个领域,并提供了入门和高级主题。

这些教程可以从 NeMo 框架 Docker 容器内部运行。

大型语言模型#

数据管理#

探索使用 NeMo Curator 的数据管理技术示例

带链接的标题

描述

分布式数据分类

该笔记本展示了如何将 NeMo Curator 与两个不同的分类器一起使用:一个用于评估数据质量,另一个用于识别数据领域。集成这些分类器简化了注释过程,增强了多样化数据集的组合,这对于训练基础模型至关重要。

PEFT 管理

本教程演示了如何使用 NeMo Curator Python API 来管理用于参数高效微调 (PEFT) 的数据集。具体来说,它使用了 Enron 数据集,其中包含电子邮件以及分类标签。每个电子邮件条目都包括主题、正文和类别(类标签)。本教程展示了可以应用于每个记录的各种过滤和处理操作。

单节点数据管理管道

该笔记本提供了一个使用 NeMo Curator 的典型数据管理管道,以泰国维基百科数据集为例。它演示了如何使用 NeMo Curator 下载维基百科数据,使用 FastText 执行语言分离,应用基于 GPU 的精确和模糊去重,以及利用基于 CPU 的启发式过滤。

带有 Tinystories 的 NeMo Curator Python API

本教程展示了如何使用 NeMo Curator Python API 来管理 TinyStories 数据集。TinyStories 是一个由 GPT-3.5 和 GPT-4 生成的短篇故事数据集,其中包含 3 至 4 岁儿童理解的词汇。这个数据集的小尺寸使其成为创建和验证的理想选择。

使用合成数据生成 (SDG) 管理用于参数高效微调 (PEFT) 的数据集

本教程演示了如何使用 NeMo Curator Python API 进行数据管理,以及合成数据生成和定性评分分配,以准备用于 LLM 的 PEFT 的数据集。

用于领域自适应预训练 (DAPT) 的自定义分词

本笔记本介绍了 DAPT 所需的自定义分词工作流程,包括训练自定义分词器、数据集预处理和检查点嵌入表更改。

训练和自定义#

带链接的标题

描述

NeMo 2.0 API 快速入门

该示例展示了如何使用 NeMo 2.0 运行简单的训练循环。它使用了 NeMo 框架 LLM 集合中的 train API。

NeMo Run 预训练和 PEFT 快速入门

本教程介绍了如何使用 NeMo-Run 运行任何受支持的 NeMo 2.0 Recipes。它还采用了一个预训练和微调配方,并展示了如何在本地以及远程在基于 Slurm 的集群上运行它。

使用 NeMo Run 进行长上下文 LLM 训练

此示例演示了如何将 NeMo 2.0 Recipes 与 NeMo-Run 一起用于长上下文模型训练,以及扩展现有预训练模型的上下文长度。

使用 NeMo 2.0 进行 Llama 3 监督微调和参数高效微调

此示例展示了如何使用 NeMo 2.0 和 NeMo-Run 通过 SFT 和 LoRA 笔记本执行 Llama 3 监督微调和参数高效微调。

NeMo SlimPajama 数据管道和预训练教程

本教程提供了使用 NeMo 2.0 库预处理 SlimPajama 数据集和预训练基于 Llama 的模型的逐步说明。

使用 Llama2 7B 进行领域自适应预训练 (DAPT)

本教程演示了如何使用 NeMo-Run 通过 NeMo 2.0 Recipes 在 Llama2-7B 等预训练模型上执行 DAPT。

世界基础模型#

后训练#

探索使用世界基础模型的后训练技术示例

带链接的标题

描述

Cosmos 扩散模型

此示例展示了如何使用 NeMo 框架为您的自定义物理 AI 任务后训练基于 Cosmos 扩散的世界基础模型。

Cosmos 自回归模型

此示例展示了如何使用 NeMo 框架为您的自定义物理 AI 任务后训练基于 Cosmos 自回归的世界基础模型。

语音 AI#

大多数 NeMo 语音 AI 教程都可以在 Google 的 Colab 上运行。

在 Colab 上运行教程#

要运行教程

  1. 从下表中点击与您感兴趣的教程关联的 Colab 链接。

  2. 进入 Colab 后,通过点击 Runtime > Change runtime type 并选择 GPU 作为硬件加速器,连接到具有 GPU 的实例。

语音 AI 基础知识#

标题

GitHub / Colab URL

入门指南:NeMo 基础知识

NeMo 基础知识

入门指南:音频翻译器示例

音频翻译器示例

入门指南:语音交换示例

语音交换示例

入门指南:NeMo 模型

NeMo 模型

入门指南:NeMo 适配器

NeMo 适配器

入门指南:Hugging Face Hub 上的 NeMo 模型

HF Hub 上的 NeMo 模型

自动语音识别 (ASR) 教程#

标题

GitHub / Colab URL

使用 NeMo 进行 ASR

使用 NeMo 进行 ASR

使用子词分词进行 ASR

使用子词分词进行 ASR

离线 ASR

离线 ASR

在线 ASR 麦克风缓存感知流式传输

在线 ASR 麦克风缓存感知流式传输

在线 ASR 麦克风缓冲流式传输

在线 ASR 麦克风缓冲流式传输

ASR CTC 语言微调

ASR CTC 语言微调

Transducers 简介

Transducers 简介

使用 Transducers 进行 ASR

使用 Transducers 进行 ASR

使用适配器进行 ASR

使用适配器进行 ASR

语音命令

语音命令

在线离线麦克风语音命令

在线离线麦克风语音命令

语音活动检测

语音活动检测

在线离线麦克风 VAD

在线离线麦克风 VAD

说话人识别和验证

说话人识别和验证

说话人分离推理

说话人分离推理

带有说话人分离的 ASR

带有说话人分离的 ASR

在线噪声增强

在线噪声增强

用于电话语音的 ASR

用于电话语音的 ASR

流式推理

流式推理

缓冲 Transducer 推理

缓冲 Transducer 推理

带有 LCS 合并的缓冲 Transducer 推理

带有 LCS 合并的缓冲 Transducer 推理

用于 CTC 模型的带有 VAD 的离线 ASR

用于 CTC 模型的带有 VAD 的离线 ASR

用于 ASR 的自监督预训练

用于 ASR 的自监督预训练

多语言 ASR

多语言 ASR

混合 ASR-TTS 模型

混合 ASR-TTS 模型

ASR 置信度估计

ASR 置信度估计

基于置信度的集成

基于置信度的集成

文本到语音 (TTS) 教程#

标题

GitHub / Colab URL

基础和高级:NeMo TTS 入门

NeMo TTS 入门

基础和高级:TTS 语音/文本对齐器推理

TTS 语音/文本对齐器推理

基础和高级:FastPitch 和 MixerTTS 模型训练

FastPitch 和 MixerTTS 模型训练

基础和高级:FastPitch 微调

FastPitch 微调

基础和高级:用于德语的 FastPitch 和 HiFiGAN 模型训练

用于德语的 FastPitch 和 HiFiGAN 模型训练

基础和高级:Tacotron2 模型训练

Tacotron2 模型训练

基础和高级:FastPitch 持续时间和音调控制

FastPitch 持续时间和音调控制

基础和高级:FastPitch 说话人插值

FastPitch 说话人插值

基础和高级:TTS 推理和模型选择

TTS 推理和模型选择

基础和高级:TTS 发音自定义

TTS 发音自定义

工具和实用程序#

标题

GitHub / Colab URL

用于语音和文本的实用工具:NeMo 强制对齐器

NeMo 强制对齐器

用于语音和文本的实用工具:语音数据浏览器

语音数据浏览器

用于语音和文本的实用工具:CTC 分割

CTC 分割

文本处理 (TN/ITN) 教程#

标题

GitHub / Colab URL

文本规范化技术:文本规范化

文本规范化

文本规范化技术:使用 Thutmose Tagger 的逆文本规范化

使用 Thutmose Tagger 的逆文本规范化

文本规范化技术:WFST 教程

WFST 教程