torchtune.modules¶
模型组件和构建块¶
多头分组查询自注意力(GQA)层,首次在https://arxiv.org/pdf/2305.13245v1.pdf中引入。 |
|
该类实现了源自 Llama2 的前馈网络。 |
|
独立的 nn.Module,包含一个 kv-cache 用于在推理过程中缓存过去的键和值。 |
|
创建一个学习率调度器,该调度器在 num_warmup_steps 步骤内将学习率从 0.0 线性增加到 lr,然后在剩余的 num_training_steps-num_warmup_steps 步骤内按照余弦调度将学习率减少到 0.0(假设 num_cycles = 0.5)。 |
|
该类实现了RoPE(旋转位置嵌入)提出的 https://arxiv.org/abs/2104.09864。 |
|
实现了在 https://arxiv.org/pdf/1910.07467.pdf 中引入的均方根归一化。 |
|
源自 Llama2 模型的 Transformer 层。 |
|
源自 Llama2 架构的 Transformer 解码器。 |
分词器¶
SentencePieceProcessor 的包装器。 |
|
tiktoken 编码的包装器。 |
PEFT 组件¶
LoRA线性层,如《LoRA: Low-Rank Adaptation of Large Language Models》中所介绍。 |
|
包含适配器权重的 nn.Module 接口。 |
|
返回模型中与适配器对应的参数子集。 |
|
基于适配器参数的状态字典,为 nn.Module 设置可训练参数。 |
模块工具¶
这些是通用工具,所有模块均可使用。
一个 state_dict 钩子,用于将 NF4 张量替换为其恢复的高精度权重,并可选择将恢复后的权重卸载到 CPU。 |