fix slow long sequence inference
Browse files- README.md +4 -5
- modeling_qwen.py +2 -2
README.md
CHANGED
@@ -93,7 +93,7 @@ print(response)
|
|
93 |
# 你好!很高兴为你提供帮助。
|
94 |
|
95 |
# 第二轮对话 2nd dialogue turn
|
96 |
-
response, history = model.chat(tokenizer, "给我讲一个年轻人奋斗创业最终取得成功的故事。", history=history)
|
97 |
print(response)
|
98 |
# 这是一个关于一个年轻人奋斗创业最终取得成功的故事。
|
99 |
# 故事的主人公叫李明,他来自一个普通的家庭,父母都是普通的工人。从小,李明就立下了一个目标:要成为一名成功的企业家。
|
@@ -262,15 +262,15 @@ We introduce NTK-aware interpolation, LogN attention scaling to extend the conte
|
|
262 |
|
263 |
#### ReAct Prompting
|
264 |
|
265 |
-
千问支持通过 [ReAct Prompting](https://arxiv.org/abs/2210.03629) 调用插件/工具/API。ReAct 也是 [LangChain](https://python.langchain.com/)
|
266 |
|
267 |
-
Qwen-7B-Chat supports calling plugins/tools/APIs through [ReAct Prompting](https://arxiv.org/abs/2210.03629). ReAct is also one of the main approaches used by the [LangChain](https://python.langchain.com/) framework. In
|
268 |
|
269 |
| Model | Tool Selection (Acc.↑) | Tool Input (Rouge-L↑) | False Positive Error↓ |
|
270 |
|:-----------------|:----------------------:|:---------------------:|:---------------------:|
|
271 |
| GPT-4 | 95% | **0.90** | 15% |
|
272 |
| GPT-3.5 | 85% | 0.88 | 75% |
|
273 |
-
| **Qwen-7B-Chat** | **99%** | 0.89 | **
|
274 |
|
275 |
> 评测基准中出现的插件均没有出现在千问的训练集中。该基准评估了模型在多个候选插件中选择正确插件的准确率、传入插件的参数的合理性、以及假阳率。假阳率(False Positive)定义:在处理不该调用插件的请求时,错误地调用了插件。
|
276 |
|
@@ -357,4 +357,3 @@ Our code and checkpoints are open to research purpose, and they are allowed for
|
|
357 |
如果你想给我们的研发团队和产品团队留言,请通过邮件([email protected])联系我们。
|
358 |
|
359 |
If you are interested to leave a message to either our research team or product team, feel free to send an email to [email protected].
|
360 |
-
|
|
|
93 |
# 你好!很高兴为你提供帮助。
|
94 |
|
95 |
# 第二轮对话 2nd dialogue turn
|
96 |
+
response, history = model.chat(tokenizer, "给我讲一个年轻人奋斗创业最终取得成功的故事。", history=history)
|
97 |
print(response)
|
98 |
# 这是一个关于一个年轻人奋斗创业最终取得成功的故事。
|
99 |
# 故事的主人公叫李明,他来自一个普通的家庭,父母都是普通的工人。从小,李明就立下了一个目标:要成为一名成功的企业家。
|
|
|
262 |
|
263 |
#### ReAct Prompting
|
264 |
|
265 |
+
千问支持通过 [ReAct Prompting](https://arxiv.org/abs/2210.03629) 调用插件/工具/API。ReAct 也是 [LangChain](https://python.langchain.com/) 框架采用的主要方式之一。在我们开源的、用于评估工具使用能力的评测基准上,千问的表现如下:
|
266 |
|
267 |
+
Qwen-7B-Chat supports calling plugins/tools/APIs through [ReAct Prompting](https://arxiv.org/abs/2210.03629). ReAct is also one of the main approaches used by the [LangChain](https://python.langchain.com/) framework. In our evaluation benchmark for assessing tool usage capabilities, Qwen-7B-Chat's performance is as follows:
|
268 |
|
269 |
| Model | Tool Selection (Acc.↑) | Tool Input (Rouge-L↑) | False Positive Error↓ |
|
270 |
|:-----------------|:----------------------:|:---------------------:|:---------------------:|
|
271 |
| GPT-4 | 95% | **0.90** | 15% |
|
272 |
| GPT-3.5 | 85% | 0.88 | 75% |
|
273 |
+
| **Qwen-7B-Chat** | **99%** | 0.89 | **9.7%** |
|
274 |
|
275 |
> 评测基准中出现的插件均没有出现在千问的训练集中。该基准评估了模型在多个候选插件中选择正确插件的准确率、传入插件的参数的合理性、以及假阳率。假阳率(False Positive)定义:在处理不该调用插件的请求时,错误地调用了插件。
|
276 |
|
|
|
357 |
如果你想给我们的研发团队和产品团队留言,请通过邮件([email protected])联系我们。
|
358 |
|
359 |
If you are interested to leave a message to either our research team or product team, feel free to send an email to [email protected].
|
|
modeling_qwen.py
CHANGED
@@ -1153,9 +1153,9 @@ class RotaryEmbedding(torch.nn.Module):
|
|
1153 |
/ self.dim
|
1154 |
)
|
1155 |
)
|
1156 |
-
self._seq_len_cached = seqlen
|
1157 |
self._ntk_alpha_cached = ntk_alpha
|
1158 |
-
seq = torch.arange(
|
1159 |
freqs = torch.outer(seq.type_as(self.inv_freq), self.inv_freq)
|
1160 |
emb = torch.cat((freqs, freqs), dim=-1)
|
1161 |
from einops import rearrange
|
|
|
1153 |
/ self.dim
|
1154 |
)
|
1155 |
)
|
1156 |
+
self._seq_len_cached = max(2 * seqlen, 16)
|
1157 |
self._ntk_alpha_cached = ntk_alpha
|
1158 |
+
seq = torch.arange(self._seq_len_cached, device=self.inv_freq.device)
|
1159 |
freqs = torch.outer(seq.type_as(self.inv_freq), self.inv_freq)
|
1160 |
emb = torch.cat((freqs, freqs), dim=-1)
|
1161 |
from einops import rearrange
|