Les Large-Language-Models ont été entrainés en majorité sur des textes en anglais et donc leurs capacités de raisonnement sont meilleures lorsque les instructions sont données dans cette langue.
Pour obtenir de meilleures performances, il est préférable d’écrire les prompts exclusivement en anglais.
Lorsque les réponses doivent être en français alors il est possible d’écrire un prompt en anglais mais de demander une réponse en français au LLM.
You are a very talented humorist.
Tell me your best joke about Elon Musk.
Answer only in FRENCH
Benchmark
Pour vérifier cette intuition, j’ai réalisé un benchmark en me basant sur un Agent capable de lire le code source des fonctions utilisateur d’un code écrit en Node.js.
Un point d’entrée contenant le code source d’une fonction est donné à l’Agent. Depuis cette fonction, il a pour tâche de demander à lire le code source de toutes les fonctions utilisateur appelées. (Voir l’article sur les Agents LLM en Node.js pour plus de détails)
La dernière fonction fournie à l’Agent est la suivante. L’Agent doit donc demander à lire les fonctions readTasksFromFile, generateId et writeTasksToFile.
function addTask(newTask) {
// "readTasksFromFile" function
const tasks = readTasksFromFile();
// "generateId" function
tasks.push({ ...newTask, metadata: { id: generateId() } });
// "writeTasksToFile" function
writeTasksToFile(tasks);
return newTask;
}
L’Agent peut demander à lire ces 3 fonctions en un seul prompt ou itérer en plusieurs fois.
Score
Le benchmark est lancé 10 fois par langue. Chaque tour de benchmark correspond à un appel au LLM.
Le score est calculé en fonction du nombre d’actions retournées dans la réponse, pour chaque action, 1 point est accordé. (La seule action disponible est celle pour demander à lire une fonction)
Sachant qu’il y a 3 fonctions à lire, le score maximal par tour est de 3.
Comme il y a 10 tours, le score maximal est donc 30. Ce qui correspond à un Agent ayant demandé à lire les 3 fonctions d’un coup à chaque tour.
Résultats
Le résultat donne un score de 26 pour le prompt en français contre 30 pour le prompt en anglais.
Le LLM est donc plus performant lorsque son prompt est écrit en anglais.
Le code du benchmark est disponible sur Github
Laisser un commentaire