La simplicité est un avantage, mais malheureusement la complexité se vend mieux
Pourquoi la complexité se vend-elle mieux ?
- La complexité signifie l’effort
- Un article avec des idées difficiles et des détails techniques évoque la sueur et les larmes
- Un système avec plus de composants et de fonctionnalités donne l’impression de demander plus d’effort qu’un système plus simple
- Les résultats complexes sont perçus comme ayant nécessité plus d’effort, donc plus difficiles à réaliser et plus précieux
- La complexité est souvent jugée comme une qualité supérieure parce qu’elle suppose davantage d’efforts
- La complexité signifie la compétence
- Un système complexe avec de nombreuses pièces en mouvement laisse entendre que le concepteur a une maîtrise de chaque composant ainsi que de leur intégration
- Un article truffé de jargon et de preuves, difficile à comprendre, montre une expertise sur le sujet
- Si une idée ou un système complexe est difficile à comprendre pour le grand public, son créateur est perçu comme un expert
- La complexité signifie l’innovation
- Un article qui invente une nouvelle architecture de modèle est reconnu comme plus novateur qu’un article qui applique un réseau existant
- Un système qui inclut des composants créés de zéro est jugé plus créatif qu’un système qui réutilise des composants existants
- Les travaux fondés sur des travaux existants, ou qui réutilisent des blocs existants, ne sont pas perçus comme très innovants
- La complexité signifie davantage de fonctionnalités
- Un système avec des composants pouvant être mélangés et combinés suggère une flexibilité pour couvrir tous les cas de base
- Un système complexe semble plus adaptable et mieux à même de faire face au changement, car il dispose de plus de blocs qu’un système simple
Pourquoi la simplicité est-elle un avantage ?
- Les idées et les fonctionnalités simples sont faciles à comprendre et à utiliser
- Cela augmente la probabilité d’adoption et crée de l’impact
- Il est aussi plus facile de communiquer et d’obtenir des retours
- En revanche, les systèmes complexes sont difficiles à expliquer et à gérer, ce qui rend difficile de comprendre ce que l’utilisateur doit faire et comment l’utiliser
- Les systèmes simples sont plus faciles à construire et à étendre
- Il est plus facile à implémenter avec moins de composants
- L’utilisation de technologies standard et prêtes à l’emploi facilite le recrutement de personnes compétentes pour déployer et maintenir le système
- Les systèmes simples, avec moins de complexité, de code et d’interactions internes, sont plus faciles à comprendre et à tester
- En revanche, les systèmes inutilement complexes demandent plus de temps et de ressources, ce qui entraîne des inefficacités et du gaspillage
- Les coûts opérationnels d’un système simple sont faibles
- La mise en production n’est pas une ligne d’arrivée, c’est la ligne de départ
- La plupart des efforts sont investis quand le système est en production ; en gardant le système simple, on réduit les coûts de maintenance et on augmente sa durée de vie
- En machine learning, les techniques simples ne sont souvent pas moins performantes que les techniques plus sophistiquées
- Les modèles basés sur les arbres performent mieux que les réseaux de neurones profonds sur des données tabulaires de taille moyenne
- Un algorithme glouton surpasse les réseaux de neurones de graphes sur les problèmes de graphe de combinaison
- Une moyenne simple montre des performances égales ou supérieures à des optimiseurs complexes sur des problèmes d’apprentissage multi-tâches
- Sur 32 articles, les méthodes simples ont été supérieures aux méthodes complexes en termes de précision prédictive
- En recommandation et recherche, le produit scalaire obtient de meilleures performances que le filtrage collaboratif neuronal
Problèmes liés à la récompense de la complexité
- Elle encourage les gens à complexifier inutilement
- Utiliser une méthode simple, ou construire un système simple, paraît trop facile et est donc évalué avec moins de valeur
- En conséquence, les gens manipulent le système pour obtenir plus de récompense, et la solution la plus simple n’est plus forcément la plus évidente
- Elle encourage une mentalité du type « Not invented here » et favorise la construction à partir de zéro plutôt que la réutilisation de composants existants
- Cela gaspille du temps et des ressources, et mène souvent à de moins bons résultats
Comment faut-il penser la complexité ?
- L’objectif devrait être de résoudre des problèmes complexes avec la solution la plus simple possible
- Il faut se concentrer sur la complexité du problème, et non sur la complexité de la solution
- Une solution simple montre une compréhension approfondie du problème et une capacité à éviter des solutions plus complexes et coûteuses
- Il faut envisager plusieurs solutions ciblées plutôt qu’une seule solution complexe censée tout résoudre
- Les solutions polyvalentes ne sont généralement ni aussi flexibles ni aussi réutilisables que prévu
- Elles existent pour plusieurs cas d’usage et parties prenantes, donc tendent à être « étroitement couplées » et demandent plus d’ajustements lors de la planification et des migrations
- En revanche, il est plus facile d’exploiter et de retirer des systèmes à usage unique
L’avis de GN⁺
- Cet article explique de manière convaincante pourquoi la complexité est préférée et quels sont les avantages de la simplicité. Le fait que la complexité soit associée à la compétence, à l’innovation et aux fonctionnalités rendait la lecture intéressante.
- Toutefois, il me semble difficile de considérer la solution simple comme meilleure dans tous les cas. Selon la nature du problème, un certain degré de complexité peut être nécessaire. Trouver l’équilibre entre simplicité et complexité sera important.
- Le fait de voir des exemples où un modèle simple donne de meilleures performances en machine learning était intéressant. Il serait utile de comparer les méthodes simples existantes avec celles de nouveaux modèles.
- Dans l’évaluation des performances organisationnelle, il faut faire attention à ne pas trop insister sur la complexité. Il semble préférable de se concentrer sur la difficulté du problème et l’efficacité de la solution.
- Lors de la conception de l’architecture, envisager plusieurs systèmes simples à usage unique plutôt qu’un système complexe universel pourrait aussi être une bonne approche.
1 commentaires
Avis Hacker News
Résumé :