欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 【笔记】Huggingface Transformers 库加载预训练模型的 4 种方式

【笔记】Huggingface Transformers 库加载预训练模型的 4 种方式

2025/2/21 3:57:13 来源:https://blog.csdn.net/m0_65708726/article/details/145700878  浏览:    关键词:【笔记】Huggingface Transformers 库加载预训练模型的 4 种方式

Transformers 库加载预训练模型的 4 种方式

Hugging Face Transformers 库提供了 4 种核心代码范式用于加载预训练大语言模型(LLM),具体分类如下:

  1. 通用模型加载(无任务头)
    使用 AutoModel 加载基础架构,适用于自定义下游任务:
from transformers import AutoModel, AutoTokenizer
# 加载纯Transformer架构
model = AutoModel.from_pretrained("Meta-Llama-3-8B-Instruct")  
tokenizer = AutoTokenizer.from_pretrained("Meta-Llama-3-8B-Instruct")

用途:获取隐藏状态(hidden states),用于自定义任务(如特征提取)。

这里的模型的输出就是隐藏状态,不包含最后的线性层转换为词表概率

  1. 任务专用加载(带预置任务头)
    通过 AutoModelFor[Task] 加载任务优化模型:
# 自回归生成(如GPT)
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Meta-Llama-3-8B-Instruct")# 序列分类
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")# 文本生成(如T5)
from transformers import AutoModelForSeq2SeqLM
model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-t5-large")

特点:自动附加任务相关输出层(如分类头、LM 头)

比如 AutoModelForCausalLM 就是 hidden states 后多加载一个线性层转换为词表的概率分布

  1. 自定义模型扩展
    继承 PreTrainedModel 并自定义前向逻辑,适配特殊需求:
from transformers import PretrainedModel, AutoConfigclass CustomModel(PretrainedModel):def __init__(self, config):super().__init__(config)self.llama = AutoModel.from_config(config)  # 加载预训练配置self.custom_layer = nn.Linear(config.hidden_size, 10)def forward(self, inputs):outputs = self.llama(**inputs)return self.custom_layer(outputs.last_hidden_state)config = AutoConfig.from_pretrained("Meta-Llama-3-8B-Instruct")
model = CustomModel(config)  # 可加载预训练权重

适用场景:修改模型结构或添加自定义模块

  1. 快速推理 Pipeline
    使用 pipeline API 一键加载模型和分词器:
from transformers import pipelinegenerator = pipeline("text-generation", model="Meta-Llama-3-8B-Instruct")
result = generator("DeepSeek-R1 is")

优势:自动处理预处理(tokenize)和后处理(decode)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词