I. Informations de base
Modal est une plateforme de calcul sans serveur pour les équipes d'IA et de données. Elle prend en charge l'exécution de tâches gourmandes en ressources CPU et GPU dans le cloud, avec une facturation à la seconde. La plateforme définit les applications, les fonctions, les images de conteneurs et le matériel requis via un SDK Python, et planifie automatiquement les ressources élastiques et s'adapte à la demande. Elle couvre des scénarios tels que l'inférence de modèles, le réglage fin et l'entraînement, le traitement par lots et les tâches de données. Modal privilégie le « code comme configuration », permettant aux développeurs de déclarer les dépendances, les images et les ressources montées sans écrire de fichiers de configuration supplémentaires.
II. Présentation du produit
Modal utilise le modèle Function as a Service (FPS) comme abstraction principale. Les développeurs utilisent des décorateurs pour héberger des fonctions Python locales en tant que services accessibles à distance, en déclarant leurs images de conteneur, les types de GPU et les limites de concurrence. La plateforme offre des points d'entrée pour des charges de travail telles que l'inférence, l'entraînement, le traitement par lots, les notebooks et le sandboxing, formant ainsi un parcours intégré du développement à la production grâce à la combinaison du stockage distribué et de l'injection sécurisée d'identifiants. Parmi les cas d'utilisation typiques, on peut citer le déploiement de points de terminaison d'inférence en ligne pour des modèles personnalisés, l'optimisation rapide avec des clusters multi-machines et multi-GPU, ou encore la génération par lots d'images et de texte en haute concurrence.
III. Fonctions principales
1. Fonctions principales
Inférence de modèles et services en ligne. Les points de terminaison HTTP sont exposés sous forme de fonctions ou de classes, s'adaptant automatiquement en fonction du volume de requêtes pour garantir des services d'inférence à faible latence.
Entraînement et optimisation. Déclarez la taille requise du GPU et du nœud, lancez une tâche sur une seule machine ou sur plusieurs nœuds, et prenez en charge la reprise de l'entraînement après un point d'arrêt et la visualisation des journaux.
Traitement par lots et tâches planifiées. Exécutez des calculs hors ligne à grande échelle sous forme de traitements par lots ou de tâches planifiées, avec une facturation à la seconde pour éviter les temps d'inactivité prolongés.
Notebooks et environnements de test. Les notebooks collaboratifs et les environnements de test éphémères facilitent le débogage de code tiers ou non fiable.
Gestion des fichiers et des données. Les volumes distribués permettent d'écrire une seule fois les poids du modèle et les ensembles de données, puis de les lire à partir de plusieurs emplacements, en s'adaptant à la distribution de l'inférence.
2. Caractéristiques techniques
Mise en miroir des images. Une API chaînée définit l'environnement d'exécution et les dépendances au sein du code, qui peuvent ensuite être réutilisés dans différentes fonctions après la compilation, réduisant ainsi la dérive de l'environnement.
Volumes. Fournit un système de fichiers distribué haute performance adapté aux scénarios à forte activité de lecture et faible activité d'écriture, avec une sortie pondérée et des lectures à grande échelle.
Gestion des secrets. Injectez en toute sécurité les identifiants et les clés dans les conteneurs, gérez-les de manière uniforme dans un tableau de bord ou un SDK et réduisez le risque de fuite.
API et SDK. Fournit une interface de référence Python complète, couvrant des fonctionnalités telles que les applications, les fonctions, les images, les volumes, les clés et le contrôle de la concurrence.
Planification élastique. La planification des conteneurs et des GPU développée en interne accélère le démarrage des instances, prenant en charge le démarrage de second niveau et l'expansion simultanée à grande échelle.
IV. Tarification et versions
Modal utilise un modèle de tarification par abonnement. Parmi les options courantes, on trouve une formule d'entrée de gamme sans restriction et des formules payantes pour les équipes. Les ressources de calcul sont facturées à la seconde et les GPU sont tarifés selon leur modèle. La plateforme propose un modèle de coûts différent de la facturation traditionnelle par instance fixe, réduisant ainsi les coûts liés à l'inactivité grâce à une mise à l'échelle élastique en cas de variations de charge soudaines et imprévisibles. Les tarifs, les limites de simultanéité et les avantages associés sont susceptibles d'évoluer et de faire l'objet de promotions ; veuillez consulter le site web officiel pour obtenir les informations les plus récentes.
V. Scénarios applicables et public cible
Modal est idéal pour l'inférence en ligne de modèles personnalisés, la génération par lots d'AIGC, l'ajustement et l'entraînement multi-machines, le nettoyage des données et l'ingénierie des caractéristiques, l'évaluation et les tests A/B, ainsi que les démonstrations lors de formations et d'ateliers. Il s'adresse aux ingénieurs en apprentissage automatique, aux équipes backend et plateforme, aux chercheurs et enseignants, aux startups et PME, notamment pour les applications et services d'IA nécessitant un déploiement rapide, une mise à l'échelle flexible et une facturation précise.
VI. Foire aux questions
Q : Comment Modal gère-t-il son environnement d'exécution et ses dépendances ?
A : Définissez l'image de base et les packages de dépendances dans le code à l'aide d'images, et liez-les aux fonctions après la compilation afin d'éviter les incohérences entre plusieurs environnements.
Q : Comment utiliser en toute sécurité des clés API tierces sur Modal ?
A : Utilisez Secrets pour gérer et injecter de manière centralisée les clés dans les variables d'environnement du conteneur, éliminant ainsi le besoin d'écrire les clés dans le code ou les référentiels.
Q : Comment accélérer la répartition du poids dans les grands modèles ?
A : Écrivez les poids dans des volumes et partagez-les entre les répliques d'inférence selon le principe « écrire une fois, lire plusieurs fois », réduisant ainsi la surcharge réseau et d'E/S.
Q : Prend-il en charge les calculs planifiés et par lots ?
A : Prend en charge l'exécution de tâches hors ligne à grande échelle en traitement par lots et de tâches planifiées, facturées à la seconde, et les ressources sont libérées une fois la tâche terminée.
Q : Quels sont les principaux avantages de Modal en termes de coûts par rapport au cloud computing traditionnel ?
A : En cas de charges fluctuantes ou soudaines, réduire le coût des instances inactives grâce à une mise à l'échelle automatique et une facturation de second niveau ; pour les charges stables, il est nécessaire d'évaluer en fonction de la courbe de charge propre à chaque utilisateur.