Update README_zh.md
Browse files- README_zh.md +21 -5
README_zh.md
CHANGED
@@ -12,7 +12,6 @@ license: apache-2.0
|
|
12 |
2. 使用 GLU (Gated Linear Unit) [^2] 替换普通的激活函数。
|
13 |
3. 设置 attention dropout 为 0 以方便应用 `xformers` 和 `flash_attn` 等优化。
|
14 |
4. 使用 Unpadding 技术去除对 padding token 的无用计算 [^3](默认关闭,需要结合 `flash_attn` 或 `xformers` 使用来获得最高加速)。
|
15 |
-
5. 设置 `vocab_size % 64 = 0`。
|
16 |
|
17 |
|
18 |
### 推荐:启用 Unpadding 和 xformers 加速
|
@@ -32,7 +31,7 @@ elif pytorch 使用 pip 安装 :
|
|
32 |
```
|
33 |
更多信息可参考 [installing-xformers](https://github.com/facebookresearch/xformers?tab=readme-ov-file#installing-xformers)。
|
34 |
|
35 |
-
然后,加载模型时设置 `unpad_inputs` 和 `use_memory_efficient_attention` 为 `true
|
36 |
|
37 |
```python
|
38 |
import torch
|
@@ -46,11 +45,13 @@ model = AutoModel.from_pretrained(
|
|
46 |
trust_remote_code=True,
|
47 |
unpad_inputs=True,
|
48 |
use_memory_efficient_attention=True,
|
|
|
49 |
).to(device)
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
54 |
|
55 |
```
|
56 |
也可以直接修改模型的 `config.json` 中 `unpad_inputs` 和 `use_memory_efficient_attention` 为 `true`,省去代码中的设置。
|
@@ -72,6 +73,21 @@ with torch.autocast(device_type=device.type, dtype=torch.float16): # 或bfloat1
|
|
72 |
|
73 |
---
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
[^1]: Su, Jianlin, Murtadha Ahmed, Yu Lu, Shengfeng Pan, Wen Bo, and Yunfeng Liu. "Roformer: Enhanced transformer with rotary position embedding." Neurocomputing 568 (2024): 127063.
|
76 |
|
77 |
[^2]: Shazeer, Noam. "Glu variants improve transformer." arXiv preprint arXiv:2002.05202 (2020).
|
|
|
12 |
2. 使用 GLU (Gated Linear Unit) [^2] 替换普通的激活函数。
|
13 |
3. 设置 attention dropout 为 0 以方便应用 `xformers` 和 `flash_attn` 等优化。
|
14 |
4. 使用 Unpadding 技术去除对 padding token 的无用计算 [^3](默认关闭,需要结合 `flash_attn` 或 `xformers` 使用来获得最高加速)。
|
|
|
15 |
|
16 |
|
17 |
### 推荐:启用 Unpadding 和 xformers 加速
|
|
|
31 |
```
|
32 |
更多信息可参考 [installing-xformers](https://github.com/facebookresearch/xformers?tab=readme-ov-file#installing-xformers)。
|
33 |
|
34 |
+
然后,加载模型时设置 `unpad_inputs` 和 `use_memory_efficient_attention` 为 `true`,并设置 `torch_dtype` 为 `torch.float16` (or `torch.bfloat16`),即可获得加速。
|
35 |
|
36 |
```python
|
37 |
import torch
|
|
|
45 |
trust_remote_code=True,
|
46 |
unpad_inputs=True,
|
47 |
use_memory_efficient_attention=True,
|
48 |
+
torch_dtype=torch.float16
|
49 |
).to(device)
|
50 |
|
51 |
+
inputs = tokenzier(['test input'], truncation=True, max_length=8192, padding=True, return_tensors='pt')
|
52 |
+
|
53 |
+
with torch.inference_mode():
|
54 |
+
outputs = model(**inputs.to(device))
|
55 |
|
56 |
```
|
57 |
也可以直接修改模型的 `config.json` 中 `unpad_inputs` 和 `use_memory_efficient_attention` 为 `true`,省去代码中的设置。
|
|
|
73 |
|
74 |
---
|
75 |
|
76 |
+
|
77 |
+
## Citation
|
78 |
+
```
|
79 |
+
@misc{zhang2024mgte,
|
80 |
+
title={mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval},
|
81 |
+
author={Xin Zhang and Yanzhao Zhang and Dingkun Long and Wen Xie and Ziqi Dai and Jialong Tang and Huan Lin and Baosong Yang and Pengjun Xie and Fei Huang and Meishan Zhang and Wenjie Li and Min Zhang},
|
82 |
+
year={2024},
|
83 |
+
eprint={2407.19669},
|
84 |
+
archivePrefix={arXiv},
|
85 |
+
primaryClass={cs.CL},
|
86 |
+
url={https://arxiv.org/abs/2407.19669},
|
87 |
+
}
|
88 |
+
```
|
89 |
+
|
90 |
+
|
91 |
[^1]: Su, Jianlin, Murtadha Ahmed, Yu Lu, Shengfeng Pan, Wen Bo, and Yunfeng Liu. "Roformer: Enhanced transformer with rotary position embedding." Neurocomputing 568 (2024): 127063.
|
92 |
|
93 |
[^2]: Shazeer, Noam. "Glu variants improve transformer." arXiv preprint arXiv:2002.05202 (2020).
|