Transformers 文档

Helium

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

该模型于 2025-01-13 发布,并于 2025-01-13 添加到 Hugging Face Transformers。

Helium

PyTorch FlashAttention SDPA

概述

Helium 由 Kyutai 团队在 Announcing Helium-1 Preview 中提出。

Helium-1 preview 是一个轻量级语言模型,拥有 20 亿参数,面向边缘和移动设备。它支持以下语言:英语、法语、德语、意大利语、葡萄牙语、西班牙语。

  • 开发: Kyutai
  • 模型类型:大型语言模型
  • 语言 (NLP):英语、法语、德语、意大利语、葡萄牙语、西班牙语
  • 许可: CC-BY 4.0

评估

测试数据

该模型在 MMLU、TriviaQA、NaturalQuestions、ARC Easy & Challenge、Open Book QA、Common Sense QA、Physical Interaction QA、Social Interaction QA、HellaSwag、WinoGrande、Multilingual Knowledge QA、FLORES 200 上进行了评估。

指标

我们报告了 MMLU、ARC、OBQA、CSQA、PIQA、SIQA、HellaSwag、WinoGrande 的准确率。我们报告了 TriviaQA、NQ 和 MKQA 的精确匹配率。我们报告了 FLORES 的 BLEU 值。

英语结果

基准测试 Helium-1 预览版 HF SmolLM2 (17 亿参数) Gemma-2 (26 亿参数) Llama-3.2 (30 亿参数) Qwen2.5 (15 亿参数)
MMLU 51.2 50.4 53.1 56.6 61.0
NQ 17.3 15.1 17.7 22.0 13.1
TQA 47.9 45.4 49.9 53.6 35.9
ARC E 80.9 81.8 81.1 84.6 89.7
ARC C 62.7 64.7 66.0 69.0 77.2
OBQA 63.8 61.4 64.6 68.4 73.8
CSQA 65.6 59.0 64.4 65.4 72.4
PIQA 77.4 77.7 79.8 78.9 76.0
SIQA 64.4 57.5 61.9 63.8 68.7
HS 69.7 73.2 74.7 76.9 67.5
WG 66.5 65.6 71.2 72.0 64.8
平均分 60.7 59.3 62.2 64.7 63.6

多语言结果

语言 基准测试 Helium-1 预览版 HF SmolLM2 (17 亿参数) Gemma-2 (26 亿参数) Llama-3.2 (30 亿参数) Qwen2.5 (15 亿参数)
德语 MMLU 45.6 35.3 45.0 47.5 49.5
ARC C 56.7 38.4 54.7 58.3 60.2
HS 53.5 33.9 53.4 53.7 42.8
MKQA 16.1 7.1 18.9 20.2 10.4
西班牙语 MMLU 46.5 38.9 46.2 49.6 52.8
ARC C 58.3 43.2 58.8 60.0 68.1
HS 58.6 40.8 60.5 61.1 51.4
MKQA 16.0 7.9 18.5 20.6 10.6

技术规格

模型架构和目标

超参数
层数 24
20
模型维度 2560
MLP 维度 7040
上下文大小 4096
RoPE Theta 100,000

技巧

使用技巧

您可以在 Huggingface Hub 上找到 Helium

接下来,我们将演示如何使用 helium-1-preview 进行推理。

>>> from transformers import AutoModelForCausalLM, AutoTokenizer

>>> model = AutoModelForCausalLM.from_pretrained("kyutai/helium-1-preview-2b", device_map="auto")
>>> tokenizer = AutoTokenizer.from_pretrained("kyutai/helium-1-preview-2b")

>>> prompt = "Give me a short introduction to large language model."

>>> model_inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

>>> generated_ids = model.generate(model_inputs.input_ids, max_new_tokens=512, do_sample=True)

>>> generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]

>>> response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

HeliumConfig

class transformers.HeliumConfig

< >

( vocab_size: int | None = 48000 hidden_size: int | None = 2560 intermediate_size: int | None = 7040 num_hidden_layers: int | None = 24 num_attention_heads: int | None = 20 num_key_value_heads: int | None = 20 head_dim: int | None = 128 hidden_act: str | None = 'silu' attention_dropout: float | None = 0.0 max_position_embeddings: int | None = 4096 initializer_range: float | None = 0.02 rms_norm_eps: int | None = 1e-08 use_cache: bool | None = True tie_word_embeddings: bool | None = False rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict[str, transformers.modeling_rope_utils.RopeParameters] | None = None pad_token_id: int | None = 3 eos_token_id: int | None = 2 bos_token_id: int | None = 1 attention_bias: bool | None = False mlp_bias: bool | None = False **kwargs )

