Bibliothèque / SDK
PrimeIntellect-ai/prime-rl avatar
PrimeIntellect-ai/prime-rl

prime-rl : apprentissage par renforcement asynchrone à grande échelle

Aperçu du projet : Formation Agentic RL à grande échelle. Il est conçu pour être facile à utiliser et piratable, tout en étant capable d'évoluer jusqu'à plus de 1 000 GPU.

2 051 étoiles430 forksPythonApache-2.0
GitHub

En bref

De quoi s’agit-il ?
Agentic RL Training at Scale. It is designed to be easy to use and hackable, yet capable of scaling to 1000+ GPUs.. Cette analyse examine les entrées, les sorties et les conditions documentées.
À qui s’adresse-t-il ?
prime-rl convient aux lecteurs dont le besoin correspond exactement aux fichiers, commandes et environnements décrits dans son README. Il convient moins à une équipe qui attend des garanties absentes du dépôt.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 18 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Apprentissage par renforcement asynchrone à l'échelle d'un cluster

prime-rl est un framework Python pour l'apprentissage par renforcement à grande échelle, destiné à l'entraînement d'agents. La README le présente d'emblée comme un système entièrement asynchrone, ce qui, selon le projet, permet un entraînement d'agents à haut débit et à grande échelle. Les objectifs annoncés sont l'entraînement de modèles MoE en complément d'un billion de paramètres sur plus de 1 000 GPU, avec FSDP2 pour l'entraînement et vLLM pour l'inférence, en incluant l'inférence FP8, la désagrégation P/D et le parallélisme expert et contextuel. Le framework s'intègre nativement aux environnements verifiers via l'Environments Hub, couvre les environnements SWE et agents, et prend en charge SFT, l'entraînement RL et les évaluations de bout en bout. Ces éléments sont des affirmations du projet ; la README ne présente aucun benchmark.

Familles de modèles avec code d'entraînement optimisé

L'entraîneur accepte directement les modèles ModelForCausalLM de Hugging Face et ceux personnalisés de Prime. Pour certaines familles MoE de grande taille, le dépôt fournit un code d'entraînement optimisé sous src/prime_rl/trainer/models/, ajoutant le parallélisme expert (EP) pour les couches MoE et le parallélisme contextuel (CP) pour les longues séquences, ainsi que des kernels supplémentaires issus de quack-kernels. Le tableau des familles couvre GLM-5, les MoE Qwen3 et Qwen3.5, les VLM Qwen3 et Qwen3.5, Poolside Laguna, MiniMax M2, Nemotron H, Trinity, GLM-4 et GLM-4.5 MoE (avec INTELLECT-3), GPT-OSS et d'autres LM causaux Hugging Face. Avec impl = "auto" (par défaut), l'entraîneur sélectionne la pile personnalisée correspondante dès que le type de configuration Hugging Face est enregistré. Les familles VLM disposent de l'EP uniquement sur leurs variantes MoE et marquent le CP comme indisponible ; les modèles denses HF ont le CP mais pas l'EP.

L'installation exige une GPU NVIDIA

La README précise qu'au moins une GPU NVIDIA est nécessaire pour utiliser prime-rl, et que le développement et les tests ont été faits sur RTX 3090/4090/5090, A100, H100, H200 et B200. L'installation rapide est une seule commande curl qui exécute le script d'installation du dépôt. L'installation manuelle comprend le clonage du dépôt, l'initialisation des quatre sous-modules verifiers, renderers, research-environments et pydantic-config, l'installation de uv et l'exécution de uv sync --all-extras. Sur les hôtes aarch64, flash-attn doit être compilé depuis les sources pour la GPU locale ; la README estime cela à 20 à 30 minutes. Ensuite, uv sync --all-extras et uv run désinstalleraient cette compilation, donc la note recommande uv sync --inexact ou uv run --no-sync. Les environnements sont des membres de workspace opt-in ; pour s'entraîner dessus, il faut uv sync --all-extras --all-packages ou un sous-ensemble avec --package.

Étapes de validation avant l'entraînement

