Llama CPP的主要构造,GGUF和GGML为两个主要部分,包括模型描述文件和模型参数存储文件
文章目录
- GGUF
- 构建图
- 读取权重
GGUF
- llama.cpp 的作者 Georgi Gerganov 提出的新一代大模型描述文件 GPT-Generated Unified Format,继承自GGML,但是克服了GGML的一些缺点
- 例如,缺少版本信息难以向后兼容;信息增加或者修改不变,手动修改模型信息不方便等;
构建图
- 通过llma_bulid_graph在不同的基础模型之上进行参数设计(例如 llama、baichuan、MINICPM 、GEMMA、STARCODER、BERT、QW、QW2等,甚至还有MEMBA)
- 在每个类GPT之中,通过基函数描述了计算流,同时通过暴露层数、token维度等参数作为可调模型
读取权重
- 设计了基于分块的tensor组装,同时使用描述文件将对每个tensor及其size进行区分