<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vue d'ensemble on CoMLRL</title><link>https://openmlrl.github.io/CoMLRL/fr/</link><description>Recent content in Vue d'ensemble on CoMLRL</description><generator>Hugo</generator><language>fr-FR</language><copyright>© {year} OpenMLRL. All rights reserved.</copyright><atom:link href="https://openmlrl.github.io/CoMLRL/fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Aide</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/dev/support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/dev/support/</guid><description>&lt;h1 id="support"&gt;Aide&lt;a class="anchor" href="#support"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Nous sommes heureux de vous aider en cas de problèmes rencontrés lors de l&amp;rsquo;utilisation de CoMLRL.&lt;/p&gt;
&lt;h2 id="report-issues"&gt;Signaler les problèmes&lt;a class="anchor" href="#report-issues"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Les étapes suivantes peuvent aider les utilisateurs à résoudre ou à signaler un problème :&lt;/p&gt;
&lt;div class="book-steps"&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Les utilisateurs peuvent d&amp;rsquo;abord consulter la documentation, y compris la fonction de recherche (Ctrl + K).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Une recherche des problèmes existants &lt;a href="https://github.com/OpenMLRL/CoMLRL/issues"&gt;GitHub&lt;/a&gt; peut révéler des rapports du même problème.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un exemple minimal reproductible aide à diagnostiquer le problème. Quelques lignes de code qui démontrent le problème peuvent conduire à une réponse plus rapide.&lt;/p&gt;</description></item><item><title>Écriture</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/env/writing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/env/writing/</guid><description>&lt;!-- External link entry --&gt;</description></item><item><title>Entraînement basé sur le ratio de longueur</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/examples/quick-start/length-ratio-training/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/examples/quick-start/length-ratio-training/</guid><description>&lt;p&gt;Ce tutoriel démontre une tâche d&amp;rsquo;entraînement simple avec deux agents, utilisant une récompense basée sur le ratio de longueur. Les deux agents reçoivent la même requête et génèrent indépendamment ; le second agent ne voit pas la réponse du premier. La récompense encourage la seconde sortie à contenir 2–3× plus de caractères que la première. Elle ne évalue pas la qualité de l&amp;rsquo;histoire ou la collaboration sémantique.&lt;/p&gt;
&lt;p&gt;Les utilisateurs peuvent exécuter l&amp;rsquo;exemple à partir d&amp;rsquo;un dépôt installé :&lt;/p&gt;</description></item><item><title>Installation</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/installation/</guid><description>&lt;p&gt;CoMLRL peut être installé à partir de PyPI, conda-forge, ou source et prend en charge Python 3.10 ou supérieur. Les utilisateurs doivent également installer une version de PyTorch compatible avec leur appareil.&lt;/p&gt;
&lt;h2 id="install-from-pypi"&gt;Installation à partir de PyPI&lt;a class="anchor" href="#install-from-pypi"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install comlrl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Install PyTorch compatible with your device.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="install-from-conda-forge"&gt;Installation à partir de conda-forge&lt;a class="anchor" href="#install-from-conda-forge"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;conda install -c conda-forge comlrl
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Install PyTorch compatible with your device.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="install-from-source"&gt;Installation à partir de source&lt;a class="anchor" href="#install-from-source"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Les utilisateurs peuvent également cloner le dépôt et installer CoMLRL en mode éditable pour accéder aux dernières fonctionnalités ou le développer localement:&lt;/p&gt;</description></item><item><title>Méthode multi-agent REINFORCE</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-agent-reinforce/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-agent-reinforce/</guid><description>&lt;p&gt;REINFORCE est une classe de méthodes de gradient de politique qui optimise directement la politique en utilisant des retours échantillonnés.
Ces méthodes sont largement utilisées pour le réglage fin de LLM en raison de leur simplicité et de leur efficacité. Des exemples incluent &lt;a href="https://arxiv.org/pdf/2402.03300"&gt;GRPO&lt;/a&gt;, &lt;a href="https://arxiv.org/abs/2503.20783"&gt;Dr. GRPO&lt;/a&gt;, &lt;a href="https://openreview.net/forum?id=r1lgTGL5DE"&gt;RLOO&lt;/a&gt;, &lt;a href="https://arxiv.org/abs/2310.10505"&gt;ReMax&lt;/a&gt;, &lt;a href="https://arxiv.org/abs/2506.05183"&gt;TreeRPO&lt;/a&gt;, et &lt;a href="https://arxiv.org/abs/2501.03262"&gt;REINFORCE++&lt;/a&gt;.
REINFORCE peut être étendu aux environnements multi-agent, où plusieurs agents LLM réagissent à chaque tour et leurs réponses conjointes reçoivent une récompense partagée.&lt;/p&gt;
&lt;p&gt;Tous MAREINFORCE trainers un seul cycle d&amp;rsquo;entraînement. À chaque rollout nœud, chaque agent échantillonne &lt;span class="book-katex"&gt;\( K \)&lt;/span&gt; réponses, le trainer calcule les scores des réponses conjointes alignées par index avec une récompense partagée, et chaque agent pondère ses propres probabilités logarithmiques par les avantages partagés résultants avant une étape d&amp;rsquo;optimiseur tamponnée.&lt;/p&gt;</description></item><item><title>Reprendre l'entraînement</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/examples/advanced/resume-training/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/examples/advanced/resume-training/</guid><description>&lt;p&gt;Cet exemple entraîne deux petits agents pour deux epochs, puis poursuit la même exécution pour deux autres epochs à partir d&amp;rsquo;un point de contrôle. Les deux parties sont enregistrées dans une seule exécution W&amp;amp;B.&lt;/p&gt;
&lt;h2 id="setup"&gt;Configuration&lt;a class="anchor" href="#setup"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;La tâche demande au deuxième agent d&amp;rsquo;écrire une réponse de 2 à 3 fois plus longue que la réponse du premier agent.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;math&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datasets&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Dataset&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;transformers&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AutoModelForCausalLM&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;AutoTokenizer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;comlrl.trainers.reinforce&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MAGRPOConfig&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MAGRPOTrainer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;comlrl.utils&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;read_checkpoint_metadata&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;model_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Qwen/Qwen2.5-0.5B&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;tokenizer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AutoTokenizer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;train_dataset&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Dataset&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;from_dict&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;prompt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Describe a city in the clouds:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Invent a new holiday and explain it:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Write a bedtime story for a dragon:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Design a playground on Mars:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;length_ratio_reward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;completions1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;completions2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;rewards&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;first&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;second&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;zip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;completions1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;completions2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;second&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nb"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;distance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nb"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nb"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;rewards&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;distance&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;rewards&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;La même fonction construit le trainer pour les deux parties de l&amp;rsquo;exécution, de sorte que les deux trainers correspondent.&lt;/p&gt;</description></item><item><title>Apprentissage multi-agent Actor-Critic</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-agent-actor-critic/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-agent-actor-critic/</guid><description>&lt;p&gt;Les méthodes Actor-Critic (AC) sont des méthodes de gradient de politique largement utilisées qui utilisent critics pour soutenir l&amp;rsquo;entraînement.
Les méthodes AC peuvent obtenir une variance plus faible et une meilleure efficacité d&amp;rsquo;échantillonnage que REINFORCE, mais cela nécessite une conception et un réglage minutieux de critic pour assurer un entraînement stable.
Dans l&amp;rsquo;apprentissage par renforcement multi-agents (MARL), Actor-Critic les méthodes comprennent Multi-Agent Actor-Critic (MAAC) et Indépendant Actor-Critic (IAC).&lt;/p&gt;
&lt;p&gt;Les deux agents mettent en œuvre conjointement et évaluent leur réponse conjointe avec la fonction de récompense, mais utilisent critics différemment. MAAC entraîne un critic sur l&amp;rsquo;historique conjoint, de sorte que chaque agent partage son TD erreur. IAC entraîne un critic par agent sur l&amp;rsquo;historique de cet agent, de sorte que chaque agent obtient sa propre TD erreur.&lt;/p&gt;</description></item><item><title>Codage</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/env/coding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/env/coding/</guid><description>&lt;!-- External link entry --&gt;</description></item><item><title>Contribution</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/dev/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/dev/contributing/</guid><description>&lt;h1 id="contributing"&gt;Contribution&lt;a class="anchor" href="#contributing"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Les contributions à CoMLRL sont les bienvenues. Ce guide couvre les modifications de code et la maintenance du code.&lt;/p&gt;
&lt;h2 id="development-guidelines"&gt;Directives de développement&lt;a class="anchor" href="#development-guidelines"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="book-steps"&gt;
&lt;ol&gt;
&lt;li&gt;Les contributeurs peuvent forker le dépôt principal.&lt;/li&gt;
&lt;li&gt;Les commandes suivantes clonent le fork et le synchronisent avec le dépôt principal:
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; git clone https://github.com/&amp;lt;your-username&amp;gt;/CoMLRL.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; CoMLRL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; git remote add upstream https://github.com/OpenMLRL/CoMLRL.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; git fetch upstream
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; git checkout -b feature/&amp;lt;short-description&amp;gt; upstream/main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; git fetch upstream &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git rebase upstream/main&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Les contributeurs peuvent implémenter de nouvelles fonctionnalités ou corriger des bugs et mettre à jour la documentation si nécessaire.&lt;/li&gt;
&lt;li&gt;Les modifications peuvent être soumises au dépôt principal sous forme de demande de fusion pour examen.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Entités d'entraînement</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/training-entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/training-entities/</guid><description>&lt;p&gt;CoMLRL prend en charge l&amp;rsquo;entraînement des agents LLM et facilite leur entraînement avec des modèles de récompense basés sur LLM ou critics. Les agents et critics peuvent être des modèles homogènes ou hétérogènes provenant de Hugging Face ou de répertoires locaux.
Les utilisateurs peuvent spécifier les identifiants de modèle &lt;a href="https://huggingface.co/models"&gt;Hugging Face&lt;/a&gt; via &lt;code&gt;agent_model&lt;/code&gt;/&lt;code&gt;critic_model&lt;/code&gt; pour les configurations homogènes, ou fournir des listes &lt;code&gt;agents&lt;/code&gt;/&lt;code&gt;critics&lt;/code&gt; pour les configurations hétérogènes. Les entités entraînées peuvent être enregistrées et chargées dans un nouveau trainer pour un entraînement ultérieur.&lt;/p&gt;</description></item><item><title>Retour sur plusieurs tours</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/examples/advanced/multi-turn-feedback/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/examples/advanced/multi-turn-feedback/</guid><description>&lt;p&gt;Dans cet exemple, deux agents répondent à une tâche, reçoivent des commentaires sur leurs réponses, puis répondent à nouveau.&lt;/p&gt;
&lt;h2 id="setup"&gt;Configuration&lt;a class="anchor" href="#setup"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;La tâche demande au deuxième agent d&amp;rsquo;écrire une réponse de 2 à 3 fois plus longue que la réponse du premier agent.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;math&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;datasets&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Dataset&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;transformers&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AutoModelForCausalLM&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;AutoTokenizer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;comlrl.trainers.reinforce&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;MAGRPOConfig&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MAGRPOTrainer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;model_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Qwen/Qwen2.5-0.5B&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;tokenizer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AutoTokenizer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;train_dataset&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Dataset&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;from_dict&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;prompt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Describe a city in the clouds:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Invent a new holiday and explain it:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Write a bedtime story for a dragon:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;Design a playground on Mars:&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;length_ratio_reward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;completions1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;completions2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;rewards&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;first&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;second&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;zip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;completions1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;completions2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;second&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nb"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;distance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="nb"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nb"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ratio&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;rewards&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;distance&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;rewards&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="feedback-between-turns"&gt;Retour entre les tours&lt;a class="anchor" href="#feedback-between-turns"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Après la première étape, cette fonction écrit une nouvelle invite pour chaque agent. L&amp;rsquo;invite indique la longueur des réponses.&lt;/p&gt;</description></item><item><title>Complétion de code</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/env/code-completion/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/env/code-completion/</guid><description>&lt;!-- External link entry --&gt;</description></item><item><title>Historique des modifications</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/dev/changelog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/dev/changelog/</guid><description>&lt;h1 id="changelog"&gt;Historique des modifications&lt;a class="anchor" href="#changelog"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="version-143"&gt;Version 1.4.3&lt;a class="anchor" href="#version-143"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Prise en charge des algorithmes MAPL, y compris MARLHF et MADPO (PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/72"&gt;#72&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Prise en charge de l&amp;rsquo;entraînement d&amp;rsquo;un système multi-agent centralisé (PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/72"&gt;#72&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Améliorer la documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-142"&gt;Version 1.4.2&lt;a class="anchor" href="#version-142"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Prise en charge de davantage de modèles de comparaison (commit &lt;a href="https://github.com/OpenMLRL/CoMLRL/commit/e1b3d8065eeddaad9d857d10e0d21764cb1f3270"&gt;e1b3d80&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Correction du problème de génération homogène (commit &lt;a href="https://github.com/OpenMLRL/CoMLRL/commit/11d89a933a40d0d31e60c09491eb699e007b3cf9"&gt;11d89a9&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-141"&gt;Version 1.4.1&lt;a class="anchor" href="#version-141"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Prise en charge de l&amp;rsquo;utilisation du comparateur en tant que coordinateur centralisé (PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/69"&gt;#69&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Permettre le déploiement des agents LLM, du modèle de récompense et du comparateur sur différents appareils (commit &lt;a href="https://github.com/OpenMLRL/CoMLRL/commit/7cbb7928e4569359021f094686d3a01c197e2223"&gt;7cbb792&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Permettre la copie des modèles actuels en tant que comparateurs sur de nouveaux appareils (commit &lt;a href="https://github.com/OpenMLRL/CoMLRL/commit/d8d493a044d6a0b7b5d6aaaea2bf8bca2bfca81f"&gt;d8d493a&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Optimiser l&amp;rsquo;utilisation de la mémoire de GPU en libérant rapidement les modèles inutilisés (commit &lt;a href="https://github.com/OpenMLRL/CoMLRL/commit/d0c6376cf843aaa9eb14e4c9f94cdf43a7a85f30"&gt;d0c6376&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-140"&gt;Version 1.4.0&lt;a class="anchor" href="#version-140"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ajouter des méthodes en ligne pour PbRL (PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/68"&gt;#68&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Ajouter un enregistreur de dérive de jeu de données.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-139"&gt;Version 1.3.9&lt;a class="anchor" href="#version-139"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ajouter des méthodes hors ligne telles que PbRL, MADPO et MARLHF (PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/67"&gt;#67&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-138"&gt;Version 1.3.8&lt;a class="anchor" href="#version-138"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Permettre l&amp;rsquo;utilisation d&amp;rsquo;un modèle de référence pour tous les algorithmes (PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/65"&gt;#65&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Unifier l&amp;rsquo;enregistreur entre différents trainers (PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/66"&gt;#66&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-137"&gt;Version 1.3.7&lt;a class="anchor" href="#version-137"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Supprimer les hyperparamètres d&amp;rsquo;échantillonnage redondants dans les algorithmes.&lt;/li&gt;
&lt;li&gt;Permettre l&amp;rsquo;entraînement multi-GPU avec MP (voir les résultats dans PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/62"&gt;#62&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-136"&gt;Version 1.3.6&lt;a class="anchor" href="#version-136"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Corriger un bug critique lors du chargement de modèles hétérogènes et refactoriser la logique de chargement des modèles (voir les résultats dans PR &lt;a href="https://github.com/OpenMLRL/CoMLRL/pull/60"&gt;#60&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Améliorer la documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-135"&gt;Version 1.3.5&lt;a class="anchor" href="#version-135"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ajouter des tests unitaires pour les contraintes d&amp;rsquo;hyperparamètres.&lt;/li&gt;
&lt;li&gt;Nettoyer les interfaces héritées.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-134"&gt;Version 1.3.4&lt;a class="anchor" href="#version-134"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Corriger le bug lors du chargement de modèles hétérogènes et refactoriser la logique de chargement.&lt;/li&gt;
&lt;li&gt;Activer MBGD dans MAGRPO pour correspondre à MAAC et IAC.&lt;/li&gt;
&lt;li&gt;Supprimer les hyperparamètres redondants et hérités (par exemple, les paramètres de modèle, les hyperparamètres de patching).&lt;/li&gt;
&lt;li&gt;Nettoyer le code hérité multi-appareil, tel que &lt;code&gt;drop_last&lt;/code&gt; et &lt;code&gt;num_workers&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Ajouter des tests unitaires pour le chargement du modèle et les séparer de CI comme un badge.&lt;/li&gt;
&lt;li&gt;Nettoyer les fonctions courtes.&lt;/li&gt;
&lt;li&gt;Réorganiser la documentation et aligner les paramètres.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-133"&gt;Version 1.3.3&lt;a class="anchor" href="#version-133"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Compresser la dérivation de MAREINFORCETrainer et la déplacer vers le nouveau dossier.&lt;/li&gt;
&lt;li&gt;Unifier l&amp;rsquo;interface pour différents trainers.&lt;/li&gt;
&lt;li&gt;Supprimer les correctifs et les enveloppes redondants.&lt;/li&gt;
&lt;li&gt;Réorganiser les variables dans les fichiers de configuration YAML.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-132"&gt;Version 1.3.2&lt;a class="anchor" href="#version-132"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Corriger le problème de journalisation de wandb dans MAGRPOTrainer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-131"&gt;Version 1.3.1&lt;a class="anchor" href="#version-131"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Permettre l&amp;rsquo;entraînement par lots dans MAGRPOTrainer, IACTrainer et MAACTrainer.&lt;/li&gt;
&lt;li&gt;Permettre l&amp;rsquo;entraînement multi-étapes dans IACTrainer et MAACTrainer.&lt;/li&gt;
&lt;li&gt;Modifier l&amp;rsquo;axe des x de &lt;code&gt;data_step&lt;/code&gt; à &lt;code&gt;env_step&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-130"&gt;Version 1.3.0&lt;a class="anchor" href="#version-130"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Utiliser TD comme critic cible de mise à jour dans IACTrainer et MAACTrainer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-129"&gt;Version 1.2.9&lt;a class="anchor" href="#version-129"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ajouter MAACTrainer (centralisé séparément critic) ; IACTrainer et MAACTrainer prennent désormais en charge l&amp;rsquo;entraînement en une seule étape.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-128"&gt;Version 1.2.8&lt;a class="anchor" href="#version-128"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;La critic dans IACTrainer estime maintenant V plutôt que Q.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-127"&gt;Version 1.2.7&lt;a class="anchor" href="#version-127"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Modifier IPPOTrainer à IACTrainer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="version-126"&gt;Version 1.2.6&lt;a class="anchor" href="#version-126"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Inclure MAGRPO, MAREINFORCE, MARLOO, MAREMAX et IPPO trainers pour l&amp;rsquo;apprentissage par renforcement multi-agents avec LLMs.&lt;/li&gt;
&lt;li&gt;Prise en charge de l&amp;rsquo;entraînement sur plusieurs tours avec des mécanismes de rétroaction externes personnalisés.&lt;/li&gt;
&lt;li&gt;Environnements de collaboration LLM pour diverses tâches.&lt;/li&gt;
&lt;li&gt;Documentation et exemples complets pour commencer.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Initialisation de l'entraînement</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/training-initialization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/training-initialization/</guid><description>&lt;p&gt;L&amp;rsquo;entraînement est initialisé à partir d&amp;rsquo;un ensemble de tâches, une classe de tâches qui partagent un format d&amp;rsquo;entrée et une récompense. Les formatteurs transforment chaque tâche en invites pour l&amp;rsquo;agent, et une fonction de récompense évalue les réponses conjointes des agents.&lt;/p&gt;
&lt;h2 id="task-sets"&gt;Ensembles de tâches&lt;a class="anchor" href="#task-sets"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Un ensemble de tâches est un Hugging Face &lt;code&gt;Dataset&lt;/code&gt; ou &lt;code&gt;IterableDataset&lt;/code&gt; dont les lignes sont des éléments de tâche, chacun un dictionnaire. Le formatteur par défaut lit le champ &lt;code&gt;prompt&lt;/code&gt;; des champs supplémentaires peuvent contenir des cibles, des étiquettes, des cas de test ou d&amp;rsquo;autres informations requises par la fonction de récompense. Trainers transmet l&amp;rsquo;élément de tâche original à la fonction de récompense via &lt;code&gt;batch_items&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Multi-LLM PbRL</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-llm-pbrl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-llm-pbrl/</guid><description>&lt;p&gt;Multi-agent PbRL entraîne les agents collaboratifs LLM à partir des préférences entre leurs réponses conjointes. CoMLRL construit les données de préférence à partir des éléments de tâche et les apprend avec l&amp;rsquo;un des deux algorithmes : MARLHF s&amp;rsquo;adapte à un modèle de récompense conjoint et entraîne ensuite les politiques avec RL, tandis que MADPO optimise directement les politiques à partir des préférences. &lt;code&gt;MARLHFTrainer&lt;/code&gt;, &lt;code&gt;MADPOTrainer&lt;/code&gt; et leurs variantes itératives &lt;code&gt;MARLHFIterTrainer&lt;/code&gt; et &lt;code&gt;MADPOIterTrainer&lt;/code&gt; sont disponibles à partir de &lt;code&gt;comlrl.trainers.preference&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Interaction multi-tours</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-turn-interaction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/marl/multi-turn-interaction/</guid><description>&lt;p&gt;De nombreux problèmes complexes nécessitent plus d&amp;rsquo;un tour pour être résolus. Les agents LLM interagissent avec l&amp;rsquo;environnement pour obtenir des commentaires utiles auprès d&amp;rsquo;autres modèles ou outils du système.&lt;/p&gt;
&lt;h2 id="multi-turn-magrpo"&gt;Interaction multi-tours MAGRPO&lt;a class="anchor" href="#multi-turn-magrpo"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;interaction multi-tours MAGRPO construit un arbre rollout dont les branches représentent différentes réponses conjointes (&lt;a href="https://arxiv.org/abs/2506.05183"&gt;TreeRPO&lt;/a&gt;).&lt;/p&gt;
&lt;figure class="docs-rollout" data-rollout data-diagram="joint-tree" data-direction="down" aria-labelledby="rollout-joint-tree-0-title"&gt;
 &lt;figcaption class="docs-rollout-caption"&gt;
 &lt;span class="docs-rollout-title" id="rollout-joint-tree-0-title"&gt;Arbre conjoint rollout&lt;/span&gt;
 &lt;span class="docs-rollout-description" id="rollout-joint-tree-0-description"&gt;Branche des observations et actions conjointes se divisent en rollouts indépendants.&lt;/span&gt;
 &lt;/figcaption&gt;
 &lt;div class="docs-rollout-stage"&gt;
&lt;svg role="img" aria-labelledby="rollout-joint-tree-0-title rollout-joint-tree-0-description" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="274.186pt" height="118.439pt" viewBox="0 0 274.186 118.439"&gt;
&lt;defs&gt;
&lt;g&gt;
&lt;g id="rollout-joint-tree-0-glyph-0-0"&gt;
&lt;path d="M 5.40625 -2.171875 C 5.40625 -3.515625 4.484375 -4.515625 2.859375 -4.515625 C 1.21875 -4.515625 0.3125 -3.5 0.3125 -2.171875 C 0.3125 -0.9375 1.203125 0.0625 2.859375 0.0625 C 4.53125 0.0625 5.40625 -0.953125 5.40625 -2.171875 Z M 2.859375 -0.34375 C 1.59375 -0.34375 1.59375 -1.421875 1.59375 -2.28125 C 1.59375 -2.734375 1.59375 -3.234375 1.765625 -3.578125 C 1.953125 -3.953125 2.375 -4.15625 2.859375 -4.15625 C 3.28125 -4.15625 3.703125 -4 3.921875 -3.65625 C 4.125 -3.3125 4.125 -2.765625 4.125 -2.28125 C 4.125 -1.421875 4.125 -0.34375 2.859375 -0.34375 Z M 2.859375 -0.34375 "/&gt;
&lt;/g&gt;
&lt;g id="rollout-joint-tree-0-glyph-0-1"&gt;
&lt;path d="M 3.734375 -0.765625 C 3.734375 -0.453125 3.734375 0 4.765625 0 L 5.25 0 C 5.4375 0 5.5625 0 5.5625 -0.234375 C 5.5625 -0.46875 5.4375 -0.46875 5.296875 -0.46875 C 4.6875 -0.484375 4.6875 -0.609375 4.6875 -0.84375 L 4.6875 -2.984375 C 4.6875 -3.875 3.984375 -4.515625 2.5 -4.515625 C 1.9375 -4.515625 0.71875 -4.46875 0.71875 -3.59375 C 0.71875 -3.15625 1.0625 -2.96875 1.328125 -2.96875 C 1.640625 -2.96875 1.96875 -3.1875 1.96875 -3.59375 C 1.96875 -3.890625 1.78125 -4.0625 1.75 -4.09375 C 2.03125 -4.140625 2.34375 -4.15625 2.46875 -4.15625 C 3.203125 -4.15625 3.5625 -3.734375 3.5625 -2.984375 L 3.5625 -2.640625 C 2.84375 -2.609375 0.3125 -2.515625 0.3125 -1.078125 C 0.3125 -0.125 1.5625 0.0625 2.25 0.0625 C 3.046875 0.0625 3.515625 -0.34375 3.734375 -0.765625 Z M 3.5625 -2.328125 L 3.5625 -1.390625 C 3.5625 -0.421875 2.640625 -0.296875 2.390625 -0.296875 C 1.890625 -0.296875 1.484375 -0.640625 1.484375 -1.09375 C 1.484375 -2.15625 3.0625 -2.296875 3.5625 -2.328125 Z M 3.5625 -2.328125 "/&gt;
&lt;/g&gt;
&lt;g id="rollout-joint-tree-0-glyph-1-0"&gt;
&lt;path d="M 3.59375 -2.21875 C 3.59375 -2.984375 3.5 -3.546875 3.1875 -4.03125 C 2.96875 -4.34375 2.53125 -4.625 1.984375 -4.625 C 0.359375 -4.625 0.359375 -2.71875 0.359375 -2.21875 C 0.359375 -1.71875 0.359375 0.140625 1.984375 0.140625 C 3.59375 0.140625 3.59375 -1.71875 3.59375 -2.21875 Z M 1.984375 -0.0625 C 1.65625 -0.0625 1.234375 -0.25 1.09375 -0.8125 C 1 -1.21875 1 -1.796875 1 -2.3125 C 1 -2.828125 1 -3.359375 1.09375 -3.734375 C 1.25 -4.28125 1.6875 -4.4375 1.984375 -4.4375 C 2.359375 -4.4375 2.71875 -4.203125 2.84375 -3.796875 C 2.953125 -3.421875 2.96875 -2.921875 2.96875 -2.3125 C 2.96875 -1.796875 2.96875 -1.28125 2.875 -0.84375 C 2.734375 -0.203125 2.265625 -0.0625 1.984375 -0.0625 Z M 1.984375 -0.0625 "/&gt;
&lt;/g&gt;
&lt;g id="rollout-joint-tree-0-glyph-1-1"&gt;
&lt;path d="M 2.46875 -5.21875 C 1.15625 -4.296875 0.796875 -2.8125 0.796875 -1.75 C 0.796875 -0.765625 1.09375 0.765625 2.46875 1.734375 C 2.53125 1.734375 2.609375 1.734375 2.609375 1.65625 C 2.609375 1.609375 2.59375 1.59375 2.546875 1.546875 C 1.609375 0.703125 1.28125 -0.46875 1.28125 -1.734375 C 1.28125 -3.625 2 -4.546875 2.5625 -5.0625 C 2.59375 -5.09375 2.609375 -5.109375 2.609375 -5.140625 C 2.609375 -5.21875 2.53125 -5.21875 2.46875 -5.21875 Z M 2.46875 -5.21875 "/&gt;
&lt;/g&gt;
&lt;g id="rollout-joint-tree-0-glyph-1-2"&gt;
&lt;path d="M 2.328125 -4.4375 C 2.328125 -4.625 2.328125 -4.625 2.125 -4.625 C 1.671875 -4.1875 1.046875 -4.1875 0.765625 -4.1875 L 0.765625 -3.9375 C 0.921875 -3.9375 1.390625 -3.9375 1.765625 -4.125 L 1.765625 -0.578125 C 1.765625 -0.34375 1.765625 -0.25 1.078125 -0.25 L 0.8125 -0.25 L 0.8125 0 C 0.9375 0 1.796875 -0.03125 2.046875 -0.03125 C 2.265625 -0.03125 3.140625 0 3.296875 0 L 3.296875 -0.25 L 3.03125 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.578125 Z M 2.328125 -4.4375 "/&gt;
&lt;/g&gt;
&lt;g id="rollout-joint-tree-0-glyph-1-3"&gt;
&lt;path d="M 0.625 -5.21875 C 0.578125 -5.21875 0.5 -5.21875 0.5 -5.140625 C 0.5 -5.109375 0.515625 -5.09375 0.5625 -5.03125 C 1.15625 -4.484375 1.828125 -3.546875 1.828125 -1.75 C 1.828125 -0.296875 1.375 0.8125 0.625 1.484375 C 0.5 1.609375 0.5 1.609375 0.5 1.65625 C 0.5 1.6875 0.515625 1.734375 0.578125 1.734375 C 0.671875 1.734375 1.328125 1.28125 1.796875 0.40625 C 2.09375 -0.171875 2.296875 -0.921875 2.296875 -1.734375 C 2.296875 -2.71875 2 -4.25 0.625 -5.21875 Z M 0.625 -5.21875 "/&gt;
&lt;/g&gt;
&lt;g id="rollout-joint-tree-0-glyph-2-0"&gt;
&lt;path d="M 5.875 -4.8125 C 5.875 -4.84375 5.859375 -4.90625 5.78125 -4.90625 C 5.734375 -4.90625 5.71875 -4.890625 5.65625 -4.8125 L 5.15625 -4.28125 C 5.09375 -4.359375 4.703125 -4.90625 3.84375 -4.90625 C 2.140625 -4.90625 0.484375 -3.40625 0.484375 -1.828125 C 0.484375 -0.75 1.3125 0.140625 2.640625 0.140625 C 3.265625 0.140625 3.90625 -0.015625 4.265625 -0.40625 C 4.34375 -0.265625 4.53125 0 4.609375 0 C 4.671875 0 4.6875 -0.03125 4.71875 -0.1875 L 4.859375 -0.71875 C 4.890625 -0.84375 4.984375 -1.265625 5.015625 -1.34375 C 5.09375 -1.65625 5.09375 -1.671875 5.515625 -1.671875 C 5.5625 -1.671875 5.671875 -1.671875 5.671875 -1.8125 C 5.671875 -1.890625 5.609375 -1.921875 5.5625 -1.921875 C 5.328125 -1.921875 5.03125 -1.890625 4.796875 -1.890625 C 4.625 -1.890625 4.390625 -1.890625 4.21875 -1.90625 C 4.046875 -1.90625 3.84375 -1.921875 3.671875 -1.921875 C 3.609375 -1.921875 3.515625 -1.921875 3.515625 -1.765625 C 3.515625 -1.671875 3.59375 -1.671875 3.765625 -1.671875 C 3.890625 -1.671875 4.03125 -1.671875 4.171875 -1.65625 C 4.390625 -1.640625 4.390625 -1.609375 4.390625 -1.53125 C 4.390625 -1.5 4.390625 -1.484375 4.34375 -1.296875 C 4.296875 -1.109375 4.21875 -0.796875 4.1875 -0.71875 C 4 -0.296875 3.34375 -0.109375 2.796875 -0.109375 C 2.109375 -0.109375 1.1875 -0.453125 1.1875 -1.625 C 1.1875 -2.375 1.546875 -3.296875 2.0625 -3.828125 C 2.78125 -4.53125 3.515625 -4.640625 3.90625 -4.640625 C 4.71875 -4.640625 5.1875 -4.0625 5.1875 -3.28125 C 5.1875 -3.09375 5.171875 -3.03125 5.171875 -3 C 5.171875 -2.90625 5.265625 -2.90625 5.296875 -2.90625 C 5.40625 -2.90625 5.40625 -2.921875 5.4375 -3.0625 Z M 5.875 -4.8125 "/&gt;
&lt;/g&gt;
&lt;g id="rollout-joint-tree-0-glyph-3-0"&gt;
&lt;path d="M 2.75 -3.578125 C 2.75 -4 2.40625 -4.34375 2 -4.34375 C 1.578125 -4.34375 1.234375 -4 1.234375 -3.578125 C 1.234375 -3.171875 1.578125 -2.828125 2 -2.828125 C 2.40625 -2.828125 2.75 -3.171875 2.75 -3.578125 Z M 2.75 -3.578125 "/&gt;
&lt;/g&gt;
&lt;/g&gt;
&lt;/defs&gt;
&lt;path data-rollout-stage="0" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -17.007062 -8.503844 L 17.008563 -8.503844 L 17.008563 8.503969 L -17.007062 8.503969 Z M -17.007062 -8.503844 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="0" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-0" x="131.994" y="13.553"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="0" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-0" x="137.723" y="15.047"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="1" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(79.998779%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -58.112531 -35.308531 L -21.260969 -35.308531 L -21.260969 -20.253844 L -58.112531 -20.253844 Z M -58.112531 -35.308531 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-1" x="89.276" y="43.74"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="94.845" y="38.565"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="97.958104" y="38.565"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="101.929683" y="38.565"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-0" x="94.845" y="46.396"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="1" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 79.998779%)" stroke-opacity="1" stroke-miterlimit="10" d="M 21.258563 -35.308531 L 58.110125 -35.308531 L 58.110125 -20.253844 L 21.258563 -20.253844 Z M 21.258563 -35.308531 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-1" x="167.53" y="43.74"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="173.099" y="38.565"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-2-0" x="176.212" y="38.565"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="182.415" y="38.565"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-0" x="173.099" y="46.396"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="128.725" y="45.038"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="135.10619" y="45.038"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="1" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="141.473033" y="45.038"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="1" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(79.998779%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00075 -9.249937 L -39.68675 -19.503844 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;path data-rollout-stage="1" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 79.998779%)" stroke-opacity="1" stroke-miterlimit="10" d="M 0.00075 -9.249937 L 39.684344 -19.503844 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;path data-rollout-stage="2" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(79.998779%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -92.409406 -75.968687 L -58.393781 -75.968687 L -58.393781 -58.960875 L -92.409406 -58.960875 Z M -92.409406 -75.968687 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-0" x="53.48" y="83.425"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="59.208" y="78.25"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="62.321104" y="78.25"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="66.292683" y="78.25"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="59.208" y="86.081"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="2" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 79.998779%)" stroke-opacity="1" stroke-miterlimit="10" d="M 58.395281 -75.968687 L 92.410906 -75.968687 L 92.410906 -58.960875 L 58.395281 -58.960875 Z M 58.395281 -75.968687 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-0" x="203.166" y="83.425"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="208.895" y="78.25"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-2-0" x="212.008" y="78.25"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="218.211" y="78.25"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="208.895" y="86.081"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="128.725" y="78.77"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="135.10619" y="78.77"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="2" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="141.473033" y="78.77"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="2" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(79.998779%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -39.68675 -36.054625 L -75.4055 -58.214781 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;path data-rollout-stage="2" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 79.998779%)" stroke-opacity="1" stroke-miterlimit="10" d="M 39.684344 -36.054625 L 75.403094 -58.214781 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(100%, 54.902649%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -133.514875 -102.773375 L -96.663312 -102.773375 L -96.663312 -87.718687 L -133.514875 -87.718687 Z M -133.514875 -102.773375 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-1" x="13.874" y="111.204"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="19.444" y="106.029"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="22.557104" y="106.029"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="26.528683" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="19.444" y="113.861"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(100%, 70.588684%, 78.431702%)" stroke-opacity="1" stroke-miterlimit="10" d="M -66.046125 -102.773375 L -29.198469 -102.773375 L -29.198469 -87.718687 L -66.046125 -87.718687 Z M -66.046125 -102.773375 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-1" x="80.223" y="111.204"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="85.792" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-2-0" x="88.906" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="95.108" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="85.792" y="113.861"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="47.37" y="110.518"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="53.75119" y="110.518"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="60.118033" y="110.518"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="128.725" y="110.518"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="135.10619" y="110.518"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="141.473033" y="110.518"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 70.588684%, 39.216614%)" stroke-opacity="1" stroke-miterlimit="10" d="M 29.196063 -102.773375 L 66.047625 -102.773375 L 66.047625 -87.718687 L 29.196063 -87.718687 Z M 29.196063 -102.773375 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-1" x="176.582" y="111.204"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="182.151" y="106.029"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="185.264104" y="106.029"/&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="189.235683" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="182.151" y="113.861"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="node" fill="none" stroke-width="1.49442" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 70.588684%, 86.274719%)" stroke-opacity="1" stroke-miterlimit="10" d="M 96.660906 -102.773375 L 133.512469 -102.773375 L 133.512469 -87.718687 L 96.660906 -87.718687 Z M 96.660906 -102.773375 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-0-1" x="242.931" y="111.204"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-1" x="248.5" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-2-0" x="251.613" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-3" x="257.816" y="106.029"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-1-2" x="248.5" y="113.861"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="210.079" y="110.518"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="216.46019" y="110.518"/&gt;
&lt;/g&gt;
&lt;g data-rollout-stage="3" data-rollout-kind="node" fill="rgb(0%, 0%, 0%)" fill-opacity="1"&gt;
&lt;use xlink:href="#rollout-joint-tree-0-glyph-3-0" x="222.827033" y="110.518"/&gt;
&lt;/g&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(100%, 54.902649%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -75.4055 -76.718687 L -115.089094 -86.972594 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(100%, 70.588684%, 78.431702%)" stroke-opacity="1" stroke-miterlimit="10" d="M -75.4055 -76.718687 L -47.62425 -86.972594 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 70.588684%, 39.216614%)" stroke-opacity="1" stroke-miterlimit="10" d="M 75.403094 -76.718687 L 47.621844 -86.972594 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;path data-rollout-stage="3" data-rollout-kind="edge" fill="none" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 70.588684%, 86.274719%)" stroke-opacity="1" stroke-miterlimit="10" d="M 75.403094 -76.718687 L 115.090594 -86.972594 " transform="matrix(1, 0, 0, -1, 137.093, 12.086)"/&gt;
&lt;/svg&gt;
&lt;/div&gt;
 &lt;div class="docs-rollout-controls" hidden&gt;
 &lt;div class="docs-rollout-progress"&gt;
 &lt;progress data-rollout-progress max="1" value="1" aria-label="Diagram animation progress"&gt;&lt;/progress&gt;
 &lt;span data-rollout-status&gt;Complete diagram&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="docs-rollout-actions"&gt;
 &lt;button type="button" data-rollout-play aria-label="Play diagram animation"&gt;
 &lt;svg class="docs-rollout-play-icon" viewBox="0 0 16 16" aria-hidden="true"&gt;&lt;path d="m5 3 7 5-7 5Z" fill="currentColor"/&gt;&lt;/svg&gt;
 &lt;svg class="docs-rollout-pause-icon" viewBox="0 0 16 16" aria-hidden="true"&gt;&lt;path d="M5.5 3v10m5-10v10" stroke="currentColor" stroke-width="2"/&gt;&lt;/svg&gt;
 &lt;span data-rollout-play-label&gt;Play&lt;/span&gt;
 &lt;/button&gt;
 &lt;button type="button" data-rollout-replay aria-label="Replay diagram animation"&gt;
 &lt;svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M3.5 5.5a5 5 0 1 1-.3 4M3.5 2.5v3h3"/&gt;&lt;/svg&gt;
 &lt;span&gt;Replay&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/figure&gt;

&lt;p&gt;Chaque episode commence par une tâche échantillonnée à partir de l&amp;rsquo;ensemble de données, ce qui fournit les observations initiales &lt;span class="book-katex"&gt;\( \mathbf{o}_0=\{o_{1, 0}, \cdots, o_{n, 0}\} \)&lt;/span&gt; et les historiques &lt;span class="book-katex"&gt;\( \mathbf{h}_0=\{h_{1, 0}, \cdots, h_{n, 0}\} \)&lt;/span&gt; pour tous les agents. À chaque tour, les agents génèrent un groupe de réponses conjointes &lt;span class="book-katex"&gt;\( \mathbf{a}^{\mathcal{G}}_t\gets\boldsymbol{\pi}^{\mathcal{G}}(\cdot|\mathbf{h}_t) \)&lt;/span&gt; à partir de leur historique d&amp;rsquo;observation-action actuel &lt;span class="book-katex"&gt;\( \mathbf{h}_t \)&lt;/span&gt;. Chaque réponse démarre une observation distincte rollout. Les agents reçoivent des récompenses conjointes &lt;span class="book-katex"&gt;\( r^{(g)}_{t} \)&lt;/span&gt; pour chaque réponse, en fonction de l&amp;rsquo;historique cumulé et de l&amp;rsquo;action conjointe actuelle &lt;span class="book-katex"&gt;\( \mathbf{a}^{(g)}_{t} \in \mathbf{a}^{\mathcal{G}}_{t} \)&lt;/span&gt;. &lt;strong&gt;Chaque rollout évolue ensuite indépendamment&lt;/strong&gt;, produisant de nouvelles observations conjointes &lt;span class="book-katex"&gt;\( \mathbf{o}^{\mathcal{G}}_{t&amp;#43;1} \)&lt;/span&gt; à mesure que l&amp;rsquo;environnement change et se ramifie davantage rollouts au prochain tour &lt;span class="book-katex"&gt;\( t&amp;#43;1 \)&lt;/span&gt;. Ce processus continue jusqu&amp;rsquo;à la fin &lt;span class="book-katex"&gt;\( H \)&lt;/span&gt;.&lt;/p&gt;</description></item><item><title>Voyage</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/env/travel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/env/travel/</guid><description>&lt;!-- External link entry --&gt;</description></item><item><title>Parallélisation de l'entraînement</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/training-parallelization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/training-parallelization/</guid><description>&lt;p&gt;CoMLRL peut placer différents modèles sur différents GPUs. Avec &lt;code&gt;parallel_training=&amp;quot;mp&amp;quot;&lt;/code&gt;, chaque agent fonctionne sur son propre appareil à partir de &lt;code&gt;agent_devices&lt;/code&gt;, et les agents génèrent simultanément ; critics, les modèles de récompense, les comparateurs et les modèles de référence utilisent leurs propres paramètres d&amp;rsquo;appareil. L&amp;rsquo;option par défaut, &lt;code&gt;&amp;quot;none&amp;quot;&lt;/code&gt;, maintient les agents sur un seul appareil. Les deux modes fonctionnent sur une seule machine et n&amp;rsquo;exigent aucun planificateur de tâches.&lt;/p&gt;
&lt;p&gt;Chaque modèle fonctionne entièrement sur son appareil attribué et n&amp;rsquo;est pas réparti sur GPUs. Les indices d&amp;rsquo;appareil font référence aux GPUs visibles via &lt;code&gt;CUDA_VISIBLE_DEVICES&lt;/code&gt;. Une configuration pour plusieurs modèles prend soit un appareil par modèle, soit un seul appareil pour tous, afin que les utilisateurs puissent faire correspondre le placement aux GPUs disponibles et à la mémoire de chaque modèle. Le placement et la planification parallèle des appareils peuvent affecter les résultats de l&amp;rsquo;entraînement numérique.&lt;/p&gt;</description></item><item><title>Utilisation d'outils</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/env/bfcl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/env/bfcl/</guid><description>&lt;!-- External link entry --&gt;</description></item><item><title>Questions-réponses</title><link>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/qa/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://openmlrl.github.io/CoMLRL/fr/docs/user-guide/qa/</guid><description>&lt;details class="docs-qa-item"id="what-are-the-differences-between-comlrl-and-other-multi-llm-training-frameworks"&gt;&lt;summary&gt;Quelles sont les différences entre CoMLRL et autres frameworks de formation multi-LLM ?&lt;/summary&gt;&lt;div class="markdown-inner"&gt;
&lt;p&gt;De nombreux frameworks supportent l&amp;rsquo;entraînement de systèmes multi-agents basés sur LLM, spécifiques à un rôle (&lt;a href="https://github.com/pettingllms-ai/PettingLLMs"&gt;PettingLLMs&lt;/a&gt;, &lt;a href="https://github.com/langfengQ/DrMAS"&gt;Dr. MAS&lt;/a&gt;, &lt;a href="https://github.com/TsinghuaC3I/MARTI"&gt;MARTI&lt;/a&gt;). La plupart sont formulés comme des jeux stochastiques partiellement observables (POSGs), dans lesquels chaque agent a sa propre récompense. Les règles de récompense manuelles pour chaque agent ou rôle rendent les signaux d&amp;rsquo;entraînement plus denses, mais leur conception est fastidieuse.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://arxiv.org/abs/2405.06161"&gt;Coopératif MARL&lt;/a&gt; a été étudié depuis longtemps et est normalement formulé comme un &lt;a href="https://www.fransoliehoek.net/docs/OliehoekAmato16book.pdf"&gt;Dec-POMDP&lt;/a&gt;. Dans un Dec-POMDP, tous les agents partagent une récompense, de sorte que la politique optimale conjointe est, en théorie, globalement optimale pour la collaboration. Cette formulation permet également aux agents de trouver des tâches plus spécifiques à partir de rôles divisés (voir le &lt;a href="https://huggingface.co/datasets/OpenMLRL/CoopHumanEval"&gt;CoopHumanEval&lt;/a&gt; domaine de codage). De plus, contrairement aux approches de partage de paramètres, CoMLRL prend principalement en charge l&amp;rsquo;optimisation de systèmes de véritables agents distincts LLM agents, ce qui représente mieux les environnements hétérogènes LLMs avec des capacités différentes et reflète directement le contexte multi-agent.&lt;/p&gt;</description></item></channel></rss>