En résumé
L’APR adapte le nombre de fils de raisonnement à la difficulté du problème.
Les méthodes séquentielles augmentent la latence et les risques liés au contexte.
ThreadWeaver utilise des jetons spéciaux pour piloter les branches parallèles.
Le signal : L’APR permet à un modèle de choisir dynamiquement entre opérations parallèles et séquentielles pendant l’inférence.
Vous appréciez ce genre d'analyse ?
Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Gratuit, sans engagement.
+11 000 fondateurs abonnés
Le 8 mai 2026, le Berkeley AI Research Lab a publié une analyse du raisonnement parallèle adaptatif, ou APR. Cette approche permet à un modèle de décider quand décomposer un problème, combien de fils lancer et comment les coordonner. Le billet présente l’APR comme un paradigme, et non comme une méthode unique. Le concept a été introduit par Learning Adaptive Parallel Reasoning with Language Models, publié par Pan et ses coauteurs en 2025. Tony Lian, co-auteur du billet, a aussi co-dirigé ThreadWeaver, l’une des méthodes examinées. L’analyse décrit donc le domaine tout en proposant une lecture de son évolution récente. (Lire l’analyse de Berkeley)
Les limites séquentielles Le raisonnement actuel progresse notamment grâce à la mise à l’échelle pendant l’inférence. Les modèles génèrent des jetons intermédiaires pour explorer des hypothèses, revenir sur leurs erreurs et synthétiser une conclusion. Cette exploration séquentielle augmente toutefois la longueur de sortie avec chaque nouvelle branche. Elle peut dépasser les limites effectives du contexte et provoquer un phénomène appelé « context-rot ». La latence augmente aussi avec la longueur du raisonnement. Pour des tâches complexes nécessitant des millions de jetons, des utilisateurs peuvent attendre plusieurs dizaines de minutes, voire plusieurs heures. Le raisonnement parallèle exécute plutôt plusieurs fils indépendants et simultanés.
Les méthodes existantes Le vote majoritaire échantillonne plusieurs raisonnements complets, puis retient la réponse la plus fréquente. Best-of-N utilise un vérificateur entraîné pour sélectionner la meilleure solution. Les approches Tree-of-Thoughts, Graph-of-Thoughts et Skeleton-of-Thoughts décomposent les tâches avec des algorithmes de recherche connus. Monte-Carlo Tree Search estime la valeur des nœuds grâce à des simulations et à une exploration de type UCB. ParaThinker impose deux étapes fixes, tandis que GroupThink laisse plusieurs trajectoires partager leur progression. Hogwild! Inference partage un cache KV entre fils parallèles sans protocole explicite de coordination.
Le contrôle dynamique Ces méthodes imposent souvent la structure parallèle avant ou pendant l’inférence, indépendamment du problème traité. L’APR place au contraire la parallélisation dans le flux de contrôle généré par le modèle. Celui-ci peut choisir de rester séquentiel, de créer plusieurs fils ou de coordonner leurs étapes. Cette capacité distingue un calcul simple comme « 25+42 » d’un problème géométrique nécessitant une recherche plus développée. L’entraînement par renforcement apprend des stratégies de décomposition générales. Les modèles peuvent aussi découvrir des motifs comme la vérification d’une étape pendant la suivante, ou l’exécution d’une approche principale avec une solution de secours. (Présentation de Tony Lian)
L’exécution fork-join Les systèmes APR suivent généralement une organisation en deux temps. Le modèle produit d’abord une liste de sous-tâches. Le moteur prépare ensuite chaque sous-tâche comme une requête indépendante et les décode simultanément. Les fils s’arrêtent lorsqu’ils atteignent un jeton de fin ou une longueur maximale. Le système attend alors leur terminaison avant d’agréger les résultats et de poursuivre le décodage. Cette architecture ressemble à une opération map-reduce. L’agrégation pose cependant un problème pour le cache KV. Les fils indépendants commencent avec des identifiants de position identiques, ce qui complique leur fusion dans une séquence unique.
Deux voies techniques Multiverse, Parallel-R1 et NPR modifient le moteur d’inférence pour réutiliser le cache KV lors de la synthèse. Ils copient les caches produits par les fils et ajustent la table de pages afin d’assembler des blocs mémoire non contigus. Cette méthode évite un second préremplissage et réutilise davantage le calcul déjà effectué. Elle nécessite toutefois une gestion mémoire non standard dans le moteur. Le billet décrit également RadixAttention de SGLang, qui organise les requêtes partageant un préfixe dans un arbre. Cette organisation évite de recalculer le cache KV du préfixe commun avant l’exécution des branches.
Gardez un coup d'avance en IA et tech.
Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Zéro spam.
+11 000 fondateurs abonnés