目录

torchtune.modules

组件和构建块建模

因果自我注意

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

前馈

此类实现从 Llama2 派生的前馈网络。

KVCache

Standalone 包含 kv-cache,用于在推理期间缓存过去的 key 和值。nn.Module

get_cosine_schedule_with_warmup

创建一个学习率计划,在 num_warmup_steps 年内将学习率从 0.0 线性增加到 lr,然后在剩余的 num_training_steps-num_warmup_steps 中按余弦计划降低到 0.0(假设 num_cycles = 0.5)。

RotaryPositionalEmbeddings (旋转位置嵌入)

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

RMS数字

实施 https://arxiv.org/abs/1910.07467 中引入的均方根归一化。

TransformerDecoderLayer

从 Llama2 模型派生的变压器层。

TransformerDecoder (变压器解码器)

源自 Llama2 架构的 Transformer Decoder。

基础分词器

Base 分词器是执行文本直接编码的分词器模型 转换为令牌 ID 并将令牌 ID 解码为文本。这些通常是字节对 编码,这些编码是 特定于模型的分词器。

分词器。SentencePieceBaseTokenizer

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

分词器。TikTokenBaseTokenizer

tiktoken Encoding 的轻量级包装器。

Tokenizer 实用程序

这些是任何分词器都可以使用的帮助程序方法。

tokenizers.tokenize_messages_no_special_tokens

一次对消息列表进行标记化,然后将它们连接起来,返回标记列表和掩码列表。

tokenizers.parse_hf_tokenizer_json

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

PEFT 组件

佩夫特。LoRALinear

LoRA 线性层,如 LoRA:大型语言模型的低秩适应

佩夫特。适配器模块

nn.包含适配器权重的模块。

peft.get_adapter_params

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

peft.set_trainable_params

为 nn.基于适配器参数的状态字典的模块。

peft.validate_missing_and_unexpected_for_lora

一种更节省内存的方法,用于验证 LoRA state dict 加载是否已正确完成。

peft.validate_state_dict_for_lora

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

peft.disable_adapter

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

模块实用程序

这些是所有模块通用的实用程序,可供所有模块使用。

common_utils.reparametrize_as_dtype_state_dict_post_hook

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

损失

损失。DPOLoss

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

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源