官方模型加载错误

#65
by xfs1990 - opened

Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 5.84it/s]
Traceback (most recent call last):
File "/mnt/bn/eps-qa-graph/mlx/users/xufengshuo/playground/llm/glm4/llm_client.py", line 29, in
outputs = model.generate(**inputs, **gen_kwargs)
File "/usr/local/lib/python3.9/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/transformers/generation/utils.py", line 1622, in generate
result = self._sample(
File "/usr/local/lib/python3.9/dist-packages/transformers/generation/utils.py", line 2841, in _sample
model_kwargs = self._update_model_kwargs_for_generation(
File "/root/.cache/huggingface/modules/transformers_modules/glm-4-9b-chat/modeling_chatglm.py", line 939, in _update_model_kwargs_for_generation
cache_name, cache = self._extract_past_from_model_output(
ValueError: too many values to unpack (expected 2)

按照官方requirements.txt安装
版本:
sentence-transformers 3.0.1
transformers 4.40.0
NVIDIA-SMI 535.161.08 Driver Version: 535.161.08 CUDA Version: 12.2
尝试过很多transformers版本,都没用。

我把下载文件里的modeling_chatglm.py的933行改成了两天前的版本

model_kwargs["past_key_values"] = self._extract_past_from_model_output(outputs, standardize_cache_format=standardize_cache_format)

能跑,但是不知道对不对

Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University org

transformers 4.40.0应该是没有问题的吧,你这个是4.42的问题啊 pip list 一下

transformers 4.40.0应该是没有问题的吧,你这个是4.42的问题啊 pip list 一下

我这个就是pip list的结果
image.png

image.png

image.png

我把下载文件里的modeling_chatglm.py的933行改成了两天前的版本

model_kwargs["past_key_values"] = self._extract_past_from_model_output(outputs, standardize_cache_format=standardize_cache_format)

能跑,但是不知道对不对

我试了下,每次启动都会覆盖这个文件

我把下载文件里的modeling_chatglm.py的933行改成了两天前的版本

model_kwargs["past_key_values"] = self._extract_past_from_model_output(outputs, standardize_cache_format=standardize_cache_format)

能跑,但是不知道对不对

我试了下,每次启动都会覆盖这个文件

glm-4-chat的模型所在目录下有一个modeling_chatglm.py,你执行代码会把这个复制这个文件,你改这个文件就行。
参考https://huggingface.co/THUDM/glm-4-9b-chat/tree/main

Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University org

现在已经更新到4.42.4了,这个版本能用吗,因为transformers这两个版本之间有一定改动

现在已经更新到4.42.4了,这个版本能用吗,因为transformers这两个版本之间有一定改动

可以了,辛苦在github里更新下requirements
另外,用了新版transformers后,有这个提醒,是否正常?
image.png

我把下载文件里的modeling_chatglm.py的933行改成了两天前的版本

model_kwargs["past_key_values"] = self._extract_past_from_model_output(outputs, standardize_cache_format=standardize_cache_format)

能跑,但是不知道对不对

我试了下,每次启动都会覆盖这个文件

glm-4-chat的模型所在目录下有一个modeling_chatglm.py,你执行代码会把这个复制这个文件,你改这个文件就行。
参考https://huggingface.co/THUDM/glm-4-9b-chat/tree/main

这个方法也可以,用于低版本transformers

我把下载文件里的modeling_chatglm.py的933行改成了两天前的版本

model_kwargs["past_key_values"] = self._extract_past_from_model_output(outputs, standardize_cache_format=standardize_cache_format)

能跑,但是不知道对不对

这个修改有用,我的情况是在939行,需要替换的是:
# update past_key_values
cache_name, cache = self._extract_past_from_model_output(
outputs, standardize_cache_format=standardize_cache_format
)
model_kwargs[cache_name] = cache
替换成上面的:
model_kwargs["past_key_values"] = self._extract_past_from_model_output(outputs, standardize_cache_format=standardize_cache_format)

Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University org

模型推理实现已经更新

zRzRzRzRzRzRzR changed discussion status to closed

Sign up or log in to comment