fastllm
fastllm copied to clipboard
建议对python调用的model增加model.device 接口
使用文档中的增加2行的方式,插入ChatGLM3的官方openai_api_demo的脚本。
inputs = inputs.to(model.device)
导致报错:‘model’ object hasno attribute 'device'
所以建议对python调用的model增加model.device 接口; 同理,建议增加 model.config.seq_length 接口。
-
两行加速目前不适用于openai_api_demo。 openai_api_demo 调用模型时使用的是 model.stream_generate() ,目前fastllm_pytools只实现了
chat()
和stream_chat()
。 fastllm_pytools中llm不依赖torch,也没有实现依赖pytorch对象(如Tensor
)的j接口。比如generate
和stream_generate
。 -
具体到这两个参数上:
- 模型可以分配在多设备上,类似使用Accelerate包的效果,所以不太好定
model.device
,阅读源码就会发现,inputIds输入后也只会在CPU上。 - seq_length在多个模型上命名不统一(可以看chatglm1,baichuan)
可以按照 stream_response_raw
接口修改。