参数

  • vocab_size (int, optional, defaults to 48000) — Helium 模型词汇量。定义了在调用 HeliumModel 时传入的 inputs_ids 可以表示的不同 token 的数量。
  • hidden_size (int, optional, defaults to 2560) — 隐藏表示的维度。
  • intermediate_size (int, optional, defaults to 7040) — MLP 表示的维度。
  • num_hidden_layers (int, optional, defaults to 24) — Transformer 解码器中的隐藏层数量。
  • num_attention_heads (int, optional, defaults to 20) — Transformer 解码器中每个注意力层的注意力头数量。
  • num_key_value_heads (int, optional, defaults to 20) — 这是实现分组查询注意力所需的 key_value 头数。如果 num_key_value_heads=num_attention_heads,模型将使用多头注意力 (MHA),如果 num_key_value_heads=1,模型将使用多查询注意力 (MQA),否则使用 GQA。在将多头检查点转换为 GQA 检查点时,每个组的 key 和 value 头应通过对该组内的所有原始头进行均值池化来构建。更多详情,请参阅 此论文。如果未指定,则默认为 num_attention_heads
  • head_dim (int, optional, defaults to 128) — 注意力头的维度。
  • hidden_act (str or function, optional, defaults to "silu") — 遗留的激活函数。它将被 hidden_activation 覆盖。
  • attention_dropout (float, optional, defaults to 0.0) — 注意力概率的 dropout 率。
  • max_position_embeddings (int, optional, defaults to 4096) — 此模型可能使用的最大序列长度。
  • initializer_range (float, optional, defaults to 0.02) — 初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
  • rms_norm_eps (float, optional, defaults to 1e-08) — rms 归一化层使用的 epsilon。
  • use_cache (bool, optional, defaults to True) — 模型是否应返回最后一个 key/value 注意力(并非所有模型都使用)。仅在 config.is_decoder=True 时有效。
  • tie_word_embeddings (bool, optional, defaults to False) — 是否绑定词嵌入。
  • rope_parameters (RopeParameters, optional) — 包含 RoPE 嵌入配置参数的字典。该字典应包含 rope_theta 的值,以及用于扩展的参数(如果您想使用更长的 max_position_embeddings 的 RoPE)。
  • pad_token_id (int, optional, defaults to 3) — 填充 token ID。
  • eos_token_id (int | list, optional, defaults to 2) — 流结束符 ID。
  • bos_token_id (int, optional, defaults to 1) — 流开始符 ID。
  • attention_bias (bool, optional, defaults to False) — 是否在自注意力机制的查询、键、值和输出投影层中使用偏置。
  • mlp_bias (bool, optional, defaults to False) — 是否在 MLP 层中的 up_proj, down_proj 和 gate_proj 层中使用偏置。

这是存储 HeliumModel 配置的配置类。它用于根据指定的参数实例化一个 Helium 模型,定义模型的架构。使用默认值实例化一个配置将产生一个与 Helium 2b 模型类似的配置。例如:kyutai/helium-2b 配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请阅读 PreTrainedConfig 的文档。

>>> from transformers import HeliumModel, HeliumConfig
>>> # Initializing a Helium 2b style configuration
>>> configuration = HeliumConfig()
>>> # Initializing a model from the Helium 2b style configuration
>>> model = HeliumModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

HeliumModel

class transformers.HeliumModel

< >

( config: HeliumConfig )

参数

  • config (HeliumConfig) — 模型的配置类,包含模型的所有参数。使用配置文件初始化不会加载与模型相关的权重,仅加载配置。请查看 from_pretrained() 方法来加载模型权重。

输出原始隐藏状态的裸 Helium 模型,不带任何特定头部。

此模型继承自 PreTrainedModel。查看其父类文档,了解库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、修剪头等)。

此模型也是一个 PyTorch torch.nn.Module 子类。像普通的 PyTorch Module 一样使用它,并参考 PyTorch 文档了解一般用法和行为的所有相关信息。

forward

< >

