当前位置:   article > 正文

【wails】(3):解决 go-chatglm.cpp 项目部署编译的问题,在Linux本地环境成功运行,可以使用CPU进行模型训练,速度还可以,后续可以将模型继承到wails项目中

【wails】(3):解决 go-chatglm.cpp 项目部署编译的问题,在Linux本地环境成功运行,可以使用CPU进行模型训练,速度还可以,后续可以将模型继承到wails项目中

1,关于项目go-chatglm.cpp,视频地址

【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有很好的准确性,而且速度几乎没有下降。

2,进行代码编译


# 下载项目
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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

3,测试模型 chatglm3

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"

  • 1
  • 2
  • 3

4,运行效果,速度还可以

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/189627?site
推荐阅读
相关标签
  

闽ICP备14008679号