Qwen2.5 学习 Wiki
NOTES

系统流程

flowchart LR A[Ollama manifest / GGUF blob] --> B[GGUF 解析] B --> C[Tokenizer 资产导出] B --> D[量化 tensor payload 导出] C --> E[PS tokenizer bundle] E --> F[Q25TOKRT runtime image] D --> G[Host quant 参考计算] D

Qwen2.5/02_System_Flow_CN.md 2026-07-13 约 5 分钟阅读

从模型文件到板级输出

flowchart LR
    A[Ollama manifest / GGUF blob] --> B[GGUF 解析]
    B --> C[Tokenizer 资产导出]
    B --> D[量化 tensor payload 导出]
    C --> E[PS tokenizer bundle]
    E --> F[Q25TOKRT runtime image]
    D --> G[Host quant 参考计算]
    D --> H[HLS fixture 准备]
    H --> I[HLS CSim / cosim / csynth]
    F --> J[PS/A53 UART 应用]
    J --> K[ZCU106 UART transcript]
    K --> L[transcript 验证与归档]
    G --> M[golden JSON]
    I --> N[HLS 报告]
流程或关系图。

逐步说明

步骤执行模块读取写入具体工作
1GGUF 检查本地 Ollama manifest 与 blob模型结构 JSON读取 GGUF 版本、metadata、tensor 名称、维度、类型和偏移。
2tokenizer 导出GGUF tokenizer metadata、smoke context idstokens.jsonlmerges.txt、token type、chat template、manifest把词表、merge 规则和特殊 token 从 GGUF 拆出。
3tensor 导出GGUF tensor 目录与 blob每个 tensor 的原始 BIN、导出 manifest按 GGUF 偏移复制原始量化 payload,保留 Q4_K/Q5_K/Q6_K/Q8_0 等原始布局。
4PS bundletokenizer 导出目录token index、token bytes、merge table为 A53 C 代码生成小端二进制表。
5runtime imagePS bundle 和编码索引Q25TOKRT image、manifest组合六个 section,使 A53 能从一块内存打开 tokenizer。
6host referencetensor payload、prompt/token idsgolden JSON、logits、top-k、层中间值在 PC 上执行量化解码、投影、attention/MLP 或完整 forward。
7HLS fixture真实 tensor 子集与 host goldenfixture BIN、常量头、fixture manifest把指定行、输入向量、期望输出交给独立 kernel 的 testbench。
8HLS 构建kernel C++、fixture、HLS cfgCSim/cosim/csynth 输出将独立算子编译、仿真或综合。
9PS UARTUART 命令、可选 Q25TOKRT 地址和大小串口行、ELF解析命令、tokenize/detokenize,并输出协议标记。
10板级处理ELF/XSA/SD 文件、串口transcript、验证 JSON、archive准备载荷、采集串口、检查命令响应标记、归档产物。

一次文本命令的实际路径

sequenceDiagram
    participant Host as 串口主机
    participant App as nl_uart_app.c
    participant Image as Q25TOKRT image
    participant Bundle as tokenizer bundle C API

    Host->>App: TEXT_PROMPT UTF-8 文本
    alt runtime image 已打开
        App->>Image: q25_nl_tokenizer_runtime_image_open 在启动时完成
        App->>Bundle: q25_nl_tokenizer_bundle_encode_bpe_bounded
        Bundle-->>App: token id 数组与统计
    else image 未配置
        App->>App: q25_tokenize_utf8_bytes
        App-->>App: 一字节一 token 的 fallback
    end
    App-->>Host: TEXT_PROMPT 与 TEXT_PROMPT_IDS
    Host->>App: TEXT_GENERATE N
    App->>Bundle: 编码固定后缀或使用 fallback
    App->>Bundle: q25_nl_tokenizer_bundle_detokenize
    App-->>Host: TEXT_RESULT
流程或关系图。

TEXT_GENERATE 在此路径中不运行 transformer 或 HLS kernel。TOKEN_STEP 的命令形状已存在,但由 stub 返回固定规则结果。