Présentation du problème
Le routage de modèles est souvent considéré comme un problème de classification, mais en réalité, il s’agit d’un problème d’optimisation des systèmes. Les systèmes de routage doivent prendre en compte plusieurs facteurs tels que le coût, la latence, la qualité et la conformité.
Problèmes rencontrés
L’équipe de recherche d’IBM a constaté que le coût réel d’utilisation d’un modèle dépend de l’interaction entre le modèle, la charge de travail et l’infrastructure de serveur. Par exemple, le modèle GPT-4.1 était censé être moins cher que le modèle Claude Sonnet 4.6, mais en pratique, le coût était plus élevé en raison de la mise en cache.
Un autre problème est que la difficulté d’une tâche est souvent invisible au moment du routage. Une requête simple peut nécessiter plusieurs étapes de traitement, tandis qu’une requête technique complexe peut être traitée efficacement par un modèle spécialisé plus petit.
Solution
La solution consiste à traiter le routage comme un problème d’optimisation plutôt que de classification. L’algorithme d’optimisation prend en compte plusieurs facteurs tels que le coût, la qualité et la latence pour trouver le meilleur point de fonctionnement pour l’ensemble du système.
Exemple de code :
# Routage basé sur l'optimisation
def optimize_routing(task, models):
# Définition des paramètres d'optimisation
params = {'cost': 0, 'quality': 0, 'latency': 0}
# Boucle sur les modèles pour trouver le meilleur point de fonctionnement
for model in models:
# Évaluation du coût, de la qualité et de la latence pour chaque modèle
cost = evaluate_cost(task, model)
quality = evaluate_quality(task, model)
latency = evaluate_latency(task, model)
# Mise à jour des paramètres d'optimisation
params['cost'] = min(params['cost'], cost)
params['quality'] = max(params['quality'], quality)
params['latency'] = min(params['latency'], latency)
# Retour du meilleur modèle en fonction des paramètres d'optimisation
return paramsRésultats
Les résultats montrent que l’approche d’optimisation peut améliorer significativement le coût, la latence et la qualité du routage de modèles. Par exemple, la configuration 1 (optimisée pour la latence) a atteint une précision de 84 % pour un coût de 93 $ et une latence de 83 s, ce qui représente une réduction de coût de 21 % et de latence de 9 % par rapport à l’exécution du modèle Opus seul, avec une perte de précision de seulement 4 %.