Machine Learning : PyTorch 1.11 apporte des services de recommandation dans le monde open source

La première version de PyTorch de l’année est sortie : La version 1.11 du framework d’apprentissage automatique open source met en œuvre 3300 commits. De nouvelles fonctions pour la vision par ordinateur, la génération de texte, les pipelines de données et bien plus encore sont à bord. La bibliothèque de domaines pour les services de recommandation TorchRec atteint la version bêta 0.1 quelques semaines seulement après sa première annonce.

La nouvelle version de PyTorch contient également des changements radicaux : Par exemple, dans l’API Python deepcopyappliquée à un tenseur, permet désormais de copier tous les attributs au lieu des seules propriétés du tenseur, et l’outil steps-dans l’argument torch.linspace et torch.logspace n’est plus facultatif.

PyTorch 1.11 met à jour la bibliothèque de domaine TorchRec à la version 0.1, qui est donc désormais en version bêta. La nouvelle bibliothèque pour les services de recommandation (Recommendation Systems, en abrégé RecSys) doit servir à créer des modèles de personnalisation de pointe dans l’écosystème open source de PyTorch et à permettre leur déploiement en production. Jusqu’à présent, selon l’équipe PyTorch, le développement de services de recommandation se fait principalement derrière les portes fermées de l’entreprise, bien qu’ils représentent une grande partie de l’intelligence artificielle (IA) en production.

TorchRec comprend des primitives de modélisation, un support d’inférence GPU et des modules courants pour les services de recommandation, notamment des modèles et des ensembles de données publiques. La version minimale de Python 3.7 doit être installée. En outre, l’installation de CUDA à partir de la version 11.0 est fortement recommandée pour des raisons de performance, mais elle n’est pas obligatoire.

Deux autres bibliothèques PyTorch sont passées en version bêta avec la version 1.11 : TorchData et functorch. Cette dernière est fortement inspirée de Google JAX, un système extensible pour la transformation de fonctions numériques, et devrait avoir un fonctionnement similaire. Leur vmap– et grad-doivent pouvoir être utilisés avec les modules PyTorch et PyTorch Autograd.

TorchData est une bibliothèque qui permet de créer facilement des pipelines de données flexibles et performants à l’aide de primitives de chargement de données modulaires courantes. Pour ce faire, elle doit mettre à disposition des modules appelés DataPipes, qui peuvent être utilisés dans DataLoader. Ces derniers doivent offrir des fonctions permettant de reproduire de nombreux jeux de données différents dans la bibliothèque de vision par ordinateur TorchVision et la bibliothèque de langage naturel TorchText. TorchData requiert la version 3.7 à 3.10 de Python. Vous trouverez de plus amples informations sur la bibliothèque dans le dépôt GitHub.

Lire aussi

Sur le blog PyTorch, à l’occasion de la sortie de la version 1.11, on trouve plus d’informations sur les bibliothèques de domaine comme TorchRec ainsi que sur les bibliothèques TorchData et functorch.