亚马逊云科技:使用Inf2实例运行大语言模型GPT-J-6B基础设施

  • Post author:
  • Post category:其他


在2019年的亚马逊云科技re:Invent上,亚马逊云科技发布了Inferentia芯片和Inf1实例这两个基础设施。Inferentia是一种高性能机器学习推理芯片,由亚马逊云科技定制设计,其目的是提供具有成本效益的大规模低延迟预测。时隔四年,2023年4月亚马逊云科技发布了Inferentia2芯片和Inf2实例,旨在为大型模型推理提供技术保障。

438a9e90eb5b4965b22d40d5346bfb36.png

Inf2实例的应用场景

使用亚马逊云科技Inf2实例运行流行的应用程序,例如文本摘要、代码生成、视频和图像生成、语音识别、个性化等。Inf2实例是Amazon EC2中的第一个推理优化实例,引入了由NeuronLink(一种高速、非阻塞互连)支持的横向扩展分布式推理。现在可以在Inf2实例上跨多个加速器高效部署具有数千亿个参数的模型。Inf2实例的吞吐量比其他类似的Amazon EC2实例高出三倍,延迟低八倍,性价比高出40%。为了实现可持续发展目标,与其他类似的Amazon EC2实例相比,Inf2实例的每瓦性能提高了50%。

使用Inf2实例运行GPT-J-6B模型

GPT-J-6B是由一组名为EleutherAI的研究人员创建的开源自回归语言模型。它是OpenAI的GPT-3最先进的替代方案之一,在聊天、摘要和问答等广泛的自然语言任务中表现良好。

该模型由28层组成,模型维度为4096,前馈维度为16384。模型维度分为16个头,每个头的维度为256。旋转位置嵌入(RoPE)应用于每个头的64个维度。使用与GPT-2/GPT-3相同的一组BPE,使用50257的标记化词汇训练模型。

Hyperparameter

Value

n_parameters

6,053,381,344

n_layers

28*

d_model

4,096

d_ff

16,384

n_heads

16

d_head

256

n_ctx

2,048

n_vocab

50,257 (same tokenizer as GPT-2/3)

GPT-J-6B基础设施有60亿个参数,非常适合大语言模型(LLM)学习的入门版本,进行文本生成测试。在部署过程中,用到了Neuron SDK和transformers-neuronx。transformers-neuronx是由AWS Neuron团队构建的开源库,可帮助使用AWS Neuron SDK运行转换器解码器推理工作流程。目前,它提供了GPT2、GPT-J和OPT模型类型的演示脚本,它们的前向函数在编译过程中重新实现,以进行代码分析和优化,并且可以基于同一个库实现其他模型架构。AWS Neuron优化的转换器解码器类已使用称为PyHLO的语法在XLA HLO(高级操作)中重新实现。该库还实现了张量并行(Tensor Parallelism),以跨多个NeuronCore对模型权重进行分片。



版权声明:本文为m0_71839360原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。