Qwen2.5 学习 Wiki
NOTES

模块框图

flowchart TB subgraph Assets[模型资产层] GGUF[GGUF blob] TOK[Tokenizer 导出] TENSOR[Tensor payload 导出] IMAGE[Q25TOKRT image] GGUF --> TOK --> IMAGE GGUF --> TENSOR end

Qwen2.5/03_Module_Architecture_CN.md 2026-07-13 约 5 分钟阅读

分层结构

flowchart TB
    subgraph Assets[模型资产层]
        GGUF[GGUF blob]
        TOK[Tokenizer 导出]
        TENSOR[Tensor payload 导出]
        IMAGE[Q25TOKRT image]
        GGUF --> TOK --> IMAGE
        GGUF --> TENSOR
    end

    subgraph Host[Host 计算层]
        REF[量化解码与参考 forward]
        GOLDEN[golden / fixture manifest]
        TENSOR --> REF --> GOLDEN
    end

    subgraph PL[HLS / PL 算子层]
        EMB[Embedding / RMSNorm]
        QKV[QKV + RoPE]
        ATTN[Attention core]
        MLP[MLP / matvec]
        LM[LM head + top-k]
        GOLDEN --> EMB
        GOLDEN --> QKV
        GOLDEN --> ATTN
        GOLDEN --> MLP
        GOLDEN --> LM
    end

    subgraph PS[PS / A53 层]
        UART[UART command parser]
        BPE[Tokenizer C API]
        STUB[P4 runtime command stub]
        IMAGE --> BPE
        UART --> BPE
        UART --> STUB
    end

    subgraph Board[ZCU106 执行层]
        BUILD[XSA / BSP / ELF / SD]
        CAPTURE[UART capture]
        CHECK[Validator / archive]
        UART --> BUILD --> CAPTURE --> CHECK
    end
流程或关系图。

模块清单

模块代码或入口输入输出具体功能
GGUF 检查scripts/inspect_ollama_gguf.pyOllama manifest检查 JSON定位 blob,解析 GGUF header、metadata 和 tensor 目录。
tokenizer 导出scripts/export_gguf_tokenizer_assets.pyGGUF tokenizer metadata词表、merge、chat template、manifest形成 host 和 PS 可消费的 tokenizer 资产。
tensor 导出scripts/export_gguf_tensor_payloads.pyGGUF tensor 偏移原始 BIN、manifest逐 tensor 保留量化字节布局。
PS tokenizer 打包scripts/prepare_ps_tokenizer_bundle.pypack_ps_tokenizer_runtime_image.py词表和 mergebundle、Q25TOKRT生成 token 索引、token bytes、merge table、编码索引和 image section。
host 参考scripts/run_golden.pyscripts/qwen25_utils.pytensor、prompt、fixturelogits、层结果、golden JSON对量化布局解码并计算相应范围的模型算子。
HLS kernelZCU106/hls/*/src/DDR 指针、AXI-Lite 参数DDR 输出、状态实现选定的投影、attention、MLP、lm_head、int8 tile 等算子。
UART 应用ZCU106/ps_app/nl_uart_app/src/nl_uart_app.cUART 行、image 地址/大小协议响应维护 prompt/text 状态,分发命令,调用 tokenizer API 或 P4 stub。
tokenizer C APIq25_nl_tokenizer*.c/.hruntime image、字节、token idstoken ids、UTF-8 字节、统计打开 image,查词表,执行受限 BPE,或解码 token ids。
P4 stubq25_p4_runtime_cmd_stub.cMODEL_LOADTOKEN_STEPTEXT_STEP格式化 stub 响应提供未来 PS/HLS scheduler 的命令边界,不调用模型或 HLS。
板级脚本ZCU106/scripts/*.ps1XSA、ELF、SD 载荷、串口report、archive准备构建物、采集 UART transcript、运行验证器并归档。