ztxz16 / fastllm

纯c++的全平台llm加速库,支持python调用,chatglm-6B级模型单卡可达10000+token / s,支持glm, llama, moss基座,手机端流畅运行
Apache License 2.0
3.28k stars 332 forks source link

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

Open xinaiwunai opened 7 months ago

xinaiwunai commented 7 months ago

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

inputs = inputs.to(model.device)

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

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

TylunasLi commented 7 months ago
  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 接口修改。