Traceback (most recent call last):
File "run.py", line 4, in <module>
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", trust_remote_code=True)
File "/root/miniconda3/lib/python3.8/site-packages/transformers/models/auto/auto_factory.py", line 561, in from_pretrained
return model_class.from_pretrained(
File "/root/miniconda3/lib/python3.8/site-packages/transformers/modeling_utils.py", line 3535, in from_pretrained
model = quantizer.convert_model(model)
File "/root/miniconda3/lib/python3.8/site-packages/optimum/gptq/quantizer.py", line 218, in convert_model
self.block_name_to_quantize = get_block_name_with_pattern(model)
File "/root/miniconda3/lib/python3.8/site-packages/optimum/gptq/utils.py", line 77, in get_block_name_with_pattern
raise ValueError("Block pattern could not be match. Pass `block_name_to_quantize` argument in `quantize_model`")
ValueError: Block pattern could not be match. Pass `block_name_to_quantize` argument in `quantize_model`
我运行的代码如下:
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "/content/chatglm3_gptq"
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
print(model)
9条答案
按热度按时间j91ykkif1#
ChatGLM目前仅支持其编码器架构,但将来将支持。
qvtsj1bj2#
ChatGLM目前仅支持其编码器架构,但将来会支持。
现在有什么计划?
yftpprvb3#
@junior-zsy, @tsaizehua, take a look here: huggingface/optimum#1479
0g0grzrc4#
junior-zsy, @tsaizehua,请看这里: huggingface/optimum#1479
我能否使用optimum来量化ChatGLM与AutoGPTQ?如何操作?@AlexKoff88
kxkpmulp5#
请使用最新的Transformer和最优版本,并使用以下代码片段:
ssgvzors6#
请使用最新的Transformer和最优版本,并使用以下代码片段:
它可以工作。谢谢。@AlexKoff88
8mmmxcuj7#
@AlexKoff88 我在量化模型后遇到了一个小问题。当我尝试运行模型时,收到了以下错误:
我运行的代码如下:
在查看Optimum源代码后,我发现这个问题可能与量化过程中的
block_name_to_quantize="transformer.encoder.layers"
有关。这个常量在transformer.encoder.layers
中没有出现:生成错误的Optimum代码的相关部分可以在这里和这里看到。
请问如何解决这个问题?非常感谢您的帮助。
jjjwad0x8#
@zhaozhiming,这是我几个月前用于量化ChatGLM2的代码:
Transformers和Optimum中的代码正在快速变化,可能会出现问题。
尝试手动将
"transformer.encoder.layers"
添加到BLOCK_PATTERNS
中,或者在加载量化模型时将quantization_config
传递给AutoModelForCausalLM.from_pretrained(...)
。xmjla07d9#
感谢您的耐心指导。我会再次查看剩余的问题。谢谢。