( input_ids: torch.LongTensor | None = None attention_mask: torch.Tensor | None = None position_ids: torch.LongTensor | None = None past_key_values: transformers.cache_utils.Cache | None = None inputs_embeds: torch.FloatTensor | None = None cache_position: torch.LongTensor | None = None use_cache: bool | None = None **kwargs: typing_extensions.Unpack[transformers.utils.generic.TransformersKwargs] ) transformers.modeling_outputs.BaseModelOutputWithPasttuple(torch.FloatTensor)

参数

  • input_ids (torch.LongTensor, shape (batch_size, sequence_length), optional) — 词汇表中输入序列 token 的索引。默认情况下将忽略填充。

    可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什么是输入 ID?

  • attention_mask (torch.Tensor, shape (batch_size, sequence_length), optional) — 用于避免对填充 token 索引执行注意力的掩码。掩码值选择在 [0, 1] 中:

    • 1 表示未掩码的 token,
    • 0 表示已掩码的 token。

    什么是注意力掩码?

  • position_ids (torch.LongTensor, shape (batch_size, sequence_length), optional) — 位置嵌入中每个输入序列 token 的位置索引。选择在范围 [0, config.n_positions - 1] 内。

    什么是位置 ID?

  • past_key_values (~cache_utils.Cache, optional) — 预计算的隐藏状态(自注意力块和交叉注意力块中的键和值),可用于加速顺序解码。这通常由前一阶段解码的模型返回的 past_key_values 组成,当 use_cache=Trueconfig.use_cache=True 时。

    只允许使用 Cache 实例,请参阅我们的 kv cache 指南。如果未传入 past_key_values,则默认初始化 DynamicCache

    模型将输出与输入相同的缓存格式。

    如果使用 past_key_values,用户应只输入未处理的 input_ids(其 past key value 状态未提供给此模型)而不是所有 input_ids

  • inputs_embeds (torch.FloatTensor, shape (batch_size, sequence_length, hidden_size), optional) — 可选地,您可以选择直接传递嵌入表示,而不是传递 input_ids。如果您想更好地控制如何将 input_ids 索引转换为相关的向量,而不是通过模型的内部嵌入查找矩阵,这将非常有用。
  • cache_position (torch.LongTensor, shape (sequence_length), optional) — 描绘输入序列 token 在序列中位置的索引。与 position_ids 不同,此张量不受填充的影响。它用于在正确位置更新缓存并推断完整的序列长度。
  • use_cache (bool, optional) — 如果设置为 True,则返回 past_key_values 键值状态,可用于加速解码(参见 past_key_values)。

返回

transformers.modeling_outputs.BaseModelOutputWithPast or tuple(torch.FloatTensor)

