Update README.md

This commit is contained in:
p04896573 2024-03-14 19:29:25 +08:00
parent 9b9cbf4142
commit a6641b6ab6
1 changed files with 36 additions and 8 deletions

View File

@ -1,21 +1,49 @@
# demo使用方法 # demo使用方法
# 环境安装 # 环境安装
基于方便,采用了镜像形式进行使用
docker 路径: docker 路径:
docker的使用见QuickStart手册.pdf
由于流式输出需要特定的环境依赖因此在新的env下进行推理和输出 启动docker之后在命令行中执行conda activate stream_info后续的处理都在stream_info环境下进行执行
conda activate stream_info
# 流程: # 流程:
1 将模型进行convert处理将训练模型转换成流式输出支持的格式 1 将模型进行convert处理将训练模型转换成流式输出支持的格式
python convert.py 需要修改的主要参数如下:
输入已有的源模型 src_model_path = "./checkpoints-epoch-1/cpm9g-8b-sft-epoch-1.pt"
格式转换后的模型地址 dst_model_path = "model_8b.ckpt"
模型的layers数目需要根据提供的config文件中的layer字段确定
在百亿模型中layer_num = 32
在千亿模型中layer_num = 80
2 模型推理: python deploy_llm_8b_demo.py 执行python convert.py得到的dst model即为后续用的模型
2 模型推理:
(1) 设置CUDA_VISIBLE_DEVICES的数目 (1) 设置CUDA_VISIBLE_DEVICES的数目
(2) 修改LocalLoader 中的实际使用模型的属性 (2) 修改LocalLoader 类中模型的属性将下面这6个函数依据提供的模型config文件中的字段进行修改
(3) 在修改LocalLoader调用的时候修改流式输出模型位置及其词表 def num_layers(self):
def dim_model(self):
def num_heads(self):
def num_kv_heads(self):
def dim_head(self):
def dim_ff(self):
(3) 在修改LocalLoader类别调用的时候 将上一步生成的模型文件和词表位置输入memory_limit无需修改
model = libcpm.CPMCaterpillar(
LocalLoader(
"model_8b.ckpt",
"vocabs.txt",
)
(4) 执行python deploy_llm_8b_demo.py
3 测试请求python request_demo.py 3 测试请求:
若不清楚请求的ip port可以在推理阶段保存的log文件error_8b.log中找到 (1) 修改url本机请求的话是localhost 或者127.0.0.1url是该及其的ip
(2) 可以修改payload中的content内容举例
payload = json.dumps({
"content": "<用户>好久不见!<AI>"})
payload = json.dumps({
"content": "<用户>你是谁?<AI>"})
(3) 执行python request_demo.py
(4) 最终结果如以下形式,即正确的请求结果
https://www.osredm.com/jiuyuan/CPM-9G-8B/tree/master/stream_infer/result.png