FlexGen 是一个在单 GPU 系统上运行类似 ChatGPT 的 AI 机器人的引擎

来自斯坦福大学、加州大学伯克利分校、苏黎世联邦理工学院、卡内基梅隆大学经济研究生院以及 Yandex 和 Meta 的研究团队发布了在资源上运行大型语言模型的引擎的源代码- 受限系统。 例如,该引擎能够在配备 175GB 显存的 NVIDIA RTX175 游戏显卡的普通计算机上运行预训练的 OPT-3090B 模型(涵盖 24 亿个参数),从而创建类似于 ChatGPT 和 Copilot 的功能。 该代码是用 Python 编写的,使用 PyTorch 框架,并在 Apache 2.0 许可证下分发。

它包括一个用于创建机器人的示例脚本,允许您下载一种公开可用的语言模型并立即开始通信(例如,通过运行命令“python apps/chatbot.py —model facebook/opt-30b — -percent 0 100 100 0 100 0”)。 作为基础,建议使用 Facebook 发布的大型语言模型,在 BookCorpus(10 万本书)、CC-Stories、Pile(OpenSubtitles、Wikipedia、DM Mathematics、HackerNews 等)、Pushshift 的集合上进行训练。 io(基于 Reddit 数据)和 CCNewsV2(新闻档案)。 该模型涵盖约 180 亿个代币(800 GB 数据)。 使用 33 个 NVIDIA A992 100GB GPU 进行了 80 天的集群运行来训练模型。

当在具有单个 NVIDIA T175 GPU (4GB) 的系统上运行 OPT-16B 模型时,FlexGen 引擎表现出的性能比以前提供的解决方案快 100 倍,使大型语言模型的使用更加经济实惠,并允许它们在没有专用加速器的系统。 同时,FlexGen 可以扩展以使用多个 GPU 并行计算。 为了减小模型的大小,还使用了专有的参数压缩方案和模型缓存机制。

目前,FlexGen仅支持OPT语言模型,但未来开发人员还承诺增加对BLOOM(176亿个参数,支持46种语言和13种编程语言)、CodeGen(可以生成22种编程语言的代码)和GLM 模型。 与基于 FlexGen 和 OPT-30B 模型的机器人对话的示例:

人类:世界上最高的山叫什么名字?

助手:珠穆朗玛峰。

人类:我正计划为我们的周年纪念日旅行。 我们可以做哪些事情?

助理:嗯,您可以为周年纪念日做很多事情。 首先,你可以打牌。 其次,你可以去徒步旅行。 第三,你可以去博物馆。

来源: opennet.ru

添加评论