À propos du projet
Reinfors est un framework d'apprentissage par renforcement qui exécute la simulation de jeu, la recherche arborescente, l'orchestration d'épisodes et l'assemblage de lots dans un backend Rust parallèle. La frontière entre le moteur Rust et l'utilisateur est un callback d'inférence : il reçoit des observations NumPy regroupées et renvoie les sorties du modèle, laissant l'architecture du réseau, le framework d'entraînement, l'optimiseur, le tampon de replay, le placement matériel et la topologie distribuée entièrement sous le contrôle de l'appelant.
La bibliothèque comprend un large catalogue de jeux couvrant des tâches mono- et multi-agents, à somme nulle, coopératives et à somme générale, avec prise en charge des décisions alternées ou simultanées, des événements de hasard explicites et des informations parfaites et imparfaites. Les algorithmes couvrent l'apprentissage de valeur piloté par politique, l'apprentissage guidé par recherche et les méthodes autonomes de résolution issues de la théorie des jeux.
L'installation se fait via pip avec pip install reinfors, avec des extras optionnels pour les adaptateurs Gymnasium/PettingZoo (reinfors[gym]) et des exemples d'entraînement PyTorch (reinfors[train]). Un exemple simple crée un moteur Connect4 et collecte des lots d'entraînement en fournissant une fonction d'inférence.
Les benchmarks montrent des gains de performance significatifs par rapport aux bibliothèques RL purement Python comme Gymnasium, avec des accélérations rapportées d'environ 14 à 20x sur l'exécution d'environnements en mono-thread. Reinfors vise également un équilibre pratique entre performance de simulation native et modularité pour une large expérimentation sur les jeux, algorithmes, réseaux et configurations de déploiement.
Le projet est antérieur à la version 1.0, ce qui signifie que les API, comportements et formats sérialisés peuvent changer entre les versions 0.x sans avertissement de dépréciation. Il est conseillé aux utilisateurs d'épingler des versions exactes et de consulter les notes de version lors de la mise à niveau. Il est sous double licence MIT et Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.