fastllm icon indicating copy to clipboard operation
fastllm copied to clipboard

建议对python调用的model增加model.device 接口

Open xinaiwunai opened this issue 1 year ago • 1 comments

使用文档中的增加2行的方式,插入ChatGLM3的官方openai_api_demo的脚本。

inputs = inputs.to(model.device)

导致报错:‘model’ object hasno attribute 'device'

所以建议对python调用的model增加model.device 接口; 同理,建议增加 model.config.seq_length 接口。

xinaiwunai avatar Jan 13 '24 06:01 xinaiwunai

  1. 两行加速目前不适用于openai_api_demo。 openai_api_demo 调用模型时使用的是 model.stream_generate() ,目前fastllm_pytools只实现了chat()stream_chat()。 fastllm_pytools中llm不依赖torch,也没有实现依赖pytorch对象(如Tensor)的j接口。比如 generatestream_generate

  2. 具体到这两个参数上:

  • 模型可以分配在多设备上,类似使用Accelerate包的效果,所以不太好定 model.device ,阅读源码就会发现,inputIds输入后也只会在CPU上。
  • seq_length在多个模型上命名不统一(可以看chatglm1,baichuan)

可以按照 stream_response_raw 接口修改。

TylunasLi avatar Jan 13 '24 07:01 TylunasLi