赞
踩
【wails】(3):解决 go-chatglm.cpp 项目部署编译的问题,在Linux本地环境成功运行,可以使用CPU进行模型训练,速度还可以
https://github.com/Weaxs/go-chatglm.cpp
https://zhuanlan.zhihu.com/p/662651807
GGML是一个专注于机器学习的C库。它由Georgi Gerganov创建,这就是缩写“GG”的含义。这个库不仅提供了机器学习的基础元素,如张量,而且还提供了一种独特的二进制格式来分发LLM(Machine Learning Models)。最近,这个格式改为了GGUF。这种新格式被设计为可扩展的,以便新功能不会影响现有模型的兼容性。
GGML文件的量化方法类似于JPEG文件的分辨率。分辨率越低(Q2等),推理过程中失去的细节越多。在我看来,Q4_0仍然是速度和准确性的最佳平衡点,但是Q4_K_M有很好的准确性,而且速度几乎没有下降。
# 下载项目
git clone --recurse-submodules https://github.com/Weaxs/go-chatglm.cpp
正克隆到 'go-chatglm.cpp'...
remote: Enumerating objects: 441, done.
remote: Counting objects: 100% (226/226), done.
remote: Compressing objects: 100% (147/147), done.
remote: Total 441 (delta 104), reused 169 (delta 52), pack-reused 215
接收对象中: 100% (441/441), 78.48 KiB | 405.00 KiB/s, 完成.
处理 delta 中: 100% (223/223), 完成.
子模组 'chatglm.cpp'(https://github.com/li-plus/chatglm.cpp.git)已对路径 'chatglm.cpp' 注册
正克隆到 '/data/home/test/go/src/go-chatglm.cpp/chatglm.cpp'...
remote: Enumerating objects: 596, done.
remote: Counting objects: 100% (339/339), done.
remote: Compressing objects: 100% (169/169), done.
remote: Total 596 (delta 260), reused 197 (delta 169), pack-reused 257
接收对象中: 100% (596/596), 1.44 MiB | 2.53 MiB/s, 完成.
处理 delta 中: 100% (348/348), 完成.
子模组路径 'chatglm.cpp':检出 '3286db5306c5d3245ea147082e69313010617a92'
子模组 'third_party/ggml'(https://github.com/ggerganov/ggml.git)已对路径 'chatglm.cpp/third_party/ggml' 注册
子模组 'third_party/pybind11'(https://github.com/pybind/pybind11.git)已对路径 'chatglm.cpp/third_party/pybind11' 注册
子模组 'third_party/sentencepiece'(https://github.com/google/sentencepiece.git)已对路径 'chatglm.cpp/third_party/sentencepiece' 注册
正克隆到 '/data/home/test/go/src/go-chatglm.cpp/chatglm.cpp/third_party/ggml'...
remote: Enumerating objects: 6447, done.
remote: Counting objects: 100% (2776/2776), done.
remote: Compressing objects: 100% (343/343), done.
remote: Total 6447 (delta 2506), reused 2543 (delta 2410), pack-reused 3671
接收对象中: 100% (6447/6447), 7.50 MiB | 2.04 MiB/s, 完成.
处理 delta 中: 100% (4064/4064), 完成.
正克隆到 '/data/home/test/go/src/go-chatglm.cpp/chatglm.cpp/third_party/pybind11'...
remote: Enumerating objects: 27577, done.
remote: Counting objects: 100% (328/328), done.
remote: Compressing objects: 100% (141/141), done.
remote: Total 27577 (delta 195), reused 262 (delta 164), pack-reused 27249
接收对象中: 100% (27577/27577), 10.53 MiB | 2.06 MiB/s, 完成.
处理 delta 中: 100% (19472/19472), 完成.
正克隆到 '/data/home/test/go/src/go-chatglm.cpp/chatglm.cpp/third_party/sentencepiece'...
remote: Enumerating objects: 5117, done.
remote: Counting objects: 100% (2151/2151), done.
remote: Compressing objects: 100% (364/364), done.
remote: Total 5117 (delta 1865), reused 1861 (delta 1776), pack-reused 2966
接收对象中: 100% (5117/5117), 26.82 MiB | 5.42 MiB/s, 完成.
处理 delta 中: 100% (3518/3518), 完成.
子模组路径 'chatglm.cpp/third_party/ggml':检出 '6549d12f2e3176050040a86334f17c001e170f13'
子模组路径 'chatglm.cpp/third_party/pybind11':检出 '8b03ffa7c06cd9c8a38297b1c8923695d1ff1b07'
子模组路径 'chatglm.cpp/third_party/sentencepiece':检出 '635fe8423a249b6e081aacd290d8aef7476c6a28'
#按照编译工具
sudo apt install -y build-essential cmake
#进行构建
cd go-chatglm.cpp
make libbinding.a
https://hf-mirror.com/Chars/chatglm3-ggml/tree/main
modescope 下载:
https://modelscope.cn/models/Xorbits/chatglm3-ggml/files
# 运行代码 example:
go run ./examples -m "/data/home/test/hf_cache/chatglm3-ggml-q4_0.bin"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。