mindformers.models.LlamaForCausalLM
- class mindformers.models.LlamaForCausalLM(config: LlamaConfig = None)[源代码]
在线计算并提供执行LLama训练时的损失值和逻辑值。
- 参数:
config (LlamaConfig) - LLama模型的配置。默认值:
None
。
- 输入:
input_ids (Tensor) - 数据类型为Int64/Int32的词汇表中输入序列标记的索引,张量的形状为:\((batch, seq\_length)\)。
labels (Tensor, 可选) - 数据类型为Int64/Int32的输入标签,张量的形状为:\((batch, seq\_length)\)。默认值:
None
。input_position (Tensor, 可选) - 输入的位置索引(在增量推理模式下)为数据类型为Int64/Int32的递增序列,张量的形状为:\((batch, seq\_length)\)。默认值:
None
。position_ids (Tensor, 可选) - 输入的位置id随数据类型呈递增序列Int64/Int32,张量的形状为:\((batch, seq\_length)\)。默认值:
None
。attention_mask (Tensor, 可选) - 输入句子填充掩码,其中0表示填充位置。数据类型Int64/Int32,张量的形状为:\((batch, seq\_length)\)。默认值:
None
。input_embeds (Tensor, 可选) - 数据类型Float32/Float16的输入嵌入。张量的形状为:\((batch, seq\_length, hidden_size)。默认值: \) 。
init_reset (Tensor, 可选) - 数据类型为Bool,表示是否清除增量推理中之前的键参数和值参数。仅当use_past为True时有效。关于use_past的定义可以参考[GenerationConfig]()。张量的形状为:\((1)\)。默认值:
Tensor([True])
。batch_valid_length (Tensor, 可选) - 数据类型为Int32,表示批次中每个序列已经计算过的长度。张量的形状为:\((batch_size)\)。默认值:
None
。block_tables (Tensor, 可选) - 数据类型为Int64,存储每个序列的映射表。默认值:
None
。slot_mapping (Tensor, 可选) - 数据类型为Int32,存储词元缓存的物理槽索引。默认值:
None
。
- 输出:
Tensor类型。如果是训练模式,输出的Tensor包含在线损失值;如果是推理模式,输出的Tensor包含逻辑值;如果是评测模式,输出的Tensor包含逻辑值、词元、输入掩码。
样例:
>>> from mindformers.models.llama import LlamaConfig, LlamaForCausalLM >>> import mindspore as ms >>> ms.set_context(mode=0) >>> config = LlamaConfig(batch_size=2) >>> network = LlamaForCausalLM(config=config) >>> type(network) <class 'mindformers.models.llama.llama.LlamaForCausalLM'> >>> from mindformers import LlamaForCausalLM >>> network = LlamaForCausalLM.from_pretrained('llama_7b') >>> type(network) <class 'mindformers.models.llama.llama.LlamaForCausalLM'>