使用 AWS Inferentia2 加速 Hugging Face Transformers
TL;DR
Hugging Face 与 AWS 合作,对 Transformer 模型进行针对 AWS Inferentia2(全新专用推理加速器)的优化。此合作使开发者能够在无需复杂手动模型切分或分布式技术的情况下,部署大规模模型并实现显著更低的延迟和更高的吞吐量。
AWS Inferentia2 的能力与性能
AWS Inferentia2 是 Inferentia1 的继任者,专为优化模型推理的成本和速度而设计。它在性能上相较于前代产品和可比的 GPU 实例都有显著提升。
性能提升
- Comparison to Inferentia1:Inferentia2 芯片实现了吞吐量提升 4 倍、延迟降低 10 倍。
- Comparison to NVIDIA A10G (G5 instances):Amazon EC2 Inf2 实例提供最高 2.6 倍的吞吐量提升、8.1 倍的延迟降低,以及比同类 G5 实例高出 50% 的每瓦性能。
可扩展性与内存
Inf2 实例提供多种规格,包含 1 到 12 块 Inferentia2 芯片。这些芯片使用直接芯片间互连实现分布式推理。最大规格 inf2.48xlarge 拥有足够的内存,可加载参数量高达 1750 亿的模型,例如 GPT-3 或 BLOOM。
与 Hugging Face 的集成
为降低开发复杂度,Hugging Face 提供了 optimum neuron 库。该集成基于 AWS Neuron SDK,使用户只需一行代码即可为 Inferentia2 编译模型,免去手动模型修改或切分的需求。
基准测试结果
Hugging Face 在六种模型架构(BERT-base、BERT-Large、RoBERTa-base、DistilBERT、ALBERT-base 和 ViT-base)上进行 144 次实验,批量大小为 1,序列长度在 8 到 512 之间。基准测试比较了 inf1.2xlarge(Inferentia1)、inf2.xlarge(Inferentia2)和 g5.2xlarge(NVIDIA A10G GPU)。
关键延迟发现
平均而言,AWS Inferentia2 的延迟比 NVIDIA A10G GPU 快 4.5 倍,比 Inferentia1 实例快 4 倍。
- BERT-base:在序列长度最高 256 时,Inferentia2 的性能约比其他配置高出 6 倍。
- Vision Transformer (ViT-base):Inferentia2 的延迟比 NVIDIA A10G 快 2 倍,帮助在实时应用中从 CNN 向 Transformer 迁移。
基准配置
在 GPU 上评估的模型以 fp32 运行,未进行额外优化。主要测量指标为 p95 延迟(包括前后处理在内的单次预测时间)和吞吐量(固定时间内的执行次数)。