Message IA de ME. Les équipes de data science passent souvent d’un outil à l’autre pour accéder à des données gouvernées, faire de l’analyse R, développer des modèles Python, les déployer, développer des applications et produire des rapports. Positron, l’environnement de développement intégré (IDE) de Posit pour la data science, s’exécute désormais sur Amazon SageMaker AI. Pour un data scientist, exécuter Positron sur SageMaker AI signifie : Accès aux données sans gérer d’identifiants. Positron s’exécute sous le rôle d’exécution de Space : vous interrogez Amazon Athena, le AWS Glue Data Catalog et Amazon Simple Storage Service (Amazon S3) directement depuis l’IDE. L’accès suit les autorisations du rôle, sans clés à stocker ni faire tourner. Le calcul est disponible quand vous en avez besoin. Vous lancez un Space avec la taille d’instance dont vous avez besoin, et les équipes peuvent réserver de la capacité avec les plans de training de SageMaker AI afin que le calcul soit disponible pour les entraînements planifiés. Une assistance IA qui reste dans votre compte. Posit Assistant, l’assistant IA d’aide au codage de Posit, peut utiliser Amazon Bedrock comme fournisseur de modèles ; ainsi, l’aide IA s’exécute sur des modèles dans votre propre compte AWS et dans la région AWS. De l’espace pour travailler en parallèle et ensemble. Vous pouvez lancer plusieurs Spaces en même temps pour des projets indépendants, et utiliser un Space partagé pour que plusieurs personnes collaborent dans la même application Positron. Posit publie une définition d’image conteneur pour Positron, construite à partir de l’image Amazon SageMaker Distribution. Les administrateurs de plateforme construisent cette image, la publient dans leur propre dépôt Amazon Elastic Container Registry (Amazon ECR), l’enregistrent avec SageMaker AI et l’attachent à un domaine Studio. Les data scientists choisissent ensuite Positron lors de la création d’un Space et ouvrent l’IDE directement dans Studio. Cet article montre comment un data scientist découvre Positron dans SageMaker AI, depuis l’exploration d’une table Amazon Athena jusqu’au déploiement d’un endpoint temps réel. Figure 1. Environnement de développement intégré (IDE) Positron sur Amazon SageMaker Studio. Vue d’ensemble de la solution Cette procédure pas à pas utilise un portefeuille de prêts synthétique de 50 000. Amazon S3 stocke les données source, et le AWS Glue Data Catalog les enregistre. Amazon Athena interroge les données, R valide les caractéristiques et Python entraîne un classifieur XGBoost. Shiny pour Python invoque l’endpoint, et Quarto enregistre le flux de travail. Les captures d’écran et les métriques proviennent de l’exécution capturée. Les données ne représentent pas un système de prêt de production. Prérequis Pour suivre cette procédure pas à pas, une organisation a besoin de : Une attribution de licence Posit et l’accès à la définition d’image Positron publiée par Posit. Des autorisations d’administrateur pour gérer Amazon ECR et configurer des images personnalisées pour le domaine Amazon SageMaker Studio. Un rôle d’exécution de Space avec accès à Amazon Athena et au AWS Glue Data Catalog. Un emplacement source Amazon S3 et un emplacement configuré pour les résultats des requêtes Athena. Un accès aux modèles Amazon Bedrock dans la même région AWS que le domaine Studio lors de l’utilisation de Posit Assistant, l’assistant IA d’aide au codage de Posit. Une instance ml.t3.xlarge ou supérieure pour l’environnement démontré. Figure 2. Un projet connecte des données AWS gouvernées, l’analyse R et Python, le serving managé, une application et un rapport reproductible. Étape 1 : Positron dans un Space SageMaker Studio L’exécution a commencé avec Positron dans un Space SageMaker Studio. L’explorateur de projet, l’éditeur, les sessions R et Python, le panneau Variables, les graphiques, le terminal et l’aperçu de l’application étaient disponibles dans un seul environnement basé sur le navigateur sur du calcul SageMaker sous le rôle d’exécution de Space. Figure 3. Un Space JupyterLab configuré pour exécuter l’image personnalisée Positron. Étape 2 : Découverte de données gouvernées avec Posit Assistant Depuis le même Space, Posit Assistant a identifié credit_risk_blog.loan_tape_source dans le AWS Glue Data Catalog et a préparé une requête Amazon Athena en lecture seule. La requête a renvoyé cinq lignes d’exemple sur six champs, a scanné 2,18 Mio et s’est terminée en moins d’une seconde. Figure 4. Posit Assistant utilisant l’environnement Athena configuré pour inspecter la source gouvernée. 2.1 : Utilisation du token et du cache Amazon Bedrock Posit Assistant peut utiliser Amazon Bedrock comme fournisseur de modèles avec des identifiants AWS et une région AWS configurée. Aucune clé séparée d’API de fournisseur de modèles n’est requise lorsque l’authentification Amazon Bedrock se résout via les identifiants AWS de l’environnement. Le contenu client est chiffré, n’est pas utilisé pour améliorer les modèles de base et n’est pas partagé avec les fournisseurs de modèles (voir la protection des données dans Amazon Bedrock). Une connectivité privée peut être configurée avec AWS PrivateLink. La vue Session information capturée a enregistré 6 657 942 tokens, dont 6 118 411 cache-read et 462 905 cache-write, pour un coût estimé de 6,319 $ et une efficacité de cache de 92,5 %, comme indiqué dans la figure suivante. Ces valeurs décrivent cette session et l’estimation de l’Assistant. Elles ne constituent pas une facture AWS ni une référence générale de coûts. Le comportement du cache et la tarification dépendent du modèle et du fournisseur sélectionnés. Figure 5. Vue Session information pour la session Assistant enregistrée. Étape 3 : Profilage des données dans Amazon Athena Le workflow a utilisé une requête agrégée Athena pour examiner le nombre de lignes, l’unicité des identifiants, les valeurs manquantes, les plages numériques et la validité de la cible. Les résultats ont identifié 50 000 prêts, dont 1 500 enregistrements avec un revenu manquant et 1 015 défauts, pour un taux de défaut global de 2,03 %. Figure 6. Le point de contrôle d’approbation avant l’exécution de la commande de profilage par Posit Assistant. Figure 7. Source de 50 000 lignes profilée avant le développement du modèle. Étape 4 : Exploration interactive des données dans R Le workflow a chargé la table de 50 000 lignes dans la session R active et l’a ouverte dans Data Explorer. R a créé des caractéristiques debt-to-income et log-income et a affiché la distribution debt-to-income dans le panneau Plots. En excluant les 1 500 enregistrements incomplets, il reste 48 500 prêts pour le modélage et la notation. Figure 8. Inspection des données source et validation des variables dérivées dans R. Étape 5 : Validation des caractéristiques et entraînement du modèle Python Les définitions de caractéristiques validées ont ensuite été transférées dans Python. Un classifieur XGBoost a été entraîné sur une matrice contenant 40 000 lignes et trois caractéristiques du modèle. L’évaluation mise de côté a produit un AUC de 0,834 et a montré un taux de défaut observé de 12,3 % dans le décile de risque le plus élevé. Figure 9. Évaluation du modèle avec un AUC de 0,834 (données mises de côté) et taux de défaut observé par décile de risque. Étape 6 : Déploiement managé avec SageMaker AI Le workflow a écrit les probabilités prédites et les déciles de risque pour 48 500 prêts en Parquet, puis a enregistré les résultats comme credit_risk_blog.scored_loans dans Athena. Il a ensuite créé un modèle SageMaker AI, une configuration d’endpoint et un endpoint temps réel. L’endpoint est passé à InService, et une invocation avec une charge utile de demandeur synthétique a réussi. Figure 10. L’endpoint temps réel SageMaker AI en service. Étape 7 : Inférence en direct avec une application Shiny pour Python Le projet a utilisé une application Shiny pour Python pour invoquer l’endpoint déployé. L’application a accepté des informations de demandeur synthétiques, a appliqué les définitions de caractéristiques utilisées pendant l’entraînement, et a affiché la probabilité de défaut renvoyée. Le code source et l’application en cours d’exécution sont restés dans le même projet Positron, qui s’exécute derrière le proxy de l’application Amazon SageMaker Studio et n’est accessible que par les utilisateurs authentifiés dans le Space. Elle invoque l’endpoint sous le rôle d’exécution du Space plutôt qu’avec n’importe quelle clé stockée, et le rôle est limité à sagemaker:InvokeEndpoint sur l’ARN de l’endpoint. Figure 11. Application Shiny pour Python invoquant l’endpoint SageMaker AI en direct. Étape 8 : Rapport reproductible avec Quarto L’exécution s’est conclue par un rapport Quarto reliant la source Athena, les constats de qualité des données, la validation R, le modèle Python, la sortie notée, l’endpoint SageMaker AI et l’application Shiny. Le rapport a été généré directement à partir du projet, en préservant les éléments de preuve et les résultats du flux de travail dans un seul document reproductible. Figure 12. Quarto préservant les éléments de preuve et les décisions du workflow. Architecture de déploiement Le déploiement comporte deux chemins : un chemin administrateur qui construit et enregistre l’image Positron personnalisée, et un chemin data science qui l’utilise pour analyser les données et déployer des modèles. Chemin administrateur Positron s’exécute comme une image personnalisée construite sur l’image Amazon SageMaker Distribution dans SageMaker AI. Un administrateur construit la définition d’image publiée par Posit, la publie dans un dépôt Amazon Elastic Container Registry (Amazon ECR) privé dans la région AWS du domaine Studio, enregistre une image SageMaker AI et sa version, crée une configuration d’image d’application JupyterLab, vérifie la licence, accorde au rôle d’exécution les autorisations requises, puis attache l’image au domaine. Posit publie la définition d’image, par exemple le Positron SageMaker Containerfile, qui s’appuie sur l’image de base SageMaker Distribution. Amazon Bedrock est optionnel et n’intervient que lorsqu’il est sélectionné comme fournisseur pour Posit Assistant. Les responsabilités restent séparées. Posit fournit l’image logicielle et l’assistance produit. Le client gère l’identité, les permissions, la licence, la mise en réseau, la journalisation, les mises à jour d’images et les services AWS approuvés. AWS opère les services cloud managés. Chemin data science Le data scientist lance JupyterLab dans un Space SageMaker Studio, ouvre Positron, puis utilise R, Python, Quarto, Posit Database Drivers et, en option, Posit Assistant pour interroger et analyser des données et déployer des modèles. Figure 13. Configuration administrateur et responsabilités du data scientist pour le Space Positron. Ce que l’exécution enregistrée a démontré Le workflow enregistré a démontré les capacités suivantes dans un seul Space Positron : Accès aux données gouverné. La découverte, l’échantillonnage et le profilage via Athena ont été exécutés depuis le Space configuré. Analyse multi-langages. R a validé les données et les caractéristiques avant que Python n’entraîne le modèle. Comportement mesuré du modèle. L’AUC mise de côté était de 0,834 et le décile de risque le plus élevé avait un taux de défaut observé de 12,3 %. Déploiement managé. Le workflow a enregistré 48 500 lignes notées dans Athena et a mis un endpoint temps réel en InService. Sorties connectées. L’application Shiny en direct et le rapport Quarto ont été produits à partir du même projet. Périmètre et limites Les données de l’ensemble et les charges utiles de demandeur étaient synthétiques. Le workflow n’a pas établi l’équité du modèle, ni son calibrage, ni l’adéquation au prêt, la latence de production, le comportement de charge, la surveillance ou la conformité réglementaire. Les résultats d’AUC et de déciles proviennent d’un seul découpage avec séparation, et les déciles inférieurs ne sont pas strictement monotones. Les captures d’écran documentent une seule exécution enregistrée et ne doivent pas être présentées comme une référence générale de performance ou de coût. L’adoption en production nécessite également de valider les conditions de l’aperçu Posit, l’attribution de licence et la version de l’image avec les régions AWS prises en charge et la disponibilité des modèles. Les équipes doivent aussi confirmer la conception réseau, les permissions au moindre privilège, la gestion des secrets, la journalisation, le patching des images et la responsabilité opérationnelle. Nettoyage Pour éviter des coûts continus, supprimez les ressources créées par cette procédure. Supprimez-les dans l’ordre suivant, car l’endpoint temps réel dépend à la fois de sa configuration d’endpoint et de son modèle : supprimez d’abord l’endpoint, puis la configuration d’endpoint, puis le modèle. Supprimez l’endpoint temps réel d’inférence. Dans la console SageMaker AI, accédez à Inference > Endpoints, sélectionnez votre endpoint, puis choisissez Delete. aws sagemaker delete-endpoint --endpoint-name Delete la configuration d’endpoint. Accédez à Inference > Endpoint configurations, sélectionnez votre configuration, puis choisissez Delete. aws sagemaker delete-endpoint-config --endpoint-config-name Delete le modèle. Accédez à Inference > Models, sélectionnez votre modèle, puis choisissez Delete. aws sagemaker delete-model --model-name Delete Supprimez les objets de sortie de la requête et supprimez la table Athena. Dans la console Amazon S3, ouvrez votre bucket, accédez au préfixe de sortie, sélectionnez les objets, puis choisissez Delete. aws s3 rm s3://amzn-s3-demo-bucket// --recursive Ensuite, dans l’éditeur de requêtes de la console Amazon Athena, exécutez : DROP TABLE IF EXISTS .; Supprimez la version de l’image Amazon ECR. Dans la console Amazon ECR, allez à Repositories, sélectionnez votre dépôt, sélectionnez la balise de l’image, puis choisissez Delete. aws ecr batch-delete-image --repository-name --image-ids imageTag= Supprimez l’enregistrement de l’image SageMaker AI. Dans la console SageMaker AI, allez à Admin configurations > Images, sélectionnez votre image, puis choisissez Delete. aws sagemaker delete-image --image-name Stop et supprimez les Spaces de test que vous n’utilisez pas. Sauvegardez tous les fichiers de projet dont vous avez besoin et vérifiez d’abord le comportement de conservation du stockage du Space. Dans SageMaker Studio, allez à Spaces, sélectionnez le Space, puis choisissez Stop. Ne supprimez le Space qu’après avoir sauvegardé ses fichiers. Conclusion Le workflow enregistré montre comment une image Positron personnalisée peut conserver l’accès aux données AWS gouverné, l’analyse R et Python, le déploiement de modèles, le développement d’applications et des rapports reproductibles dans un seul Space SageMaker Studio. La continuité est utile car les éléments de preuve, le code, le résultat de déploiement et l’artefact de communication restent connectés. L’utilisation en production dépend toutefois des contrôles de sécurité, de gouvernance, de validation et d’exploitation du client. Ressources associées Pour des informations complémentaires, voir : Guide de configuration Positron sur SageMaker Posit Assistant Exécuter des IDE interactifs sur Amazon EKS avec SageMaker AI pour activer vos flux de travail IA Documentation Amazon SageMaker Studio Guide d’utilisation Amazon ECR Image Docker Positron Guide d’utilisation d’AWS License Manager À propos des auteurs Abhishek Maligehalli Shivalingaiah Abhishek est architecte de solutions partenaires chez AWS, spécialisé dans la création d’applications d’IA générative. Animé par une profonde passion pour l’utilisation de frameworks d’IA agentique afin de résoudre des défis métier complexes, il met à profit près d’une décennie d’expertise dans le développement de solutions data et IA apportant une valeur tangible aux entreprises. En dehors de son travail, Abhishek est un artiste qui trouve du plaisir à créer des portraits de sa famille et de ses amis, exprimant sa créativité à travers divers médiums artistiques. SriAakash Mandavilli SriAakash est ingénieur logiciel au sein de l’équipe Amazon SageMaker AI, où il conçoit des produits et des expériences développeur sur Amazon SageMaker Studio. Il se concentre sur le développement de solutions qui simplifient et améliorent l’expérience de développement du machine learning pour les data scientists et les développeurs. En dehors du travail, SriAakash aime rester actif via la randonnée, le vélo et de longues marches. Arkaprava De Arkaprava est responsable du développement logiciel chez AWS sur l’équipe SageMaker AI. Il travaille chez Amazon depuis plus de 10 ans et s’emploie à améliorer l’expérience de l’IDE Amazon SageMaker Studio pour les développeurs machine learning. Arantza Rodriguez Arantza est cheffe produit technique senior pour Amazon SageMaker AI. Elle est passionnée par la construction de produits évolutifs qui résolvent de vrais problèmes clients. Chez AWS, elle se concentre sur l’expérience développeur de SageMaker AI Studio, aidant des data scientists de différents secteurs à construire, entraîner et déployer des modèles IA/ML. En dehors du travail, Arantza aime voyager, jouer au soccer et cuisiner. Sam McIntyre Sam est responsable du développement de partenaires senior, travaillant avec des ISV GenAI, afin de construire des partenariats stratégiques et des solutions innovantes pour les clients AWS. Avec plus de 12 ans d’expérience dans la technologie cloud et l’écosystème partenaires, Sam apporte une expertise approfondie dans AWS Marketplace et la collaboration avec des intégrateurs système de premier plan et des partenaires GenAI. (Source : ME)
