当前位置:   article > 正文

chatglm.cpp编译与执行

chatglm.cpp

ChatGLM3介绍

ChatGLM3是由智谱AI和清华大学KEG实验室联合发布的对话预训练模型。作为第三代大型语言模型,ChatGLM3不仅理解和生成人类语言,还能执行代码、调用工具,并以markdown格式进行响应。其目标是打造更智能、更安全的代码解释器和工具使用体验。

ChatGLM3在性能上取得了显著的提升。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3具有在10B以下的基础模型中最强的性能。与ChatGLM二代模型相比,在44个中英文公开数据集测试中,ChatGLM3在国内同尺寸模型中排名首位,其中MMLU提升36%、CEval提升33%、GSM8K提升179%、BBH提升126%。

ChatGLM现在开源的最高版本就是3.0版本,发布版最高已经到了4.0版本。

ChatGLM.cpp介绍

ChatGLM.cpp是一个由li-plus开发并托管在GitCode上的开源项目,它基于Transformer架构,致力于提供高效、灵活且强大的自然语言理解和生成能力。

ChatGLM.cpp的主要亮点包括:

  1. 基于ggml的纯C++实现,与llama.cpp的工作方式相同,这使得它在性能优化方面具有显著优势。
  2. 采用了int4/int8量化的内存高效CPU推理加速技术,并优化了KV缓存和并行计算,进一步提升了模型的推理速度和效率。
  3. 支持带打字机效果的流生成,使得生成的文本更加自然流畅。

编译安装ChatGLM.cpp

下载ChatGLM.cpp

git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp

编译ChatGLM.cpp

  1. cmake -B build
  2. cmake --build build -j --config Release

用python 转pytorch模型到ggml格式

安装库

  1. python3 -m pip install -U pip
  2. python3 -m pip install torch tabulate tqdm transformers accelerate sentencepiece
  3. # pip install sentencepiece

下载模型

如果hf不好下载,可以去星河社区下载:chatglm2-6b_数据集-飞桨AI Studio星河社区

也可以到启智社区下载:kmno4/ChatGLM3 - ChatGLM3 - OpenI - 启智AI开源社区提供普惠算力!

下载之后放置到~/model/chatglm2 目录,然后执行转换:

转换模型

  1. # cd chatglm.cpp
  2. python3 chatglm_cpp/convert.py -i ~/model/chatglm2 -t q4_0 -o chatglm-ggml.bin

但是转模型需要torch,这点不如llama.cpp好,llama.cpp是纯c转换。所以前面的库需要装全。

运行模型

前面已经将ggml模型保存在chatglm.cpp目录,现在只需要执行:

  1. ./build/bin/main -m chatglm-ggml.bin -p 你好
  2. # 你好 本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
    推荐阅读
    相关标签