1 points par GN⁺ 2023-07-08 | 1 commentaires | Partager sur WhatsApp
  • OpenWorm est un projet visant à construire un modèle computationnel complet de Caenorhabditis elegans (C. elegans), un nématode microscopique
  • Son approche repose sur une modélisation ascendante, qui simule les données issues d’expériences scientifiques menées au cours de la dernière décennie afin d’observer si le comportement du ver émerge
  • Le conteneur Docker regroupe les principaux composants de la simulation dans un environnement exécutable sur une machine locale
    • exécution du modèle du système nerveux c302
    • exécution en parallèle du modèle corporel 3D du ver, Sibernetic, à partir de la sortie du modèle du système nerveux
    • génération de graphiques du fonctionnement des modèles nerveux et corporel
    • génération d’une vidéo de sortie du modèle corporel
  • La durée d’exécution de la simulation par défaut est limitée pour rester raisonnable, et seule une sortie partielle correspondant à environ 5 % du temps d’exécution est affichée par rapport à la sortie d’exemple {p:5}
  • Les prérequis d’exécution sont au minimum 60 Go d’espace libre, au moins 2 Go de RAM, un environnement capable de cloner un dépôt git et Docker installé
  • Le flux d’exécution se compose de git clone, ./build.sh en option, ./run.sh, stop.sh après la fin, puis vérification du répertoire local output
  • Si vous sautez ./build.sh, la dernière image Docker publiée est téléchargée depuis OpenWorm Docker hub
  • L’argument -d [num] permet de modifier le temps de simulation en millisecondes ; la valeur par défaut est 15, et la valeur pour générer la vidéo d’exemple complète est 5000
  • ./run-shell-only.sh sert à se connecter au conteneur avant l’exécution de master_openworm.py pour inspecter ou modifier la base de code extraite et le système installé
  • Pour modifier les éléments d’installation, il faut éditer le Dockerfile ; pour modifier les éléments d’exécution, il faut éditer master_openworm.py, puis exécuter build.sh afin de reconstruire l’image locale
  • Par défaut, seules certaines images et vidéos sont exportées vers le système hôte ; pour récupérer la sortie complète de la simulation ou des données comme worm_motion_log.txt, il faut les copier depuis le conteneur Docker
  • Comme stop.sh supprime le conteneur et les fichiers associés, il ne faut pas l’exécuter avant d’avoir récupéré les données
  • Une documentation supplémentaire est disponible sur http://docs.openworm.org, et le dépôt contient des high-level issues et des milestones pour suivre l’ensemble du projet

