自然语言处理阅读第三弹

2023-12-22 23:19:37

LLM微调

三种方法

  • Prefix-Tuning/Prompt-Tuning:在模型的输入或隐层添加k个额外可训练的前缀tokens(这些前缀是连续的伪tokens,不对应真实的tokens),只训练这些前缀参数;
    • Prefix-tuning: 对于每个任务,都有一个特定的前缀被添加到输入序列的开始部分。这些前缀相当于任务特定的提示,可以是一组固定的词或是可训练的嵌入向量。同时,为了防止直接更新Prefix的参数导致训练不稳定和性能下降的情况,在Prefix层前面加了MLP结构,训练完成后,只保留Prefix的参数。Prefix-tuning形式为 [PREFIX; x; y]。

      class PrefixEncoder(torch.nn.Module):
              ......
              if self.prefix_projection and not config.inference_mode:
                  # Use a two-layer MLP to encode the prefix
                  self.embedding = torch.nn.Embedding(num_virtual_tokens, token_dim)
                  self.transform 

文章来源:https://blog.csdn.net/u013308709/article/details/135117401
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。