作者:Sunita Nadampalli
Amazon SageMaker(https://aws.amazon.com/sagemaker/)提供了多種機(jī)器學(xué)習(xí)(ML)基礎(chǔ)設(shè)施和模型部署選項(xiàng),以幫助滿足您的ML推理需求。它是一個完全托管的服務(wù),并與MLOps工具集成,因此您可以努力擴(kuò)展模型部署,降低推理成本,在生產(chǎn)中更有效地管理模型,并減輕操作負(fù)擔(dān)。SageMaker提供多個推理選項(xiàng)(https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html#deploy-model-options),因此您可以選擇最適合您工作負(fù)載的選項(xiàng)。
新一代CPU由于內(nèi)置的專用指令在ML推理方面提供了顯著的性能提升。在本文中,我們重點(diǎn)介紹如何利用基于AWS Graviton3(https://aws.amazon.com/ec2/graviton/)的Amazon Elastic Compute Cloud(EC2)C7g實(shí)例(https://aws.amazon.com/blogs/aws/new-amazon-ec2-c7g-instances-powered-by-aws-graviton3-processors/),以幫助在Amazon SageMaker上進(jìn)行實(shí)時推理(https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)時將推理成本降低高達(dá)50%,相對于可比較的EC2實(shí)例。我們展示了如何評估推理性能并在幾個步驟中將您的ML工作負(fù)載切換到AWS Graviton實(shí)例。
為了涵蓋廣泛的客戶應(yīng)用程序,本文討論了PyTorch、TensorFlow、XGBoost和scikit-learn框架的推理性能。我們涵蓋了計(jì)算機(jī)視覺(CV)、自然語言處理(NLP)、分類和排名場景,以及用于基準(zhǔn)測試的ml.c6g、ml.c7g、ml.c5和ml.c6i SageMaker實(shí)例。
基準(zhǔn)測試結(jié)果
AWS Graviton3基于EC2 C7g實(shí)例相對于Amazon SageMaker上的可比EC2實(shí)例,可以為PyTorch、TensorFlow、XGBoost和scikit-learn模型推理帶來高達(dá)50%的成本節(jié)省,同時推理的延遲也得到了降低 。
為了進(jìn)行比較,我們使用了四種不同的實(shí)例類型:
? c7g.4xlarge(https://aws.amazon.com/ec2/instance-types/c7g/)
? c6g.4xlarge(https://aws.amazon.com/ec2/instance-types/c6g/)
? c6i.4xlarge(https://aws.amazon.com/ec2/instance-types/c6i/)
? c5.4xlarge(https://aws.amazon.com/ec2/instance-types/c5/)
這四個實(shí)例都有16個vCPU和32 GiB內(nèi)存。
在下面的圖表中,我們測量了四種實(shí)例類型每百萬推理的成本。我們進(jìn)一步將每百萬推理成本結(jié)果歸一化為c5.4xlarge實(shí)例,該實(shí)例在圖表的Y軸上測量為1。您可以看到,對于XGBoost模型,c7g.4xlarge(AWS Graviton3)的每百萬推理成本約為c5.4xlarge的50%,約為c6i.4xlarge的40%;對于PyTorch NLP模型,與c5和c6i.4xlarge實(shí)例相比,成本節(jié)省約30-50%。對于其他模型和框架,與c5和c6i.4xlarge實(shí)例相比,我們測得至少30%的成本節(jié)省。
與前面的推理成本比較圖類似,下圖顯示了相同四種實(shí)例類型的模型p90延遲。我們進(jìn)一步將延遲結(jié)果標(biāo)準(zhǔn)化為c5.4xlarge實(shí)例,在圖表的Y軸中測量為1。c7g.4xlarge(AWS Graviton3)模型推理延遲比在c5.4xlage和c6i.4xla格上測量的延遲高出50%。
遷移到AWS Graviton實(shí)例
要將模型部署到AWS Graviton實(shí)例,可以使用AWS深度學(xué)習(xí)容器(DLC)(https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-graviton-containers-sm-support-only),也可以自帶與ARMv8.2體系結(jié)構(gòu)兼容的容器(https://github.com/aws/deep-learning-containers#building-your-image)。
將模型遷移(或新部署)到AWS Graviton實(shí)例很簡單,因?yàn)锳WS不僅為使用PyTorch、TensorFlow、scikit-learn和XGBoost托管模型提供容器,而且模型在架構(gòu)上也是不可知的。您也可以帶上自己的庫,但請確保您的容器是用支持ARMv8.2體系結(jié)構(gòu)的環(huán)境構(gòu)建的。有關(guān)更多信息,請參閱構(gòu)建自己的算法容器(https://sagemaker-examples.readthedocs.io/en/latest/advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.html)。
您需要完成三個步驟才能部署模型:
1.創(chuàng)建SageMaker模型。除其他參數(shù)外,它將包含有關(guān)模型文件位置、將用于部署的容器以及推理腳本的位置的信息。(如果已經(jīng)在計(jì)算優(yōu)化推理實(shí)例中部署了現(xiàn)有模型,則可以跳過此步驟。)
2.創(chuàng)建端點(diǎn)配置。這將包含有關(guān)端點(diǎn)所需的實(shí)例類型的信息(例如,對于AWS Graviton3,為ml.c7g.xlarge)、在上一步中創(chuàng)建的模型的名稱以及每個端點(diǎn)的實(shí)例數(shù)。
3.使用在上一步中創(chuàng)建的端點(diǎn)配置啟動端點(diǎn)。
有關(guān)詳細(xì)說明,請參閱使用Amazon SageMaker在基于AWS Graviton的實(shí)例上運(yùn)行機(jī)器學(xué)習(xí)推理工作負(fù)載(https://aws.amazon.com/blogs/machine-learning/run-machine-learning-inference-workloads-on-aws-graviton-based-instances-with-amazon-sagemaker/)。
性能基準(zhǔn)管理方法
我們使用Amazon SageMaker Inference Recommender(https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender.html)來自動化不同實(shí)例的性能基準(zhǔn)測試。該服務(wù)根據(jù)不同實(shí)例的延遲和成本來比較ML模型的性能,并推薦以最低成本提供最佳性能的實(shí)例和配置。我們使用推理推薦器收集了上述性能數(shù)據(jù)。有關(guān)更多詳細(xì)信息,請參閱GitHub回購。
您可以使用示例筆記本(https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-inference-recommender/huggingface-inference-recommender/huggingface-inference-recommender.ipynb)來運(yùn)行基準(zhǔn)測試并再現(xiàn)結(jié)果。我們使用以下模型進(jìn)行基準(zhǔn)測試:
1.PyTorch–ResNet50圖像分類,DistilBERT情感分析,RoBERTa填充掩碼和RoBERTa情感分析。
2.TensorFlow–TF Hub ResNet 50和ML Commons TensorFlow BERT。
3.XGBoost和scikit learn–我們測試了四個模型,以涵蓋分類器、排序器和線性回歸場景。
結(jié)論
相對于Amazon SageMaker上的可比EC2實(shí)例,AWS使用基于Graviton3的EC2 C7g實(shí)例測量了PyTorch,TensorFlow,XGBoost和scikit-learn模型推理高達(dá)50%的成本節(jié)省。您可以按照本文提供的步驟將現(xiàn)有推理用例遷移到AWS Graviton或部署新的ML模型。您還可以參考AWS Graviton技術(shù)指南(https://github.com/aws/aws-graviton-getting-started),該指南提供了優(yōu)化庫和最佳實(shí)踐列表,可幫助您在不同工作負(fù)載上使用AWS Graviton實(shí)例實(shí)現(xiàn)成本效益。
如果您發(fā)現(xiàn)使用情況,在AWS Graviton上沒有觀察到類似的性能提升,請與我們聯(lián)系。我們將繼續(xù)添加更多性能改進(jìn),使AWS Graviton成為最具成本效益和高效的通用ML推理處理器。”
-
cpu
+關(guān)注
關(guān)注
68文章
11033瀏覽量
215995 -
Amazon
+關(guān)注
關(guān)注
1文章
125瀏覽量
17559 -
AWS
+關(guān)注
關(guān)注
0文章
435瀏覽量
25087
原文標(biāo)題:?使用AWS Graviton降低Amazon SageMaker推理成本
文章出處:【微信號:Arm軟件開發(fā)者,微信公眾號:Arm軟件開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Arm Neoverse V1的AWS Graviton3在深度學(xué)習(xí)推理工作負(fù)載方面的作用
在AWS云中使用Arm處理器設(shè)計(jì)Arm處理器
使用Arm服務(wù)器減少基因組學(xué)的時間和成本
AWS機(jī)器學(xué)習(xí)服務(wù)GPU成本大幅度降低,高達(dá)18%
AWS發(fā)布新一代Amazon Aurora Serverless
AWS基于Arm架構(gòu)的Graviton 2處理器落地中國
中科創(chuàng)達(dá)成為Amazon SageMaker服務(wù)就緒計(jì)劃首批認(rèn)證合作伙伴
使用AWS Graviton處理器優(yōu)化的PyTorch 2.0推理

Hugging Face LLM部署大語言模型到亞馬遜云科技Amazon SageMaker推理示例

評論