根据配置(HeliumConfig)和输入,一个 transformers.modeling_outputs.BaseModelOutputWithPast 或一个 torch.FloatTensor 元组(如果传递了 return_dict=False 或当 config.return_dict=False 时)包含各种元素。

  • last_hidden_state (torch.FloatTensor, 形状为 (batch_size, sequence_length, hidden_size)) — 模型最后一层输出的隐藏状态序列。

    如果使用了 past_key_values,则只输出形状为 (batch_size, 1, hidden_size) 的序列的最后一个隐藏状态。

  • past_key_values (Cache, optional, 当传递 use_cache=True 或当 config.use_cache=True 时返回) — 它是 Cache 实例。更多详情,请参阅我们的 kv cache 指南

    Contains pre-computed hidden-states (key and values in the self-attention blocks and optionally if config.is_encoder_decoder=True in the cross-attention blocks) that can be used (see past_key_values input) to speed up sequential decoding.

  • hidden_states (tuple(torch.FloatTensor), optional, 当传递 output_hidden_states=True 或当 config.output_hidden_states=True 时返回) — torch.FloatTensor 的元组(一个用于嵌入层的输出,如果模型有嵌入层;+一个用于每个层的输出),形状为 (batch_size, sequence_length, hidden_size)

    模型在每个层输出的隐藏状态以及可选的初始嵌入输出。

  • attentions (tuple(torch.FloatTensor), optional, 当传递 output_attentions=True 或当 config.output_attentions=True 时返回) — torch.FloatTensor 的元组(每个层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。

覆盖 __call__ 特殊方法的 HeliumModel 前向方法。

虽然 forward pass 的实现需要在此函数中定义,但你应该在之后调用 Module 实例而不是这个,因为前者负责运行预处理和后处理步骤,而后者会静默地忽略它们。

HeliumForCausalLM

class transformers.HeliumForCausalLM

< >

( config model_args: ~utils.generic.ModelArgs | None = None adapter_args: ~utils.generic.AdapterArgs | None = None lora_args: ~utils.generic.LoRAArgs | None = None tokenizer_args: ~utils.generic.TokenizerArgs | None = None dataset_args: ~utils.generic.DatasetArgs | None = None data_args: ~utils.generic.DataArgs | None = None training_args: ~utils.generic.TrainingArgs | None = None generation_args: ~utils.generic.GenerationArgs | None = None vision_tower_args: ~utils.generic.VisionTowerArgs | None = None qlora_args: ~utils.generic.QLoRAArgs | None = None vision_tower_template_args: ~utils.generic.VisionTowerTemplateArgs | None = None video_tower_args: ~utils.generic.VideoTowerArgs | None = None vision_config: ~utils.generic.VisionConfig | None = None video_config: ~utils.generic.VideoConfig | None = None load_dataset: bool | None = None load_data_collator: bool | None = None load_processor: bool | None = None load_lora_adapter: bool | None = None load_adapter: bool | None = None load_qlora_adapter: bool | None = None **kwargs: typing_extensions.Unpack[transformers.modeling_utils.PreTrainedModelKwargs] )

参数

  • config (HeliumForCausalLM) — 模型的配置类,包含模型的所有参数。使用配置文件初始化不会加载与模型相关的权重,仅加载配置。请查看 from_pretrained() 方法来加载模型权重。

用于因果语言建模的 Helium 模型。

此模型继承自 PreTrainedModel。查看其父类文档,了解库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、修剪头等)。

此模型也是一个 PyTorch torch.nn.Module 子类。像普通的 PyTorch Module 一样使用它,并参考 PyTorch 文档了解一般用法和行为的所有相关信息。

forward

< >

( input_ids: torch.LongTensor | None = None attention_mask: torch.Tensor | None = None position_ids: torch.LongTensor | None = None past_key_values: transformers.cache_utils.Cache | None = None inputs_embeds: torch.FloatTensor | None = None labels: torch.LongTensor | None = None use_cache: bool | None = None cache_position: torch.LongTensor | None = None logits_to_keep: int | torch.Tensor = 0 **kwargs: typing_extensions.Unpack[transformers.utils.generic.TransformersKwargs] ) transformers.modeling_outputs.CausalLMOutputWithPasttuple(torch.FloatTensor)

参数

  • input_ids (torch.LongTensor, shape (batch_size, sequence_length), optional) — 词汇表中输入序列 token 的索引。默认情况下将忽略填充。

    可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什么是输入 ID?

  • attention_mask (torch.Tensor, 形状为 (batch_size, sequence_length), 可选) — 用于避免对填充标记索引执行注意力计算的掩码。掩码值选择自 [0, 1]

    • 1 表示未掩码的标记,
    • 0 表示已掩码的标记。

    什么是注意力掩码?

  • position_ids (torch.LongTensor, 形状为 (batch_size, sequence_length), 可选) — 输入序列标记在位置嵌入中的位置索引。选择范围为 [0, config.n_positions - 1]

    什么是位置 ID?

  • past_key_values (~cache_utils.Cache, 可选) — 可以用于加速顺序解码的预计算隐藏状态(自注意力块和交叉注意力块中的键和值)。这通常是当 use_cache=Trueconfig.use_cache=True 时,模型在解码的早期阶段返回的 past_key_values

    输入仅允许 Cache 实例,请参阅我们的 kv 缓存指南。如果未传入 past_key_values,则默认会初始化 DynamicCache

    模型将输出与输入相同的缓存格式。

    如果使用 past_key_values,用户应仅输入未处理的 input_ids(即未将过去键值状态传递给此模型的那些),形状为 (batch_size, unprocessed_length),而不是所有 input_ids,形状为 (batch_size, sequence_length)

  • inputs_embeds (torch.FloatTensor, 形状为 (batch_size, sequence_length, hidden_size), 可选) — 可选地,您可以直接传入嵌入表示,而不是 input_ids。如果您希望对如何将 input_ids 索引转换为相关向量拥有比模型内部嵌入查找矩阵更多的控制权,则此选项很有用。
  • labels (torch.LongTensor, 形状为 (batch_size, sequence_length), 可选) — 用于计算掩码语言模型损失的标签。索引应为 [0, ..., config.vocab_size] 或 -100(请参阅 input_ids 文档字符串)。索引设置为 -100 的标记将被忽略(掩码),损失仅为具有 [0, ..., config.vocab_size] 标签的标记计算。
  • use_cache (bool, 可选) — 如果设置为 True,则返回 past_key_values 键值状态,并可用于加速解码(请参阅 past_key_values)。
  • cache_position (torch.LongTensor, 形状为 (sequence_length), 可选) — 指示输入序列标记在序列中位置的索引。与 position_ids 不同,此张量不受填充影响。它用于在正确位置更新缓存并推断完整的序列长度。
  • logits_to_keep (Union[int, torch.Tensor], 可选, 默认为 0) — 如果是 int,则计算最后 logits_to_keep 个标记的 logits。如果为 0,则计算所有 input_ids 的 logits(特殊情况)。生成只需要最后一个标记的 logits,并且仅为该标记计算它们可以节省内存,这对于长序列或大词汇量来说非常显著。如果是 torch.Tensor,则必须是 1D 的,对应于序列长度维度中要保留的索引。当使用打包张量格式(批次和序列长度的单维)时,此选项很有用。

