LLM推理原理详解

·29 阅读

一. 总览

image-20260630225243722

二. 整体流程

image-20260630215253480

  • Tokenizer:切分token,参考模型中的tokenizer.jsontokenzer_config.json(词表和配置
  • Embedding:根据token_id,hash查表的方式获取对应的行。
  • Transformer:QKV的attention计算+FNN。(后面细讲)
  • LM Head(Linear):可以和Embedding共享参数,把Hidden_states变为词表中每个token的分数,再通过Softmax转为概率分布。
  • Sampling(采样)
    • greedy:直接去概率最大的那个。
    • top-k:前k个中任选一个。
    • top-p:p为分位值,比如5%,相当于按概率排序,前5%中任选一个。
    • Temperature:控制多样性,数值越大,多样性越高。

三. 模型参数

主要由以下几个部分组成:

  1. Attention中的q_proj、k_proj、v_proj、o_proj(也就是attention中的Wk、Wq、Wv、Wo这几个权重矩阵,维度一般为[dmodel, dmodel])
  2. FNN中的up_proj、gate_proj、down_proj,其中前两个一般为[dmodel, 4dmodel],后者为[4dmodel, dmodel]。(占整个模型权重的大部分)
  3. Embeding中的[vocab_size, dmodel]。