Qwen3 vs GPT-OSS : benchmark sur CPU sans GPU

J'ai comparé Qwen3 30B-A3B et GPT-OSS 20B sur un AMD EPYC 4344P 8-Core sans GPU, et les résultats sont surprenants.

Les chiffres bruts

ModèleTokens/seconde
GPT-OSS 20B7,50 tks/s
Qwen3 30B-A3B (Q8_0)15,12 tks/s
Qwen3 30B-A3B (Q4_K_M)24,02 tks/s
Qwen3 30B (think mode)22,99 tks/s

Les deux modèles utilisent une architecture MOE (Mixture of Experts) : une sorte de collège d'experts plus petits mais plus spécialisés, où seuls certains experts sont activés par token pour réduire les calculs.

Pourquoi Qwen3 va aussi vite avec 50 % de paramètres en plus ?

C'est la question centrale. Qwen3 a 30 milliards de paramètres contre 20 milliards pour GPT-OSS, et pourtant il est deux à trois fois plus rapide sur CPU. L'image de Sebastian Raschka publiée sur X donne quelques clés.

Architecture Qwen3 30B

Architecture GPT-OSS 20B

La taille des experts fait toute la différence

C'est la clé du mystère. Avec des couches intermédiaires (FFN) bien plus légères que celles de GPT-OSS, chaque calcul dans Qwen3 est bien moins coûteux. Même avec 8 experts actifs (contre 4 pour GPT-OSS), le coût total reste inférieur.

L'attention, un facteur souvent sous-estimé

Pour enfoncer le clou, les 32 têtes d'attention de Qwen3, contre 64 pour GPT-OSS, réduisent considérablement les opérations QKV (Query, Key, Value), un gros consommateur de ressources. C'est un avantage majeur en inférence, particulièrement sur CPU.

Plus profond mais plus léger par couche

Avec 48 couches contre 24, Qwen3 est plus profond, mais chaque couche est plus légère. Sur CPU, ça compte énormément : le processeur peut traiter chaque couche rapidement, et la profondeur supplémentaire permet d'atteindre une meilleure qualité de raisonnement sans exploser le temps de calcul.

L'inconnue du format MXFP4

Reste une inconnue : le format MXFP4 (4-bit) utilisé par GPT-OSS pourrait aussi pénaliser ses performances sur des CPU qui n'ont pas de matériel dédié pour exploiter ce format efficacement. Sans support hardware natif, le processeur doit effectuer des conversions supplémentaires, ce qui ralentit l'inférence. C'est un point à surveiller.

Conclusion

Ce benchmark montre que le nombre total de paramètres d'un modèle n'est pas le facteur déterminant pour les performances en inférence sur CPU. Ce qui compte vraiment, c'est :

On refait les tests sur GPU ?