À propos du projet

TorchRL est une bibliothèque PyTorch modulaire, primitive-first et Python-first pour l'apprentissage par renforcement. Elle fournit des blocs de construction composables pour les systèmes RL plutôt qu'une implémentation unique d'algorithme, en gardant le code proche du modèle de programmation PyTorch. La bibliothèque est organisée autour de TensorDict, un conteneur de tenseurs de type dictionnaire qui préserve les champs nommés, la structure, les dimensions de lot et les appareils tout au long de la boucle d'entraînement. Les composants clés incluent les environnements et les transformations (avec des wrappers pour Gymnasium, DM Control, Brax, PettingZoo, VMAS, Isaac Lab, et autres), des collecteurs pour l'exécution monoprocessus, asynchrone, multiprocessus et distribuée, des tampons de rejeu avec stockage priorisé et sauvegardé par memmap, des modules de politique avec des clés d'entrée/sortie explicites, et des modules de perte couvrant PPO, SAC, DQN, TD3, REDQ, IQL, CQL, Decision Transformer, Dreamer, MAPPO, IPPO, QMIX/VDN, et plus encore. La bibliothèque prend également en charge les workflows multi-agents, basés sur des modèles, d'apprentissage par imitation et de post-entraînement de LLM, y compris les objectifs GRPO et SFT. TorchRL 0.13 ajoute des chemins RL récurrents plus rapides avec les backends Triton et scan, des environnements MuJoCo personnalisés, des utilitaires de normalisation de valeur multi-agents, des tampons de rejeu HER, et une ergonomie améliorée des collecteurs et des tampons de rejeu. L'installation est disponible via PyPI avec des extras optionnels pour Gymnasium, Atari, les données hors ligne, les environnements multi-agents et les backends LLM.