مشاور هزینه AWS: یک دستیار پرسش و پاسخ برای مدیریت هزینه AWS
ساخت خط لوله نسل افزوده بازیابی (RAG) با AWS SageMaker، ترانسفورماتور Hugging Face و Langchain
معرفی
AWS Community Builders به ما فرصت جالبی داد تا روی یکپارچه سازی ابزارهای هوش مصنوعی و حل موارد استفاده AWS کار کنیم.
این همکاری منحصر به فرد تخیل جمعی ما را برانگیخت و ما را به فکر راه حل (عالی) سوق داد. پس از ساعتهای بیشماری نوآوری و همکاری، ما بسیار هیجانزده هستیم که از این ابزار پیشگامانه رونمایی میکنیم که صرفهجویی در هزینه AWS و چشمانداز FinOps را بازتعریف میکند: یک چت ربات پرسش و پاسخ با پشتیبانی از Sagemaker، HuggingFace، LangChain، و با استفاده از Retrieval Augmented Generation. در این سفر فریبنده به ما بپیوندید و راه حل انقلابی خود را ارائه می دهیم که دنیای مهارت های مولد AI و AWS Solution Architect را هماهنگ می کند.
AWS Cost Advisor یک ابزار هوش مصنوعی است که برای کمک به کاربران در بهینهسازی هزینههای ابری خود با ارائه توصیههای هزینه، شناسایی ناهنجاریهای هزینه و ارائه پیشنهادهای صرفهجویی در هزینه طراحی شده است. این ابزار با استفاده از Retrieval-Augmented Generation (RAG)، ترکیبی از تکنیک های مبتنی بر بازیابی و مبتنی بر تولید ساخته شده است. پایگاه داده دانش مشاور هزینه AWS با استفاده از سوالات متداول مدیریت هزینه AWS به عنوان یک پایگاه داده برداری که در خط لوله RAG یکپارچه شده است، ساخته شده است. در این پست وبلاگ، ابزار Cost Advisor و عملکرد بهبود یافته آن را در مقایسه با یک دستیار پرسش و پاسخ تولید متن عمومی نشان خواهیم داد.
بیان مسأله
ابزار AWS Cost Advisor برای کمک به کاربران برای بهینهسازی هزینههای ابری خود با ارائه توصیههای هزینه، شناسایی ناهنجاریهای هزینه و ارائه پیشنهادهای صرفهجویی در هزینه طراحی شده است. با این حال، ابزار با مشکل دقت و مرتبط بودن پاسخ های ارائه شده توسط ابزار مواجه بود. دستیار پرسش و پاسخ تولید متن عمومی اغلب پاسخ های نامربوط را ارائه می دهد یا اصلاً به سؤال کاربر پاسخ نمی دهد. برای حل این مشکل، AWS خط لوله RAG را پیاده سازی کرد.
راه حل های موجود:
قبل از اینکه به راه حل پیشگامانه خود بپردازیم، بیایید گزینه های موجود را بررسی کنیم. ابزارهای بهینه سازی هزینه معمولی اغلب فاقد پیچیدگی برای تجزیه و تحلیل جامع داده های صورتحساب پیچیده و ارائه بینش های دقیق هستند. علاوه بر این، رباتهای گفتگو معمولاً برای رسیدگی به پیچیدگیهای سرویسهای AWS و ایجاد توصیههای معنادار تلاش میکنند. این محدودیتها مانع پیشرفت Solution Architect میشوند و باز کردن پتانسیل کامل پسانداز در Cloud را به چالش میکشند.
راهحلهای موجود مانند Cost Explorer، AWS Budgets، میتوانند شبیه DIY باشند
خط لوله بازیابی-افزوده شده
خط لوله RAG از ترکیبی از تکنیکهای مبتنی بر بازیابی و مبتنی بر تولید برای ارائه پاسخهای مرتبطتر و دقیقتر استفاده میکند. خط لوله از سه جزء تشکیل شده است: یک رتریور، یک خواننده و یک ژنراتور. بازیابی مرتبط ترین اسناد را از پایگاه داده دانش بازیابی می کند، خواننده پاسخ را از اسناد بازیابی شده استخراج می کند و مولد پاسخ مختصر و دقیق تری تولید می کند.
نمای کلی راه حل سطح بالا
مدلهای LLM منبع باز Huggingface
مدلهای زبان بزرگ منبع باز Huggingface (LLM) توسط مشاور هزینه AWS برای مولفه مبتنی بر تولید خط لوله بازیابی-نسل تقویت شده (RAG) استفاده میشود. این مدل ها بر روی مقادیر زیادی از داده های متنی از قبل آموزش دیده اند و می توانند پاسخ هایی با کیفیت بالا به سوالات زبان طبیعی ایجاد کنند. Huggingface LLM های مورد استفاده توسط AWS Cost Advisor بر روی وظیفه خاص بهینه سازی هزینه تنظیم شده اند تا از حداکثر دقت و ارتباط در پاسخ های تولید شده اطمینان حاصل کنند.
MODEL_CONFIG = {
"huggingface-text2text-flan-t5-xxl": {
"instance type": "ml.g4dn.xlarge",
"env": {"SAGEMAKER_MODEL_SERVER_WORKERS": "1", "TS_DEFAULT_WORKERS_PER_MODEL": "1"},
"parse_function": parse_response_model_flan_t5,
"prompt": """Answer based on context:\n\n{context}\n\n{question}""",
},
"huggingface-textembedding-gpt-j-6b": {
"instance type": "ml.g4dn.2xlarge",
"env": {"SAGEMAKER_MODEL_SERVER_WORKERS": "1", "TS_DEFAULT_WORKERS_PER_MODEL": "1"},
},
}
newline, bold, unbold = "\n", "\033[1m", "\033[0m"
for model_id in _MODEL_CONFIG_:
endpoint_name = name_from_base(f"aws-costadvisor-rag-{model_id}")
inference_instance_type = _MODEL_CONFIG_[model_id]["instance type"]
# Retrieve the inference container uri. This is the base HuggingFace container image for the default model above.
deploy_image_uri = image_uris.retrieve(
region=None,
framework=None, # automatically inferred from model_id
image_scope="inference",
model_id=model_id,
model_version=model_version,
instance_type=inference_instance_type,
)
# Retrieve the model uri.
model_uri = model_uris.retrieve(
model_id=model_id, model_version=model_version, model_scope="inference"
)
model_inference = Model(
image_uri=deploy_image_uri,
model_data=model_uri,
role=aws_role,
predictor_cls=Predictor,
name=endpoint_name,
env=_MODEL_CONFIG_[model_id]["env"],
)
model_predictor_inference = model_inference.deploy(
initial_instance_count=1,
instance_type=inference_instance_type,
predictor_cls=Predictor,
endpoint_name=endpoint_name,
)
print(f"{bold}Model {model_id} has been deployed successfully.{unbold}{newline}")
_MODEL_CONFIG_[model_id]["endpoint_name"] = endpoint_name
QA بازیابی Longchain
Langchain Retrieval QA توسط مشاور هزینه AWS به عنوان جزء مبتنی بر بازیابی خط لوله RAG استفاده می شود. این ابزار برای بازیابی مرتبط ترین اسناد از پایگاه داده دانش بر اساس درخواست کاربر طراحی شده است. Langchain Retrieval QA از ترکیبی از جستجوی معنایی و تطبیق کلمات کلیدی برای بازیابی مرتبطترین اسناد استفاده میکند و اطمینان حاصل میکند که اسناد بازیابی شده بسیار مرتبط با درخواست کاربر هستند.
سوالات متداول مدیریت هزینه AWS
سوال | پاسخ |
---|---|
چه کسی باید از محصولات مدیریت هزینه AWS استفاده کند؟ | ما هنوز با مشتری روبرو نشده ایم که مدیریت هزینه را در اولویت قرار نمی دهد. ابزارهای مدیریت هزینه AWS توسط متخصصان فناوری اطلاعات، تحلیلگران مالی، مدیران منابع و توسعه دهندگان در تمام صنایع استفاده می شود تا به اطلاعات دقیق مربوط به هزینه ها و استفاده AWS خود دسترسی داشته باشند، محرک های هزینه و روند استفاده را تجزیه و تحلیل کنند، و در مورد بینش خود اقدام کنند. |
چگونه می توانم با ابزارهای مدیریت هزینه AWS شروع کنم؟ | سریعترین راه برای شروع با ابزارهای مدیریت هزینه AWS دسترسی به داشبورد صورتحساب است. از آنجا، میتوانید به تعدادی از محصولات دسترسی داشته باشید که میتوانند به شما در درک بهتر، تحلیل و کنترل هزینههای AWS خود کمک کنند، از جمله، اما نه محدود به AWS Cost Explorer، بودجههای AWS، و گزارش هزینه و استفاده AWS. |
مزایای استفاده از AWS Cost Explorer چیست؟ | AWS Cost Explorer به شما امکان می دهد هزینه ها و استفاده از AWS خود را در سطح بالا و در سطح تجزیه و تحلیل دقیق بررسی کنید و به شما امکان می دهد با استفاده از تعدادی از ابعاد فیلتر (به عنوان مثال، سرویس AWS، منطقه، حساب عضو و غیره) عمیق تر غواصی کنید. AWS Cost Explorer همچنین به شما امکان دسترسی به مجموعهای از گزارشهای پیشفرض را میدهد تا به شما در شروع کار کمک کند، در حالی که به شما امکان میدهد گزارشهای سفارشی را از ابتدا ایجاد کنید. |
چه نوع گزارش های پیش فرض موجود است؟ | AWS Cost Explorer مجموعهای از گزارشهای پیشفرض را ارائه میکند تا به شما کمک کند با ابعاد فیلتر موجود و تجزیه و تحلیلهایی که میتوان با استفاده از AWS Cost Explorer انجام داد آشنا شوید. این گزارشها شامل تفکیک 5 سرویس AWS با هزینه بالا و تجزیه و تحلیل استفاده کلی آمازون EC2 شما، تجزیه و تحلیل کل هزینههای حسابهای اعضای شما و گزارشهای استفاده و پوشش رزرو شده است. |
آیا می توانم گزارش های سفارشی AWS Cost Explorer را ایجاد و ذخیره کنم؟ | آره. در حال حاضر می توانید حداکثر 50 گزارش سفارشی AWS Cost Explorer را ذخیره کنید. |
با API AWS Cost Explorer چه کاری می توانم انجام دهم؟ | AWS Cost Explorer API سرویس جستجوی موقت و کم تأخیر است که AWS Cost Explorer را تقویت میکند و از طریق یک رابط خط فرمان و AWS SDKهای پشتیبانیشده قابل دسترسی است. با استفاده از AWS Cost Explorer API، می توانید برنامه های مدیریت هزینه سفارشی و تعاملی را بدون نیاز به راه اندازی و نگهداری زیرساخت های اضافی بسازید. |
چه زمانی باید از AWS Compute Optimizer و چه زمانی از AWS Cost Explorer استفاده کنم؟ | اگر میخواهید نمونههای EC2 کماستفادهشده را شناسایی کنید که ممکن است بهصورت نمونهای در خانوادهی نمونه کوچک شوند، باید از AWS Cost Explorer استفاده کنید، و میخواهید با در نظر گرفتن RIهای خود تأثیر بالقوه بر صورتحساب AWS خود را درک کنید. و طرح های پس انداز Cost Explorer توصیه هایی را برای تمام مناطق تجاری (خارج از چین) ارائه می دهد و از خانواده های نمونه A، T، M، C، R، X، Z، I، D، H پشتیبانی می کند. |
چگونه می توانم استفاده از گزارش هزینه و استفاده AWS را شروع کنم؟ | گزارش هزینه و استفاده AWS فروشگاهی تکی برای دسترسی به جزئی ترین اطلاعات موجود در مورد هزینه ها و استفاده AWS شما است. گزارش هزینه و استفاده AWS را می توان با جزئیات ساعتی، روزانه یا ماهانه تولید کرد. میتوانید گزارش هزینه و استفاده AWS را از صفحه گزارشهای هزینه و استفاده در کنسول صورتحساب فعال کنید. لطفاً توجه داشته باشید که برای دریافت گزارش هزینه و استفاده AWS، باید یک سطل آمازون S3 ایجاد و پیکربندی کنید. |
چه کار دیگری می توانم با گزارش هزینه و استفاده AWS انجام دهم؟ | هنگام تنظیم گزارش هزینه و استفاده AWS، می توانید گزینه ادغام با آمازون آتنا را انتخاب کنید. از آنجا، میتوانید از الگوی AWS CloudFormation که همراه با فایلهای Parquet سازگار با Athena ارائه میشود، برای ادغام خودکار با Athena استفاده کنید. این اطمینان حاصل می کند که آخرین اطلاعات هزینه و استفاده شما همیشه در Amazon Athena در دسترس است – بدون نیاز به کار اضافی برای آماده کردن داده های شما برای تجزیه و تحلیل. |
پایگاه داده برداری FAISS
پایگاه داده برداری FAISS توسط AWS Cost Advisor برای ذخیره نمایش های برداری اسناد در پایگاه داده دانش استفاده می شود. این نمایش های برداری توسط جزء بازیابی خط لوله RAG برای بازیابی مرتبط ترین اسناد بر اساس درخواست کاربر استفاده می شود. پایگاه داده برداری FAISS امکان بازیابی سریع و کارآمد اسناد را فراهم می کند و اطمینان حاصل می کند که کاربر پاسخی را در زمان واقعی دریافت می کند.
index_creator = VectorstoreIndexCreator(
vectorstore_cls=FAISS,
embedding=embeddings,
text_splitter=CharacterTextSplitter(chunk_size=300, chunk_overlap=0),
)
مشاور هزینه AWS از مدلهای زبان بزرگ منبع باز HuggingFace (LLM) برای مؤلفه مبتنی بر تولید خط لوله RAG استفاده میکند. Langchain Retrieval QA برای جزء مبتنی بر بازیابی استفاده می شود. پایگاه داده برداری FAISS برای ذخیره نمایش های برداری اسناد در پایگاه داده دانش استفاده می شود که توسط مؤلفه retriever برای بازیابی مرتبط ترین اسناد استفاده می شود.
کد
مقایسه عملکرد با مثال ها
برای نشان دادن عملکرد بهبود یافته ابزار AWS Cost Advisor، آن را با یک دستیار پرسش و پاسخ تولید متن عمومی مقایسه کردیم. ما از هر دو ابزار یک سوال پرسیدیم: “چگونه می توانم هزینه های AWS خود را کاهش دهم؟” دستیار پرسش و پاسخ تولید متن عمومی یک پاسخ نامربوط ارائه کرد، در حالی که ابزار AWS Cost Advisor پاسخی مرتبط با پیشنهادات صرفه جویی در هزینه ارائه کرد.
question = "How to get started with AWS cost and usage report?"
پاسخ تولید شده توسط LLMCreate an AWS account for a company or an individual. Navigate to the report section, then click on Create report. Select the Report template, and click Create Report.
پاسخ تولید شده توسط RAG The quickest way to get started with the AWS Cost Management tools is to access the Billing Dashboard.
چقدر با هم فرق داریم؟
وارد AMAC (Ask Me Anything/AWS Cost Advisor) شوید، تلفیقی از فناوریهای پیشرفته که آماده تعریف مجدد تجربه هکاتون هوش مصنوعی است. با پشتیبانی از HuggingFace، پلتفرم پردازش زبان طبیعی (NLP) پیشرو در صنعت، و LangChain، ابزاری نوآورانه برای درک زبان، چت ربات ما دارای درک متنی بیرقیب و تواناییهای پاسخگویی قوی به سؤال است. با ادغام تخصص FinOps و AWS Solution Architect، ما به چت ربات دانشی برای ارائه توصیههای بهینهسازی هزینههای دقیق برای استقرار AWS شرکتکنندگان قدرت میدهیم.
اما این همه ماجرا نیست – چت ربات پرسش و پاسخ ما با ترکیب نسل افزوده بازیابی فراتر از رویکردهای سنتی است. این تکنیک پیشگامانه به طور یکپارچه مدلهای مبتنی بر بازیابی و مدلهای تولیدی را برای ارائه دقیقترین و غنیترین پاسخها ترکیب میکند. چت بات به طور موثر مجموعه دادههای صورتحساب عظیم را اسکن میکند، اطلاعات مربوطه را استخراج میکند، و سپس پاسخهای منسجم و مختصر ایجاد میکند و بینشهای عملی متناسب با نیازهای بهینهسازی هزینهشان را به شرکتکنندگان ارائه میدهد.
موارد استفاده در زندگی واقعی
سناریوی هکاتون هوش مصنوعی مشاور هزینه AWS: تیمی از شرکت کنندگان را تصور کنید که مشتاق هستند هزینه ها را در استقرار AWS خود بهینه کنند. با داشتن ربات پرسش و پاسخ ما، آنها بدون زحمت در گزارشهای صورتحساب پیچیده، تجزیه و تحلیل هزینهها و شناسایی زمینههای بهبود یافته میگردند. چت بات پرسش های آنها را درک می کند، داده های مربوط به هزینه را بازیابی می کند، و توصیه های فوری و دقیقی را ارائه می دهد و تیم را قادر می سازد تا تصمیمات آگاهانه ای اتخاذ کند که منجر به صرفه جویی در هزینه می شود.
نتیجه
ابزار AWS Cost Advisor یک ابزار هوش مصنوعی است که با استفاده از Retrieval-Augmented Generation (RAG) ساخته شده است که به کاربران کمک می کند تا هزینه های ابری خود را با ارائه توصیه های هزینه، شناسایی ناهنجاری های هزینه و ارائه پیشنهادهای صرفه جویی در هزینه بهینه کنند. این ابزار از مدلهای زبان بزرگ منبع باز HuggingFace (LLM)، Langchain Retrieval QA و پایگاه داده برداری FAISS برای ارائه پاسخهای مرتبطتر و دقیقتر استفاده میکند. به طور کلی، ابزار AWS Cost Advisor عملکرد بهتری را در مقایسه با یک دستیار پرسش و پاسخ تولید متن عمومی نشان داده است.
با تیم پشت این کار آشنا شوید: