sperfu commited on
Commit
315b54c
1 Parent(s): 74baee1

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +74 -1
README.md CHANGED
@@ -24,7 +24,7 @@
24
  ## Usage
25
 
26
 
27
- ## Web DEMO
28
 
29
  Install the dependencies required for the web demo
30
 
@@ -45,6 +45,79 @@ pip install 'lmdeploy[all]==v0.4.2'
45
  由于默认安装的是 runtime 依赖包,但是我们这里还需要部署和量化,所以,这里选择 `[all]`。
46
 
47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  ```bash
49
  pip install streamlit==1.24.0
50
  ```
 
24
  ## Usage
25
 
26
 
27
+ ## DEMO
28
 
29
  Install the dependencies required for the web demo
30
 
 
45
  由于默认安装的是 runtime 依赖包,但是我们这里还需要部署和量化,所以,这里选择 `[all]`。
46
 
47
 
48
+ ### Model convert
49
+
50
+ Convert lmdeploy TurboMind
51
+
52
+ ```bash
53
+ # 转换模型(FastTransformer格式) TurboMind
54
+ lmdeploy convert internlm-chat-7b /path/to/internlm-chat-7b
55
+ ```
56
+
57
+ 这里我们使用我们训练好的提供的模型文件,就在用户根目录执行,如下所示。
58
+
59
+ ```bash
60
+ lmdeploy convert internlm2-chat-7b /root/autodl-tmp/agri_intern/GouMang --tokenizer-path ./GouMang/tokenizer.json
61
+ ```
62
+
63
+ 执行完成后将会在当前目录生成一个 `workspace` 的文件夹。这里面包含的就是 TurboMind 和 Triton “模型推理”需要到的文件。
64
+
65
+ ### Chat Locally
66
+
67
+ ```bash
68
+ lmdeploy chat turbomind ./workspace
69
+ ```
70
+
71
+ ### 2.3 TurboMind推理+API服务
72
+
73
+ 在上面的部分我们尝试了直接用命令行启动 Client,接下来我们尝试如何运用 lmdepoy 进行服务化。
74
+
75
+ ”模型推理/服务“目前提供了 Turbomind 和 TritonServer 两种服务化方式。此时,Server 是 TurboMind 或 TritonServer,API Server 可以提供对外的 API 服务。我们推荐使用 TurboMind,TritonServer 使用方式详见《附录1》。
76
+
77
+ 首先,通过下面命令启动服务。
78
+
79
+
80
+ ```bash
81
+ # ApiServer+Turbomind api_server => AsyncEngine => TurboMind
82
+ lmdeploy serve api_server ./workspace \
83
+ --server_name 0.0.0.0 \
84
+ --server-port 23333 \
85
+ --instance_num 64 \
86
+ --tp 1
87
+ ```
88
+
89
+ 上面的参数中 `server_name` 和 `server_port` 分别表示服务地址和端口,`tp` 参数我们之前已经提到过了,表示 Tensor 并行。还剩下一个 `instance_num` 参数,表示实例数,可以理解成 Batch 的大小。执行后如下图所示。
90
+
91
+ ### 2.4 网页 Demo 演示
92
+
93
+ 这一部分主要是将 Gradio 作为前端 Demo 演示。在上一节的基础上,我们不执行后面的 `api_client` 或 `triton_client`,而是执行 `gradio`。
94
+
95
+ > 由于 Gradio 需要本地访问展示界面,因此也需要通过 ssh 将数据转发到本地。命令如下:
96
+ >
97
+ > ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p <你的 ssh 端口号>
98
+
99
+ #### 2.4.1 TurboMind 服务作为后端
100
+
101
+ API Server 的启动和上一节一样,这里直接启动作为前端的 Gradio。
102
+
103
+ ```bash
104
+ # Gradio+ApiServer。必须先开启 Server,此时 Gradio 为 Client
105
+ lmdeploy serve gradio http://0.0.0.0:23333 --server-port 6006
106
+ ```
107
+
108
+ #### 2.4.2 TurboMind 推理作为后端
109
+
110
+ 当然,Gradio 也可以直接和 TurboMind 连接,如下所示。
111
+
112
+ ```bash
113
+ # Gradio+Turbomind(local)
114
+ lmdeploy serve gradio ./workspace
115
+ ```
116
+
117
+ 可以直接启动 Gradio,此时没有 API Server,TurboMind 直接与 Gradio 通信。
118
+
119
+
120
+
121
  ```bash
122
  pip install streamlit==1.24.0
123
  ```