
Créer et gérer les données de formation programmatiques
L'équipe de plongée avec tuba concentre désormais ses efforts sur le flux de plongée avec tuba, une plate-forme de développement d'applications de l'IA de bout en bout basée sur les idées de base derrière de la plongée en tuba - vous pouvez le vérifier ici ou se joindre à nous pour le construire!
Le projet de plongée avec tuba a commencé à Stanford en 2015 avec un simple pari technique: qu'il serait de plus en plus les données de formation , pas les modèles, les algorithmes ou les infrastructures, qui ont décidé si un projet d'apprentissage automatique a réussi ou échoué. Compte tenu de cette prémisse, nous avons décidé d'explorer l'idée radicale que vous pourriez apporter la structure mathématique et les systèmes au processus désordonné et souvent entièrement manuel de formation de la création et de la gestion des données, en commençant par l'autonomisation des utilisateurs à étiqueter, construire et gérer les données de formation.
Dire que le projet de tuba a réussi et étendu au-delà de ce à quoi nous nous attendions serait un euphémisme. Les objectifs fondamentaux d'un dépôt de recherche comme la plongée avec tuba sont de fournir un cadre minimum viable pour les tests et la validation des hypothèses. Quatre ans plus tard, nous avons eu la chance de faire non seulement cela, mais de développer et de déployer les premières versions de tuba en partenariat avec certaines des principales organisations mondiales comme Google, Intel, Stanford Medicine et bien d'autres; Auteur de plus de soixante publications évaluées par des pairs sur nos résultats autour de la plongée et des innovations connexes dans la modélisation de supervision faible, l'augmentation des données, l'apprentissage multi-tâches, etc. être inclus dans les cours dans les universités de haut niveau; Soutenir les déploiements de production dans des systèmes que vous avez probablement utilisés au cours des dernières heures; et travailler avec une incroyable communauté de chercheurs et de praticiens de l'industrie, de la médecine, du gouvernement, du monde universitaire et au-delà.
Cependant, nous avons réalisé de plus en plus des conversations avec les utilisateurs dans les heures de bureau hebdomadaires, les ateliers, les discussions en ligne et les partenaires de l'industrie - que le projet de plongée en apnée n'a été que la toute première étape. Les idées derrière la plongée en tubage ne changent pas seulement sur la façon dont vous étiquetez les données de formation, mais une grande partie du cycle de vie et du pipeline de la construction, du déploiement et de la gestion de ML: comment les utilisateurs injectent leurs connaissances; comment les modèles sont construits, formés, inspectés, versés et surveillés; comment les pipelines entiers sont développés de manière itérative; Et comment l'ensemble complet des parties prenantes dans tout déploiement de ML, des experts en la matière aux ingénieurs ML, sont intégrés au processus.
Au cours de la dernière année, nous avons construit la plate-forme pour soutenir cette vision plus large: le flux de plongée avec tuba, une plate-forme d'apprentissage automatique de bout en bout pour développer et déployer des applications d'IA. Le flux de tuba intègre de nombreux concepts du projet de plongée avec une gamme de techniques plus récentes autour de la modélisation de supervision faible, de l'augmentation des données, de l'apprentissage multi-tâches, du tranchage et de la structuration, de la surveillance et de l'analyse, etc. est supérieur à la somme de ses parties - et que nous croyons rendre ML vraiment plus rapide, plus flexible et plus pratique que jamais.
À l'avenir, nous concentrerons nos efforts sur le flux de plongée avec tuba. Nous sommes extrêmement reconnaissants pour vous tous qui ont contribué au projet de tuba et nous sommes ravis de consulter notre prochain chapitre ici.
Le moyen le plus rapide de vous familiariser avec la bibliothèque de tuba est de parcourir la page de démarrage sur le site Web de tuba, suivi des didacticiels complets dans le référentiel de tutoriels de plongée. Ces tutoriels montrent une variété de tâches, de domaines, de techniques d'étiquetage et d'intégations qui peuvent servir de modèles que vous appliquez de la plongée avec tuba à vos propres applications.
La plongée nécessite un python 3.11 ou ultérieure. Pour installer de la plongée avec tuba, nous vous recommandons d'utiliser pip :
pip install snorkel ou conda :
conda install snorkel -c conda-forgePour plus d'informations sur l'installation à partir de Source et la contribution à la plongée, consultez nos directives contributives.
L'exemple de commandes suivant donne plus de couleur sur l'installation avec conda . Ces commandes supposent que votre installation conda est Python 3.11 et que vous souhaitez utiliser un environnement virtuel appelé snorkel-env .
# [OPTIONAL] Activate a virtual environment called "snorkel"
conda create --yes -n snorkel-env python=3.11
conda activate snorkel-env
# We specify PyTorch here to ensure compatibility, but it may not be necessary.
conda install pytorch==1.1.0 -c pytorch
conda install snorkel==0.9.0 -c conda-forgeSi vous utilisez Windows, nous vous recommandons fortement d'utiliser Docker (vous pouvez trouver un exemple dans notre récompense de tutoriels) ou le sous-système Linux. Nous avons effectué des tests limités sur Windows, donc si vous souhaitez apporter des instructions ou des améliorations, n'hésitez pas à ouvrir un RP!
Nous utilisons des problèmes GitHub pour publier des bogues et des demandes de fonctionnalités - tout ce qui est lié au code. Assurez-vous d'abord de rechercher des problèmes connexes et d'utiliser nos modèles de problèmes. Nous pouvons demander des contributions si un correctif rapide ne correspond pas à la feuille de route immédiate de l'équipe de développement de base.
Nous accueillons les contributions de la communauté de plongée! C'est probablement le moyen le plus rapide d'obtenir un changement que vous aimeriez voir dans la bibliothèque.
De petites contributions peuvent être effectuées directement dans une demande de traction (PR). Si vous souhaitez contribuer une fonctionnalité plus large, nous recommandons d'abord de créer un problème avec une conception proposée pour la discussion. Pour des idées sur ce à quoi travailler, nous avons étiqueté des problèmes spécifiques comme help wanted .
Pour mettre en place un environnement de développement pour contribuer à la plongée, voir nos directives contributives. Tous les PR doivent réussir les tests d'intégration continue et recevoir l'approbation d'un membre de l'équipe de développement de tuba avant qu'ils ne soient fusionnés.
Pour des questions et réponses plus larges, des discussions sur l'utilisation de la plongée en apnée, des demandes de didacticiel, etc., utilisez le forum communautaire avec tuba organisé sur Spectrum. Nous espérons que ce sera un lieu pour vous d'interagir avec d'autres utilisateurs de tuba - n'hésitez pas à publier!
Pour rester à jour sur les annonces liées à la plongée avec tuba (par exemple, les versions de la version, les ateliers à venir), abonnez-vous à la liste de diffusion avec tuba. Nous promettons de respecter vos boîtes de réception - la communication sera clairsemée!
Suivez-nous sur Twitter @snorkelai.