1 from_pretrained
- 从预训练模型配置中实例化一个 PyTorch 预训练模型
- 默认情况下,模型使用
model.eval()
设置为评估模式(Dropout 模块被禁用)- 要训练模型,应该首先使用
model.train()
将其设置回训练模式
- 要训练模型,应该首先使用
1.1 主要参数
pretrained_model_name_or_path | 需要加载的模型,可以是:
|
from_tf | (bool, 可选,默认为 False) - 从 TensorFlow 检查点保存文件中加载模型权重 |
force_download | (bool, 可选,默认为 False) - 是否强制(重新)下载模型权重和配置文件,覆盖已存在的缓存版本 |
local_files_only | (bool, 可选,默认为 False) - 是否只查看本地文件(即,不尝试下载模型) |
1.1.1 大模型推理相关主要参数
torch_dtype | (str 或 torch.dtype, 可选) — 覆盖默认的 torch.dtype,并在特定的数据类型下加载模型
|
device_map |
|
quantization_config | huggingface 笔记:AutoTokenizer,AutoClass-CSDN博客 一个量化配置参数字典 |
1.2 举例
from transformers import LlamaModel
m=LlamaModel.from_pretrained('meta-llama/Meta-Llama-3-8B')
m
2 can_generate
- 该模型是否能够使用
.generate()
方法生成序列。 - 该函数返回一个布尔值,指示该模型是否支持使用
.generate()
方法来生成序列。 - 这通常用于判断某个模型是否具备生成文本的能力,例如语言模型或文本到文本的转换模型。
m.can_generate()
#False
3 get_input_embeddings
返回模型的输入嵌入,即将词汇映射到隐藏状态的 PyTorch 模块
m.get_input_embeddings()
#Embedding(128256, 4096)
4 get_memory_footprint
获取模型的内存占用(以字节为单位)
m.get_memory_footprint()
#30019706880
5 get_output_embeddings
返回模型的输出嵌入,即将隐藏状态映射到词汇的 PyTorch 模块
6 init_weights
初始化权重
7 resize_token_embeddings
resize_token_embeddings(new_num_tokens)
- 嵌入矩阵中的新令牌数量。
- 增加大小将在末尾添加新初始化的向量。
- 减少大小将从末尾移除向量。
- 如果未提供或为 None,则只返回指向模型的输入令牌
torch.nn.Embedding
模块的指针,不进行任何操作。
8 set_input_embeddings
set_input_embeddings(value: nn.Module)
自定义模型的输入嵌入层,通过提供一个新的 nn.Module
来替换默认的输入嵌入