本 NLP 云课程展示了如何在 AWS 上的英伟达 A10 GPU 上部署和使用 Mistral 7b 生成式人工智能模型。
Mistral 7b 型号在所有基准测试中都优于 LLaMA 3 7b,在许多基准测试中优于 LLaMA 3 13b。实际上,它甚至与 LLaMA 1 34b 型号不相上下。
部署和使用它至少需要 15GB 的 VRAM,这就是为什么我们需要一个至少拥有 24GB VRAM 的 A10 GPU。
课程结构如下:
大家好,我是 NLP 云的朱利安-塞纳斯。
今天,我们将了解如何在 AWS A10 GPU 上部署 Mistral 7b 生成模型。
Mistral 7b 是法国一家名为 Mistral AI 的公司推出的最先进的生成模型。
该机型于 2023 年 9 月发布,在所有官方基准测试中均优于 Lama 2 7b。
更有趣的是,它还在许多基准测试中击败了 Lama 2 13b,与 Lama 1 34b 不相上下。
Mistral AI 在发布该模型时采用了 Apache 许可,因此您可以随意使用该模型。
该团队同时发布了基础模型和微调聊天版本。
我们将在今天的视频中部署聊天版本。
Mistral 7b 至少需要 14GB 虚拟内存,如果上下文大小较大,则需要更多。
因此,我们将在 AWS 上的 A10 NVIDIA GPU 上进行部署,因为该 GPU 有 24 G 虚拟内存,而且性价比很高。
部署 Mistral 7b 的最简单方法是使用 Hugging Face 框架,并遵循 Mistral AI 的官方指南。
第一步,我们需要选择合适的 AWS 机器。
AWS 上有数不清的机器,所以我能给你的最好建议就是从实例类型页面开始,然后转到左侧的加速计算。
这里列出了 AWS 提供的所有加速硬件实例,我们今天要使用的是 G5。
正如您在这里看到的,G5 嵌入了 A10 GPU,这正是我们想要的。
G5 实例有多种类型。
有的只有一个 GPU,有的则有四个或八个 GPU。
对我们来说,一个 GPU 就足够了,因为一个 GPU 上有足够的虚拟内存,但我们必须非常小心地控制实例的内存量,因为当我们启动 Mistral 7b 模型时,我们需要暂时使用一些内存来加载模型。
这就是为什么我们今天要选择 G5 4X 大型实例,因为 64GB 应该足够了。
现在,我切换到 AWS 控制台,点击 "启动实例"。
就叫它 "A10 米斯特拉尔试验 "吧。
我们将选择 Ubuntu 操作系统,但有一个小窍门。
我们不想选择标准的 Ubuntu 操作系统,因为我们必须手动安装英伟达驱动程序,这非常麻烦。
我们要做的是在这里选择深度学习 AMI GPU PyTorch 服务器,这要好得多,因为这个 AMI 自带 Ubuntu 和英伟达驱动程序、CUDA 工具包、PyTorch 和其他东西,这些都是我们今天测试所需要的。
在此,我们选择 G5 4X 大型实例。
如果没有配对密钥,则需要创建一个。
如果这是您第一次这样做,而且您不太清楚如何将 VS Code 连接到 AWS 实例,我建议您观看我们关于在 AWS 上使用 VS Code 的远程开发环境的专门视频。
无需打开其他端口,我建议你增加大约 100GB 的磁盘空间。
理论上,该机型只需 20GB 硬盘,但最好还是多一些,因为我们可能需要安装程序库,所以这里比较安全。
点击 "启动实例"。
很好,它被创造出来了。
如果您因为第一次启动 8N GPU 而遇到配额问题,我建议您联系 AWS 支持部门。
我现在在这里使用公共 IP,然后切换到 VS Code。
在左下角,需要将当前窗口连接到主机,首先需要配置主机。
这是我刚从 AWS 获取的 IP 地址,这是我的 SSH 密钥。
保存文件后,我又做了一次同样的操作,这次我点击了 Mistral 7B。
我想接受新指纹。
太完美了
现在我们使用的是 8N GPU 机器。
首先检查 GPU 是否有正确的驱动程序。
有了 NVIDIA SMI,就完美了。
我可以看到这里有一个 8N GPU,而且是空的,所以今天我的模型有将近 24GB 的 VRAM。
我正在创建一个测试目录,并将用 VS Code 打开,现在我正在创建一个测试文件。
也许我们可以把它叫做 infer.py。
那么,我们应该在这个 infer.py 文件中加入什么内容呢?简单。
让我们来看看 "拥抱脸 "上的 Mistral 人工智能模型。
如果这是您第一次在 Hugging Face 上下载模型,基本上您可以从这里进入模型,这里有大量可用的模型。
您可以点击这里,输入 Mistral 7B。
正如您所看到的,Mistral 已经在榜单上名列前茅,因为它现在非常流行。
我将选择 Instruct 模型,因为今天玩起来更有趣,这里我只是遵循 Mistral AI 团队的指导方针。
因此,我只需在 VS 代码中复制粘贴代码即可。
这样做是行不通的,因为在此之前,我们需要安装变形金刚库。
因此,由于这个 Mistral 7B 模型刚刚被添加到变形金刚中,它还不能在 PyPy 软件包中使用,但这不是问题。
我们将直接从 GitHub 仓库安装 Transformers。
很好。
现在,变形金刚已正确安装。
最后,我们需要做的是使用浮点 16 版本的模型,因为如果使用默认版本的模型(即浮点 32),对于我们的 A10 GPU 来说就太大了。
因此,我们今天需要做的就是导入 Torch,并在加载模型时添加 Torch dtype 这个参数。
很好。
现在,让我们试着运行推理脚本。
很好。
这样,我们就有了一份关于蛋黄酱的正确食谱。
也许我们可以试试别的办法。
让我们来看看如何在 Linux 服务器上安装变形金刚。
我们可以将其删除。
很好。
所以 CSS,我不知道为什么。
听起来没错,但这里的 CSS 标记除外。
我不知道为什么会有这样的细节,但我想这足以告诉你这是一款不错的 7B 机型,现在你知道如何使用它了,所以现在轮到你了。
现在您已经知道如何在自己的服务器上部署 Mistral 7B 型号。
如你所见,这并不一定很复杂,尤其是因为我们今天只使用了一个 GPU。
如果没有足够虚拟内存的 A10 GPU,可能需要多个较小的 GPU。
在这种情况下,您需要将模型拆分到多个较小的 GPU 上。
这将是一个比较复杂的问题,我们需要另一个专门的视频来解决这个问题。
祝您愉快