|
|
|
@ -155,15 +155,15 @@ for k, v in prefix_state_dict.items():
|
|
|
|
|
new_prefix_state_dict[k[len("transformer.prefix_encoder."):]] = v |
|
|
|
|
model.transformer.prefix_encoder.load_state_dict(new_prefix_state_dict) |
|
|
|
|
``` |
|
|
|
|
注意你可能需要将 `pre_seq_len` 改成你训练时的实际值。 |
|
|
|
|
注意你可能需要将 `pre_seq_len` 改成你训练时的实际值。如果你是[从本地加载模型的话](https://github.com/THUDM/ChatGLM-6B#%E4%BB%8E%E6%9C%AC%E5%9C%B0%E5%8A%A0%E8%BD%BD%E6%A8%A1%E5%9E%8B),需要将 `THUDM/chatglm-6b` 改成本地的模型路径(注意不是checkpoint路径)。 |
|
|
|
|
|
|
|
|
|
(2) 如果需要加载的是旧 Checkpoint(包含 ChatGLM-6B 以及 PrefixEncoder 参数),则直接加载整个 Checkpoint: |
|
|
|
|
(2) 如果需要加载的是旧 Checkpoint(包含 ChatGLM-6B 以及 PrefixEncoder 参数),或者进行的全参数微调,则直接加载整个 Checkpoint: |
|
|
|
|
|
|
|
|
|
```python |
|
|
|
|
model = AutoModel.from_pretrained(CHECKPOINT_PATH, config=config, trust_remote_code=True) |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
再进行量化即可使用: |
|
|
|
|
之后根据需求可以进行量化,也可以直接使用: |
|
|
|
|
|
|
|
|
|
```python |
|
|
|
|
print(f"Quantized to 4 bit") |
|
|
|
|