Apprentissage automatique

This page is a translated version of the page Machine Learning and the translation is 87% complete.

Bienvenue sur la page d'accueil de l'équipe Apprentissage Automatique (ML - Machine Learning team) de la Fondation Wikimedia.

Notre équipe supervise le développement et la gestion des modèles d'apprentissage automatique pour les utilisateurs finaux, ainsi que l'infrastructure nécessaire à la conception, à la formation et au déploiement de ces modèles.

Projets actuels

For archived projects, see this list.

Contactez-nous

Vous avez une question, ou vous souhaitez discuter avec l'équipe ou notre communauté de bénévoles à propos de l'apprentissage automatique ? Voici les meilleures façons de nous rejoindre.

Discussion d'équipe

Discutez de l'apprentissage automatique et voyez l'équipe travailler en rejoignant notre canal de discussion public IRC #wikimedia-ml connecter sur irc.libera.chat.

Conseil du travail actif

Vous avez une tâche particulière à discuter ou sur laquelle vous voulez travailler, rejoignez notre groupe public Phabricator . Voir notre tableau de bord

Quoi de neuf ?

    • Nous continuons d'intégrer le modèle du pays de l'article dans Liftwing. Le modèle du pays de l'article prédit pour quels pays un modèle particulier sera applicable, et c'est une extension du modèle du sujet de l'article que nous utilisons depuis des années.
    • We're trying different approaches to build vllm (a high-throughput and memory-efficient system designed for serving large language models) and ROCm (the code that allows the CPU to talk to AMD GPUs) with Ubuntu. This is part of the work of making production LLMs on Liftwing possible.
    • We're currently working on configuring the ML Lab servers. These are for model training.
    • Updated the rec-api image deployment model. Deployed the reference need model to production.
    • Following up on recurring issue reported by the Structured Content team: The MediaDetection API can access the logo-detection endpoint via mwdebug1001.eqiad.wmnet and mwdebug2001.codfw.wmnet, but can't access it on k8s-mwdebug
    • Ajout de la documentation sur la détection du logo aux documents du portail de l'API.
    • Enquête sur des requêtes occasionnellement lentes à LiftWing lors de l'utilisation de certains modèles RevScoring
    • Continuation des travaux restants sur le modèle de risque d'annulation avant enregistrement. Ce modèle est conçu pour fournir une prédiction de vandalisme avant qu'une modification est sauvegardée sur Wikipedia (et qui n'a donc pas d'identifiant de révision)
    • Les travaux se poursuivent sur la mise à jour vers la 0.13
    • Initialisation des paramètres d'installation pour les hôtes de GPU dans eqiad
    • Nos excuses pour le retard dans les mises à jour.
    • Les travaux se poursuivent sur le modèle de détection du logo. Nous avons fait un exemple de serveur de modèles de détection de logos qui traite des objets d'image base64 au lieu d'URL d'images et l'a envoyé à l'équipe de Contenu structuré pour leurs commentaires.
    • Les travaux se poursuivent sur le serveur de modèle HuggingFace.
    • Corrections de bogues et améliorations générales.
    • Le travail continue sur le modèle de détection des logos. Les problèmes discutés cette semaine en équipe étaient de savoir si oui ou non l'image encodée devait être envoyée directement à LiftWing. En patallèle nous avons reçu l'URL de l'emplacement de l'image, ce qui permettrait ensuite à LiftWing d'y accéder ou de la télécharger. Ceci est important car cela conditionne la taille des données de REST, particulièrement avec les requêtes par lot.
    • Nous travaillons toujours sur le problème de la GPU du serveur de modèles HuggingFace (par exemple il ne reconnaîtra pas notre GPU AMD). Il y a plusieurs possibilités pour savoir pourquoi, mais nous voulons que ce problème soit résolu avant de finaliser notre commande pour cette année fiscale.
    • corrections de différents bogues et améliorations.
    • Notre grande refactorisation d'Istio est en cours (diapositives) ! Cette refactorisation nous permettra d'éliminer beaucoup de logique liée au réseau des conteneurs de modèles individuels. Par exemple, si actuellement il y avait un changement sur le point d'accès de 'discovery.wmnet' (point d'accès interne de la WMF pour les API), nous devrions mettre à jour des centaines de conteneurs de modèles individuels et les redéployer. Cette refactorisation supprime complètement ce besoin.
    • Nous avons déployé la pile de logiciels open source (ROCm) d'AMD à l'intérieur de chaque nœud k8s, mais nous soupçonnons que cela ait été inutile (et a causé des problèmes) parce que PyTorch a déjà une version de ROCm incluse dans la bibliothèque. Ce travail est priorisé parce que son achèvement est une exigence pour faire la grande commande de GPU que nous avons planifiée plus tard dans le trimestre.
    • Nous préparons une correction qui permet au serveur de modèle de détection de logos d'accéder aux URL externes en utilisant les points d'accès internes k8s. C'est une partie des changements que nous avons dû apporter pour déployer le modèle.
    • Nous continuons à tester l'image du serveur de modèles HuggingFace sur nos nœuds Lift Wing. Ce travail a été suspendu pendant une semaine pendant que l'ingénieur assistait au Hackathon de Wikipédia à Tallinn.
    • Le travail du cache pour Lift Wing a été suspendu jusqu'à la fin de la refactorisation de Istio.
    • Relecture et test de la grosse correction pour l'extension ORES. L'extension ORES fournit un moyen de voir la probabilité qu'une modification particulière soit annulée pour toutes les modifications sur la page des changements récents de nombreux wikis. Nouveau modèle de risque d'annulation dans l'extension afin que les bénévoles puissent utiliser ce nouveau modèle pour parer à un vandalisme potentiel.
    • Nous faisons encore quelques ajustements pour le traitement des images pour le modèle de détection du logo, en limitant spécifiquement le traitement des photos aux domaines de confiance qui hébergent les images des commentaires Wikimedia.
    • Nous avons une grande proposition de refactorisation en discussion (Istio est l'architecture de service pour k8s qui contrôle comment les microservices partagent les données entre eux). Mardi, l'équipe aura une réunion spéciale pour discuter de la réfactorisation proposée et décider de la voie à suivre. Je publierai les diapositives la semaine prochaine si les gens sont intéressés.
    • Le modèle de détection du logo va être déplacé vers l'espace de noms expérimental. Ce sera un moment où le modèle pourra être testé dans un environnement de production pour s'assurer qu'il a les performances attendues. Ce travail est coordonné de très près avec l'équipe de contenu structuré pour vérifier qu'il répond à ses besoins.
    • ML et le Airflow Pipeline Sprint de la recherche ont commencé cette semaine. Cet effort permet de voir comment utiliser les pipelines Airflow et le GPS sur le Hadoop Cluster existant, pour entraîner les modèles.
    • Les travaux se poursuivent sur les grappes Cassandra qui feront partie de la solution de mise en cache.
    • Les travaux se poursuivent sur l'image du serveur de modèles Hugging Face. C'est un effort sur lequel nous travaillons qui nous permettra d'héberger facilement de nombreux modèles disponibles de Hugging Face directement sur Lift Wing. C'est en fait un projet vraiment intéressant parce que c'est un moyen facile pour la communauté d'expérimenter les modèles qu'elle pourraient vouloir héberger sur Lift Wing et même proposer des modèles qu'elle souhaiterait avoir sur Lift Wing.
    • Nous travaillons avec l'équipe des opérations des centres de données sur l'achat de nouvelles machines avec les GPUs. L'état actuel est que nous travaillons avec le fournisseur sur un problème concernant la disponibilité d'une configuration de serveur particulière et examinons certaines alternatives.
    • Chris est en vacances. Pas de mise à jour cette semaine.
    • Grande victoire cette semaine, : notre correction de l'image Docker de HuggingFace a été relue et approuvée. Cette image Docker nous permet de déployer les modèles HuggingFace rapidement sous LiftWing, de sorte à accélérer l'avancement du processus de développement dans son ensemble.
    • Suite de l'intégration du prototype de détection de logos dans le serveur de modèles personnalisés KServe qui sera hébergé sous LiftWing
    • Le travail sur l'image GPU multilingue avec risque d'annulation assure que le modèle RRML est compatible avec torch 2.x (c'est à dire que les prédictions sont correctes avec un modèle entrainé avec la 1.13)
    • We are still working on the logo detection model for Wikimedia Commons. The current status is that we have confirmed with the product team working on the feature that the model is returning the expected outputs. The next step is to look at input validation and image size limits. The open question we are discussing with the product team is whether resizing of images should be done inside Lift Wing or prior to the image being sent to Lift Wing. Resizing is important because the logo detection model expects an image of a certain size.
    • Work / banging our heads continues on the pytorch base image. For those following along, we are working with Service Ops to make a reasonably sized docker image that contains pytorch and ROCm support. If the base image is too big it becomes a problem for our Docker registry and we are trying to be good stewards of that common resource. Turns out it is harder than we thought.
    • Il y a encore du travail avec le cache de Lift Wing. Nous travaillons toujours sur la façon dont nous voulons que Lift Wing (en particulier Istio de KServe) discute avec les serveurs Cassandra.
    • Une nouvelle version du modèle de risque d'annulation agnostique de la langue a été déployée pour la mise en réserve et passe actuellement les tests de charge.
    • Davantage de travail sur l'intégration du serveur de modèle HuggingFace avec Lift Wing. Une fois que nous aurons débloqué ça, nous pourrons déployer la plupart des modèles sur HuggingFace rapidement.
    • We stood up a Wikimedia community of practice for ML this week. The goal is to provide a space for all the folks around WMF that are working on the technical side of ML to share insights and learn together. Currently there are folks from a number of teams in the community of practice, including ML, Research, Content Translation, and others.
    • We are still waiting for our test GPUs (one server with two MI210s) to be installed in the data center. Once we test this configuration works well in our infrastructure (a few days of testing max) we can continue with the full order.
    • I am starting work on a white paper that surveys all the work Wikimedia'verse is doing around AI, this includes models WMF hosts, advocacy work done by WMF, work by volunteers, etc. If you know some people I should talk with, definitely reach out.
    • We are really pushing hard on getting caching deployed. The reason is that with caching, it means we can really take full advantage of the CPUs we have now by pre-caching predictions. The end result for users is that a prediction that might take 500ms would take a fraction of that time. The exact current status of the work is that our SRE is trying to get Lift Wing to speak to the Cassandra servers.
    • Nos tableaux de bord de SLO doivent être corrigés. Ils donnent des chiffres qui sont clairement incorrects. Notre équipe travaille avec les collaborateurs pour résoudre cela.
    • Work on the Logo Detection model continues. The request to host this model comes from the Structured Content team. The goal is to predict logos in Wikimedia Commons because logos account for a significant chunk of files that receive a deletion request.
    • Nous continuons à essayer de charger le serveur de modèles HuggingFace sur Lift Wing. Une fois terminé, cela offrira le potentiel de charger un modèle hébergé sur HuggingFace dans Lift Wing rapidement et facilement, en ouvrant une énorme et nouvelle bibliothèque de modèles utilisable par tous.
    • Nous travaillons sur le déploiement d'un modèle pour l'équipe du Contenu structuré qui détecte les téléversements d'images potentiellement protégées par le droit d'auteur sur Commons, en particulier les images avec logos. (T358676)
    • Nous continuons à travailler sur l'hébergement du serveur de modèles HuggingFace sur Lift Wing. Cela rendrait très simple le déploiement des modèles HuggingFace.
    • Nous avons déployé le cache Dragonfly sur Lift Wing pour aider avec les tailles d'images Docker.
    • Nos bases de données Cassandra pour un système de mise en cache est en production. Il reste encore du travail à faire, mais c'est un bon début.
    • Mises à jour générales et corrections de bogues.
    • Désolé pour le retard d'un jour des mises à jour, Chris (I) a assisté à la réunion de la stratégie à New York et écrit cette mise à jour depuis l'avion pendant son retour.
    • Un problème que nous avons est que le dépôt docker de WMF est configuré pour les images docker plus petites (~ 2 Go). Cependant, les images docker de l'équipe peuvent devenir assez grandes grâce au ROCm/Pytorch (~6-8 Go). Nous travaillons sur la façon de résoudre ce problème. Il existe un certain nombre de stratégies qui peuvent être utilisées, de l'optimisation des couches de l'image à la demande d'augmentation de la taille maximale de l'image docker.
    • Pour résoudre partiellement ce problème, nous avons installé Dragonfly, qui est une couche de pair à pair entre notre grappe Kubernetes et le dépôt docker WMF. Nous allons aussi travailler sur d'autres améliorations.
    • We are continue working on including HuggingFace's prebuilt model server into Lift Wing. This would mean we could quickly deploy any model on HuggingFace with all the optimizations HuggingFace provides. (T357986). This isn't done yet but it would be really nice to have.
    • Correction d'un bogue rapporté concernant le type de données incohérent pour les scores de qualité des articles sur ptwiki. L'erreur est due aux schémas mélangés des réponses retournées par ORES. (T358953)
    • Nous avons fait notre demande de matériel du serveur pour l'exercice fiscal à venir. La version courte est : les GPU.
    • GPU order is underway. We are in the process of ordering a series of servers to use for training and inference. Each server will have two MI210 AMD GPUs. Most will be reserved for model inference (specifically, larger models like LLMs), but we will use two servers (4 GPUs) to create a model training environment. This model training environment will start very small and scrappy but will hopefully grow into a place for automated retraining of models and the standardization of model training approaches. The next steps are a single server will on its way to our data center, once this is tested we will make the full order.
    • Work on caching for Lift Wing continues. We have in the process of making a large order of GPUs. However, to optimize our resource use, one of the best strategies we can do is conduct model inference using our existing CPUs. This is not always possible, for example cases when the set of possible model inputs is not finite. However, in cases where the possible inputs are finite we can cache the predictions for those inputs and then serve them to users rapidly with minimal compute used. This is a similar system to that which was originally used on ORES.
    • Les tests de Lift Wing continuent. Ils sont réalisés par un sous-traitant tiers et vérifient notre vulnérabilité aux attaques de codes malicieux.
    • L'équipe de la marque Wikimedia est venue proposer quelques suggestions pour le nom des outils d'apprentissage automatique et des modèles. Nous espérons que notre nommage est plus systématique et moins subjectif.
    • Chris a aidé à organiser et à mettre en place un événement à Bellagio (Italie) pour construire un agenda de recherche pour les chercheurs intéressés par Wikipedia. Cet agenda de recherche est disponible ici.