我好奇是否有计划支持Albert和Swin/ViT。目前我正在使用一个多模态学习模型,该模型涉及像Albert这样的语言模型和像Swin和ViT这样的视觉Transformer。如果由于资源紧张暂时没有计划支持这些模型,我想知道是否有任何文档可以指导添加对新模型或定制模型的支持,以便我能提供帮助?
e4eetjau1#
@larry-fuy 目前没有立即支持这些模型的计划,但我们非常欢迎外部的贡献。我们的文档在描述如何添加新模型支持方面确实可以改进,所以让我在这里提供一个起点,我很高兴在这个过程中提供帮助。
一般来说,要支持一个模型,我们需要在DeepSpeed-inference侧支持内核注入(但如果我们只想使用ZeRO,也可以不进行内核注入)。例如,我们支持使用DeepSpeed-inference的 Bert 、 GPT-J 等模型自动进行内核注入。还可以使用自定义注入策略实现内核注入。请查看我们在单元测试中如何做到这一点的示例:https://github.com/microsoft/DeepSpeed/blob/62c071e016aca6dbf12695bdb680721dcf3500ad/tests/unit/inference/test_inference.py#L408一旦我们在DeepSpeed-inference侧实现了这个支持,将模型添加到MII应该就像扩展支持的模型类型和任务列表一样简单。请告诉我是否需要进一步澄清任何事情。
Bert
GPT-J
1条答案
按热度按时间e4eetjau1#
@larry-fuy 目前没有立即支持这些模型的计划,但我们非常欢迎外部的贡献。我们的文档在描述如何添加新模型支持方面确实可以改进,所以让我在这里提供一个起点,我很高兴在这个过程中提供帮助。
一般来说,要支持一个模型,我们需要在DeepSpeed-inference侧支持内核注入(但如果我们只想使用ZeRO,也可以不进行内核注入)。例如,我们支持使用DeepSpeed-inference的
Bert
、GPT-J
等模型自动进行内核注入。还可以使用自定义注入策略实现内核注入。请查看我们在单元测试中如何做到这一点的示例:https://github.com/microsoft/DeepSpeed/blob/62c071e016aca6dbf12695bdb680721dcf3500ad/tests/unit/inference/test_inference.py#L408
一旦我们在DeepSpeed-inference侧实现了这个支持,将模型添加到MII应该就像扩展支持的模型类型和任务列表一样简单。
请告诉我是否需要进一步澄清任何事情。