Qwen2.5简要全流程以及Q&A

1 输入prompt 得到input id

input id: B,L # batch size , lenth

2 embeding之后得到 input_embeds: B,L,D # demensions

3 进入Transformer层

先通过linear层得到shape不变的 QKV

多头注意力 分割Dimension , kv变成 B,H,L,head_dim h是head,head_dim * head = Dimension

(如果有kvcache的话):

new key B, H, 1 head_dim

past key B,H,L_prev,dim

concat:B,H,L_prev+1,dim

Attn输出 B,L,D

outputs = self.transformer(input_ids, ...)

final_hidden_states = outputs0 # shape: B, L, D

logits = self.lm_head(final_hidden_states) # shape: B, L, vocab_size

self.transformer 是由多层 Qwen2Block(带 attention + feedforward)堆叠组成,每层更新一次 hidden state。最终最后一层输出的 hidden state 就是 final_hidden_states。

logits = lm_head(final_hidden_states)

→ B, L, vocab_size

(值是每个位置对每个词的预测得分)

遇到到是哪个token_id之后 用tokenizer.decode()得到最终的词

lm_head是什么

语言建模头(Language Modeling Head)

一个线性层,将输出的hidden_states映射到词表维度

vocab_size = 151936, hidden_size = 4096

self.lm_head = nn.Linear(4096, 151936, bias=False)

得到logits之后还有一个sampling的过程

greedy sampling 直接取最大值

next_token = ops.argmax(next_token_logits, axis=-1) # B

Top-k / Top-p Sampling:

用 softmax 得到概率

probs = ops.softmax(next_token_logits, axis=-1) # B, vocab_size

根据策略采样

next_token = sample_from(probs, top_k=50, top_p=0.95, temperature=1.0)

top_k 取前k个概率大的

top_p 累积概率小于0.95

相关推荐
田里的水稻9 分钟前
PyTorch_torchvision---数据集下载\TensorBoard可视化
人工智能·pytorch·python·深度学习·机器学习
小王20444 分钟前
Day 43:TensorRT实战 — 模型转换与优化
深度学习
loulanyue_1 小时前
评估范式不变,自进化注定过拟合:大模型高维能力曲面探测与效用定律破局——读复旦大学曹艺馨机器之心AI Insider访谈
深度学习·机器学习
xianghongtao01161 小时前
arxiv_agents_review_2026-10-16
人工智能·深度学习·机器学习
adinnet20262 小时前
企业碳资产管理:从碳盘查到碳交易,把排放理清
人工智能·深度学习·自动化
智码看视界5 小时前
深度学习:环境搭建PyTorch vs TensorFlow 选型
pytorch·深度学习·tensorflow·gpu·环境搭建·cuda·框架选型
磁场转动100万匹5 小时前
PyTorch 版 YOLOv3 源码逐段详解:从配置文件到训练、评估、检测(定制自己的数据集)
人工智能·深度学习·yolo
罗小罗同学5 小时前
西交联合腾讯和剑桥团队发表轻量化医学智能体,无需重新训练模型即可大幅提升诊断准确率,同时还可以增强模型解释性
人工智能·深度学习·机器学习·医学图像处理·医工交叉·医学ai
逐步走向自律6 小时前
运维手机应急 + 电脑多终端并行:2026 远程终端选型指南
人工智能·深度学习·机器学习·自然语言处理·数据科学
zh路西法7 小时前
【生成式模型入门】(四):Flow Matching——从速度场学习到生成路径
python·深度学习·神经网络·生成式模型·diffusionpolicy·flowmatching