快捷方式

torchtune.modules

模型组件和构建块

CausalSelfAttention

https://arxiv.org/abs/2305.13245v1 中介绍的多头分组查询自注意力 (GQA) 层。

FeedForward

此类实现源自 Llama2 的前馈网络。

KVCache

独立的 nn.Module,包含一个 kv 缓存,用于在推理过程中缓存过去的键和值。

get_cosine_schedule_with_warmup

创建一个学习率调度程序,该调度程序将学习率从 0.0 线性增加到 lr,持续 num_warmup_steps 步,然后在余弦调度程序上递减到 0.0,持续剩余的 num_training_steps-num_warmup_steps 步(假设 num_cycles = 0.5)。

RotaryPositionalEmbeddings

此类实现了在 https://arxiv.org/abs/2104.09864 中提出的旋转位置嵌入 (RoPE)。

RMSNorm

https://arxiv.org/abs/1910.07467 中介绍的根均方归一化的实现。

TransformerDecoderLayer

源自 Llama2 模型的 Transformer 层。

TransformerDecoder

源自 Llama2 架构的 Transformer 解码器。

基础词元化器

基础词元化器是词元化模型,执行将文本直接编码为词元 ID 以及将词元 ID 解码为文本的操作。这些通常是 字节对编码,是模型特定词元化器的基础。

tokenizers.SentencePieceBaseTokenizer

一个围绕 SentencePieceProcessor 的轻量级包装器,它还处理修剪前导空格。

tokenizers.TikTokenBaseTokenizer

一个围绕 tiktoken 编码的轻量级包装器。

词元化器实用程序

这些是任何词元化器都可以使用的辅助方法。

tokenizers.tokenize_messages_no_special_tokens

一次词元化一个消息列表,然后将它们连接起来,返回一个词元列表和一个掩码列表。

tokenizers.parse_hf_tokenizer_json

解析 Hugging Face 模型中的 tokenizer.json 文件以提取特殊词元 str 到 id 的映射。

PEFT 组件

peft.LoRALinear

LoRA:大型语言模型的低秩自适应 中介绍的 LoRA 线性层。

peft.AdapterModule

包含适配器权重的 nn.Module 的接口。

peft.get_adapter_params

返回模型中对应于适配器的参数子集。

peft.set_trainable_params

根据适配器参数的状态字典设置 nn.Module 的可训练参数。

peft.validate_missing_and_unexpected_for_lora

一种更节省内存的方式来验证 LoRA 状态字典加载是否正确完成。

peft.validate_state_dict_for_lora

验证 LoRA 模型的状态字典键是否符合预期。

peft.disable_adapter

暂时禁用神经网络模型中的适配器。

模块实用程序

这些是所有模块都共有的,并且所有模块都可以使用的实用程序。

common_utils.reparametrize_as_dtype_state_dict_post_hook

一个 state_dict 钩子,用其恢复的更高精度权重替换 NF4 张量,并可以选择将恢复的权重卸载到 CPU。

损失

loss.DPOLoss

直接偏好优化 (DPO) 损失模块:https://arxiv.org/abs/2305.18290.

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取适用于初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源