You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取BioGPT模型最后一层首个token的向量嵌入?

问题解答
  • 你要找的目标向量嵌入就是out.hidden_states元组的最后一个元素。

  • 具体说明:

    1. BioGPT基于GPT-2架构,当调用模型时设置output_hidden_states=True,返回的hidden_states是一个元组,包含嵌入层输出 + 所有Transformer decoder层的输出。你看到的长度为25的元组,对应1个嵌入层加24层Transformer decoder,最后一个元素就是最后一层Transformer的输出。
    2. 这个最后一层的输出就是全连接层(生成logits的词汇映射层)之前的token向量嵌入,形状正好是你预期的[2, 1024, 1024]。
    3. 关于你提到的last_hidden_state:部分模型(如BERT)会直接返回这个键,但BioGPT这类GPT-2系因果语言模型的实现中,没有单独返回该键,需要手动从hidden_states元组取最后一个元素。
  • 代码示例:

# 获取最后一层的token向量嵌入
last_layer_embeddings = out.hidden_states[-1]
print(last_layer_embeddings.shape)  # 输出: torch.Size([2, 1024, 1024])

内容的提问来源于stack exchange,提问作者Penguin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 04:55:19