Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Optimisation des coûts
À mesure que les charges de travail sans serveur et basées sur l'IA augmentent, la visibilité et le contrôle des coûts deviennent essentiels à la durabilité des opérations. Contrairement au calcul traditionnel, où les coûts sont prévisibles par heure d'instance, les services d'IA génératifs et sans serveur introduisent de nouvelles dimensions de coût :
-
Déduire les coûts en fonction de l'utilisation du jeton (par exemple, Amazon Bedrock)
-
Facturation par appel (par exemple, et AWS Lambda ) AWS Step Functions
-
Déclencheurs pilotés par le volume d'événements (par exemple, Amazon EventBridge et Amazon S3)
-
Dynamique d'expansion de la base de connaissances, de l'appel d'outils et de la génération augmentée de récupération (RAG)
Sans une planification et une surveillance minutieuses, les entreprises risquent de connaître des pics de facturation inattendus, en particulier dans le cas de grands modèles linguistiques (LLMs) ou de boucles d'événements illimitées.
Pourquoi l'optimisation des coûts est cruciale dans l'IA sans serveur
Les facteurs suivants contribuent aux coûts des systèmes d'IA sans serveur :
-
Sélection de la taille du LLM — Les modèles de niveau supérieur (par exemple, Amazon Nova Premier) sont nettement plus chers par jeton.
-
Longueur et verbosité rapides — Des entrées et des sorties plus longues augmentent les coûts d'Amazon Bedrock de manière linéaire.
-
Multiplication des appels d'outils : les agents qui utilisent un trop grand nombre d'outils ou des outils redondants peuvent s'exposer à des frais de Lambda et de transfert de données.
-
Granularité du flux de travail Step Functions — Des flux de travail trop fragmentés augmentent les transitions d'état et la durée d'exécution.
-
Déplacement des données — Un trafic interrégional excessif, une indexation RAG inutile ou des recherches répétées dans la base de connaissances peuvent s'avérer coûteux.
Stratégies d'optimisation des coûts
Envisagez de mettre en œuvre les stratégies suivantes pour optimiser les coûts de vos charges de travail basées sur l'IA sans serveur :
-
Utilisez une sélection de modèles à plusieurs niveaux : des modèles tels qu'Amazon Nova, Amazon Titan et Anthropic Claude proposent différents modèles de tarification avec des compromis en termes de coût, de rapidité et de précision. Pour mettre en œuvre cette stratégie, acheminez les demandes peu complexes vers Amazon Nova Micro et augmentez-les uniquement lorsque le niveau de confiance est faible.
-
Réduisez les instructions et les résultats : le nombre de jetons est le principal facteur de coûts d'Amazon Bedrock. Pour mettre en œuvre cette stratégie, appliquez une taille d'invite maximale, utilisez une formulation concise et évitez les réponses verbeuses.
-
Contrôlez la portée de récupération des fichiers RAG : les documents illimités d'une base de connaissances peuvent gonfler le contexte. Pour mettre en œuvre cette stratégie, utilisez des filtres de métadonnées et le classement Top K. De plus, n'injectez que du contenu pertinent dans l'invite LLM.
-
Événements par lots pour l'inférence — Les appels d'inférence individuels sont plus coûteux que le traitement par lots. Pour mettre en œuvre cette stratégie, regroupez les entrées (par exemple, analyse et synthèse des sentiments) et effectuez une seule inférence par lot.
-
Utilisez Step Functions pour l'agrégation, et non pour la microgestion : la surutilisation des transitions d'états atomiques entraîne de longues durées. Pour mettre en œuvre cette stratégie, regroupez la logique associée en unités Lambda et évitez les modèles d'explosion d'états.
-
Gestion des réponses asynchrones : ne bloquez pas le calcul en attendant des modèles lents. Pour mettre en œuvre cette stratégie, EventBridgeutilisez-la avec Amazon Simple Queue Service (Amazon SQS) et Lambda pour les modèles de réponse différée (par exemple, synthèse asynchrone).
-
Utilisez les balises de répartition des coûts Amazon Bedrock : les balises permettent une visibilité en fonction de l'application et de l'équipe. Pour mettre en œuvre cette stratégie, appliquez des balises standardisées aux appels Amazon Bedrock (par exemple,
Project=MarketingAIetTeam=GenOps). -
Ajustez la logique des nouvelles tentatives et de la confiance : les nouvelles tentatives inutiles ou les chaînes de repli font grimper les coûts. Pour mettre en œuvre cette stratégie, utilisez des seuils de confiance structurés et des sorties anticipées pour limiter les nouvelles tentatives.
-
Utiliser la mise en cache pour les appels d'outils : de nombreux appels d'outils d'agent répètent des récupérations de données. Pour mettre en œuvre cette stratégie, stockez les résultats récents de l'outil dans Amazon DynamoDB avec durée de vie (TTL) et réutilisez-les s'ils ne sont pas modifiés.
-
Tirez parti de la simultanéité réservée ou provisionnée (si nécessaire) : dans les cas de volumes élevés, cette stratégie réduit le démarrage à froid et l'incertitude liée aux coûts. Mettez en œuvre cette stratégie en l'activant uniquement pour les fonctions dont le trafic est prévisible et les temps de préchauffage sont longs.
Exemple : assistant IA génératif conscient des coûts
Un assistant de support est créé à l'aide d'Amazon Bedrock Agents. Il utilise également des outils basés sur Lambda qui sont intégrés pour l'accès aux données en direct (par exemple, les commandes des utilisateurs et les politiques de retour). Enfin, il utilise une base de connaissances qui contient des documents sur les produits et FAQs des fichiers PDF relatifs aux politiques.
La fonction de l'assistant est la suivante :
-
Il reçoit des demandes en langage naturel par chat (frontend) via Amazon API Gateway.
-
Pour les questions simples telles que les recherches de politiques, il effectue les opérations suivantes :
-
Invoque un LLM léger (Amazon Nova Lite) pour formuler une réponse.
-
Extrait le contexte de base de la base de connaissances Amazon Bedrock.
-
-
Pour les requêtes plus complexes telles que la résolution en plusieurs étapes, il effectue les opérations suivantes :
-
Active un agent Amazon Bedrock avec une orchestration axée sur les objectifs.
-
Utilise des outils Lambda tels que
getOrderStats(userId)initiateReturn(orderId), et.lookupDeliveryOptions(zipCode)
-
-
La réponse est post-traitée pour effectuer les opérations suivantes :
-
Supprimez les sorties superflues.
-
Validez les messages conformes aux politiques.
-
Enregistrez les données d'interaction.
-
Les stratégies d'optimisation des coûts suivantes s'appliquent à cet exemple d'assistant AI :
-
Le routage par modèle hiérarchisé réduit les coûts en traitant les petites demandes avec un modèle plus petit. Cette approche utilise Amazon Nova Lite pour les demandes de type FAQ et Claude 3 Sonnet uniquement dans les 10 % des cas nécessitant un raisonnement ou plusieurs appels d'outils.
-
Le découpage rapide et le contrôle des gabarits garantissent une utilisation cohérente et prévisible en termes de coûts. Les invites sont limitées par des jetons et créées à partir de modèles structurés (par exemple, un maximum de 400 jetons avec contexte).
-
Le cadrage RAG contextuel évite d'injecter des documents en trop dans une invite LLM. La base de connaissances limite l'extraction aux catégories de produits ou aux domaines de politique pertinents en utilisant le filtrage des métadonnées.
-
La mise en cache des résultats des appels d'outils permet d'éviter les appels Lambda dupliqués lorsque les utilisateurs reformulent des phrases. Les résultats provenant de
getOrderStatusetlookupReturnWindowsont mis en cache dans DynamoDB avec un TTL de 10 minutes. -
Le modèle d'escalade basé sur la confiance équilibre la qualité de l'expérience avec le contrôle des coûts LLM. Si le niveau de confiance des réponses d'Amazon Nova Lite (tel que mesuré par les heuristiques de structure et de regex) est faible, optez pour Anthropic Claude ou optez pour une file d'escalade humaine.
-
Le validateur de réponse Lambda réduit les jetons de sortie inutiles d'environ 25 %. Cette approche élimine les complétions détaillées des modèles, formate les réponses en sorties concises et enregistre la taille des jetons.
-
Le balisage des coûts permet de FinOps générer des rapports par fonction et par environnement. Tous les appels Amazon Bedrock sont étiquetés avec
Application=SupportAssistantEnvironment=Production, etTeam=CustomerSuccess.
Cet exemple montre comment des choix architecturaux intelligents, tels que le routage hiérarchisé des modèles, la mise en cache, la récupération étendue et l'audit d'inférence, peuvent réduire les coûts opérationnels tout en fournissant une automatisation du support évolutive et de haute qualité. L'exemple d'assistant d'intelligence artificielle générative fournit un modèle réutilisable qui s'applique à des domaines tels que les assistants RH, les services d'assistance informatique, les robots d'intégration des partenaires ou les assistants de formation des clients. Dans chaque cas, le modèle peut aider à atteindre un équilibre entre rentabilité, confiance et évolutivité.
Surveillance et alertes pour l'optimisation des coûts
Les éléments suivants Services AWS permettent de surveiller et d'optimiser les coûts des charges de travail liées à l'IA sans serveur :
-
CloudWatchmetrics suit l'utilisation des jetons Amazon Bedrock, la durée des étapes Step Functions et le coût d'invocation Lambda.
-
AWS Budgetsalerte les équipes lorsque les seuils de coûts sont dépassés (par exemple, le coût quotidien des jetons).
-
AWS Cost Exploreret Cost Categories fournissent des informations sur les dépenses par application, par équipe ou par modèle.
-
Les journaux de l'API Amazon Bedrock (via CloudWatch) permettent d'analyser la structure des prompts et la taille des réponses.
-
Les journaux Amazon Athena et Amazon S3 prennent en charge les requêtes ponctuelles ou ad hoc sur les données d'utilisation exportées depuis AWS CloudTrail des journaux personnalisés.
Signaux d'avertissement concernant l'optimisation des coûts
Surveillez les signaux suivants pour identifier les problèmes potentiels d'optimisation des coûts :
-
Augmentation de l'utilisation des jetons : peut indiquer un changement rapide, une nouvelle version du modèle ou une récupération excessive de RAG.
-
Augmentation de la latence d'Amazon Bedrock : peut entraîner des durées Lambda plus longues et une augmentation du coût par inférence.
-
Augmentation du nombre d'appels d'outils par session d'agent : cela suggère une mauvaise utilisation de l'outil ou une logique d'invite inefficace.
-
Étapes Step Functions de longue durée : elles peuvent être le résultat d'états surdécomposés ou d'événements asynchrones bloqués.
-
Niveau de modèle sous-utilisé : indique le fait de payer pour une précision de premier niveau pour les demandes présentant un faible risque.
Résumé de l'optimisation des coûts
L'optimisation des coûts dans le système sans serveur piloté par l'IA ne consiste pas uniquement à minimiser les dépenses. Il s'agit d'aligner l'utilisation du calcul et des modèles sur la valeur commerciale de chaque décision. Avec les bonnes stratégies en place, les entreprises peuvent évoluer de manière responsable et en toute confiance, en équilibrant innovation et contrôle des coûts.
En combinant des stratégies de modèles à plusieurs niveaux, une discipline rapide et symbolique, un ajustement des flux de travail, ainsi que l'observabilité et le balisage, les entreprises peuvent tirer le meilleur parti de leurs investissements dans l'IA sans dépassement de budget.