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

相关推荐
段一凡-华北理工大学4 小时前
AI推动工业智能化转型~系列文章24:钢铁工业 AI 全景图:从原料场到轧机的场景地图
人工智能·深度学习·模型生命周期·钢铁工业·ai全景
chen_zn956 小时前
《VLA 系列》Human-to-Robot Transfer | 人类视频共训练 | 跨本体涌现迁移 | 论文解析
人工智能·深度学习·transformer·具身智能·vla
CCC:CarCrazeCurator6 小时前
DeepSeek‑Harness Windows 本地快速上手
深度学习·数据挖掘
还不秃顶的计科生7 小时前
具身智能论文学习8:Octo: An Open-Source Generalist Robot Policy
人工智能·深度学习·学习·机器学习·语言模型·vla·vlm
lucas_AI7 小时前
1.2B 小模型赢过 235B 大模型:NaviDC-OCR 把文档解析卷明白了
人工智能·深度学习·算法
杀生丸学AI7 小时前
【稀疏重建】StructSplat:基于非校准稀疏视图的可泛化3DGS
深度学习·3d·音视频·transformer·三维重建·空间智能
qfljg9 小时前
如何学习opencode和openclaw源码
深度学习
zhenaibo52110 小时前
摘要、研究背景、文献综述AI风险高,怎么优化?
人工智能·深度学习·自然语言处理
hhzz12 小时前
Tiger AI 平台「手势识别」功能全解析:从数字手势 0–9,到中国手语字母,再到本地视频批量识别——一条链路,三种输入,双模型可同开;双手比划,机器秒懂
人工智能·python·深度学习·aigc·音视频
自学机械人的小白ing13 小时前
深度学习系统学习
人工智能·深度学习·学习