|
|
|
@ -75,24 +75,7 @@ pip install csrc/rotary
|
|
|
|
|
|
|
|
|
|
#### 🤗 Transformers
|
|
|
|
|
|
|
|
|
|
如希望使用Qwen-7B进行推理,所需要写的只是如下所示的数行代码:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
|
|
|
from transformers.generation import GenerationConfig
|
|
|
|
|
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B", trust_remote_code=True)
|
|
|
|
|
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="auto", trust_remote_code=True).eval()
|
|
|
|
|
model.generation_config = GenerationConfig.from_pretrained("Qwen/Qwen-7B", trust_remote_code=True) # 可指定不同的生成长度、top_p等相关超参
|
|
|
|
|
|
|
|
|
|
inputs = tokenizer('蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是', return_tensors='pt')
|
|
|
|
|
inputs = inputs.to('cuda:0')
|
|
|
|
|
pred = model.generate(**inputs)
|
|
|
|
|
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
|
|
|
|
|
# 蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是亚的斯亚贝巴(Addis Ababa)...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
运行Qwen-7B-Chat同样非常简单。下面是一个IPython的示例来展示如何交互式地使用`Qwen-7B-Chat`。
|
|
|
|
|
如希望使用Qwen-7B-chat进行推理,所需要写的只是如下所示的数行代码:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
>>> from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
|
|
@ -126,6 +109,26 @@ print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
|
|
|
|
|
《奋斗创业:一个年轻人的成功之路》
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
运行Qwen-7B同样非常简单。
|
|
|
|
|
<details>
|
|
|
|
|
<summary>运行Qwen-7B</summary>
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
|
|
|
from transformers.generation import GenerationConfig
|
|
|
|
|
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B", trust_remote_code=True)
|
|
|
|
|
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B", device_map="auto", trust_remote_code=True).eval()
|
|
|
|
|
model.generation_config = GenerationConfig.from_pretrained("Qwen/Qwen-7B", trust_remote_code=True) # 可指定不同的生成长度、top_p等相关超参
|
|
|
|
|
|
|
|
|
|
inputs = tokenizer('蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是', return_tensors='pt')
|
|
|
|
|
inputs = inputs.to('cuda:0')
|
|
|
|
|
pred = model.generate(**inputs)
|
|
|
|
|
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
|
|
|
|
|
# 蒙古国的首都是乌兰巴托(Ulaanbaatar)\n冰岛的首都是雷克雅未克(Reykjavik)\n埃塞俄比亚的首都是亚的斯亚贝巴(Addis Ababa)...
|
|
|
|
|
```
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
#### 🤖 ModelScope
|
|
|
|
|
|
|
|
|
|
魔搭(ModelScope)是开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品。使用ModelScope同样非常简单,代码如下所示:
|
|
|
|
|