89 lines
2.9 KiB
Markdown
89 lines
2.9 KiB
Markdown
---
|
||
license: other
|
||
---
|
||
|
||

|
||
|
||
<h4 align="center">
|
||
<p>
|
||
<a href="https://huggingface.co/BAAI/Aquila2-7B/blob/main/README.md">English</a> |
|
||
<b>简体中文</b> |
|
||
<p>
|
||
</h4>
|
||
|
||
|
||
# 悟道·天鹰(Aquila2)
|
||
|
||
我们开源了我们的 **Aquila2** 系列,现在包括基础语言模型 **Aquila2-7B** 和 **Aquila2-34B** ,对话模型 **AquilaChat2-7B** 和 **AquilaChat2-34B**,长文本对话模型**AquilaChat2-7B-16k** 和 **AquilaChat2-34B-16k**
|
||
|
||
悟道 · 天鹰 Aquila 模型的更多细节将在官方技术报告中呈现。请关注官方渠道更新。
|
||
|
||
## 更新/Updates 2024.6.6
|
||
|
||
我们更新了基础语言模型 **Aquila2-7B**,该模型是基于原版模型经过继续训练得到的,和之前的模型相比,新的模型具备以下优势:
|
||
|
||
* 更换了具备更大压缩率的tokenizer,不同tokenizer的压缩率对比如下面表格:
|
||
|
||
| Tokenizer | Size | Zh | En | Code | Math | Average |
|
||
|-----------|-------|--------------------------|--------|-------|-------|---------|
|
||
| Aquila2-original | 100k | **4.70** | 4.42 | 3.20 | 3.77 | 4.02 |
|
||
| Qwen1.5 | 151k | 4.27 | 4.51 | 3.62 | 3.35 | 3.94 |
|
||
| Llama3 | 128k | 3.45 | **4.61** | 3.77 | **3.88** | 3.93 |
|
||
| Aquila2-new | 143k | 4.60 | **4.61** | **3.78** | **3.88** | **4.22** |
|
||
|
||
* 模型支持的最大处理长度从2048增加至8192
|
||
|
||
|
||
|
||
|
||
|
||
|
||
## 快速开始使用 Aquila-7B
|
||
|
||
|
||
## 使用方式/How to use
|
||
|
||
### 1. 推理/Inference
|
||
|
||
```python
|
||
import torch
|
||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||
from transformers import BitsAndBytesConfig
|
||
|
||
device= "cuda:0"
|
||
|
||
# 模型名称/Model Name
|
||
model_name = 'BAAI/Aquila2-7B'
|
||
|
||
# 加载模型以及tokenizer
|
||
quantization_config=BitsAndBytesConfig(
|
||
load_in_4bit=True,
|
||
bnb_4bit_use_double_quant=True,
|
||
bnb_4bit_quant_type="nf4",
|
||
bnb_4bit_compute_dtype=torch.bfloat16,
|
||
)
|
||
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, trust_remote_code=True,
|
||
# quantization_config=quantization_config # Uncomment this one for 4-bit quantization
|
||
)
|
||
|
||
tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True)
|
||
|
||
model.eval()
|
||
|
||
model.to(device)
|
||
|
||
# 对话测试样例/Example
|
||
text = "生命的意义是"
|
||
tokens = tokenizer.encode_plus(text)['input_ids']
|
||
tokens = torch.tensor(tokens)[None,].to(device)
|
||
|
||
with torch.no_grad():
|
||
out = model.generate(tokens, do_sample=False, max_length=128, eos_token_id=tokenizer.eos_token_id)[0]
|
||
out = tokenizer.decode(out.cpu().numpy().tolist())
|
||
print(out)
|
||
```
|
||
|
||
|
||
## 证书/License
|
||
|
||
`Aquila2系列开源模型使用 [智源Aquila系列模型许可协议](https://huggingface.co/BAAI/Aquila2-7B/blob/main/BAAI-Aquila-Model-License%20-Agreement.pdf) |