Comparaison des performances des API de 13 fournisseurs LLM avec Node.js : latence et temps de réponse selon les modèles

DEV - 25/06
TL;DR : Cet article analyse les performances de diverses API de grands modèles de langage (LLM), notamment...

TL;DR : Cet article analyse les performances de diverses API de grands modèles de langage (LLM), notamment OpenAI, Anthropic, Cloudflare AI, Google Gemini, Groq, Hugging Face, etc. J'ai testé un petit modèle et un grand modèle de chaque fournisseur avec une invite simple et un résultat limité, partageant les principales conclusions et une analyse détaillée des temps de réponse. Vous pouvez reproduire l'expérience à l'aide du référentiel GitHub comparant-llm-api-performance.

Performances de l'API LLM

En tant que développeur travaillant avec des API LLM (Large Language Model), les performances sont l'une de mes principales considérations lors de la sélection d'un fournisseur d'API LLM. Une faible latence et des temps de réponse rapides sont cruciaux pour les applications nécessitant des interactions en temps réel.

Dans cet article, je compare les performances API de différents fournisseurs LLM : AI21 Studio, Anthropic, Cloudflare AI, Cohere, Fireworks AI, Google Gemini, Goose AI, Groq, Hugging Face, Mistral AI, OpenAI, Perplexity et Reka AI. Pour calculer les temps de réponse moyens, j'ai testé chaque API plusieurs fois, en soumettant la simple invite « Expliquez l'importance des LLM à faible latence ». Les modèles petits et grands ont été testés à moins qu'ils n'étaient pas disponibles.

Processus de comparaison des API LLM

Pour garantir une comparaison équitable, j'ai écrit un script de test Node.js en utilisant lecli-progrès,interface llm, etnœud-pingForfaits NPM.cli-progrèsfournit des commentaires aux utilisateurs via des tests,interface llmfournit une interface unifiée pour plusieurs fournisseurs LLM, simplifiant considérablement les interactions avec mon fournisseur LLM, etnœud-pinga facilité la collecte des moyennes de latence.

