README.md 1.82 KB
Newer Older
PanZezhong1725's avatar
PanZezhong1725 committed
1
# InfiniLM
PanZezhong's avatar
PanZezhong committed
2
3
4
5
6
7
8

本项目是基于 [`InfiniCore`](https://github.com/InfiniTensor/InfiniCore) 的推理引擎。

## 使用方式

- 编译并安装 `InfiniCore` 。注意根据提示设置好 `INFINI_ROOT` 环境变量(默认为 `$HOME/.infini`)。

PanZezhong1725's avatar
PanZezhong1725 committed
9
- 编译并安装 `InfiniLM`
PanZezhong's avatar
PanZezhong committed
10
11
12
13
14
15
16
17

```bash
xmake && xmake install
```

- 运行模型推理测试

```bash
zhuyue's avatar
zhuyue committed
18
python scripts/jiuge.py [--cpu | --nvidia | --cambricon | --ascend | --metax | --moore | --iluvatar | --kunlun | --hygon] path/to/model_dir [n_device]
PanZezhong's avatar
PanZezhong committed
19
20
21
22
23
```

- 部署模型推理服务

```bash
zhuyue's avatar
zhuyue committed
24
python scripts/launch_server.py --model-path MODEL_PATH [-h] [--dev {cpu,nvidia,cambricon,ascend,metax,moore,iluvatar,kunlun,hygon}] [--ndev NDEV] [--max-batch MAX_BATCH] [--max-tokens MAX_TOKENS]
PanZezhong's avatar
PanZezhong committed
25
26
27
28
29
```

- 测试模型推理服务性能

```bash
30
python scripts/test_perf.py
PanZezhong's avatar
PanZezhong committed
31
32
33
34
35
36
```

- 使用推理服务测试模型困惑度(Perplexity)

```bash
python scripts/test_ppl.py --model-path MODEL_PATH [--ndev NDEV] [--max-batch MAX_BATCH] [--max-tokens MAX_TOKENS]
PanZezhong's avatar
PanZezhong committed
37
```
38
39
40
41

## 使用方式(新版)

- 编译并安装 `InfiniCore`, 详情见 InfiniCore的 [`README`](https://github.com/InfiniTensor/InfiniCore) :
42

43
44
45
46
47
48
    - 注意根据提示设置好 `INFINI_ROOT` 环境变量(默认为 `$HOME/.infini`)
    - 根据硬件平台,选择 xmake 构建配置
    - 编译安装InfiniCore
    - 安装 C++ 库
    - 安装 Python 包

49
50
51
52
53
54
55
56
57
58
59
60
61


- 编译并安装 `InfiniLM` Python 包
  - 安装第三方依赖
  ```bash
    git submodule update --init --recursive
  ```

  - 安装 InfiniLM Python 包
  ```bash
    pip install -e .
  ```

62
63
- 单次推理测试
    - llama示例
64
65
66
67
68
69
70
    ```bash
    python examples/llama.py [--cpu | --nvidia | --metax | --moore | --iluvatar] --model_path=<path/to/model_dir>
    ```
    - 例如:
    ```bash
    python examples/llama.py --nvidia --model_path=/models/TinyLlama-1.1B-Chat-v1.0
    ```