Transformers documentation
Pocket TTS 音频分词器
该模型于 2026-10-20 贡献至 Hugging Face Transformers。
Pocket TTS 音频分词器
概述
Pocket TTS 的音频分词器:一种采用 Mimi 架构(两侧均使用 SEANet 卷积和小型因果 Transformer)的编解码器,其残差向量量化器被替换为 Continuous Audio Language Models 中的连续 32 维瓶颈(VAE-GAN)。它可将 24 kHz 音频转换为 12.5 Hz 的潜在表示,并支持反向转换。其编码器和解码器可独立加载(PocketTTSAudioTokenizerEncoderModel、PocketTTSAudioTokenizerDecoderModel)。它是 PocketTTSProcessor 的 audio_tokenizer,被所有 Pocket TTS 检查点共享:处理器使用它对语音提示进行编码,并解码生成的潜在表示。
该模型由 Eustache Le Bihan 贡献。原始代码位于 kyutai-labs/pocket-tts。
用法
from datasets import Audio, load_dataset
from transformers import AutoFeatureExtractor, AutoModel
model = AutoModel.from_pretrained("eustlb/pocket-tts-audio-tokenizer", device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained("eustlb/pocket-tts-audio-tokenizer")
dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=24000))
inputs = feature_extractor(dataset[0]["audio"]["array"], sampling_rate=24000, return_tensors="pt").to(model.device)
latents = model.encode(**inputs).latents
audio_values = model.decode(latents).audio_valuesPocketTTSAudioTokenizerConfig
class transformers.PocketTTSAudioTokenizerConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )
参数
- sampling_rate (
int,可选,默认为24000) — 音频文件应被数字化时的采样率,单位为赫兹(Hz)。 - audio_channels (
int,可选,默认为 1) — 音频数据的通道数;已发布的检查点以及本实现均为单声道。 - hidden_size (
int,可选,默认为512) — 隐藏表示的维度。 - num_filters (
int,可选,默认为 64) — 编码器中第一个PocketTTSAudioTokenizerConv1d层的卷积核数量。 - num_residual_layers (
int,可选,默认为 1) — 残差层的数量。 - upsampling_ratios (
list[int], 可选) — 解码器转置卷积的核大小与步长比率;编码器按相反顺序使用它们。 如果未指定,默认为[6, 5, 4]。 - kernel_size (
int,可选,默认为7) — 卷积核的大小。 - last_kernel_size (
int,可选,默认为 3) — 最后一个卷积层的卷积核大小。 - residual_kernel_size (
int,可选,默认为 3) — 残差层的卷积核大小。 - dilation_growth_rate (
int,可选,默认为 2) — 每一层中膨胀率(dilation)的增加量。 - use_causal_conv (
bool,可选,默认为True) — 是否使用完全因果卷积。 - pad_mode (
str,可选,默认为"constant") — 卷积的填充模式。 - compress (
int,可选,默认为 2) — 残差分支中的降维。 - trim_right_ratio (
float,可选,默认为 1.0) — 在use_causal_conv = True设置下,用于在转置卷积右侧进行裁剪的比例。如果等于 1.0,则表示所有裁剪都在右侧进行。 - use_conv_shortcut (
bool,可选,默认为False) — 是否使用卷积作为 SEANet 残差块的跳跃连接;已发布的检查点未使用此功能。 - upsample_groups (
int, 可选,默认为 512) — 用于将潜变量上采样至 SEANet 速率的转置卷积的组数。 - num_hidden_layers (
int,可选,默认为2) — Transformer 解码器中的隐藏层数。 - intermediate_size (
int,可选,默认为2048) — MLP 表示的维度。 - num_attention_heads (
int,可选,默认为8) — Transformer 解码器中每个注意力层的注意力头数量。 - num_key_value_heads (
int, 可选,默认为8) — 这是用于实现 Grouped Query Attention 的 key_value 头数。如果num_key_value_heads=num_attention_heads,模型将使用 Multi Head Attention (MHA);如果num_key_value_heads=1,模型将使用 Multi Query Attention (MQA);否则使用 GQA。在将多头检查点转换为 GQA 检查点时,每个组的 key 和 value 头应通过对该组内所有原始头进行 meanpooling 来构建。更多详情请参阅 这篇论文。如果未指定,则默认为num_attention_heads。 - head_dim (
int,可选) — 注意力头维度。如果为 None,则默认为 hidden_size // num_attention_heads - hidden_act (
str,可选,默认为gelu_pytorch_tanh) — 解码器中的非线性激活函数(函数或字符串)。例如,"gelu"、"relu"、"silu"等。 - max_position_embeddings (
int,可选,默认为8000) — 该模型可能使用的最大序列长度。 - initializer_range (
float,可选,默认为0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。 - norm_eps (
float,可选,默认为1e-05) — 层归一化层所使用的 epsilon 值。 - use_cache (
bool,可选,默认为False) — 模型是否应返回最后一次键/值注意力(并非所有模型都使用)。仅当config.is_decoder=True或模型为仅解码器生成模型时相关。 - use_streaming (
bool,可选,默认为False) — 编码器是否默认以流式方式运行:如果是,则返回填充缓存和键值缓存,以便传递给下一次调用。 - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], 可选) — 包含 RoPE 嵌入配置参数的字典。该字典应包含rope_theta的值,并且如果希望使用 RoPE 处理更长的max_position_embeddings,则可选地包含用于缩放的参数。 - sliding_window (
int,可选,默认为250) — 滑动窗口注意力的窗口大小。如果为None,则不应用滑动窗口。 - attention_dropout (
Union[float, int],可选,默认为0.0) — 注意力概率的 dropout 比率。 - layer_scale_initial_scale (
float,可选,默认为0.01) — 自注意力层中使用的缩放系数。基础模型为 0.1,大型模型为 1e-6。设置为 0 可禁用 layer scale。 - attention_bias (
bool,可选,默认为False) — 在自注意力机制中,是否在 query、key、value 和 output 投影层中使用偏置。 - latent_stride (
int,可选,默认为 16) — 每个潜在帧对应的 SEANet 帧数:即编码器中用于将 SEANet 输出下采样为潜在表示的卷积的步长,以及解码器中用于将其上采样还原的转置卷积的步长。一个潜在帧覆盖prod(upsampling_ratios) * latent_stride个音频采样点(frame_size,已发布的检查点中为 1920)。 - latent_dim (
int, 可选,默认为 32) — 连续潜变量的维度。Mimi 的残差向量量化器被此瓶颈层替代:编码器的下采样卷积输出latent_dim个通道,解码器在向上采样之前将其投影回hidden_size。
这是用于存储 PocketTTSAudioTokenizerModel 配置的类。它根据指定的参数实例化 Pocket Tts Audio Tokenizer 模型,并定义模型架构。使用默认值实例化配置将得到与 eustlb/pocket-tts-audio-tokenizer 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
示例:
>>> from transformers import PocketTTSAudioTokenizerConfig, PocketTTSAudioTokenizerModel
>>> # a full codec, and its decoder alone
>>> model = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig())
>>> decoder_only = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig(encoder_config=None))PocketTTSAudioTokenizerEncoderConfig
class transformers.PocketTTSAudioTokenizerEncoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )
PocketTTSAudioTokenizer 编码器部分的配置(SEANet 编码器、编码器 Transformer 以及下采样)。它与 PocketTTSAudioTokenizerConfig 共享所有字段(参数说明请参见其文档),因此可以直接从完整的 PocketTTSAudioTokenizer 检查点加载。
PocketTTSAudioTokenizerDecoderConfig
class transformers.PocketTTSAudioTokenizerDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )
PocketTTSAudioTokenizer 解码器部分(上采样、解码器 Transformer 和 SEANet 解码器)的配置。它与 PocketTTSAudioTokenizerConfig 共享所有字段(参数说明请参见其文档),因此可以直接从完整的 PocketTTSAudioTokenizer 检查点加载。
PocketTTSAudioTokenizerModel
class transformers.PocketTTSAudioTokenizerModel
< source >( config: PocketTTSAudioTokenizerConfig )
参数
- config (PocketTTSAudioTokenizerConfig) — 模型配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
Pocket TTS 音频分词器:一种采用 Mimi 架构的编解码器,在 12.5 Hz 下使用 32 维连续潜在表示(即连续音频语言模型中的 VAE-GAN),可将 24 kHz 音频转换为潜在表示并还原。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。
encode
< source >( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = Noneencoder_past_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
参数
- input_values(形状为
(batch_size, audio_channels, num_samples)的torch.Tensor)— 音频波形,由 EncodecFeatureExtractor 返回,它会像原始实现一样将其零填充至config.frame_size的整数倍个采样点。 - padding_mask (
torch.Tensor,形状为(batch_size, num_samples),可选) — 音频样本的掩码(1)与填充(0)的区分,latents_mask即由此计算得出。 - encoder_past_key_values (
Cache,可选) — 编码器 Transformer 的键值缓存,在流式处理时由上一次调用返回。 - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache,可选) — 编码器因果卷积的填充缓存,在流式处理时由上一次调用返回。 - use_streaming (
bool,可选) — 是否以流式模式进行编码,并返回缓存以传递给下一次调用。
将音频编码为形状为 (batch_size, num_frames, latent_dim) 的连续潜在表示:即 PocketTTSAudioTokenizerEncoderModel.forward() 的潜在表示,帧维度在前。
decode
< source >( latents: Tensordecoder_past_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
将连续潜在变量解码为音频:潜在变量首先被投影到 hidden_size,然后通过 PocketTTSAudioTokenizerDecoderModel.forward() 进行解码。
forward
< source >( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerOutput or tuple(torch.Tensor)
参数
- input_values(形状为
(batch_size, audio_channels, num_samples)的torch.Tensor)— 音频波形,由 EncodecFeatureExtractor 返回。 - padding_mask (
torch.Tensor,形状为(batch_size, num_samples),可选) — 音频样本的掩码(1),与填充(0)相对。
返回值
PocketTTSAudioTokenizerOutput 或 tuple(torch.Tensor)
PocketTTSAudioTokenizerOutput 或 torch.Tensor 元组(如果传入 return_dict=False 或 config.return_dict=False),其包含的元素取决于配置(PocketTTSAudioTokenizerConfig)和输入。
PocketTTSAudioTokenizerModel 的 forward 方法重写了 __call__ 特殊方法。
尽管前向传播的实现需要在此函数中定义,但之后应调用
Module实例,而不是直接调用此函数,因为前者会负责执行预处理和后处理步骤,而后者则会静默地忽略这些步骤。
- latents(形状为
(batch_size, num_frames, latent_dim)的torch.Tensor)— 音频的连续潜在表示。 - latents_mask(形状为
(batch_size, num_frames)的torch.LongTensor,可选)— 由音频样本(1)而非填充(0)计算得出的潜在帧掩码。 - audio_values(形状为
(batch_size, audio_channels, num_samples)的torch.Tensor)— 从潜变量重建的音频波形。 - hidden_states (
tuple(torch.Tensor),可选,当output_hidden_states=True时返回) — 编码器 transformer 每层输出及其输入的隐藏状态。 - attentions(
tuple(torch.Tensor),可选,当output_attentions=True时返回)— 每个编码器 Transformer 层的注意力权重。
PocketTTSAudioTokenizerEncoderModel
class transformers.PocketTTSAudioTokenizerEncoderModel
< source >( config: PocketTTSAudioTokenizerEncoderConfig )
参数
- config (PocketTTSAudioTokenizerEncoderConfig) — 模型配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
PocketTTSAudioTokenizer 的编码器部分:SEANet 编码器、编码器 Transformer 以及下采样,将音频转换为连续潜在表示。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。
forward
< source >( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerEncoderModelOutput or tuple(torch.Tensor)
参数
- input_values(形状为
(batch_size, channels, sequence_length)的torch.Tensor)— 输入音频波形的浮点数值。 - padding_mask (
torch.Tensor,形状为(batch_size, channels, sequence_length),可选) — 指示哪些输入因填充而应被忽略,其中元素为 1 表示未屏蔽,为 0 表示已屏蔽。 - past_key_values (
Cache, 可选) — 编码器 Transformer 中自注意力块预先计算的隐藏状态(键和值),用于加速流式编码。 - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache,可选) — 因果卷积的填充缓存,用于流式编码。 - use_streaming (
bool,可选) — 是否以流式模式进行编码,并返回缓存以传递给下一次调用。 - Encodes 将输入音频波形编码为形状为
(batch_size, latent_dim, frames)的连续潜在表示。 —
返回值
PocketTTSAudioTokenizerEncoderModelOutput 或 tuple(torch.Tensor)
PocketTTSAudioTokenizerEncoderModelOutput 或 torch.Tensor 元组(如果传入 return_dict=False 或 config.return_dict=False),其包含的元素取决于配置(PocketTTSAudioTokenizerConfig)和输入。
PocketTTSAudioTokenizerEncoderModel 的 forward 方法重写了 __call__ 特殊方法。
尽管前向传播的实现需要在此函数中定义,但之后应调用
Module实例,而不是直接调用此函数,因为前者会负责执行预处理和后处理步骤,而后者则会静默地忽略这些步骤。
- latents(形状为
(batch_size, latent_dim, frames)的torch.Tensor)— 音频的连续潜在表示,每config.frame_size个音频样本对应一帧。 - past_key_values (
Cache,可选) — 编码器 Transformer 中预计算的隐藏状态(自注意力块中的键和值),在流式处理时返回。 - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache,可选) — 用于 PocketTTSAudioTokenizerConv1d 因果卷积的填充缓存,以通过缓存填充支持流式处理。 - hidden_states (
tuple(torch.Tensor),可选,当output_hidden_states=True时返回) — 编码器 transformer 每层输出及其输入的隐藏状态。 - attentions(
tuple(torch.Tensor),可选,当output_attentions=True时返回)— 每个编码器 Transformer 层的注意力权重。
PocketTTSAudioTokenizerDecoderModel
class transformers.PocketTTSAudioTokenizerDecoderModel
< source >( config: PocketTTSAudioTokenizerDecoderConfig )
参数
- config (PocketTTSAudioTokenizerDecoderConfig) — 模型配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
PocketTTSAudioTokenizer 的解码器部分:上采样、解码器 Transformer 以及 SEANet 解码器,将连续潜在变量转换为音频。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。
forward
< source >( latents: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerDecoderOutput or tuple(torch.Tensor)
参数
- latents(形状为
(batch_size, hidden_size, frames)的torch.Tensor)— 要解码的连续潜在变量,由 PocketTTSAudioTokenizerModel.decode() 计算得出。 - padding_mask (
torch.Tensor,形状为(batch_size, channels, sequence_length),可选) — 指示哪些输入因填充而应被忽略,其中元素为 1 表示未屏蔽,为 0 表示已屏蔽。 - past_key_values (
Cache, 可选) — 解码器 Transformer 中预计算的隐藏状态(自注意力块中的键和值),用于加速流式解码。 - Decodes 将给定的帧解码为输出音频波形。请注意,输出可能会比 —
- input. 在这种情况下,末尾的任何多余步骤都可以被裁剪。 —
返回值
PocketTTSAudioTokenizerDecoderOutput 或 tuple(torch.Tensor)
PocketTTSAudioTokenizerDecoderOutput 或 torch.Tensor 元组(如果传入 return_dict=False 或 config.return_dict=False),其包含的元素取决于配置(PocketTTSAudioTokenizerConfig)和输入。
PocketTTSAudioTokenizerDecoderModel 的 forward 方法重写了 __call__ 特殊方法。
尽管前向传播的实现需要在此函数中定义,但之后应调用
Module实例,而不是直接调用此函数,因为前者会负责执行预处理和后处理步骤,而后者则会静默地忽略这些步骤。
audio_values(形状为
(batch_size, audio_channels, num_samples)的torch.Tensor,可选)— 解码后的音频值,通过 PocketTTSAudioTokenizer 的解码器部分获得。decoder_past_key_values (
Cache, 可选) — 预计算的隐藏状态(自注意力块中的键和值),可用于加速解码器 Transformer 的顺序解码。 这通常由模型在解码的先前阶段返回的past_key_values组成,前提是use_cache=True或config.use_cache=True。模型将输出与输入相同的缓存格式。
如果使用了
past_key_values,用户可以选择仅输入最后audio_values或 `audio_codes(即未向该模型提供其过去键值状态的那些)。hidden_states (
tuple(torch.Tensor),可选,当output_hidden_states=True时返回) — 解码器 Transformer 每层输出及其输入的隐藏状态。attentions(
tuple(torch.Tensor),可选,当output_attentions=True时返回)— 每个解码器 Transformer 层的注意力权重。