Le script de test évalue les performances de diverses API LLM de plusieurs fournisseurs en envoyant dix fois une simple invite à l'API de chaque fournisseur. Le script mesure les indicateurs de performances clés de chaque fournisseur, notamment la latence, le temps de réponse moyen, l'écart type et le taux de réussite. Pour éviter les erreurs de dépassement de limite de débit, le script inclut un intervalle de veille configurable entre les requêtes. (La veille par défaut est de 1 seconde mais est configurable car j'ai rencontré des problèmes avec Google Gemini et Mistral AI à cet intervalle.) Utilisation des alias de modèle intégrés inclus avecinterface llm, le script enregistre les résultats et les données de performances pour les deuxpetitetgranddes modèles. Les résultats sont compilés dans un fichier CSV, tandis que des exemples de réponses des modèles sont enregistrés dans des fichiers de démarques pour un examen ultérieur. Pour cet article, j'ai demandé à Claude d'Anthropic d'évaluer la qualité des résultats. Cette approche garantit une évaluation précise des performances des LLM chez différents fournisseurs.

(Si vous êtes intéressé par les réponses API, je les ai incluses plus tard dans cet article, après les clés API.)

Méthodologie de classement

J'ai classé les fournisseurs en fonction d'une combinaison de leur latence, de leur temps de réponse moyen et de l'écart type de leurs temps de réponse plutôt que de considérer uniquement le temps de réponse moyen (ms). Pourquoi? La latence mesure le retard initial de la communication réseau, ce qui est crucial pour garantir des interactions rapides. Le temps de réponse moyen indique la rapidité avec laquelle un fournisseur peut traiter et renvoyer une réponse, tandis que l'écart type mesure la cohérence de ses performances. En prenant en compte ces trois indicateurs, vous pouvez identifier les fournisseurs qui offrent non seulement de la vitesse, mais également de la fiabilité et de la cohérence, ce qui est essentiel pour les applications qui nécessitent des interactions en temps réel ou des réponses rapides.

Résultats de comparaison des API LLM

Commençons par visualiser les résultats avec un graphique utile.

La latence peut être définie comme « le temps nécessaire à un paquet de données pour voyager d'un point à un autre ». Le tableau suivant affiche la latence moyenne pour chaque fournisseur.

Latence moyenne (ms)

FournisseurLatence moyenne (ms)
OpenAI16.463
Adhérer16.572
Anthropique16.893
Google Gémeaux17.044
Visage câlin17.564
Mistral IA17.733
IA de feux d'artifice18.135
AI21 Studio18.499
IA d'oie18.573
Perplexité18.632
Reka IA19.411
IA Cloudflare19.812
Groq20.364

Si l’on considère uniquement la latence, OpenAI, Cohere et Anthropic démarrent tous fort. Cependant, le tableau suivant fournit les résultats de mes tests en utilisant leinterface llmpetitdes modèles. Les résultats sont triés par temps de réponse moyen. Quand on évalue les temps de réponse moyens, Anthropic et Cohere glissent légèrement, et OpenAI se retrouve en 8ème position.

Temps de réponse moyens des petits modèles (ms)

FournisseurPetit modèleTemps de réponse moyen (ms)Écart type (ms)
Visage câlinPhi-3-mini-4k-instruct117.05292.733
Groqgemma-7b-it269.841100.261
IA de feux d'artificephi-3-mini-128k-instruct802.078186.151
Anthropiqueclaude-3-haïku-202403071534.910167.900
Adhérervoyant de commande1668.84561.123
Google Gémeauxgemini-1.5-flash1660.029154.032
AI21 Studiojamba-instruire2403.589253.886
OpenAIdavinci-0022713.774305.483
Perplexitélama-3-sonar-petit-32k-en ligne3182.196182.791
Mistral IAmistral-petit-dernier3509.565164.051
Reka IAbord reka8008.077200.714
IA Cloudflaretinyllama-1.1b-chat-v1.010188.783375.586
IA d'oiegpt-neo-125m13673.527216.091

Le tableau suivant fournit les résultats de mon test en utilisant les modèles fournis parinterface llmquand j'ai préciségrandpour mon modèle. Les résultats sont triés par temps de réponse moyen. Hugging Face et Groq ont réussi à maintenir leurs positions, tandis que Google Gemini a bondi de manière assez agressive. Nos premiers leaders, Anthropic et Cohere reculent encore, tandis qu'OpenAI parvient à remonter jusqu'à la 7ème position.

Temps de réponse moyens des grands modèles (ms)

FournisseurGrand modèleTemps de réponse moyen (ms)Écart type (ms)
Visage câlinMeta-Llama-3-8B-Instruct87.0072.051
Groqlama3-70b-8192240.47757.709
Google Gémeauxgemini-1.5-pro1667.225134.025
IA de feux d'artificelama-v3-70b-instruct2139.5541183.900
AI21 Studiojamba-instruire2343.352357.796
Anthropiqueclaude-3-opus-202402292783.032398.567
OpenAIgpt-4o2718.319478.816
Adhérercommande-r-plus3063.929554.372
Perplexitélama-3-sonar-large-32k-en ligne3238.213251.588
Mistral IAmistral-large-dernier3765.701789.968
Reka IAreka-core7886.81170.113
IA Cloudflarelama-2-13b-chat-awq10521.854603.000
IA d'oiegpt-neo-20b13592.48643.428

Le tableau suivant combinepetitetgrandmodéliser les temps de réponse moyens.

La qualité des réponses

Pour évaluer la qualité des réponses, j'ai décidé de me faire aider par Claude d'Anthropic. Pour ce faire, j'ai simplement téléchargé les deux fichiers de démarques générés et fourni l'invite suivante : "J'ai demandé à 13 LLM une réponse à l'invite 'Expliquez l'importance des LLM à faible latence'. Pouvez-vous classer les 3 premiers et expliquer pourquoi ? Répondez sous forme de paragraphe. »

Réponses des petits modèles

Dans le plus petit échantillon, les réponses les plus fréquentes communiquaient efficacement l’importance de la faible latence dans les LLM, bien qu’avec des niveaux de détail variables. La réponse de Google Gemini excellait grâce à son approche structurée, couvrant un large éventail d'applications allant de l'IA conversationnelle à la traduction en direct. Fireworks AI a fourni une explication concise mais informative, mettant l'accent sur l'IA conversationnelle en temps réel et les systèmes interactifs tout en abordant l'expérience utilisateur. La réponse de Groq a offert un aperçu solide, mettant en évidence les interactions et les applications en temps réel dans les chatbots et les assistants vocaux. Ces réponses les mieux classées dans le plus petit échantillon ont collectivement souligné l'importance d'un traitement rapide pour améliorer les interactions des utilisateurs, permettre des applications en temps réel e...
[Courte citation de 8% de l'article original]

Loading...