1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 人工智能AI > 正文

人工智能AI

【教程】开始使用spellworkplaces和IPU运行AI模型

1987web2023-08-14人工智能AI102
如果你希望从一开始就训练最先进的模型,你可以在IPU上启动并运行我们易于使用的BERT微调快速入门notebook,无需离开Spell的Web控制台。

如果你希望从一开始就训练最先进的模型,你可以在IPU上启动并运行我们易于使用的BERT微调快速入门notebook,无需离开Spell的Web控制台。

如果想了解更多有关IPU编程以及如何使用我们的Poplar软件的信息,可以从我们的教程存储库中访问一系列简单的实操代码,让你快速上手:

现在使用Spell,可以免费评估IPU:运行一个由Spell支持的应用示例,根据自身需求调整一个应用示例,或者测试全新的项目。

从零到SOTA仅需几分钟

在Spell上开始使用IPU非常简单。让我们按照以下步骤直接运行一个SOTA模型,例如BERT:

  1. 创建Workspace
  2. 初始化BERT代码
  3. 设置Poplar SDK环境
  4. 在IPU上运行BERT微调notebook

创建Workspace

创建Spell帐户可以让你通过Workspaces免费获取IPU计算。Workspaces是一种有管理的notebook服务,其中包含文件、notebook和其他相关资源,可以使用Jupyter Notebook或JupyterLab运行。

可以通过使用Web控制台Workspaces区域右上角的创建新Workspace按钮创建Workspaces。系统会要求你为Workspace命名,在这个例子中我们将其称为BERT。

初始化BERT代码

创建Workspace时,你可以选择使用GitHub存储库中的代码对其进行初始化。BERT微调快速入门notebook包含在Graphcore的教程存储库中。

设置Poplar SDK环境

然后,必须进行环境设置,例如机器类型、机器学习框架、要求和pip软件包。

选择IPUx16选项,这会告诉Spell Workspace在IPU POD16的实例上运行代码。为了在IPU上运行工作负载,我们必须配置POD中IPU与主机之间的通信。幸运的是,当你选择IPU选项时,Spell将设置基础设施和作业执行的过程加以抽象化。

为了将Poplar SDK加载到Workspaces,必须选择自定义docker镜像作为框架,然后指向graphcore的Poplar SDK Docker镜像之一。我们将在本指南中使用 graphcore/pytorch镜像,但你也可以从Graphcore Dockerhub上提供的三个机器学习框架(即 Tensorflow、PyTorch、Poplar)中进行选择,如下所示:

  • graphcore/pytorch
  • graphcore/tensorflow
  • graphcore/poplar

默认情况下,从框架存储库中提取并下载为AMD主机处理器编译的最新版本的SDK。可以查看Docker Image Tags以获取有关特定SDK构建和处理器的更多信息。

一旦完成设置配置步骤,就可以启动notebook服务器,其中将包含BERT教程代码、Poplar SDK和必要的IPU配置设置。创建Workspace会自动启动notebook视图,然后它将显示为Workspaces列表中的一个条目。

在IPU上运行BERT微调notebook

导航到文件夹tutorials/pytorch/tut_finetuning_bert,可以找到BERT微调教程。

BERT微调notebook有额外的软件包要求。通过打开终端并运行pip install-r requirements.txt或在jupyter notebook的单元格中运行它,就可以安装 requirements.txt中列出的需要的软件包。

该notebook将演示如何在被命名为SQuAD的问答任务中对预训练的BERT模型(使用Wikipedia数据集在IPU上预训练)进行微调。

逐步浏览BERT微调notebook,了解实现IPU硬件性能最大化的编程原理,例如:

  • 流水线
  • 数据并行性
  • 重新计算检查点
  • 复制张量分片
  • 半精度

完成notebook后,你将在16个IPU上的2x8流水线配置上微调BERT模型,SQuADv1 的验证分数如下:

你可以为推理作业保存和导出微调模型。notebook在第6节提供了一个使用微调模型进行推理的示例。你可以使用提供的代码打印问答任务的答案。

资源

如何在Spell Workspaces中运行BERT微调notebook

在Spell中运行Graphcore应用程序(BERT、ResNet-50、EfficientNet)

文档:开始在Spell上使用IPU

Spell Workspace网站

Spell x Graphcore IPU集成教程

Graphcore GitHub

Graphcore开发者门户

查看英文blog,请至:

本篇博客作者:

Tim Santos