li-plus / chatglm.cpp Goto Github PK
View Code? Open in Web Editor NEWC++ implementation of ChatGLM-6B & ChatGLM2-6B & ChatGLM3 & more LLMs
License: MIT License
C++ implementation of ChatGLM-6B & ChatGLM2-6B & ChatGLM3 & more LLMs
License: MIT License
Currently, chatglm.cpp cannot be compiled on Windows (although it works on WSL). It would be really helpful to support Windows.
prompt time: 15761 ms / 17 tokens (927.114 ms/token)
output time: 60333.6 ms / 28 tokens (2154.77 ms/token)
total time: 76094.5 ms
OS: Debian GNU/Linux 12
Python 3.9.17
pip 23.2
报错:
# pip install -U chatglm-cpp
Collecting chatglm-cpp
Using cached chatglm-cpp-0.2.0.tar.gz (2.5 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: chatglm-cpp
Building wheel for chatglm-cpp (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for chatglm-cpp (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [80 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-39
creating build/lib.linux-x86_64-cpython-39/chatglm_cpp
copying chatglm_cpp/__init__.py -> build/lib.linux-x86_64-cpython-39/chatglm_cpp
running egg_info
writing chatglm_cpp.egg-info/PKG-INFO
writing dependency_links to chatglm_cpp.egg-info/dependency_links.txt
writing top-level names to chatglm_cpp.egg-info/top_level.txt
reading manifest file 'chatglm_cpp.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'chatglm_cpp.egg-info/SOURCES.txt'
running build_ext
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 416, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 401, in _build_with_temp_dir
self.run_setup()
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 338, in run_setup
exec(code, locals())
File "<string>", line 46, in <module>
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-kux5vrnx/normal/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 343, in run
self.run_command("build")
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 84, in run
_build_ext.run(self)
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
self.build_extensions()
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
self._build_extensions_serial()
File "/tmp/pip-build-env-kux5vrnx/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
self.build_extension(ext)
File "<string>", line 39, in build_extension
File "/usr/local/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-akeyqerw/chatglm-cpp_a82cee8d371f4dedbffbdb0b40de85bf', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-akeyqerw/chatglm-cpp_a82cee8d371f4dedbffbdb0b40de85bf/build/lib.linux-x86_64-cpython-39/chatglm_cpp/', '-DPYTHON_EXECUTABLE=/usr/local/bin/python', '-DCMAKE_BUILD_TYPE=Release', '-DCHATGLM_ENABLE_PYBIND=ON']' returned non-zero exit status 1.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for chatglm-cpp
Failed to build chatglm-cpp
ERROR: Could not build wheels for chatglm-cpp, which is required to install pyproject.toml-based projects
#
请问小米笔记本(非MAC),使用windows,能运行本段代码吗?
尽管下面来自 langchain 的 LLM 并未使用,但是当Pipeline
在 LLM
之后导入时,
仍会导致Pipeline
实例化时的 segment fault。
以下代码正常,交换前两行就会出现段错误
from chatglm_cpp import Pipeline
from langchain.llms.base import LLM
from pathlib import Path
model = Path('model/chatglm2-ggml.bin')
pl = Pipeline(model)
pl.chat(history=['你是谁'])
问题原因还不确定,看 coredump 貌似与 tcmalloc 有关
coredump bt:
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `python debug.py'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f64d1839074 in tcmalloc::CentralFreeList::ReleaseToSpans(void*) () from /usr/lib/libtcmalloc_minimal.so.4
[Current thread is 1 (Thread 0x7f64dc87b740 (LWP 625008))]
q(gdb) bt
#0 0x00007f64d1839074 in tcmalloc::CentralFreeList::ReleaseToSpans(void*) () from /usr/lib/libtcmalloc_minimal.so.4
#1 0x00007f64d18391ff in tcmalloc::CentralFreeList::ReleaseListToSpans(void*) () from /usr/lib/libtcmalloc_minimal.so.4
#2 0x00007f64d18394e3 in tcmalloc::CentralFreeList::InsertRange(void*, void*, int) () from /usr/lib/libtcmalloc_minimal.so.4
#3 0x00007f64d18396da in tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned int, int) () from /usr/lib/libtcmalloc_minimal.so.4
#4 0x00007f64d183a9ea in tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned int) () from /usr/lib/libtcmalloc_minimal.so.4
#5 0x00007f64d1a9af54 in chatglm::ChatGLM2ForConditionalGeneration::load(chatglm::ModelLoader&) () from /home/giskard/.local/lib/python3.11/site-packages/chatglm_cpp/_C.cpython-311-x86_64-linux-gnu.so
#6 0x00007f64d1aa61d3 in chatglm::Pipeline::Pipeline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
from /home/giskard/.local/lib/python3.11/site-packages/chatglm_cpp/_C.cpython-311-x86_64-linux-gnu.so
#7 0x00007f64d1a923ab in ?? () from /home/giskard/.local/lib/python3.11/site-packages/chatglm_cpp/_C.cpython-311-x86_64-linux-gnu.so
#8 0x00007f64d1a84cc2 in ?? () from /home/giskard/.local/lib/python3.11/site-packages/chatglm_cpp/_C.cpython-311-x86_64-linux-gnu.so
#9 0x00007f64dc3fac81 in ?? () from /usr/lib/libpython3.11.so.1.0
#10 0x00007f64dc3d9dfc in _PyObject_MakeTpCall () from /usr/lib/libpython3.11.so.1.0
#11 0x00007f64dc3e4379 in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.11.so.1.0
#12 0x00007f64dc40a9e0 in _PyFunction_Vectorcall () from /usr/lib/libpython3.11.so.1.0
#13 0x00007f64dc4127b0 in ?? () from /usr/lib/libpython3.11.so.1.0
#14 0x00007f64dc3da12a in ?? () from /usr/lib/libpython3.11.so.1.0
#15 0x00007f64d1a7eaf9 in ?? () from /home/giskard/.local/lib/python3.11/site-packages/chatglm_cpp/_C.cpython-311-x86_64-linux-gnu.so
#16 0x00007f64dc3d9dfc in _PyObject_MakeTpCall () from /usr/lib/libpython3.11.so.1.0
#17 0x00007f64dc3e4379 in _PyEval_EvalFrameDefault () from /usr/lib/libpython3.11.so.1.0
#18 0x00007f64dc49e9aa in ?? () from /usr/lib/libpython3.11.so.1.0
#19 0x00007f64dc49e3bc in PyEval_EvalCode () from /usr/lib/libpython3.11.so.1.0
#20 0x00007f64dc4bc503 in ?? () from /usr/lib/libpython3.11.so.1.0
#21 0x00007f64dc4b83ca in ?? () from /usr/lib/libpython3.11.so.1.0
#22 0x00007f64dc4cecf3 in ?? () from /usr/lib/libpython3.11.so.1.0
#23 0x00007f64dc4ce525 in _PyRun_SimpleFileObject () from /usr/lib/libpython3.11.so.1.0
#24 0x00007f64dc4ccf18 in _PyRun_AnyFileObject () from /usr/lib/libpython3.11.so.1.0
#25 0x00007f64dc4c77e8 in Py_RunMain () from /usr/lib/libpython3.11.so.1.0
#26 0x00007f64dc490c3b in Py_BytesMain () from /usr/lib/libpython3.11.so.1.0
#27 0x00007f64dc039850 in ?? () from /usr/lib/libc.so.6
#28 0x00007f64dc03990a in __libc_start_main () from /usr/lib/libc.so.6
#29 0x000056263ee18045 in _start ()
在Orin上把ViT,QFormer模型转成trt使用TensorRT推理,推理后的结果可以接入chatglm.cpp吗? 以实现图像+文字的多模输入?
这样就基本实现了VisualGLM的cpp版本.
如题,感谢!
感觉这个对visualglm 这种吃内存显存的更有用
-l <lora_model_name_or_path>
model 的behaviour不一样
如图
之前版本编译出来的能用,但是只会输出英文。我看有commit做了msvc的适配,就pull了新的代码试了一下,结果貌似能输出中文了,但是编码存在问题。
D:\CHATGLM\chatglm.cpp>.\build-win\bin\Debug\main.exe -m .\chatglm2-ggml.bin -i
________ __ ________ __ ___
/ ____/ /_ ____ _/ /_/ ____/ / / |/ /_________ ____
/ / / __ \/ __ `/ __/ / __/ / / /|_/ // ___/ __ \/ __ \
/ /___/ / / / /_/ / /_/ /_/ / /___/ / / // /__/ /_/ / /_/ /
\____/_/ /_/\__,_/\__/\____/_____/_/ /_(_)___/ .___/ .___/
/_/ /_/
Prompt > 你好
ChatGLM2 > 浣犲ソ馃憢锛佹垜鏄汉宸ユ櫤鑳藉姪鎵?ChatGLM2-6B锛屽緢楂樺叴瑙佸埌浣狅紝娆㈣繋闂垜浠讳綍闂銆
应该是gbk编码的文本被强制转换为utf-8显示而出现的问题。。。
如题
如题
我的机器配置是AMD Ryzen 5950x, NVidia RTX A6000, CUDA 11.7
我目前有2套测试配置,都是截止到7月6日的最新代码,都使用同样的参数 t=6, l/n=128, prompt="how to build a house in 10 steps“
C1: chatglm2-6B, 使用 chatglm.cpp
C2: vicuna_7b_v1.3, 使用 llama.cpp
在CPU下:
FP16
Q4_0
在GPU下:
FP16
Q4_0
C1: 49.8 t/s
C2: 108.1 t/s
所以在GPU下反而C1比C2慢很多,low bit差别更加明显。用GPU的时候我是设置--threads 1,跟llama.cpp一致。
chatglm.cpp里没有提供-ngl所以我不确定是不是一些层没有完全offload到GPU导致的,比较难DEBUG
UPDATE:
附带一张我最近和fastllm的性能测试, 可以看到对于fastllm, chatglm2 6B在GPU上是比vicua 7B快40%的,证明这个架构没什么问题。但在chatglm.cpp当前反而是比vicuna 7B慢了50%
│ /home/xxxx/testingllm/chatglm.cpp/convert.py:233 in dump_config │
│ │
│ 230 │ │ │ config.multi_query_group_num, │
│ 231 │ │ ] │
│ 232 │ │ │
│ ❱ 233 │ │ f.write(struct.pack("i" * len(config_values), *config_values)) │
│ 234 │ │
│ 235 │ @staticmethod │
│ 236 │ def dump_tokenizer(f, tokenizer): │
chatglm没问题
cmake -B build 成功
cmake --build build -j 成功
python convert.py -i ~/models/THUDM/chatglm2-6b -t f16 -o chatglm2-ggml-f16.bin 成功
Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████████████| 7/7 [00:08<00:00, 1.28s/it]
Dumping model state: 100%|██████████████████████████████████████████████████████████████████████| 199/199 [00:35<00:00, 5.66it/s]
./build/bin/main -m chatglm2-ggml-f16.bin -i
________ __ ________ __ ___
/ ____/ /_ ____ _/ /_/ ____/ / / |/ /_________ ____
/ / / __ \/ __ `/ __/ / __/ / / /|_/ // ___/ __ \/ __ \
/ /___/ / / / /_/ / /_/ /_/ / /___/ / / // /__/ /_/ / /_/ /
\____/_/ /_/\__,_/\__/\____/_____/_/ /_(_)___/ .___/ .___/
/_/ /_/
Prompt > 你好!
ChatGLM2 > 你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。
成功速度很快
pip install .
.....
Successfully built chatglm-cpp
Installing collected packages: chatglm-cpp
Successfully installed chatglm-cpp-0.2.0
运行 web_demo.py 失败
python web_demo.py -m chatglm2-ggml-f16.bin
Traceback (most recent call last):
File "/Users/suifei/works/chatglm.cpp/web_demo.py", line 5, in <module>
import chatglm_cpp
File "/Users/suifei/works/chatglm.cpp/chatglm_cpp/__init__.py", line 5, in <module>
import chatglm_cpp._C as _C
ModuleNotFoundError: No module named 'chatglm_cpp._C'
请问下这个是什么原因导致的,python module 调用失败
Apple M1 Pro 16 GB macOS(13.4.1 (22F82))
cmake -B build #Success
cmake --build build -j #Success
python convert.py -i ~/models/THUDM/chatglm2-6b -t f16 -o chatglm2-ggml-f16.bin #Success
Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████████████| 7/7 [00:08<00:00, 1.28s/it]
Dumping model state: 100%|██████████████████████████████████████████████████████████████████████| 199/199 [00:35<00:00, 5.66it/s]
./build/bin/main -m chatglm2-ggml-f16.bin -i
________ __ ________ __ ___
/ ____/ /_ ____ _/ /_/ ____/ / / |/ /_________ ____
/ / / __ \/ __ `/ __/ / __/ / / /|_/ // ___/ __ \/ __ \
/ /___/ / / / /_/ / /_/ /_/ / /___/ / / // /__/ /_/ / /_/ /
\____/_/ /_/\__,_/\__/\____/_____/_/ /_(_)___/ .___/ .___/
/_/ /_/
Prompt > hello!
ChatGLM2 > Hello! How can I assist you today?
The success rate is fast.
pip install .
.....
Successfully built chatglm-cpp
Installing collected packages: chatglm-cpp
Successfully installed chatglm-cpp-0.2.0
An error occurred while running web_demo.py.
python web_demo.py -m chatglm2-ggml-f16.bin
Traceback (most recent call last):
File "/Users/suifei/works/chatglm.cpp/web_demo.py", line 5, in <module>
import chatglm_cpp
File "/Users/suifei/works/chatglm.cpp/chatglm_cpp/__init__.py", line 5, in <module>
import chatglm_cpp._C as _C
ModuleNotFoundError: No module named 'chatglm_cpp._C'
What is the reason for the failure of the Python module call?
Would you like to provide the chatglm int4 ggml model ?
请问这个REPO可以直接支持chatGLM2吗?
另外最近2周llama.cpp里很多关于cublas的优化提速代码是否已经merge进来了?
chatglm2本身并没有这个参数,num_threads
After chatting for a few lines, I receive the following error:
ChatGLM2 > ggml_new_tensor_impl: not enough space in the scratch memory pool (needed 173910528, available 150994944)
/home/d/bin/chat-gml2: line 4: 4131493 Segmentation fault (core dumped) $GLM/build/bin/main -m $MODEL -i -t 8 -c 2048 -l 8000
This can be resolved by increasing the SCRATCH_SIZE in chatglm.h.
I'm creating this issue for 2 reasons: 1. To help someone else resolve this if they encounter it, and 2. request a knob for the value.
Hi,
First of all, thanks for creating interesting project for ChatGLM.
I wonder if you plan to add performance profiling information similar to llama_print_timings in llama.cpp
当我尝试用llama-cpp-python 调用chatglm2的q8_0的模型时遇到了问题:
Python 3.11.3 (main, Jun 5 2023, 09:32:32) [GCC 13.1.1 20230429] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from llama_cpp import Llama
>>> llm = Llama(model_path="/home/micraow/chatglm.cpp/chatglm2-ggml.bin")
llama.cpp: loading model from /home/micraow/chatglm.cpp/chatglm2-ggml.bin
error loading model: unknown (magic, version) combination: 6c6d6767, 00000002; is this really a GGML file?
llama_load_model_from_file: failed to load model
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/micraow/aiwork/llama-cpp-python/llama_cpp/llama.py", line 304, in __init__
assert self.model is not None
^^^^^^^^^^^^^^^^^^^^^^
AssertionError
然而用本项目调用则正常,模型应该没有问题,我使用的是llama-cpp-python的最新版本,正在尝试利用privateGPT搭建知识库时遇到了这个问题。不知道该如何解决?
非常感谢你们的工作,
当前版本似乎不支持单机多卡推理。在 8 x RTX 2080 TI 11G 的机子上加载未量化的chatglm2-6b-f16权重,ggml可以检测到8块显卡,但是所有权重都被扔到第一块卡上,导致cuda out of memory。同样的main运行q_4的权重没有任何问题。
系统:Ubuntu20.04
bash运行
$echo CUDA_VISIBLE_DEVICE
返回
0,1,2,3,4,5,6,7
期待修改以支持多卡推理,谢谢!
怎么能通过python内API调用呢?
首先感谢作者做出的贡献!
我在win10+i78665U+24G内存条件下运行chatglm2-6b Q4,无GPU,首个token耗时20分钟以上,后续每个token平均10s以上。我看到ReadMe中benchmark测试也没有用GPU,想来硬件差距不算太离谱,所以请教一下问题出在哪里,是硬件不行还是其它什么原因?盼回复,不胜感激。
编译过程输出:
E:\projects\chatglmcpp\chatglm.cpp>cmake -B build
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19045.
-- CMAKE_SYSTEM_PROCESSOR: AMD64
-- x86 detected
-- VERSION: 0.2.00
-- Not Found TCMalloc: TCMALLOC_LIB-NOTFOUND
-- Configuring done (0.7s)
-- Generating done (0.7s)
-- Build files have been written to: E:/projects/chatglmcpp/chatglm.cpp/build
E:\projects\chatglmcpp\chatglm.cpp>cmake --build build -j
MSBuild version 17.6.3+07e294721 for .NET Framework
Checking Build System
ggml.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\lib\Debug\ggml.lib
sentencepiece_train-static.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\lib\Debug\sentencepiece_train.lib
sentencepiece-static.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\lib\Debug\sentencepiece.lib
Building Custom Rule E:/projects/chatglmcpp/chatglm.cpp/CMakeLists.txt
LINK : 没有找到 E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_train.exe 或上一个增量链接没有生成它;正在执行 完全链接
LINK : 没有找到 E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_export_vocab.exe 或上一个增量链接没有生成它;正在执行完全链接
LINK : 没有找到 E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_encode.exe 或上一个增量链接没有生成它;正在执行完全链接
LINK : 没有找到 E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_decode.exe 或上一个增量链接没有生成它;正在执行完全链接
spm_export_vocab.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_export_vocab.exe
spm_encode.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_encode.exe
spm_decode.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_decode.exe
spm_train.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_train.exe
chatglm.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\lib\Debug\chatglm.lib
LINK : 没有找到 E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_normalize.exe 或上一个增量链接没有生成它;正在 执行完全链接
spm_normalize.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\spm_normalize.exe
Building Custom Rule E:/projects/chatglmcpp/chatglm.cpp/CMakeLists.txt
cl : 命令行 warning D9002: 忽略未知选项“-g” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
main.cpp
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(377,34): warning C4820: "ggml_tensor": 数据成员 "gg
ml_tensor::n_dims" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(388,34): warning C4820: "ggml_tensor": 数据成员 "gg
ml_tensor::is_param" 后添加了 "3" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(408,5): warning C4820: "ggml_tensor": 数据成员 "ggm
l_tensor::padding" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(418,16): warning C4820: "ggml_cgraph": 数据成员 "gg
ml_cgraph::n_threads" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(427,17): warning C4820: "ggml_cgraph": 数据成员 "gg
ml_cgraph::perf_runs" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(443,5): warning C4820: "ggml_init_params": 数据 成员
"ggml_init_params::no_alloc" 后添加了 "7" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(460,16): warning C4820: "ggml_compute_params":
数据成员 "ggml_compute_params::nth" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(1362,15): warning C4820: "ggml_opt_params": 数据成
员 "ggml_opt_params::print_backward_graph" 后添加了 "2" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(1385,17): warning C4820: "ggml_opt_context": 数 据
成员 "ggml_opt_context::iter" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(1401,9): warning C4820: "ggml_opt_context::": 数据成员 "ggml_opt_context::n_no_improvement" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxp
roj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(1401,15): warning C4820: "ggml_opt_context": 数 据
成员 "ggml_opt_context::just_initialized" 后添加了 "7" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\ggml\include\ggml\ggml.h(1507,5): warning C4820: "": 数据成 员 "
::vec_dot_type" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\sentencepiece\src\sentencepiece_processor.h(704,1): warning C4625: “sent
encepiece::SentencePieceProcessor”: 已将复制构造函数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\third_party\sentencepiece\src\sentencepiece_processor.h(704,1): warning C4626: “sent
encepiece::SentencePieceProcessor”: 已将对齐运算符隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(21,1): warning C4625: “chatglm::LogMessageFatal”: 已将复制构造函数隐式定 义为“已删除” [E:\p
rojects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(21,1): warning C4626: “chatglm::LogMessageFatal”: 已将对齐运算符隐式定义 为“已删除” [E:\pr
ojects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(95,1): warning C4820: "chatglm::InitContext": 数据成员 "chatglm::InitContext::
dtype" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(95,1): warning C4625: “chatglm::InitContext”: 已将复制构造函数隐式定义为 “已删除” [E:\proje
cts\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(95,1): warning C4626: “chatglm::InitContext”: 已将对齐运算符隐式定义为“ 已删除” [E:\projec
ts\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(101,1): warning C4625: “chatglm::ForwardContext”: 已将复制构造函数隐式定 义为“已删除” [E:\p
rojects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(101,1): warning C4626: “chatglm::ForwardContext”: 已将对齐运算符隐式定义 为“已删除” [E:\pr
ojects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(187,22): warning C4820: "chatglm::TextStreamer": 数据成员 "chatglm::TextStream
er::is_prompt_" 后添加了 "7" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(189,1): warning C4820: "chatglm::TextStreamer": 数据成员 "chatglm::TextStreame
r::print_len_" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(189,1): warning C4626: “chatglm::TextStreamer”: 已将对齐运算符隐式定义为 “已删除” [E:\proj
ects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(189,1): warning C5027: “chatglm::TextStreamer”: 已将移动赋值运算符隐式定 义为“已删除” [E:\pr
ojects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(249,1): warning C4626: “chatglm::ModelLoader”: 已将对齐运算符隐式定义为“已删除” [E:\proje
cts\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(249,1): warning C5027: “chatglm::ModelLoader”: 已将移动赋值运算符隐式定义为“已删除” [E:\pro
jects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(257,9): warning C4820: "chatglm::GenerationConfig": 数据成员 "chatglm::Generat
ionConfig::do_sample" 后添加了 "3" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(315,1): warning C4625: “chatglm::BaseModelForConditionalGeneration”: 已将复制构
造函数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(315,1): warning C4626: “chatglm::BaseModelForConditionalGeneration”: 已将对齐运
算符隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(345,1): warning C4820: "chatglm::ChatGLMTokenizer": 数据成员 "chatglm::ChatGLM
Tokenizer::pad_token_id" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(345,1): warning C4625: “chatglm::ChatGLMTokenizer”: 已将复制构造函数隐式 定义为“已删除” [E:
\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(345,1): warning C5026: “chatglm::ChatGLMTokenizer”: 已将移动构造函数隐式 定义为“已删除” [E:
\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(345,1): warning C4626: “chatglm::ChatGLMTokenizer”: 已将对齐运算符隐式定 义为“已删除” [E:
projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(345,1): warning C5027: “chatglm::ChatGLMTokenizer”: 已将移动赋值运算符隐 式定义为“已删除” [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(378,25): warning C4820: "chatglm::GLMSelfAttention": 数据成员 "chatglm::GLMSel
fAttention::num_attention_heads" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(397,1): warning C4820: "chatglm::GLMBlock": 数据成员 "chatglm::GLMBlock::num_h
idden_layers" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(425,18): warning C4820: "chatglm::ChatGLMForConditionalGeneration": 数据成 员 "
chatglm::ChatGLMForConditionalGeneration::config" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(432,1): warning C4623: “chatglm::ChatGLMForConditionalGeneration”: 已将默认构造函
数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(432,1): warning C4625: “chatglm::ChatGLMForConditionalGeneration”: 已将复制构造函
数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(432,1): warning C5026: “chatglm::ChatGLMForConditionalGeneration”: 已将移动构造函
数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(432,1): warning C4626: “chatglm::ChatGLMForConditionalGeneration”: 已将对齐运算符
隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(432,1): warning C5027: “chatglm::ChatGLMForConditionalGeneration”: 已将移动赋值运
算符隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(461,1): warning C4820: "chatglm::ChatGLM2Tokenizer": 数据成员 "chatglm::ChatGL
M2Tokenizer::eop_token_id" 后添加了 "4" 字节填充 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(461,1): warning C4625: “chatglm::ChatGLM2Tokenizer”: 已将复制构造函数隐式定义为“已删除” [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(461,1): warning C5026: “chatglm::ChatGLM2Tokenizer”: 已将移动构造函数隐式定义为“已删除” [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(461,1): warning C4626: “chatglm::ChatGLM2Tokenizer”: 已将对齐运算符隐式定义为“已删除” [E:
\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(461,1): warning C5027: “chatglm::ChatGLM2Tokenizer”: 已将移动赋值运算符隐式定义为“已删除” [
E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(514,1): warning C4623: “chatglm::GLM2Block”: 已将默认构造函数隐式定义为“已删除” [E:\projec
ts\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(551,1): warning C4623: “chatglm::ChatGLM2ForConditionalGeneration”: 已将 默认构造
函数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(551,1): warning C4625: “chatglm::ChatGLM2ForConditionalGeneration”: 已将 复制构造
函数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(551,1): warning C5026: “chatglm::ChatGLM2ForConditionalGeneration”: 已将 移动构造
函数隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(551,1): warning C4626: “chatglm::ChatGLM2ForConditionalGeneration”: 已将 对齐运算
符隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(551,1): warning C5027: “chatglm::ChatGLM2ForConditionalGeneration”: 已将 移动赋值
运算符隐式定义为“已删除” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(566,1): warning C4625: “chatglm::Pipeline”: 已将复制构造函数隐式定义为“ 已删除” [E:\project
s\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\chatglm.h(566,1): warning C4626: “chatglm::Pipeline”: 已将对齐运算符隐式定义为“已 删除” [E:\projects
\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winbase.h(7723,48): warning C5039: “TpSetCallbackCleanup
Group”: 可能引发函数的指针或引用传递到 -EHc 下的外部 "C" 函数。如果此函数引发异常,则可能发生未定义的行为。 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11004,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_TH2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11010,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS1”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11015,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_TH2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11020,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_TH2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11027,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS1”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11032,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11043,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11048,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_TH2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11054,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS3”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11062,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS4”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11066,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS1”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11070,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS4”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11075,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS1”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11078,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS5”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11293,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(11317,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS5”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(14840,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS5”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(15042,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS5”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(15145,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS5”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(15241,21): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS5”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(15345,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS5”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(16089,23): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(16177,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS2”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(16303,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS3”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(16452,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS4”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(16465,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS4”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winioctl.h(16694,22): warning C4668: 没有将“_WIN32_WINNT_WI
N10_RS1”定义为预处理器宏,用“0”替换“#if/#elif” [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(17,9): warning C4820: "Args": 数据成员 "Args::interactive" 后添加了 "3" 字节填充 [E:\pr
ojects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(22,1): warning C4820: "Args": 数据成员 "Args::verbose" 后添加了 "3" 字节填充 [E:\projec
ts\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(84,50): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(86,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(87,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(89,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(90,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(91,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(93,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(94,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(95,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(96,55): warning C4365: “参数”: 从“unsigned char”转换到“const _Elem”, 有符号/无符号不匹配 [E
:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
with
[
_Elem=char
]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(159,50): warning C5219: 从“int64_t”隐式转换到“float”,可能会丢失数据 [E:\projects\chatglm
cpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(179,51): warning C4365: “参数”: 从“unsigned __int64”转换到“std::streamsize”,有符号/无
符号不匹配 [E:\projects\chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(52): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(52) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(54): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(54) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(58): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(58) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(60): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(60) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(68): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(68) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(66): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(66) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(64): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(64) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(62): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(62) : 注意: 此行上的源调用
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(46): warning C5045: 如果指定了 /Qspectre 开关,编译器会插入内存负载的 Spectre 缓解 [E:\projects
chatglmcpp\chatglm.cpp\build\main.vcxproj]
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(45) : 注意: 在此行上通过对比检查索引 "i" 范围
E:\projects\chatglmcpp\chatglm.cpp\main.cpp(46) : 注意: 此行上的源调用
LINK : 没有找到 E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\main.exe 或上一个增量链接没有生成它;正在执行完全链接
main.vcxproj -> E:\projects\chatglmcpp\chatglm.cpp\build\bin\Debug\main.exe
Building Custom Rule E:/projects/chatglmcpp/chatglm.cpp/CMakeLists.txt
如题,2023 MacBook Pro 14 inch (M2 pro) 运行0.2.2版本报错
GGML_ASSERT: /private/var/folders/_s/4zl9s20j6tz7v7hpgrnfjr2h0000gn/T/pip-install-u8orwh9d/chatglm-cpp_09e75c58ec8c422bb5becf3fe9b775aa/third_party/ggml/src/ggml-metal.m:904: false && "not implemented"
[1] 7010 abort python3 web_demo.py -m ../chatglm2-ggml.bin
Compile用的是readme中的命令
cmake -B build -DGGML_METAL=ON && cmake --build build -j
13900KF
精度不太好说,没有测试
Does this support Android build yet with NDK?
Can this work with the GLm130B model?
https://github.com/THUDM/GLM-130B
Prompt > 你好
ChatGLM2 > 浣犲ソ馃憢锛佹垜鏄汉宸ユ櫤鑳藉姪鎵?ChatGLM2-6
這樣子就能直接下載使用不用再安裝環境了
您好,我测试下来效果非常好,在cpu上的多线程的效果快赶上gpu了,但我想试试lora模型是不是会更快,于是运行了python3 convert.py -i THUDM/chatglm2-6b -t q4_0 -l ../glm2 -o chatglm2-lora-ggml.bin,保存好的模型貌似和原来glm2差不多,没有提速,请问是正常的么?因为之前测试gpu上GLM2+LoRA非常快的。
E:\github_code\chatglm.cpp\chatglm.cpp(14,10): fatal error C1083: 无法打开包括文件: “sys/mman.h”: No such file or directory [E:\github_code\chatglm.cpp\build\chatglm.vcxproj]
Currently chatglm.cpp
provides Pipeline
for users. The Pipeline
class provides a method called chat
, which handles the system prompt, chat history, output formatting and more.
This is awesome. But for better flexibility, a low level API generate
is also needed for integrate chatglm.cpp
with other systems like text-generation-webui
, LangChain
, and Xinference
.
Here are some detailed needs for the method generate
(in Python):
def generate(
self,
prompt: str, # the full prompt passed directly to the model
stop: Optional[Union[str, List[str]]] = [], # stop words
max_tokens: int = 128,
temperature: float = 0.8,
top_p: float = 0.95,
top_k: int = 40,
**other_generate_kwargs
) -> Completion:
pass
class Completion(TypedDict):
text: str
index: int
prompt_tokens: int
completion_tokens: int
total_tokens: int
finish_reason: Optional[str] # "stop" for eos met and "length" for max_tokens reached
如题
你好,运行如下命令:
python cli_chat.py -m ../../pretrained-models/chatglm2-6b-ggml-q8_0.bin -i
发现并没有调用gpu。
之前编译使用:
cmake -B build -DGGML_CUBLAS=ON
cmake --build build -j
如果使用下面命令是可以正常调用gpu:
./build/bin/main -m ../pretrained-models/chatglm2-6b-ggml-q8_0.bin -i
想问下:是这个python接口还需要适配gpu吗?若有,需要改动什么呢
你好,非常感谢作者的工作和无私奉献
通过对比我发现以下两个问题:
1.chatglm-6b的chatglm.cpp首个token的推理速度比Python版本慢了好几倍,特别是输入长度大于100。
2. 输入长度超过1000字符,chatglm.cpp的结果更差,输出的长度比Python版本短了50%以上。
机器型号:CPU型号:Intel(R) Xeon(R) Platinum 8475B,CPU核数:16,内存:60Gi
模型精度 | 模型推理版本 | 输入长度(字) | 输出长度(token) | 第一个token耗时 | 非流式输出总耗时 | 总耗时 | 剩余token平均耗时 |
---|---|---|---|---|---|---|---|
float16 | Python | 32 | 215 | 0.7445s | 34.1369s | 35.3059s | 0.1615s |
float16 | Python | 257 | 306 | 1.3713s | 50.179s | 50.4559s | 0.1654s |
float16 | Python | 512 | 269 | 2.8002s | 46.7511s | 48.0962s | 0.169s |
float16 | Python | 1024 | 227 | 4.7105s | 44.6898s | 44.3965s | 0.1756s |
float16 | Python | 24 | 282 | 0.5863s | 46.4415s | 45.34s | 0.1593s |
float16 | chatglm.cpp | 32 | 217 | 0.5475s | 21.1821s | 0.0955s | |
float16 | chatglm.cpp | 257 | 308 | 4.0019s | 33.6029s | 0.0964s | |
float16 | chatglm.cpp | 512 | 271 | 9.6735s | 35.9047s | 0.0972s | |
float16 | chatglm.cpp | 1024 | 98 | 15.9248s | 25.3531s | 0.0972s | |
float16 | chatglm.cpp | 24 | 284 | 0.5491s | 27.6705s | 0.0958s |
Cannot seem to compile chatglm for Windows, any ideas?
$ cmake --build build -j
MSBuild version 17.6.3+07e294721 for .NET Framework
MSBUILD : error MSB1009: Project file does not exist.
Switch: ALL_BUILD.vcxproj
cmake .
does not contain a CMakeLists.txt file.
CMake Error at CMakeLists.txt:18 (add_subdirectory)
built with cuBLAS, after that running ./main gives error
CUDA error 222 at xxxxxx/chatglm.cpp/third_party/ggml/src/ggml-cuda.cu:1835: the provided PTX was compiled with an unsupported toolchain.
./build/bin/main -m chatglm-ggml.bin -i 可以正常使用
但是使用cd examples && python3 cli_chat.py -m ../chatglm2-ggml.bin -i 的时候报错显示
zsh: illegal hardware instruction python3 web_demo.py -m ../chatglm2-ggml.bin
同一团队发布的代码基座模型 CodeGeeX2 是否可以支持呢?
在苹果芯片下,clang: error: the clang compiler does not support '-march=native',请问怎么解决呢
windows10 Cmake编译后,未生成ggml.lib库
Sincerely appreciate for your work, do you guys have any plan to support ANE or MPS backend from apple?
如题,默认值是512,请问这是指生成下一个token时只看512个token长度的上文吗?
def chat(
self,
history: List[str],
*,
max_length: int = 2048,
max_context_length: int = 512,
do_sample: bool = True,
top_k: int = 0,
top_p: float = 0.7,
temperature: float = 0.95,
num_threads: int = 0,
) -> str:
gen_config = _C.GenerationConfig(
max_length=max_length,
max_context_length=max_context_length,
do_sample=do_sample,
top_k=top_k,
top_p=top_p,
temperature=temperature,
num_threads=num_threads,
)
it gives the error when built with cuBLAS
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.