返回

transformers.modeling_outputs.CausalLMOutputWithPast or tuple(torch.FloatTensor)

一个 transformers.modeling_outputs.CausalLMOutputWithPast 或一个 torch.FloatTensor 的元组(如果传递了 return_dict=False 或当 config.return_dict=False 时),其中包含各种元素,具体取决于配置(HeliumConfig)和输入。

  • loss (torch.FloatTensor 形状为 (1,)可选,当提供 labels 时返回) — 语言建模损失(用于下一个 token 预测)。

  • logits (形状为 (batch_size, sequence_length, config.vocab_size)torch.FloatTensor) — 语言建模头部的预测分数(SoftMax 之前的每个词汇标记的分数)。

  • past_key_values (Cache, optional, 当传递 use_cache=True 或当 config.use_cache=True 时返回) — 它是 Cache 实例。更多详情,请参阅我们的 kv cache 指南

    包含预计算的隐藏状态(自注意力块中的键和值),可用于(参见 past_key_values 输入)加速顺序解码。

  • hidden_states (tuple(torch.FloatTensor), optional, 当传递 output_hidden_states=True 或当 config.output_hidden_states=True 时返回) — torch.FloatTensor 的元组(一个用于嵌入层的输出,如果模型有嵌入层;+一个用于每个层的输出),形状为 (batch_size, sequence_length, hidden_size)

    模型在每个层输出的隐藏状态以及可选的初始嵌入输出。

  • attentions (tuple(torch.FloatTensor), optional, 当传递 output_attentions=True 或当 config.output_attentions=True 时返回) — torch.FloatTensor 的元组(每个层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。

HeliumForCausalLM 的 forward 方法重写了 __call__ 特殊方法。

虽然 forward pass 的实现需要在此函数中定义,但你应该在之后调用 Module 实例而不是这个,因为前者负责运行预处理和后处理步骤,而后者会静默地忽略它们。

示例

>>> from transformers import AutoTokenizer, HeliumForCausalLM

>>> model = HeliumForCausalLM.from_pretrained("google/helium-7b")
>>> tokenizer = AutoTokenizer.from_pretrained("google/helium-7b")

>>> prompt = "What is your favorite condiment?"
>>> inputs = tokenizer(prompt, return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(inputs.input_ids, max_length=30)
>>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"What is your favorite condiment?"

HeliumForSequenceClassification

class transformers.HeliumForSequenceClassification

< >

( config )

forward

< >

( input_ids: torch.LongTensor | None = None attention_mask: torch.Tensor | None = None position_ids: torch.LongTensor | None = None past_key_values: transformers.cache_utils.Cache | None = None inputs_embeds: torch.FloatTensor | None = None labels: torch.LongTensor | None = None use_cache: bool | None = None **kwargs: typing_extensions.Unpack[transformers.utils.generic.TransformersKwargs] ) transformers.modeling_outputs.SequenceClassifierOutputWithPasttuple(torch.FloatTensor)

参数

  • input_ids (torch.LongTensor, 形状为 (batch_size, sequence_length), 可选) — 词汇表中输入序列标记的索引。默认情况下将忽略填充。

    可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什么是输入 ID?

  • attention_mask (torch.Tensor, 形状为 (batch_size, sequence_length), 可选) — 用于避免对填充标记索引执行注意力计算的掩码。掩码值选择自 [0, 1]

    • 1 表示未掩码的标记,
    • 0 表示已掩码的标记。

    什么是注意力掩码?

  • position_ids (torch.LongTensor, 形状为 (batch_size, sequence_length), 可选) — 输入序列标记在位置嵌入中的位置索引。选择范围为 [0, config.n_positions - 1]

    什么是位置 ID?

  • past_key_values (~cache_utils.Cache, 可选) — 可以用于加速顺序解码的预计算隐藏状态(自注意力块和交叉注意力块中的键和值)。这通常是当 use_cache=Trueconfig.use_cache=True 时,模型在解码的早期阶段返回的 past_key_values

    输入仅允许 Cache 实例,请参阅我们的 kv 缓存指南。如果未传入 past_key_values,则默认会初始化 DynamicCache

    模型将输出与输入相同的缓存格式。

    如果使用 past_key_values,用户应仅输入未处理的 input_ids(即未将过去键值状态传递给此模型的那些),形状为 (batch_size, unprocessed_length),而不是所有 input_ids,形状为 (batch_size, sequence_length)

  • inputs_embeds (torch.FloatTensor, 形状为 (batch_size, sequence_length, hidden_size), 可选) — 可选地,您可以直接传入嵌入表示,而不是 input_ids。如果您希望对如何将 input_ids 索引转换为相关向量拥有比模型内部嵌入查找矩阵更多的控制权,则此选项很有用。
  • labels (torch.LongTensor, 形状为 (batch_size, sequence_length), 可选) — 用于计算掩码语言模型损失的标签。索引应为 [0, ..., config.vocab_size] 或 -100(请参阅 input_ids 文档字符串)。索引设置为 -100 的标记将被忽略(掩码),损失仅为具有 [0, ..., config.vocab_size] 标签的标记计算。
  • use_cache (bool, 可选) — 如果设置为 True,则返回 past_key_values 键值状态,并可用于加速解码(请参阅 past_key_values)。

返回

transformers.modeling_outputs.SequenceClassifierOutputWithPasttuple(torch.FloatTensor)

A transformers.modeling_outputs.SequenceClassifierOutputWithPast or a tuple of torch.FloatTensor (if return_dict=False is passed or when config.return_dict=False) comprising various elements depending on the configuration (None) and inputs.

  • loss (形状为 (1,)torch.FloatTensor可选,当提供 labels 时返回) — 分类损失(如果 config.num_labels==1,则为回归损失)。

  • logits (形状为 (batch_size, config.num_labels)torch.FloatTensor) — 分类(如果 config.num_labels==1,则为回归)分数(SoftMax 之前)。

  • past_key_values (Cache, optional, 当传递 use_cache=True 或当 config.use_cache=True 时返回) — 它是 Cache 实例。更多详情,请参阅我们的 kv cache 指南

    包含预计算的隐藏状态(自注意力块中的键和值),可用于(参见 past_key_values 输入)加速顺序解码。

  • hidden_states (tuple(torch.FloatTensor), optional, 当传递 output_hidden_states=True 或当 config.output_hidden_states=True 时返回) — torch.FloatTensor 的元组(一个用于嵌入层的输出,如果模型有嵌入层;+一个用于每个层的输出),形状为 (batch_size, sequence_length, hidden_size)

    模型在每个层输出的隐藏状态以及可选的初始嵌入输出。

  • attentions (tuple(torch.FloatTensor), optional, 当传递 output_attentions=True 或当 config.output_attentions=True 时返回) — torch.FloatTensor 的元组(每个层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。

The GenericForSequenceClassification forward method, overrides the __call__ special method.

虽然 forward pass 的实现需要在此函数中定义,但你应该在之后调用 Module 实例而不是这个,因为前者负责运行预处理和后处理步骤,而后者会静默地忽略它们。

HeliumForTokenClassification

class transformers.HeliumForTokenClassification

< >

( config )

forward

< >

( input_ids: torch.LongTensor | None = None attention_mask: torch.Tensor | None = None position_ids: torch.LongTensor | None = None past_key_values: transformers.cache_utils.Cache | None = None inputs_embeds: torch.FloatTensor | None = None labels: torch.LongTensor | None = None use_cache: bool | None = None **kwargs: typing_extensions.Unpack[transformers.utils.generic.TransformersKwargs] ) transformers.modeling_outputs.TokenClassifierOutputtuple(torch.FloatTensor)

参数

  • input_ids (torch.LongTensor of shape (batch_size, sequence_length), optional) — 词汇表中输入序列 token 的索引。默认情况下会忽略填充。

    可以使用 AutoTokenizer 获取索引。有关详细信息,请参阅 PreTrainedTokenizer.encode()PreTrainedTokenizer.call()

    什么是输入 ID?

  • attention_mask (torch.Tensor of shape (batch_size, sequence_length), optional) — 忽略填充 token 索引的注意力掩码。掩码值选择在 [0, 1]

    • 1 表示未掩码的 token,
    • 0 表示已掩码的 token。

    什么是注意力掩码?

  • position_ids (torch.LongTensor of shape (batch_size, sequence_length), optional) — 位置嵌入中每个输入序列 token 的位置索引。选择范围为 [0, config.n_positions - 1]

    什么是位置 ID?

  • past_key_values (~cache_utils.Cache, optional) — 键和值(在自注意力块和交叉注意力块中)的预计算隐藏状态,可用于加速顺序解码。这通常是当 use_cache=Trueconfig.use_cache=True 时,模型在先前解码阶段返回的 past_key_values

    仅允许使用 Cache 实例,请参阅我们的 kv 缓存指南。如果不传入 past_key_values,默认将初始化 DynamicCache

    模型将输出与输入相同的缓存格式。

    如果使用 past_key_values,用户应仅传入未处理的 input_ids(其过去键值状态未提供给此模型的那些),形状为 (batch_size, unprocessed_length),而不是全部 input_ids,形状为 (batch_size, sequence_length)

  • inputs_embeds (torch.FloatTensor of shape (batch_size, sequence_length, hidden_size), optional) — 可选地,您可以直接传递嵌入表示,而不是传递 input_ids。如果您希望对如何将 input_ids 索引转换为相关向量的控制程度超过模型内部的嵌入查找矩阵,这将非常有用。
  • labels (torch.LongTensor of shape (batch_size, sequence_length), optional) — 用于计算掩码语言模型损失的标签。索引应在 [0, ..., config.vocab_size] 或 -100 范围内(请参阅 input_ids 文档字符串)。索引设置为 -100 的 token 将被忽略(掩码),仅为标签在 [0, ..., config.vocab_size] 范围内的 token 计算损失。
  • use_cache (bool, optional) — 如果设置为 True,则返回 past_key_values 键值状态,并可用于加速解码(请参阅 past_key_values)。

返回

transformers.modeling_outputs.TokenClassifierOutputtuple(torch.FloatTensor)

A transformers.modeling_outputs.TokenClassifierOutput or a tuple of torch.FloatTensor (if return_dict=False is passed or when config.return_dict=False) comprising various elements depending on the configuration (None) and inputs.

  • loss (形状为 (1,)torch.FloatTensor可选,当提供 labels 时返回) — 分类损失。

  • logits (形状为 (batch_size, sequence_length, config.num_labels)torch.FloatTensor) — 分类分数(SoftMax 之前)。

  • hidden_states (tuple(torch.FloatTensor), optional, 当传递 output_hidden_states=True 或当 config.output_hidden_states=True 时返回) — torch.FloatTensor 的元组(一个用于嵌入层的输出,如果模型有嵌入层;+一个用于每个层的输出),形状为 (batch_size, sequence_length, hidden_size)

    模型在每个层输出的隐藏状态以及可选的初始嵌入输出。

  • attentions (tuple(torch.FloatTensor), optional, 当传递 output_attentions=True 或当 config.output_attentions=True 时返回) — torch.FloatTensor 的元组(每个层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)

    注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。

The GenericForTokenClassification forward method, overrides the __call__ special method.

虽然 forward pass 的实现需要在此函数中定义,但你应该在之后调用 Module 实例而不是这个,因为前者负责运行预处理和后处理步骤,而后者会静默地忽略它们。

在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.