1 commentaires

 
GN⁺ 2023-07-08
Avis sur Hacker News
  • 302 neurones peuvent ne pas sembler impressionnants pour quelqu’un habitué aux réseaux neuronaux de 7+ milliards de paramètres
    Mais le point commun entre ces réseaux et les neurones biologiques est à peu près comparable au point commun entre un vélo et un cheval. Les deux peuvent se déplacer assez vite, mais l’un a évolué au fil de plus d’un milliard d’années de sélection naturelle impitoyable, tandis que l’autre est une machine métallique finement réglée pour un objectif unique
    Les neurones, eux aussi, sont des machines biologiques extrêmement sophistiquées, avec des milliards de paires de bases d’ADN qui contrôlent le comportement, et le comportement émergent des neurones est assez fascinant, aussi bien dans les systèmes biologiques que dans les systèmes d’IA

    • En plus de cela, ces neurones sont aussi assez différents de ceux des mammifères
      « Ces neurones ne déclenchent pas de potentiels d’action et n’expriment pas non plus de canaux sodiques voltage-dépendants » [1]
      Ce qui rend le fait qu’une dépendance à la nicotine puisse exister encore plus intéressant
      « C. elegans peut aussi servir à étudier la dépendance à la nicotine, car il présente des réponses comportementales à la nicotine similaires à celles des mammifères. Cela inclut les réponses aiguës, la tolérance, le sevrage et la sensibilisation » [1]
      [1] https://en.m.wikipedia.org/wiki/Caenorhabditis_elegans
    • J’ai parlé de « milliards de paires de bases d’ADN qui contrôlent le comportement », mais la taille de l’ensemble du génome de C. elegans est de 100 millions de paires de bases
    • La meilleure façon de voir les choses est qu’un neurone biologique est en soi une machine complexe remplie de circuits de contrôle génétique
      Ces circuits ressemblent par certains aspects à des réseaux neuronaux et, surtout, possèdent une mémoire et des états qui persistent sur des durées courtes comme longues. Chaque neurone est plus proche d’un organisme vivant capable d’apprentissage et de comportement que d’un paramètre dans un modèle
      À l’inverse, un « neurone » virtuel est une abstraction mathématique très simple, dont la complexité de calcul est écrasamment inférieure à celle d’un neurone biologique. Le connectome n’est qu’une carte très grossière de la manière dont les neurones sont reliés entre eux, loin d’un schéma complet du « réseau neuronal »
      On pourra peut-être modéliser un neurone biologique comme un sous-réseau neuronal avec état à l’intérieur d’un plus grand réseau neuronal, mais même en supposant une équivalence computationnelle, on ne sait absolument pas combien de « neurones » virtuels seraient nécessaires pour représenter l’ensemble des comportements computationnellement importants d’un neurone biologique
      Donc un ver doté de 302 neurones biologiques pourrait, du point de vue computationnel, être équivalent à des milliards de neurones virtuels, ou non, on n’en sait vraiment rien
      Le fait que les neurones aient une mémoire peut les faire paraître un peu similaires aux réseaux LSTM, et comme les réseaux biologiques ne sont pas un simple passage avant, ils sont certainement plus proches de réseaux neuronaux récurrents
      C’est pour cela que les gens qui parlent de mind uploading me font rire. Je ne pourrai pas m’empêcher de rire tant qu’on ne saura pas comprendre et modéliser les comportements pertinents des neurones biologiques, et extraire les états exploitables dans des neurones vivants. Pour l’instant, c’est 100 % de la science-fiction, et ceux qui pensent qu’on pourra bientôt télécharger l’esprit ne comprennent pas la biologie
    • Cela semble impressionnant dans la mesure où les neurones biologiques ressemblent à ceux de l’apprentissage automatique. C’est probablement là que se situe l’intérêt de la recherche
      Si des principes similaires sont à l’œuvre, comment un ver peut-il produire de tels comportements avec si peu de ressources ? Par exemple, s’il s’avère que les caractéristiques détaillées du substrat ne sont pas essentielles aux capacités du ver, cela pourrait être une bonne nouvelle pour la recherche en IA
  • Dans les années 1990, j’ai eu l’occasion de faire de la programmation dans le laboratoire de Ralph Siegel, et il étudiait aussi ce type de modèle de connectome de ver
    https://en.wikipedia.org/wiki/Ralph_Siegel_(scientist)
    Il utilisait les équations de Hodgkin-Huxley pour simuler les réponses neuronales à partir du connectome. Quelqu’un m’avait expliqué que le modèle de Hodgkin-Huxley revenait un peu à modéliser une jambe humaine comme trois blocs rigides reliés par des charnières. C’est suffisamment utile pour de nombreux modèles, mais ce n’est pas une description complète
    De plus, les neurones du ver ne produisent pas de spikes, alors que les équations HH décrivent des neurones qui génèrent des trains de spikes ; ce n’est donc peut-être pas un modèle adapté aux neurones du ver. Ce type de neurones existe dans des systèmes nerveux plus complexes
    Les équations HH sont le modèle mathématique dont nous disposons, donc elles sont utilisées pour les simulations, et il semble qu’elles soient encore utilisées dans le projet OpenWorm. Les propriétés des neurones du ver, c’est quelque chose dont j’ai entendu parler il y a longtemps, donc l’information est peut-être obsolète
    Que ce travail se poursuive est formidable, et cela pourrait apporter des éclairages sur le fonctionnement du système nerveux. Mais la difficulté est immense, et on progresse très lentement et péniblement dans un territoire immense d’inconnu

    • C’est la première fois que je lis que les neurones du ver ne produisent pas de spikes, et je trouve ça vraiment fascinant
      Sont-ils alors très différents des neurones humains ? J’aimerais comprendre comment cela fonctionne et où je pourrais en lire davantage
    • Je me demande, par curiosité, si cette recherche visait une application commerciale
  • J’aime ce type d’approche bottom-up. Cela montre très bien à quel point nous ignorons encore beaucoup de choses sur la vie
    On peut aussi mentionner ici le projet de cellule minimale syn3.0 de Craig Venter. Cette équipe a créé une cellule synthétique vivante composée de 473 gènes, en grande partie par tâtonnements, et la fonction de beaucoup de ces gènes reste encore inconnue
    Une revue récente de la même équipe est disponible ici : https://doi.org/10.1016/j.cell.2022.06.046

    • Je ne suis pas sûr qu’on puisse appeler ça une approche bottom-up. C’est présenté comme tel, mais en réalité cela ressemble davantage à du Jenga
      L’idée consiste à voir quelles pièces on peut retirer sans que le système s’effondre
      Le fait technique d’avoir synthétisé artificiellement le génome relève presque du showmanship, puisqu’il a quand même fallu l’insérer dans une cellule préexistante
      C’est un peu comme copier une puce existante, retirer ou remplacer quelques bits, puis affirmer avoir construit une voiture à partir de zéro en disant « les clignotants ne marchent pas, mais globalement elle roule »
    • Un article suivant l’évolution sur 2 000 générations de cette cellule minimale vient justement d’être publié : https://www.nature.com/articles/s41586-023-06288-x
  • Noam Chomsky dit qu’il existe deux types d’IA
    Le premier type de recherche en IA relève davantage de l’ingénierie, comme les voitures autonomes, la traduction de langues ou la reconnaissance d’objets
    Le second type de recherche en IA vise à reproduire l’intelligence d’êtres vivants, par exemple des humains ou des vers, d’une manière cohérente avec les modèles des sciences cognitives
    Par exemple, un système capable d’acquérir n’importe quelle langue humaine avec très peu de supervision, comme le font les enfants, relèverait de cette catégorie
    OpenWorm semble plus proche du deuxième type. Si quelqu’un connaît des ressources intéressantes pour approfondir ce deuxième type d’IA, je suis preneur
    [0]: https://youtu.be/TAP0xk-c4mk

  • J’avais regardé ça il y a quelques années, et j’ai toujours espéré qu’il y ait une part de vérité dans l’apocalyptisme à la Kurzweil
    On commence par simuler C. elegans, puis il suffit d’augmenter l’échelle pour simuler un humain, et ensuite la singularité arrive
    Après tout, à quel point cela peut-il être difficile de simuler un ver idiot ? On a le connectome et on connaît tous les neurones et leurs connexions, donc ça devrait être simple, pensais-je
    Puis j’ai regardé ça de plus près et ça m’a sidéré. Ça ne marchait pas. Ils arrivaient à reproduire certains mouvements de base, mais une grande partie des comportements réels du ver restait mystérieuse. Même dans la documentation, on n’avait pas l’impression que quelqu’un allait percer ça rapidement, et quelques années plus tard, j’ai eu l’impression qu’ils avaient finalement abandonné
    À ma connaissance, le projet européen d’émulation du cerveau, qui avait lui aussi été très survendu, a également été abandonné dans un contexte de soupçons de corruption
    Nous ne comprenons absolument pas cela, et il semble que ce soit encore très lointain. Pour l’instant, il va sans doute falloir retourner à la science-fiction

    • Vous dites « on a le connectome et on connaît tous les neurones et leurs connexions », mais ce n’est pas le cas
      Chaque synapse possède des neurotransmetteurs spécifiques, et la distance, la taille, la forme, le nombre de récepteurs ainsi que les cellules gliales associées influencent énormément la transmission. La distance et l’épaisseur des axones influencent aussi la force du signal transmis, et tout cela est très difficile à mesurer
      Les neurones sont aussi très sensibles à l’intensité et au timing des signaux. Par exemple, une synapse inhibitrice fonctionne en ouvrant des pores dans la membrane cellulaire, ce qui laisse la charge s’échapper au fil du temps. Se tromper ne serait-ce qu’un peu sur cette vitesse peut modifier fortement le comportement de la cellule
      Le connectome est, en quelque sorte, plus proche d’un modèle pré-entraîné d’une complexité folle, et chaque neurone a plusieurs poids qui décrivent non seulement sa réponse directe au signal, mais aussi son comportement dans le temps. Sans ces poids, on ne peut pas faire d’émulation
  • Ça me rappelle le premier épisode de Devs
    https://www.imdb.com/title/tt8134186/
    Il y a une scène où un ingénieur en IA montre une démo synchronisant les mouvements d’un nématode, puis prédisant ses mouvements futurs. Au passage, c’est vraiment une excellente série

    • C’est d’autant meilleur que l’œuvre est sortie avant que les LLM n’entrent dans la conscience du grand public
      L’idée d’extrapoler avec une très grande précision à partir d’informations est au cœur de cette série, mais je m’arrêterai là
  • Un modèle de connectome du cerveau de la drosophile a été publié récemment[1]
    [1] https://hub.jhu.edu/2023/03/09/scientists-complete-first-map...

    • C’est impressionnant, mais le connectome de C. elegans a été publié en 1989, et il suffit de regarder un peu le projet lié pour voir qu’on est encore très loin de faire émerger, à partir d’une simulation neuronale, l’ensemble complet des comportements de C. elegans
      On est même encore loin de prouver que c’est possible
      C’est pourquoi des projets comme neurokernel [1] paraissent un peu trop ambitieux. Cela dit, bonne chance à eux
      [1] http://neurokernel.github.io/
  • Je suis allé il y a quelques années à Londres à ce qui ressemblait à une mini-conférence OpenWorm
    Pendant plusieurs jours, on y a parlé du mouvement du ver. Je n’y connaissais absolument rien, ni sur les vers ni sur la locomotion animale en général, et comme je n’avais qu’un intérêt amateur pour la simulation du vivant, j’ai à peine compris de quoi il s’agissait
    Mais c’était vraiment fascinant, et c’était formidable de rencontrer des gens passionnés par ce sujet

  • Si on arrête la simulation, est-ce qu’on tue le ver ?

    • Non, si son état a été sauvegardé quelque part
  • En tant que membre fondateur d’OpenWorm, j’ai émulé le connectome et je l’ai appliqué à la robotique il y a presque 10 ans
    https://youtu.be/YWQnzylhgHc
    Dans cette expérience, chaque neurone était représenté par un programme, et la communication entre les programmes de neurones individuels se faisait par messages UDP. Il y avait plusieurs problèmes, mais le principal était que le connectome est très cyclique, ce qui produisait dans l’expérience un phénomène que nous appelions « UDP stacking ». Autrement dit, les messages UDP d’activation arrivaient plus vite que les programmes ne pouvaient les traiter
    Je télécharge actuellement le connectome complet de Drosophila pour construire une émulation. J’explore des hypervecteurs pour émuler des neurones ou des neuropiles, mais j’en suis encore au stade de l’élaboration du concept
    J’ai aussi essayé diverses idées, comme des matrices d’adjacence, la programmation fonctionnelle, etc. Chaque fonction représente alors une partie du système nerveux de l’animal ; pour C. elegans, par exemple, on peut voir les neurones sensoriels, les interneurones et les neurones moteurs comme trois fonctions et programmes distincts
    L’émulation de C. elegans a aussi été implémentée sous la forme d’une seule application Python, puis portée dans plusieurs autres langages de programmation, et elle a montré des émulations nettes sur plusieurs robots. Des expériences d’ablation ont montré que le système nerveux émulé correspondait au système nerveux biologique à travers des comportements observables
    Sur le continuum évolutif des systèmes nerveux, le cerveau du ver se trouve à une extrémité et le cerveau humain à l’autre. Mais même avec le seul système nerveux du ver, on peut clairement voir la porte d’entrée vers l’intelligence générale et l’AGI