FMBench
是一个Python包,用于对部署在任何AWS生成式AI服务上的任何基础模型(FM)进行性能基准测试和准确性评估,无论是部署在Amazon SageMaker、Amazon Bedrock、Amazon EKS还是Amazon EC2上。这些FM可以直接通过FMbench
部署,或者如果它们已经部署,也可以通过FMBench
支持的"使用自己的端点"模式进行基准测试。
以下是FMBench
的一些显著特点:
高度灵活:它允许使用任何实例类型(g5
、p4d
、p5
、Inf2
)、推理容器(DeepSpeed
、TensorRT
、HuggingFace TGI
等)以及张量并行、滚动批处理等参数的组合,只要这些组合受底层平台支持。
可对任何模型进行基准测试:它可用于对开源模型、第三方模型以及企业使用自己数据训练的专有模型进行基准测试。基准测试包括性能基准测试和模型评估(基于真实标准的准确性测量)。🚨 新功能:在2.0.0版本中添加了由LLM评估员组成的评估小组进行模型评估 🚨
可在任何地方运行:它可以在任何可以运行Python的AWS平台上运行,如Amazon EC2、Amazon SageMaker,甚至AWS CloudShell。重要的是要在AWS平台上运行此工具,以确保互联网往返时间不会包含在端到端响应时间延迟中。
为您的生成式AI工作负载确定最佳价格|性能服务堆栈
使用FMBench
在任何AWS生成式AI服务上对LLM进行价格和性能(推理延迟、每分钟事务数)的基准测试。 以下是FMBench
生成的一个图表,用于帮助回答在Amazon SageMaker上托管的Llama2-13b
模型的价格性能问题(图例中的实例类型已故意模糊处理,您可以在运行FMBench
时生成的实际图表中找到它们)。
为您的生成式AI工作负载确定最佳模型
使用FMBench
通过LLM评估员小组(PoLL [1])来确定模型准确性。以下是FMBench
生成的一个图表,用于帮助回答Amazon Bedrock上各种FM的准确性问题(图表中的模型ID已故意模糊处理,您可以在运行FMBench时生成的实际图表中找到它们)。
本仓库的configs文件夹中提供了以下模型的配置文件。
Llama3现已在SageMaker上可用(阅读博客文章),您现在可以使用FMBench
对其进行基准测试。以下是在ml.p4d.24xlarge
、ml.inf2.24xlarge
和ml.g5.12xlarge
实例上对Llama3-8b-instruct
和Llama3-70b-instruct
进行基准测试的配置文件。
Llama3-8b-instruct
在ml.p4d.24xlarge
和ml.g5.12xlarge
上的配置文件。Llama3-70b-instruct
在ml.p4d.24xlarge
和ml.g5.48xlarge
上的配置文件。Llama3-8b-instruct
在ml.inf2.24xlarge
和ml.g5.12xlarge
上的配置文件。模型 | EC2 g5 | EC2 Inf2/Trn1 | SageMaker g4dn/g5/p3 | SageMaker Inf2/Trn1 | SageMaker P4 | SageMaker P5 | Bedrock 按需吞吐量 | Bedrock 预置吞吐量 |
---|---|---|---|---|---|---|---|---|
Anthropic Claude-3 Sonnet | ✅ | ✅ | ||||||
Anthropic Claude-3 Haiku | ✅ | |||||||
Mistral-7b-instruct | ✅ | ✅ | ✅ | ✅ | ✅ | |||
Mistral-7b-AWQ | ✅ | |||||||
Mixtral-8x7b-instruct | ✅ | |||||||
Llama3.1-8b instruct | ✅ | ✅ | ✅ | ✅ | ||||
Llama3.1-70b instruct | ✅ | ✅ | ✅ | |||||
Llama3-8b instruct | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Llama3-70b instruct | ✅ | ✅ | ✅ | ✅ | ✅ | |||
Llama2-13b chat | ✅ | ✅ | ✅ | ✅ | ||||
Llama2-70b chat | ✅ | ✅ | ✅ | ✅ | ||||
Amazon Titan text lite | ✅ | |||||||
Amazon Titan text express | ✅ | |||||||
Cohere Command text | ✅ | |||||||
Cohere Command light text | ✅ | |||||||
AI21 J2 Mid | ✅ | |||||||
AI21 J2 Ultra | ✅ | |||||||
Gemma-2b | ✅ | |||||||
Phi-3-mini-4k-instruct | ✅ | |||||||
distilbert-base-uncased | ✅ |
FMBench
作为Python包在PyPi上提供,安装后可作为命令行工具运行。所有包括指标、报告和结果在内的数据都存储在Amazon S3存储桶中。
[!重要] 💡
FMBench
的所有文档都可在FMBench
网站上获取 您可以在 SageMaker 笔记本或 EC2 虚拟机上运行FMBench
。这两种选择在文档中都有详细说明。您甚至可以将FMBench
作为Docker 容器运行。以下还提供了 SageMaker 的快速入门指南。
👉 以下部分讨论的是运行 FMBench
工具,与基础模型实际部署的位置不同。例如,我们可以在 EC2 上运行 FMBench
,但被测试的模型可能部署在 SageMaker 或 Bedrock 上。
在 SageMaker 笔记本上运行 FMBench
每次运行 FMBench
都需要一个配置文件,其中包含有关模型、部署步骤和要运行的测试的信息。典型的 FMBench
工作流程包括直接使用 FMBench
GitHub 仓库中 configs
文件夹中已提供的配置文件,或根据您自己的需求编辑已提供的配置文件(比如您想在不同的实例类型或使用不同的推理容器进行基准测试等)。
👉 本仓库中包含一个简单的配置文件,其中标注了关键参数,请参见 config-llama2-7b-g5-quick.yml
。该文件在 ml.g5.xlarge
实例和 ml.g5.2xlarge
实例上对 Llama2-7b 的性能进行基准测试。您可以按原样使用此配置文件进行快速入门。
使用下表中的按钮之一启动本仓库中包含的 AWS CloudFormation 模板。CloudFormation 模板在您的 AWS 账户中创建以下资源:Amazon S3 存储桶、Amazon IAM 角色和一个克隆了此仓库的 Amazon SageMaker 笔记本。创建的读取 S3 存储桶包含运行 FMBench
所需的所有文件(配置文件、数据集),而创建的写入 S3 存储桶将存储 FMBench
生成的指标和报告。CloudFormation 堆栈创建大约需要 5 分钟。
CloudFormation 堆栈创建完成后,导航到 SageMaker 笔记本并打开 fmbench-notebook
。
在 fmbench-notebook
中打开终端并运行以下命令。
conda create --name fmbench_python311 -y python=3.11 ipykernel
source activate fmbench_python311;
pip install -U fmbench
现在您可以使用以下命令行运行 fmbench
。我们将使用 CloudFormation 堆栈放置在 S3 存储桶中的示例配置文件进行快速首次运行。
我们使用 huggingface-pytorch-tgi-inference
推理容器,在 ml.g5.xlarge
和 ml.g5.2xlarge
实例类型上对 Llama2-7b
模型的性能进行基准测试。这个测试大约需要 30 分钟完成,花费约 0.20 美元。
它使用简单的 750 字等于 1000 个词元的关系来获得更准确的词元计数表示,要获得更准确的词元计数,请使用 Llama2 分词器
(下一节提供了说明)。强烈建议为了获得更准确的词元吞吐量结果,您应该使用特定于正在测试的模型的分词器,而不是默认分词器。本文档后面提供了有关如何使用自定义分词器的说明。
account=`aws sts get-caller-identity | jq .Account | tr -d '"'`
region=`aws configure get region`
fmbench --config-file s3://sagemaker-fmbench-read-${region}-${account}/configs/llama2/7b/config-llama2-7b-g5-quick.yml > fmbench.log 2>&1
打开另一个终端窗口,对fmbench.log
文件执行tail -f
命令,以查看运行时生成的所有跟踪信息。
tail -f fmbench.log
👉 查看这些配置文件以了解SageMaker和Bedrock的流式支持:
生成的报告和指标可在sagemaker-fmbench-write-<替换为你的aws区域>-<替换为你的aws账户id>
存储桶中找到。指标和报告文件也会下载到本地的results
目录(由FMBench
创建),基准测试报告以markdown文件形式保存为results
目录中的report.md
。你可以直接在SageMaker笔记本中查看渲染后的Markdown报告,或将指标和报告文件下载到你的机器上进行离线分析。
如果你想了解CloudFormation模板在幕后做了什么,请参阅带有详细说明的DIY版本
FMBench
在GovCloud上运行FMBench
不需要特殊步骤。上面的部分已提供了us-gov-west-1
的CloudFormation链接。
FMBench
来对GovCloud中的Amazon Titan Text Express模型进行基准测试。更多详情请参阅Amazon Bedrock GovCloud页面。account=`aws sts get-caller-identity | jq .Account | tr -d '"'`
region=`aws configure get region`
fmbench --config-file s3://sagemaker-fmbench-read-${region}-${account}/configs/bedrock/config-bedrock-titan-text-express.yml > fmbench.log 2>&1
根据配置文件中的实验,FMBench
运行可能需要几分钟到几小时不等。运行完成后,你可以在运行FMBench
的目录中的本地results-*
文件夹中找到报告和指标。报告和指标也会写入配置文件中设置的写入S3存储桶。
以下是FMBench
生成的report.md
文件的截图。
FMBench
附带了用于对不同AWS生成式AI服务(如Bedrock、SageMaker、EKS和EC2,甚至你自己的端点)上的模型进行基准测试的配置文件。
查看GitHub上的问题,并添加你认为可能对这个基准测试工具有益的迭代。
有关更多信息,请参阅CONTRIBUTING。
该库采用MIT-0许可。请查看LICENSE文件。
<a id="1">[1]</a> Pat Verga等,"用陪审团替代法官:利用多样化模型小组评估LLM生成内容",arXiv:2404.18796,2024年。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜 索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多 国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技 资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的 一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号