Cette année, la grand-messe annuelle de Facebook, le F8, est retournée à ses origines et était centrée sur les développeurs, plus que les produits de l’entreprise. Si la part belle a été faite aux messageries sur Instagram et WhatsApp, Facebook n’a pas oublié qu’elle était une entreprise d’intelligence artificielle. Ainsi, elle a annoncé la migration de l’ensemble de ses systèmes sur PyTorch, une bibliothèque logicielle open source qu’elle a créé.

Cette bibliothèque, ou framework, a très vite été adoptée en interne, si bien qu’aujourd’hui, une grande partie des modèles créés chez Facebook le sont avec PyTorch. “Nous avons souvent l'habitude de dire que le processus est terminé à 1%, dans ce cas-ci, il l'est à 93%” explique Lin Qiao, directrice de l'ingénierie chez Facebook à quelques médias internationaux, dont Siècle Digital. “Nous sommes donc très proches de la ligne d'arrivée.”

La création de PyTorch motivée pas un grand vide

Cependant, le chemin parcouru fut long. En 2016, Facebook constate des problématiques de standardisation au sein du secteur de l’intelligence artificielle, et donc en interne également. D’un côté, ses chercheurs exploitent des frameworks qui correspondent le mieux à leurs besoins, et de l’autre, les ingénieurs font de même. À la fin, le passage d’un système d’IA du stade de recherche à son intégration dans Facebook prend trop de temps. “Il y a une tension naturelle entre la recherche qui est toujours orientée vers les percées et la rupture du paradigme actuel, et la production qui tend à optimiser ce qu’elle peut,” précise Lin Qiao. Une équipe de Facebook part alors en quête d’une solution permettant de répondre aussi bien aux besoins des chercheurs que des ingénieurs.

Plusieurs frameworks existaient déjà, notamment Theano ou Torch, de même que Lua Torch, Chainer, ou encore HIPS Autograd. Après plusieurs mois de recherches et d’échanges avec des communautés du milieu, PyTorch voit le jour et progresse jusqu’à sa présentation officielle en 2018. Facebook dévoile un outil open source, offrant aux entreprises et aux chercheurs la même flexibilité. En interne, les ingénieurs y ont ajouté outils, bibliothèques, modèles pré-entraînés, et assortiment de données. Encore aujourd’hui, PyTorch continue d’évoluer, d’améliorer les produits du réseau social, et de conquérir une communauté toujours plus grande. “Beaucoup de personnes, de Tesla à John Deere, utilisent PyTorch dans le monde. Et je pense qu'ils font cela parce qu'ils savent que s'ils en ont besoin, ils peuvent contribuer et guider la direction de PyTorch, parce que c'est un projet communautaire. Et je pense que c'est une caractéristique importante pour aller de l'avant,” ajoute Mike Schroepfer, directeur des technologies (CTO) de Facebook.

L’entreprise peut se targuer d’avoir conquis bien des chercheurs tout en répondant au besoin de flexibilité et d’efficacité des entreprises. Rapprochant ingénieurs et développeurs, PyTorch semble offrir des capacités industrielles au développement de l’intelligence artificielle. OpenAI, connue pour son modèle GPT-3 a fait le choix de PyTorch dès 2020, au détriment de son concurrent principal, TensorFlow de Google. Les géants du cloud ont même adapté leurs offres pour proposer à leurs clients un environnement adapté à Pytorch, et ainsi ne pas les voir partir pour la concurrence.

“L'une des raisons pour lesquelles PyTorch fonctionne si bien c'est Python. Il s'intègre donc à la communauté Python. Tout ce qui est en Python est très facile à exploiter. S'il y a une nouvelle librairie, elle est intégrée et vous n'avez pas à la traiter comme une chose à part. PyTorch est construit sur Torch, qui était à l'origine écrit en Lua, qui était un langage de programmation différent. Torch avait une très bonne API, une super interface de programmation, mais il y avait beaucoup de bibliothèques géniales sur Python que les gens voulaient incorporer. Et donc le processus de passage à Python a été transformateur. Ceci étant dit, vous savez, nous sommes en quelque sorte en train de standardiser PyTorch comme notre outil de choix au sein de Facebook. Mais nos équipes de recherche gardent beaucoup de liberté pour expérimenter des choses, et elles expérimentent toujours de nouvelles technologies” complète le CTO de Facebook.

Plus qu'un framework : une norme

Au sein de Facebook, la flexibilité de PyTorch lui permet de répondre aussi bien aux projets de création de modèles pour le classement des contenus et recommander des vidéos aux utilisateurs, que pour la vision par ordinateur et appliquer des filtres sur leurs visages, le traitement du langage naturel pour identifier les cas de cyberharcèlement, ou encore la traduction en créant automatiquement des sous-titres dans la langue de l’utilisateur.. Un sujet d’autant plus critique et complexe pour les différents réseaux sociaux du groupe étant la modération de la désinformation ainsi que les contenus inappropriés. L’IA se doit d’être une alliée fiable et performante. “Le traitement du contenu est-il un exercice de rapidité pour commencer ? C'est vraiment la clé ici, où PyTorch est essentiel, et comment il peut permettre d'influencer la technologie sous-jacente pour être plus efficace et attraper les choses à grande échelle” détaille Cornelia Carapcea, responsable des produits d’intelligence artificielle de Facebook.

Chaque jour, dans l’application mobile de Facebook, plus de 4 000 IA fonctionnent sous PyTorch. Ce framework permet à 775 millions d’expériences de fonctionner sur mobile. Plus largement, d’autres canaux sont à prendre en compte lorsqu’on parle de Facebook, comme Oculus, Portal, Instagram, Messenger, de même que leurs plateformes respectives que sont iOS, Android...

Par sa malléabilité, PyTorch est donc devenu un standard pour 93% des systèmes. Pour les 7% restant, la migration est demandée, et les développeurs devront passer par plusieurs étapes. Il s’agira notamment d’étudier le fonctionnement du système en ligne et hors ligne. L’entraîner avec ce nouveau langage, voire recommencer depuis le début, l’évaluer, puis enfin le publier.

Puisque Facebook est si avancé dans cette migration, cet élément n’est pas celui qui devrait retenir l’attention de la communauté. Plutôt le fait que PyTorch, pour ses nombreux arguments, devient le moteur de l’intelligence artificielle de l’entreprise. “Nos ingénieurs peuvent déployer de nouveaux modèles en quelques minutes plutôt que plusieurs semaines” vante Mike Schroepfer. “C'est comme un énorme accélérateur pour tout ce que nous devons faire.”

Et des choses à faire avec l’intelligence artificielle au sein du groupe Facebook, il y en a, et il continuera d’y en avoir. L’entreprise anticipe déjà la fin du smartphone, au profit de lunettes en réalité augmentée, avec une interface contrôlée depuis notre poignet.