Comment utiliser Modal : utilisez le décorateur Python pour exécuter des fonctions sur le cloud en un seul clic
Modal est une plate-forme cloud GPU sans serveur pilotée par des décorateurs Python. Les développeurs n'ont qu'à ajouter des décorateurs tels que @app.function(gpu="A100") aux fonctions Python pour exécuter du code local sur les GPU cloud en un seul clic.
Modal est un outil qui se concentre sur les scénarios de formation de modèles d'IA. Il utilise un décorateur Python pour exécuter des fonctions sur les GPU cloud en un seul clic et est une plate-forme AI/ML sans serveur facturée à la seconde. Cet article est basé sur la documentation officielle du produit, triant ses capacités et ses méthodes d'utilisation appropriées.
Signaux du marché
Modal a acquis une grande réputation parmi les communautés de scientifiques de données Python et d'ingénieurs ML, et est particulièrement favorisé par les ingénieurs de données et les chercheurs en IA qui ont une formation Python mais ne sont pas bons en DevOps/Kubernetes. De nombreux blogs technologiques largement diffusés ont classé Modal comme « la meilleure expérience de déploiement de code d'IA », et sa conception élégante de la syntaxe du décorateur a été hautement reconnue par la communauté Python. En termes d'utilisateurs d'entreprise, Modal a été utilisé par plusieurs sociétés d'IA bien connues pour les pipelines d'inférence par lots et de traitement de données dans les environnements de production. La réputation technique d'Erik Bernhardsson (auteur du framework Luigi et ancien responsable de l'infrastructure de données chez Spotify) a valu à Modal de nombreuses approbations de confiance de la part de la communauté de l'ingénierie des données, établissant ainsi une bonne connaissance du marché dans les scénarios de charge de travail d'IA à forte intensité de données.
Capacités du produit
- API Python Decorator (@app.function) : La fonction principale consiste à ajouter le décorateur
@app.function(gpu="A100")à n'importe quelle fonction Python. La fonction est exécutée sur le GPU cloud et prend en charge la spécification de paramètres tels que le type de GPU, le CPU/mémoire, le délai d'attente et la concurrence. La syntaxe est extrêmement simple et intuitive. - Exécution parallèle massive (.map()) : En appliquant une fonction en parallèle à une grande quantité de données d'entrée avec une seule ligne de code
f.map(inputs), Modal lance automatiquement le nombre requis de conteneurs pour le traitement parallèle, idéal pour le traitement d'images par lots, l'inférence par lots et les tâches de transformation de données à grande échelle. - Web Endpoints (@web_endpoint) : ajoutez le décorateur
@app.function().web_endpoint()à une fonction pour la publier en tant que point de terminaison d'API HTTPS hébergé, gérant automatiquement SSL, l'équilibrage de charge et la mise à l'échelle sans configurer de framework Web ou de proxy inverse. - Définition de l'image du conteneur (Image) : Définissez les dépendances du conteneur de manière déclarative dans le code Python (
image = modal.Image.debian_slim().pip_install(...)). Modal crée et met automatiquement en cache les images Docker, et les développeurs n'ont pas besoin d'écrire des fichiers Docker ou de pousser manuellement les images. - Tâches planifiées (@app.function(schedule=...)) : Ajoutez des paramètres de planification cron ou périodique à la fonction, et Modal déclenche automatiquement l'exécution à temps. Il convient aux tâches périodiques telles que le traitement planifié des données, l'évaluation des modèles et la génération de rapports. Il n'est pas nécessaire de configurer une infrastructure de planification indépendante.
- Stockage persistant de volume modal : un volume de stockage persistant entre les appels de fonction, utilisé pour stocker de grands poids de modèle et des ensembles de données, évitant de retélécharger à chaque démarrage à froid, prenant en charge le partage de données entre les fonctions modales et est essentiel au flux de travail des grands modèles d'IA.
Jugement en une phrase : Si votre flux de travail est effectivement bloqué dans les liens ci-dessus, Modal vaut la peine d'être inscrit en premier sur la liste des candidats pour une vérification à petite échelle ; sinon, il n'est pas nécessaire de l'introduire pour des raisons de fonctionnalité.
Avis