La README fournit une liste de contrôle pour valider l'environnement. uv run python -V doit afficher Python 3.12 ; uv run python -c "import flash_attn" vérifie l'installation de flash-attn. L'entraîneur SFT (uv run sft @ configs/debug/fake/sft.toml), l'entraîneur RL (uv run trainer @ configs/debug/fake/rl.toml) et le serveur d'inférence (uv run inference --model.name Qwen/Qwen3-0.6B) nécessitent chacun une GPU. La pile RL complète (inférence, orchestrateur et entraîneur) s'exécute de bout en bout avec uv run rl @ configs/basic/reverse-text/rl.toml et nécessite deux GPU. Les étapes facultatives couvrent la connexion à W&B et, pour les modèles ou ensembles de données restreints ou privés, la connexion à Hugging Face.

Exemples d'entraînement d'une GPU à un cluster

Le répertoire examples contient des guides d'entraînement de bout en bout. Les exemples de base visent 1 à 8 GPU : reverse-text entraîne Qwen3-0.6B à inverser un court texte, en quelques minutes sur une seule GPU grand public. wordle entraîne Qwen3-1.7B à jouer à Wordle, un SFT et RL multi-tours qui prend quelques heures sur 2 à 4 H100. alphabet-sort entraîne Qwen3-4B-Instruct-2507 en RL LoRA multi-tours sans réchauffement SFT, en un peu plus d'une heure sur une H100. wiki-search entraîne Qwen3-4B-Instruct-2507 à répondre à des questions de culture générale via une recherche Wikipedia. hendrycks-sanity lance une vérification sur DeepSeek-R1-Distill-Qwen-1.5B avec un sous-ensemble filtré de MATH. Les exemples avancés, pour 32 à 2 048 GPU, couvrent Qwen3-30B-A3B sur les mathématiques, SWE et l'utilisation d'outils d'agent ; GLM-4.5-Air sur la recherche, SWE et les tâches terminal ; Nemotron-3-Super-120B sur SWE avec 131k de contexte ; MiniMax-M2.5 sur SWE agentique ; la reproduction d'INTELLECT-3.1 ; et un montage à haut débit de GLM-5/GLM-5.2 avec désagrégation P/D, routeur llm-d et FP8. Les guides avancés supposent un cluster Slurm et notent une adaptabilité à k8s.

Documentation, contributions et licence

Le répertoire docs couvre l'architecture et l'installation, la configuration TOML avec surcharges CLI et validation, l'entraînement avec points de contrôle et observabilité, le passage d'une GPU à plusieurs nœuds avec FSDP/EP/CP et Slurm, les algorithmes dont la perte AIPO et les plugins d'avantage et de filtre, des sujets avancés comme l'entraînement multimodal, LoRA et l'entraînement multi-locataires, ainsi que les pratiques de développement comme la suite de tests et les hooks pre-commit. Les consignes de contribution demandent d'installer les hooks pre-commit, de garder les PR en brouillon jusqu'à la revue, de lier les issues dans la description de la PR et de lancer si possible la suite de tests en local. Le projet est sous licence Apache 2.0. L'extrait de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite et irrévocable pour reproduire, préparer des œuvres dérivées, afficher publiquement, exécuter publiquement, sous-licencier et distribuer, ainsi qu'une licence de brevet avec clause de résiliation liée aux litiges de brevet. L'extrait ne traite ni de garantie, ni de support, ni de sécurité, et la README n'en parle pas non plus.

Tester prime-rl sur son entrée réelle

Pour prime-rl, le contrôle utile doit rester attaché au dépôt PrimeIntellect-ai/prime-rl. Reprenez un exemple, une commande ou un fichier cité dans le README et exécutez le scénario dans un environnement isolé. Observez l'entrée, la sortie, les erreurs, les permissions et les fichiers produits. Comparez le résultat avec ce que le document annonce, sans transformer une démonstration en garantie de compatibilité, de sécurité ou de performance. Les paramètres que prime-rl ne décrit pas restent à établir dans votre contexte. Un essai portant sur prime-rl, avec sa branche main et ses dépendances réelles, permet de distinguer une capacité documentée d'une hypothèse d'intégration. Cette trace est particulièrement importante lorsque le projet est un guide, une démonstration ou un composant destiné à un autre système.

Conclusion éditoriale

prime-rl convient aux lecteurs dont le besoin correspond exactement aux fichiers, commandes et environnements décrits dans son README. Il convient moins à une équipe qui attend des garanties absentes du dépôt. Commencez par prime-rl, utilisez l'exemple ou l'entrée documentée, puis observez la sortie, les erreurs et les droits nécessaires avant d'élargir l'usage.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté