File size: 3,011 Bytes
dd26f5b
 
 
a0fc2ca
 
 
6a0cae0
 
3a1c227
6a0cae0
 
 
 
 
a0fc2ca
 
567dbfb
a0fc2ca
 
 
49c3257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a0fc2ca
 
 
 
 
 
 
 
 
 
 
49c3257
a0fc2ca
 
49c3257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a0fc2ca
49c3257
a0fc2ca
49c3257
 
 
beede7b
a0fc2ca
49c3257
a0fc2ca
a8a0414
49c3257
 
a0fc2ca
 
 
 
 
4a727fc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
---
license: other
---

![Aquila_logo](./log.jpeg)

<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)