DeepSpeed-MII 关于自定义MII任务的问题

vsmadaxz  于 6个月前  发布在  其他
关注(0)|答案(3)|浏览(177)

你好,DeepSpeed-MII团队!

我正在使用MII与GPT-J合作的一个项目中遇到了一个需求:需要能够传递return_dict_in_generate。到目前为止,我已经完成了流程并修改了以下文件:

  1. server_client.py (mii_query_handle)
  2. modelresponse_server.py (GeneratorReply())
  3. modelresponse.proto (MultiStringReply)

然而,在部署模型后,我在gRPC通道中遇到了一个未实现的方法异常。所以我想请教一下:

  1. 这种方法是扩展文本生成任务以从部署的HF模型返回额外信息的正确或首选方法吗?
  2. 在使用MII时,如何处理proto编译?如果修改了modelresponse.proto,这是否是一个安装过程中的标准部分,还是我需要手动编译proto?

谢谢!

gdx19jrr

gdx19jrr1#

  1. 你正在走向定制gRPC/proto响应的正确道路。在未来,我们希望扩展我们的实现,允许在查询中传递任意数量的关键字参数(目前仅支持基本类型,如int、float等),并允许更多的返回值。
  2. 如果你对proto进行了修改,你需要重新编译它。你应该可以通过运行https://github.com/microsoft/DeepSpeed-MII/blob/main/mii/grpc_related/proto/build_script.sh来做到这一点。
    如果这解决了你的问题,请告诉我!
pjngdqdw

pjngdqdw2#

感谢您@mrwyattii
如果目前只支持这些有限的数据类型,那么处理模型调试的最佳方法是什么?我在提交PR时遇到的问题之一是,我还没有找到一种优雅的方法来跟踪和调试基于远程gRPC部署的模型本身。如果将异常报告传递给gRPC以及附加的kwarg输出,是否有更多关于获取模型异常报告可见性的指针?

jdzmm42g

jdzmm42g3#

遗憾的是,gRPC会在服务器端截断错误消息,使得调试变得困难。我们计划很快添加一个非gRPC部署类型来解决这个问题。目前,我建议仅使用DeepSpeed-inference测试您的模型。查看我们在MII和DeepSpeed单元测试中如何调用deepspeed.init_inference。这应该有助于在测试新模型时获取完整的堆栈跟踪和错误消息。

相关问题