Add gcc installation
This commit is contained in:
parent
d3c58147ed
commit
b35782c46e
15
FAQ.md
Normal file
15
FAQ.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Q1
|
||||
|
||||
**Mac直接加载量化后的模型出现提示 `clang: error: unsupported option '-fopenmp'**
|
||||
|
||||
这是由于Mac由于本身缺乏omp导致的,此时可运行但是单核。需要单独安装 openmp 依赖,即可在Mac下使用OMP:
|
||||
|
||||
```bash
|
||||
# 参考`https://mac.r-project.org/openmp/`
|
||||
## 假设: gcc(clang)是14.x版本,其他版本见R-Project提供的表格
|
||||
curl -O https://mac.r-project.org/openmp/openmp-14.0.6-darwin20-Release.tar.gz
|
||||
sudo tar fvxz openmp-14.0.6-darwin20-Release.tar.gz -C /
|
||||
```
|
||||
此时会安装下面几个文件:`/usr/local/lib/libomp.dylib`, `/usr/local/include/ompt.h`, `/usr/local/include/omp.h`, `/usr/local/include/omp-tools.h`。
|
||||
|
||||
> 注意:如果你之前运行`ChatGLM`项目失败过,最好清一下Huggingface的缓存,i.e. 默认下是 `rm -rf ${HOME}/.cache/huggingface/modules/transformers_modules/chatglm-6b-int4`。由于使用了`rm`命令,请明确知道自己在删除什么。
|
20
README.md
20
README.md
@ -229,7 +229,6 @@ model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).q
|
||||
|
||||
如果你的内存不足,可以直接加载量化后的模型:
|
||||
```python
|
||||
# INT8 量化的模型将"THUDM/chatglm-6b-int4"改为"THUDM/chatglm-6b-int8"
|
||||
model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4",trust_remote_code=True).cuda()
|
||||
```
|
||||
|
||||
@ -241,14 +240,15 @@ model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4",trust_remote_code=Tru
|
||||
```python
|
||||
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).float()
|
||||
```
|
||||
|
||||
<!--
|
||||
|
||||
如果遇到了报错 `Could not find module 'nvcuda.dll'` 或者 `RuntimeError: Unknown platform: darwin` (MacOS) ,请[从本地加载模型](README.md#从本地加载模型) -->
|
||||
如果你的内存不足的话,也可以使用量化后的模型
|
||||
```python
|
||||
model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4",trust_remote_code=True).float()
|
||||
```
|
||||
在 cpu 上运行量化后的模型需要安装 `gcc` 与 `openmp`。多数 Linux 发行版默认已安装。对于 Windows ,可在安装 [TDM-GCC](https://jmeubank.github.io/tdm-gcc/) 时勾选 `openmp`。 Windows 测试环境 `gcc` 版本为 `TDM-GCC 10.3.0`, Linux 为 `gcc 11.3.0`。在 MacOS 上请参考 [Q1](FAQ.md#q1)。
|
||||
|
||||
### Mac 部署
|
||||
|
||||
对于搭载了 Apple Silicon 或者 AMD GPU 的 Mac,可以使用 MPS 后端来在 GPU 上运行 ChatGLM2-6B。需要参考 Apple 的 [官方说明](https://developer.apple.com/metal/pytorch) 安装 PyTorch-Nightly(正确的版本号应该是2.1.0.dev2023xxxx,而不是 2.0.0)。
|
||||
对于搭载了 Apple Silicon 或者 AMD GPU 的 Mac,可以使用 MPS 后端来在 GPU 上运行 ChatGLM2-6B。需要参考 Apple 的 [官方说明](https://developer.apple.com/metal/pytorch) 安装 PyTorch-Nightly(正确的版本号应该是2.x.x.dev2023xxxx,而不是 2.x.x)。
|
||||
|
||||
目前在 MacOS 上只支持[从本地加载模型](README.md#从本地加载模型)。将代码中的模型加载改为从本地加载,并使用 mps 后端:
|
||||
```python
|
||||
@ -256,12 +256,8 @@ model = AutoModel.from_pretrained("your local path", trust_remote_code=True).to(
|
||||
```
|
||||
|
||||
加载半精度的 ChatGLM2-6B 模型需要大概 13GB 内存。内存较小的机器(比如 16GB 内存的 MacBook Pro),在空余内存不足的情况下会使用硬盘上的虚拟内存,导致推理速度严重变慢。
|
||||
<!-- 此时可以使用量化后的模型如 chatglm-6b-int4。因为 GPU 上量化的 kernel 是使用 CUDA 编写的,因此无法在 MacOS 上使用,只能使用 CPU 进行推理。
|
||||
```python
|
||||
# INT8 量化的模型将"THUDM/chatglm-6b-int4"改为"THUDM/chatglm-6b-int8"
|
||||
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4",trust_remote_code=True).float()
|
||||
```
|
||||
为了充分使用 CPU 并行,还需要[单独安装 OpenMP](FAQ.md#q1)。 -->
|
||||
此时可以使用量化后的模型 chatglm2-6b-int4。因为 GPU 上量化的 kernel 是使用 CUDA 编写的,因此无法在 MacOS 上使用,只能使用 CPU 进行推理。
|
||||
为了充分使用 CPU 并行,还需要[单独安装 OpenMP](FAQ.md#q1)。
|
||||
|
||||
## 协议
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user