CTranslate2 对Zephyr和其他"StableLmForCausalLM"模型的支持?

js4nwp54  于 6个月前  发布在  其他
关注(0)|答案(2)|浏览(61)

有任何计划支持将```StableLmForCausalLM"模型进行转换吗?我注意到它们非常好;例如这里的新Zephyr模型:
https://huggingface.co/stabilityai/stablelm-zephyr-3b
对于一个3B模型来说,性能非常出色,在我看来比Phi2要好得多。在版本4.38.2中已经添加了对Transformers的支持:
https://github.com/huggingface/transformers/releases/tag/v4.38.0
这是关于模型架构描述的链接,以帮助您了解:
https://huggingface.co/docs/transformers/v4.38.2/en/model_doc/stablelm

bvjxkvbb

bvjxkvbb1#

这是另一个强大的模型 @minhthuc2502 。我很想帮助创建一个转换器,但我不是Maven。这是 Zephyr 1.6b 版本:
https://huggingface.co/stabilityai/stablelm-2-zephyr-1_6b
它以其尺寸而闻名。唯一其他小型模型的上下文大小超过4,000的是 gemma ,至少在我测试中,它的性能很差(指的是 Gemma 2b,最新版本1.1包括)。
目前,要构建一个使用小于7b的模型的聊天应用程序,唯一的合理选择是使用 gemma 。我使用“合理”这个词是因为 phi 转换器目前由于 phi2 的变化而出现故障,而且无论如何, phi2 的上下文只有2048。
Zephyr 3bZephyr 1.6b 在同类中表现最好,比 gemma 2b 要好得多。其他可行的选择是为 Qwen 创建一个转换器,它实际上有一个0.5B的模型。
以下是在基本 RAG 问题上对 gemma 和其他模型进行的测试。无论我使用多少束光, gemma 2b 都只答对了一半的问题。然而,即使在束大小为1时, zephyr 1.6B 模型也给出了100%正确的答案。
简而言之, gemma 2b 速度快,但性能差,而 zephyr 只稍微慢一点,但绝对令人惊叹。
注意:图例中带有 "ct2" 名称的模型显然是 ctranslate2 模型。其他模型是使用 transformers 以及 bitsandbytes (使用4位)进行测试的(仅供参考)。
最后, llama.cpp 已经支持 zephyrqwen 等,但我更不愿意切换,因为有额外的依赖关系......如果你会重新考虑将此作为更高优先级的事情,请告诉我 @minhthuc2502 。我知道你很忙......谢谢你,老兄。

dpiehjr4

dpiehjr42#

为了节省大家几分钟的时间,我已经收集了以下信息:

  1. config.json 表示架构是 "StableLmForCausalLM"
  2. 我认为这就是全部 https://huggingface.co/docs/transformers/v4.40.0/en/model_doc/stablelm
  3. 附加信息:https://stability.wandb.io/stability-llm/stable-lm/reports/StableLM-3B-4E1T--VmlldzoyMjU4?accessToken=u3zujipenkx5g7rtcj9qojjgxpconyjktjkli2po09nffrffdhhchq045vp0wyfo
    根据这个片段,希望创建一个转换器不会太复杂。

相关问题