Mort de la loi de Moore ?
La loi de Moore est-elle morte ? Existe-il une loi de Moore "universelle" ?
La loi de Gordon Moore indique que les performances de calcul et de mémorisation des dispositifs informatiques doublent environ tous les 18 mois. Une multitude d'autres énoncés en ont été formulés, mais celui-ci est assez général et a été en gros vérifié entre 1960 et 2010. Depuis peu cependant une baisse de ce «rythme de progrès» semble se produire (Voir par exemple ici)
Je voudrais expliciter ici ma position sur cette loi et ses variantes multiples dont en particulier celles ayant des énoncés très généraux. La question posée est celle-ci :
- Peut-il exister un énoncé de la loi de Moore (affirmant un rythme constant de progrès) concernant toutes les technologies (donc pas seulement l'informatique), concernant la vie, et plus généralement concernant l'univers dans sa totalité ?
À propos de l'univers dans sa totalité, la question se reformule ainsi :
- Au-delà de l'affirmation que la complexité de l'univers augmente (énoncé parfois contesté mais assez souvent admis) peut-on envisager une loi plus fine, qu'on nommerait loi de Moore universelle, et qui affirmerait que la croissance de la complexité dans l'univers y est régulière et de nature exponentielle ?
Bien sûr, pour que ces questions aient un sens, il faut disposer d'une notion convenable de «complexité». Nous ne discuterons pas de ce problème en détail ici, mais je défends qu'une telle notion existe et qu'il s'agit de la profondeur logique de Bennett qu'on peut considérer comme une mesure de la complexité structurelle ou de la richesse en organisations et en calculs. Cette profondeur logique de Bennett mesure un «contenu en calcul» et on ne doit pas la confondre avec la complexité de Kolmogorov qui est une mesure de «contenu en information». Pour parler de cette mesure de complexité structurelle, j'aime employer l'expression de «calculs cristallisés» : le résultat de certaines interactions physiques, assimilables à des calculs, s'efface parfois (un caillou qui tombe dans l'eau par exemple). D'autres interactions réalisant des calculs voient leurs résultats préservés (la croissance d'un arbre par exemple), et évidemment ce sont eux qui constituent un progrès et un enrichissement structurel (parfois seulement temporaire). L'évolution biologique est assimilable à un calcul dont les résultats se fixent progressivement et s'enrichissent créant et permettant la préservation d'une multitude de structures (fonctionnelles) ; bien évidemment à cette cristallisation des calculs de l'évolution correspond un accroissement de complexité structurelle. Une loi de Moore générale, si elle devait exister concernerait cette complexité d'organisation ou contenu en calcul cristallisé. On trouvera plus de détails sur les mesures de complexité en 1 ou 2 ou dans le petit livre 3.
***
Revenons sur la loi de Moore informatique rappelée plus haut. En fait, il s'agit d'une loi empirique que jamais personne n'a prise totalement au sérieux, en ce sens que personne n'a jamais soutenu qu'elle pourrait rester vraie indéfiniment.
Qu'elle ait été vraie durant une longue période est un fait remarquable et inattendu. L'explication principale simplifiée de ce petit miracle est la découverte et la maîtrise progressives et en grande partie planifiée par les industries concernées de l'espace disponible à petite échelle entre le centimètre et le nanomètre. «There's plenty of space at the bottom» annonçait Richard Feynman en 1959, et c'est de cet espace en bas que la loi de Moore informatique, petit à petit, s'est emparé.
Des investissements de plus en plus importants permettant une «programmation» des avancées ont permis d'aller occuper le monde du «très petit» avec une efficacité croissante : c'est la miniaturisation des transistors et plus généralement de tous les dispositifs électroniques. Tout s'est passé comme lorsqu'une espèce vivante —par exemple de fourmis— prend possession d'un terrain ouvert et libre. Après s'y être introduit —peut-être par accident—, elle y occupe, mois après mois, une aire qui croît approximativement comme le carré du temps, car la progression dans l'espace se fait à une vitesse presque constante dans toutes les directions sur la surface du terrain.
Dans le cas de la loi de Moore, l'espace n'est pas de dimension deux comme pour les fourmis, mais bien supérieure car une multitude de facteurs scientifiques, économiques et techniques le définissent et le déterminent. Au lieu d'une croissance en t 2, on observe donc assez naturellement une croissance d'apparence exponentielle.
Lorsque la fourmi conquérante finit par occuper toute l'île sur laquelle elle s'est installée, ou le continent où elle a été déposée par accident, la croissance s'arrête : il n'y a plus d'espace à conquérir. L'affinement des dessins sur les plaques de silicium finit de même par atteindre des ordres de grandeur proches de ceux des atomes, ce qui en bloque la poursuite ; c'est pourquoi la loi de Moore cesse d'être vérifiée ; il ne reste plus d'espace à occuper. On peut espérer qu'une nouvelle technologie prendra la relève —puces en trois dimensions, calculateurs optiques ou quantiques, etc.—, mais ce n'est pas certain et la régularité du progrès a de grandes chances de s'en trouver perturbée. Il est probable que les performances des calculateurs continueront de progresser une fois le saut technologique opéré, mais il est improbable qu'il y ait ajustement parfait des courbes, et c'est donc un autre rythme de progrès qu'on observera une fois atteinte l'impossibilité d'un dessin plus fin que l'atome... et nous n'en sommes plus loin.
Certains, comme Hans Moravec, imaginent et annoncent que de transition technologique en transition technologique, le rythme de progrès dans le domaine du calcul et de la mémoire s'accélère : le temps nécessaire à un doublement des performances diminue. Même si cela a été vrai dans le cas particulier des technologies du calcul durant le vingtième siècle, cela ne s'est pas produit pour les autres technologies (un seul exemple : l'automobile). Je ne vois pas pourquoi les technologies du calcul bénéficieraient d'un privilège particulier leur permettant de poursuivre toujours sur un même rythme de progrès exponentiel. Je suis donc persuadé que l'âge d'or de la loi de Moore informatique est derrière nous : nous ne connaîtrons plus une avancée des performances dans ce domaine d'un facteur un million en trente ans, analogue à l'avancée observée entre 1975 et 2005. La loi de Moore (de l'informatique) sera bientôt morte.
***
Venons-en au problème d'une loi de Moore universelle. D'abord, remarquons que les études qui essaient de généraliser la loi de Moore aux diverses technologies ne prétendent jamais observer le même facteur de croissance (2 tous les 18 mois pour l'informatique pendant plusieurs décennies).
On trouvera ici des données et de très nombreuses courbes illustrant les progrès technologiques. Un article récent analyse avec soin les statistiques du progrès selon les domaines et montre qu'en histoire des technologies, les choses sont loin d'être uniformes.
Le travail beaucoup plus ambitieux mené par Alexei Sharov et Richard Gordon concerne le monde vivant dans toute sa généralité. Il défend l'idée d'un doublement de complexité tous des 350 millions d'années. On est loin d'un facteur 2 tous les 18 mois !
L'idée d'une accélération (pour les technologies du calcul) est certes tentante —et fait rêver—, mais elle omet de comprendre que les progrès rapides dans un domaine sont toujours une sorte de «remplissage d'un espace disponible». L'idée de remplissage pour parler d'une loi exponentielle (ou quadratique, ou autre) de progrès est bien sûr simplificatrice car seule l'étude détaillée de chaque cas conduit à comprendre les raisons circonstanciées de ce que les courbes montrent. Rien cependant ne peut croître indéfiniment dans le monde réel et ceux qui pensent le contraire et évoquent comme pour s'en excuser une «singularité» à venir se gardent bien de trouver un accord entre eux pour préciser ce que signifie une telle prétendue inévitable discontinuité.
Dans le cas d'une loi abstraite générale concernant «la complexité de l'univers» quels seraient ces espaces vides qui vont être occupés et qui —pour qu'il y ait l'accélération régulière annoncée— devraient être de plus en plus grands et faciles à conquérir ? Où sont-ils ? En l'absence de réponse, on doit rester dubitatif sur l'existence d'une loi de Moore générale s'étendant à l'univers ou même seulement à notre système solaire, ou même à la biosphère terrestre.
Je ne crois pas à l'affirmation d'un rythme continu de croissance de la complexité. Les vitesses constantes de progrès —l'étude de l'histoire des technologies le prouve— sont temporaires, elles dépendent de facteurs propres à chaque domaine. Les périodes de progrès sont parfois brèves, d'autres fois elles sont plus longues mais limitées en puissance. Elles ne se suivent pas et ne s'organisent pas selon un principe général qui permettrait d'en prédire la vitesse, car celle-ci est liée à la nature de l'espace qui se remplit, chaque cas ayant ses caractéristiques. Du coup le rythme du progrès augmente ou diminue d'une période à la suivante, et parfois cesse.
Dans aucun domaine, il ne peut y avoir de loi de Moore illimitée et il n'y a pas de loi de Moore abstraite concernant la complexité structurelle en général de l'univers. Les généralisations formulées sont de simples rêves qui se présentent avec un vague air scientifique, bien souvent simplement parce qu'on dessine un segment de droite en reliant quelques points et qu'on prend une règle pour le prolonger.
***
Précisons encore quelques idées à propos de l'augmentation de la complexité (régulière ou non) et de la complexité structurelle. La seule "complexité" qui mérite qu'on la considère comme un progrès est ainsi que je l'ai dit plus haut le contenu en calcul ("calcul cristallisé") mesurée —au moins en première approximation— par la profondeur logique de Bennett, qui, en langage non technique, est le temps de calculs des programmes les plus courts susceptibles de produire (à partir de rien) les structures auxquelles on s'intéresse.
La seule question qui puisse vraiment avoir un sens est donc celle-ci : ce contenu cristallisé de calcul a-t-il des raisons particulières de croître, et si oui, de croître selon un régime constant ?
Une idée très simple vient à l'esprit. L'augmentation du contenu en calcul cristallisé sur terre et dans l'univers est liée à deux paramètres principaux :
(a) la capacité présente dans le monde à un instant donné de mener des calculs «intelligents» c'est-à-dire non redondants : calculer deux fois un million de décimales de π, mis à part que cela en permet la vérification, n'est pas créer deux fois plus de complexité que les calculer une seule fois ;
(b) la capacité (présente dans le monde au même instant) de stockage des résultats des calculs qui s'y effectuent, et de conservation des traces de ceux du passé.
Or il est clair que quel que soit le point où l'univers en arrivera dans son évolution, il sera toujours freiné dans sa capacité à créer cette complexité et à la stocker : parfois le monde calculera, mais ne saura pas mémoriser ; parfois, il sera obligé de refaire sans cesse les mêmes calculs du fait de la limitation des communications entre systèmes de calculs éloignés, etc. Avant l'invention de l'écriture, le monde était dans l'impossibilité de mémoriser convenablement tout ce que les intelligences humaines créaient comme complexité structurée. Seule, une faible partie de la connaissance élaborée par les cerveaux humains était transmise d'une génération à la suivante. Les inventions successives du langage, de l'écriture, de l'imprimerie, des supports magnétiques, etc. sont des ruptures. À chaque fois, la capacité de mémorisation s'est accrue et donc le rythme d'accroissement de la complexité structurelle présente sur terre. La multiplication des réseaux de communication, et des systèmes locaux de calcul que sont les ordinateurs et aujourd'hui les smart-phones et les tablettes rendent possible toujours plus de calculs et un stockage toujours meilleur.
En définitive, soumis à toutes sortes de mutations et d'évolutions, le monde (en se limitant à ce qui se passe sur terre) voit sa capacité à créer et mémoriser des calculs, de l'information et de la structure progresser. Il y a des périodes d'accélération des technologies de l'information et du calcul, le vingtième siècle en a été une. D'autres périodes voient un ralentissement ou même un arrêt des progrès de ces technologies (ce qui n'interdit pas bien sûr que la complexité structurelle continue d'augmenter en utilisant la technologie disponible). Ce sera peut-être le cas du XXIe siècle ; l'information structurelle continuera très vraisemblablement de croître, mais à un rythme réduit comparé à celui de la période des 50 ans de la loi de Moore informatique.
En gros, la complexité organisée, équivalente à du calcul "cristallisé", augmente dans la grande majorité des époques (du moins pour celles qui ne sont pas trop éloignées cosmologiquement de nous), mais cette augmentation n'est pas régulière. L'histoire fonctionne par à-coups. Chaque période possède son régime de croissance propre. On ne voit aucune raison de croire à un régime général, stable sur de longues périodes, ou nécessairement en accélération.
Précisons qu'une époque peut être le théâtre d'une série liée de progrès, chacun débloquant le suivant et provoquant une accélération nette du progrès durant l'espace de quelques années ou décennies. Les cinquante dernières années ont connu ces cascades de progrès dans le domaine de la puissance de calcul : la miniaturisation des composants électroniques, non seulement donne plus de puissance de calcul aux centres spécialisés seuls autrefois à disposer d'ordinateurs, mais elle finit par rendre possible l'ordinateur personnel (ce qui provoque une multiplication de la puissance de calcul totale disponible qui atteint alors un niveau bien supérieur à ce que la simple augmentation de puissance unitaire aurait permis), puis finit même par rendre possible la transformation de tout téléphone en ordinateur (ce qui induit encore une augmentation accélérée de la puissance de calcul cumulée, et donc indirectement de la complexité structurelle). Ces progrès en cascade —et il y en a fréquemment— donnent l'impression d'une accélération du progrès (Raymond Kurzweil évoque une "law of accelerating returns"), mais je crois qu'il ne faut pas penser que la cascade dure indéfiniment, elle aussi s'épuise, conduisant à un plateau avec un haut niveau de capacité à produire de la complexité organisée, mais sans plus aucune accélération. L'industrie automobile a connu une telle période de progrès en cascade permettant une amélioration rapide des performances et de la fiabilité des véhicules qu'elle produisait : l'époque des années 1900-1930. Après cette phase d'accélération, les progrès se sont poursuivis, mais plus lentement. Il n'y a pas de loi générale d'accélération !
Ni pour la mémoire et le calcul, ni pour aucun domaine technologique particulier, je ne crois à une loi de Moore illimitée ou accélérée. Pas plus, je n'y crois pour la complexité structurelle aux échelles de la terre, de la galaxie ou du cosmos. Il n'y a aucune raison sérieuse de penser que la croissance de la complexité puisse suivre un régime simple, prévisible et donc qu'elle soit constante ou régulièrement accélérée. Il y a trop d'aléas et de contingences dans l'univers, les espaces abstraits physiques et technologiques qui déterminent les vitesses de progrès dans ces domaines sont trop variés et différents les uns des autres, pour qu'une «loi de Moore universelle» se vérifie. Nous sortons d'une période de 50 ans où nous avons pu observer une vitesse de croissance presque métronomique dans le domaine de l'informatique. N'ayons pas la naïveté de croire que cela durera, ou —naïveté plus grave encore— de croire que la complexité structurelle obéit à une loi de Moore universelle.
On peut admettre ou discuter que la complexité structurelle augmente (je pense que oui), mais il n'est pas raisonnable de défendre que ce soit à vitesse constante, ou selon un rythme toujours accéléré.
Billet très intéressant (comme à l'habitude).
Et comme à l'habitude je vais y mettre un grain de sel, non pas contradictoire, mais divergent dont le fondement est l'aspect fonctionnel. Ne m'en veuillez pas car je vous assure que je n'y mets aucune malice.
Si nous pouvions ainsi éclairer une autre réalité ..... !
Vous allez voir que le raisonnement s'oriente différemment si l'on inclut le concept naturel de "processus".
Un "processus" est une déformation continue d'un espace-temps qui s'étale ENTRE une "position" initiale et une "position" finale que l'on peut "décrire" par une fonction symplectique. L'espace-temps correspondant est "fermé" et satisfait aux axiomes de fermeture de Kuratovski. Ce processus est "physique" ou "matériel" s'il est "consistant" (sa taille est telle qu'il existe un "milieu" identifiable). Il est "psychique" ou "imaginaire" dans le cas contraire.
Une "droite" est une entité imaginaire qui ne peut être décrite par aucun processus physique. Un "segment" est un objet réel, matérialisable et descriptible par un processus, dès lors que sa "taille" permet de différencier l'origine, la fin et le milieu.
Nous admettrons facilement l'existence de "limites" matérielles aux deux extrémités : taille minimale et taille maximale, qui sont liées au "contexte".
Et nous dirons tout de suite : Pour enfermer davantage de contenu dans un "volume" plus petit, il faut un contexte plus "fin" (la pixellisation augmente) et pour augmenter le volume d'informations, il faut un "espace" plus grand.
Ces deux conditions s'articulent comme une loi de Mariotte et il existe une limite matérielle qui dépend du contexte. L'étude de cette loi aidera à comprendre vos interrogations et la notion de "sauts" quantiques.
Ceci acquis, nous pouvons passer au mode "activation" d'un processus. On peut activer un processus en disposant d'un "quantum d'action" suffisant. Ce quantum dépend du contexte. Le processus peut être "isolé" dans ce contexte, (comme un rond dans l'eau) ou "enchainé" (croissance d'un arbre). On peut parfaitement définir les conditions d'enchainement à partir d'équations symplectiques.
Mais, dans tous les cas, un processus est voué à l'effacement. Même un arbre finit par s'effacer. D'où la question qui s'impose ici :
Quel est, du point de vue fonctionnel, l'intérêt de mémoriser le mode d'activation d'un processus ? Et comment produire le quantum d'action au moment et à l'endroit précis où il convient de rendre ce processus actif ?
Et nous aurons, bien sûr, les questions antinomiques correspondantes : Quel est l'utilité de conserver en mémoire un processus inutile (toujours du point de vue fonctionnel) ? Et comment produire le quantum de modération capable de l'inhiber au moment et à l'endroit précis où il devient actif ?
Vous en conviendrez : l'importance de cette étude est capitale pour notre évolution. Il ne reste à définir QUE l'aspect décisionnel : QUI doit prendre la décision de l'un ou de l'autre (activation ou inhibition) ?
Maintenant .... philosophons donc.
Merci pour cet article qui offre un point de vue tout à fait pertinent et désolé pour mon commentaire un peu "lourd". Oui, entre les ruptures technologiques, les paliers sont possibles et même sont la règle habituelle.
Cependant un facteur est omis à mon humble sens : la puissance de calcul disponible conditionne maintenant de façon inéluctable notre capacité à créer de nouvelles connaissance, tous domaines scientifiques confondus. Y compris en ce qui concerne celui de la puissance de calcul elle-même.
Alors, comme me disait mon cousin "plus tu pédales moins vite et moins t'avance plus vite". Le corolaire, appliqué à la connaissance tend à me faire penser que le nombre de ruptures technologiques à venir est inédit. Bien sûr c'est exaltant de le penser, et facile de se laisser séduire.
L'exploitation des "acquis" technologiques sur le palier sur lequel nous pourrions nous trouver en matière de calcul sont à même de créer nombre de ruptures dans d'autres domaines que le calcul intensif (la santé notamment mais pas seulement).
La puissance de calcul crée de la connaissance, la connaissance crée entre autre de la puissance de calcul. Et l'on pourrait arriver plus rapidement qu'on ne le pense à une IA équivalente à celle du cerveau d'un scientifique (en fait on y est déjà, cf. la puissance flops du réseau bitcoin). y compris dans le domaine du calcul.
Après, que peut-on faire d'autre que boucler et accélérer. Et l'on accélère non pas dans la puissance de calcul (qui n'a pas de finalité en soi), mais à mon avis (et ça n'engage que moi, je ne l'ai pas lu ailleurs) dans la convergence entre l'homme et son environnement.