Merge branch 'main' of github.com:THUDM/ChatGLM-6B

pull/192/head
duzx16 2023-03-21 15:29:04 +08:00
commit 41b0250ba1
3 changed files with 15 additions and 15 deletions

View File

@ -10,7 +10,7 @@ ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进
*Read this in [English](README_en.md).* *Read this in [English](README_en.md).*
## 更新信息 ## 更新信息
**[2023/03/19]** 增加流式输出接口`stream_chat`已更新到网页版和命令行demo。修复输出中的中文标点。增加量化后的模型 [ChatGLM-6B-INT4](https://huggingface.co/THUDM/chatglm-6b-int4) **[2023/03/19]** 增加流式输出接口 `stream_chat`,已更新到网页版和命令行 Demo。修复输出中的中文标点。增加量化后的模型 [ChatGLM-6B-INT4](https://huggingface.co/THUDM/chatglm-6b-int4)
## 使用方式 ## 使用方式
@ -64,7 +64,7 @@ cd ChatGLM-6B
#### 网页版 Demo #### 网页版 Demo
![web-demo](resources/web-demo.png) ![web-demo](resources/web-demo.gif)
首先安装 Gradio`pip install gradio`,然后运行仓库中的 [web_demo.py](web_demo.py) 首先安装 Gradio`pip install gradio`,然后运行仓库中的 [web_demo.py](web_demo.py)
@ -72,9 +72,9 @@ cd ChatGLM-6B
python web_demo.py python web_demo.py
``` ```
程序会运行一个 Web Server并输出地址。在浏览器中打开输出的地址即可使用。 程序会运行一个 Web Server并输出地址。在浏览器中打开输出的地址即可使用。最新版 Demo 实现了打字机效果,速度体验大大提升。注意,由于国内 Gradio 的网络访问较为缓慢,启用 `demo.queue().launch(share=True, inbrowser=True)` 时所有网络会经过 Gradio 服务器转发,导致打字机体验大幅下降,现在默认启动方式已经改为 `share=False`,如有需要公网访问的需求,可以重新修改为 `share=True` 启动。
感谢[@AdamBear](https://github.com/AdamBear) 实现了基于Streamlit的网页版demo运行方式见[#117](https://github.com/THUDM/ChatGLM-6B/pull/117). 感谢[@AdamBear](https://github.com/AdamBear) 实现了基于 Streamlit 的网页版 Demo运行方式见[#117](https://github.com/THUDM/ChatGLM-6B/pull/117).
#### 命令行 Demo #### 命令行 Demo
@ -101,7 +101,7 @@ model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).ha
模型量化会带来一定的性能损失经过测试ChatGLM-6B 在 4-bit 量化下仍然能够进行自然流畅的生成。使用 [GPT-Q](https://arxiv.org/abs/2210.17323) 等量化方案可以进一步压缩量化精度/提升相同量化精度下的模型性能,欢迎大家提出对应的 Pull Request。 模型量化会带来一定的性能损失经过测试ChatGLM-6B 在 4-bit 量化下仍然能够进行自然流畅的生成。使用 [GPT-Q](https://arxiv.org/abs/2210.17323) 等量化方案可以进一步压缩量化精度/提升相同量化精度下的模型性能,欢迎大家提出对应的 Pull Request。
**[2023/03/19]** 量化过程需要在内存中首先加载fp16格式的模型消耗大概13GB的内存。如果你的内存不足的话可以直接加载量化后的模型仅需大概5.2GB的内存: **[2023/03/19]** 量化过程需要在内存中首先加载 FP16 格式的模型,消耗大概 13GB 的内存。如果你的内存不足的话,可以直接加载量化后的模型,仅需大概 5.2GB 的内存:
```python ```python
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).half().cuda() model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).half().cuda()
``` ```

BIN
resources/web-demo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@ -42,4 +42,4 @@ with gr.Blocks() as demo:
temperature = gr.Slider(0, 1, value=0.95, step=0.01, label="Temperature", interactive=True) temperature = gr.Slider(0, 1, value=0.95, step=0.01, label="Temperature", interactive=True)
button = gr.Button("Generate") button = gr.Button("Generate")
button.click(predict, [txt, max_length, top_p, temperature, state], [state] + text_boxes) button.click(predict, [txt, max_length, top_p, temperature, state], [state] + text_boxes)
demo.queue().launch(share=True, inbrowser=True) demo.queue().launch(share=False, inbrowser=True)