ggml (0)整体介绍

183 阅读1分钟

ggml 是一个为机器学习设计的张量库。它的核心思想是使用计算图来表示对多维数组(即“张量”)的一系列操作。通过抽象的后端系统,它可以在各种硬件(如 CPU 和 GPU)上高效运行。其关键特性之一是量化技术,它能压缩模型,使其在普通设备上运行得更快、占用内存更少。项目还使用专门的 GGUF 文件格式来存储和加载模型。

GGML重要数据结构

flowchart TD
    A0["张量 (ggml_tensor)
"]
    A1["上下文 (ggml_context)
"]
    A2["计算图 (ggml_cgraph)
"]
    A3["后端 (ggml_backend)
"]
    A4["后端缓冲区 (ggml_backend_buffer)
"]
    A5["后端调度器 (ggml_backend_sched)
"]
    A6["GGUF 上下文 (gguf_context)
"]
    A7["图分配器 (ggml_gallocr)
"]
    A8["量化 (Quantization)
"]
    A1 -- "创建" --> A0
    A2 -- "组织" --> A0
    A3 -- "执行" --> A2
    A4 -- "存储数据" --> A0
    A5 -- "调度" --> A3
    A5 -- "使用...进行分配" --> A7
    A6 -- "加载信息" --> A0
    A7 -- "在...中分配" --> A4
    A8 -- "压缩数据" --> A0

后续章节

  1. 张量 (ggml_tensor)

  2. 量化 (Quantization)

  3. 上下文 (ggml_context)

  4. 计算图 (ggml_cgraph)

  5. GGUF 上下文 (gguf_context)

  6. 后端 (ggml_backend)

  7. 后端缓冲区 (ggml_backend_buffer)

  8. 图分配器 (ggml_gallocr)

  9. 后端调度器 (ggml_backend_sched)