README.md 2.74 KB
Newer Older
huangwb's avatar
huangwb committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 <div align="center"><strong>Text Generation Inference </strong></div>

## 简介
Text Generation Inference(TGI)是一个用 Rust 和 Python 编写的框架,用于部署和提供LLM模型的推理服务。TGI为很多大模型提供了高性能的推理服务,如LLama,Falcon,BLOOM,Baichuan,Qwen等。

## 支持模型结构列表
|     模型      | 模型并行 | FP16 |
| :----------: | :------: | :--: |
|    LLaMA          |   Yes    | Yes  |
|    LLaMA-2        |   Yes    | Yes  |
|    LLaMA-2-GPTQ        |   Yes    | Yes  |
|    LLaMA-3        |   Yes    | Yes  |
|    Codellama      |   Yes    | Yes  |
|    QWen2          |   Yes    | Yes  |
|    QWen2-GPTQ        |   Yes    | Yes  |
|    Baichuan-7B    |   Yes    | Yes  |
|    Baichuan2-7B   |   Yes    | Yes  |
|    Baichuan2-13B  |   Yes    | Yes  |


## python支持
+ Python 3.9.
+ Python 3.10.
xuxzh1's avatar
update  
xuxzh1 committed
24
+ DTK24.04.2
huangwb's avatar
huangwb committed
25
26
27
28
29
30

### 使用源码编译方式安装

#### 编译环境准备

有两种方式安装准备环境
xuxzh1's avatar
update  
xuxzh1 committed
31
##### 方式一:
huangwb's avatar
huangwb committed
32

xuxzh1's avatar
update  
xuxzh1 committed
33
### **TODO**
34

xuxzh1's avatar
update  
xuxzh1 committed
35
##### 方式二:
36

xuxzh1's avatar
update  
xuxzh1 committed
37
基于光源pytorch2.1.0基础镜像环境:镜像下载地址:[https://sourcefind.cn/#/image/dcu/pytorch](https://sourcefind.cn/#/image/dcu/pytorch),根据pytorch2.1.0、python、dtk及系统下载对应的镜像版本。pytorch2.1.0镜像里已经安装了trition,flash-attn
38

huangwb's avatar
huangwb committed
39
1. 安装Rust
40
41
42
43
```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

huangwb's avatar
huangwb committed
44
2. 安装Protoc
45
46
47
48
49
50
51
```shell
PROTOC_ZIP=protoc-21.12-linux-x86_64.zip
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v21.12/$PROTOC_ZIP
sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
rm -f $PROTOC_ZIP
```
huangwb's avatar
huangwb committed
52
3. 安装TGI Service
xuxzh1's avatar
last  
xuxzh1 committed
53
```bash
huangwb's avatar
huangwb committed
54
55
git clone http://developer.hpccube.com/codes/OpenDAS/text-generation-inference.git # 根据需要的分支进行切换
cd text-generation-inference
xuxzh1's avatar
last  
xuxzh1 committed
56
#安装exllama
huangwb's avatar
huangwb committed
57
58
59
60
cd server
make install-exllama #安装exllama kernels
make install-exllamav2 #安装exllmav2 kernels
cd .. #回到项目根目录
xuxzh1's avatar
last  
xuxzh1 committed
61
source $HOME/.cargo/env
huangwb's avatar
huangwb committed
62
BUILD_EXTENSIONS=True make install #安装text-generation服务
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
63
```
huangwb's avatar
huangwb committed
64
4. 安装benchmark
xuxzh1's avatar
last  
xuxzh1 committed
65
```bash
huangwb's avatar
huangwb committed
66
67
cd text-generation-inference
make install-benchmark
68
```
huangwb's avatar
huangwb committed
69
注意:若安装过程过慢,可以通过如下命令修改默认源提速。
xuxzh1's avatar
last  
xuxzh1 committed
70
```bash
huangwb's avatar
huangwb committed
71
72
73
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
```
另外,`cargo install` 太慢也可以通过在`~/.cargo/config`中添加源来提速。
74

huangwb's avatar
huangwb committed
75
## 查看安装的版本号
xuxzh1's avatar
last  
xuxzh1 committed
76
```bash
huangwb's avatar
huangwb committed
77
text-generation-launcher -V  #版本号与官方版本同步
Olivier Dehaene's avatar
Init  
Olivier Dehaene committed
78
79
```

xuxzh1's avatar
last  
xuxzh1 committed
80
81
82
83
84
## 使用前

```bash
export PYTORCH_TUNABLEOP_ENABLED=0
```
Nicolas Patry's avatar
Nicolas Patry committed
85

huangwb's avatar
huangwb committed
86
## Known Issue
xuxzh1's avatar
last  
xuxzh1 committed
87

huangwb's avatar
huangwb committed
88
89
90
91
92
-

## 参考资料
- [README_ORIGIN](README_ORIGIN.md)
- [https://github.com/huggingface/text-generation-inference](https://github.com/huggingface/text-generation-inference)