4 points par flamehaven01 2025-10-05 | Aucun commentaire pour le moment. | Partager sur WhatsApp

TL;DR

L’article de DeepMind sur la « détection de singularités dans les fluides » (2024) ne fournissait pas de code.

Il a donc été entièrement reproduit de bout en bout à partir du seul article.

Le projet publie désormais un pipeline réellement fonctionnel capable de générer un rapport PDF en 7 secondes.


💥 Le problème : une maladie chronique de la recherche en IA

DeepMind (2024)

“Discovering new solutions to century-old problems in fluid dynamics”

📄 arXiv:2509.14185

Résumé du contenu

  • Problème ouvert depuis plus de 100 ans : un fluide peut-il exploser en temps fini ?
  • Détection de singularités avec un Physics-Informed Neural Network (PINN)
  • Calculs en très haute précision (10⁻¹³), apprentissage complexe en plusieurs étapes

Problèmes

  • ❌ Code non publié
  • ❌ Méthode de reproduction peu claire
  • ❌ Impossible à exécuter à partir des seules équations

En conséquence, les chercheurs du monde entier n’avaient plus qu’à « lire puis abandonner ».


✅ La solution : un projet indépendant de reproduction ouverte

🚀 Unstable Singularity Detector

Une implémentation open source totalement indépendante, sans lien avec DeepMind

À partir des seules équations et de la méthodologie rendues publiques dans l’article,

la validation des singularités en mécanique des fluides a été reproduite de bout en bout.


💡 Philosophie : pourquoi ce projet est important

Publication d’un article → pas de code → pas de reproduction possible → recherche bloquée

Le message de ce projet :

« Transformons une science limitée aux articles en outils réellement exécutables. »

L’essence de la science ouverte, c’est la reproductibilité.

Un article sans code n’est qu’une demi-science.


🎓 Pour qui ?

  • 🧠 Chercheurs en mécanique des fluides — vérification et extension de l’article
  • 🔬 Développeurs PINN / SciML — référence pour l’optimisation haute précision
  • 🎓 Doctorants / étudiants — entraînement à l’implémentation d’articles
  • 🤖 Chercheurs en IA — prise de conscience du problème des « articles sans code »
  • 🧑‍🏫 Enseignants — support pratique pour des cours sur les PINN

🚀 Démarrer en moins de 5 minutes

git clone https://github.com/Flamehaven/unstable-singularity-detector.git  
cd unstable-singularity-detector  
pip install -r requirements.txt  
python examples/e2e_full_ipm.py  

Résultat :

  • affichage des logs de convergence en temps réel
  • génération de results/ipm_full_demo/ipm_full_report.pdf
  • rapport PDF de 3 pages (courbes de convergence + historique d’apprentissage + métriques)

🎯 Preuves que ça fonctionne vraiment

v1.3.2 — Complete E2E Pipelines (“Show Me It Works” Release)

1️⃣ IPM (Incompressible Porous Media)

python examples/e2e_full_ipm.py --grid-size 16  
# après 7.3 secondes → génération automatique d’un rapport PDF + métriques JSON  
initial conditions: sin(πx)sin(πy)sin(πz)  
  • Conditions initiales : sin(πx)sin(πy)sin(πz)
  • Lambda funnel : convergence en 1 itération
  • Résidu : 1e-3 → 1e-7 (amélioration ×1000)
  • Sortie : rapport PDF de 3 pages (courbes de convergence + métriques)

2️⃣ 2D Boussinesq (convection thermique)

python examples/e2e_boussinesq_2d.py --grid-size 64  
  • Vérification de la conservation de l’énergie (résidu 5e-8)
  • Génération automatique d’un rapport PDF

3️⃣ Équation de la chaleur 1D (validation sur solution analytique)

pytest tests_e2e/test_heat_equation_1d.py -v  
# 7/7 tests PASSED  
  • Solution analytique : u = exp(-π²t)sin(πx)
  • Erreur de la solution numérique : < 0.04
  • Résidu PDE : < 0.05

🔍 Tableau de validation par rapport à l’article

Composant Référence dans l’article Méthode de validation Résultat État
Formule de prédiction de lambda Fig 2e Comparaison numérique directe erreur < 1%
Funnel Inference Sec 3.2 Test de convergence convergence en 1–2 itérations
Apprentissage multi-stage Sec 3.3 Suivi du résidu 10⁻⁷ atteint
Gauss–Newton Eq 7–8 Benchmark de précision 10⁻¹³
Conditions aux limites Sec 2.3 Dirichlet BC erreur < 10⁻¹⁰
Transformation autosimilaire Fig 3 Transformation de coordonnées implémentation terminée

Taux de validation terminé : 100 % (toutes les formules publiées dans l’article)


🛠️ Points forts techniques

Innovations clés

  1. Apprentissage piloté par des objectifs de précision

    # Stage 1: Adam warmup → 1e-6  
    # Stage 2: Fourier features → 1e-9  
    # Stage 3: Gauss–Newton → 1e-12  
    
  2. Optimisation de l’usage mémoire

    • Approximation rank-1 de la Hessienne → O(P²) → O(P)
    • 1000× moins de mémoire
  3. Lissage EMA

    H_t = β * H_{t-1} + (1 - β) * (JᵀJ)_t  
    
  4. Système de validation automatique

    • 111/113 tests réussis (2 GPU skip)
    • Intégration complète GitHub Actions CI/CD

📊 Exemple d’usage réel

from unstable_singularity_detector import UnstableSingularityDetector  
  
detector = UnstableSingularityDetector(equation_type="ipm")  
lambda_0 = detector.predict_next_unstable_lambda(current_order=0)  
  
print(f"Predicted: {lambda_0:.10f}")  
# Output: 1.0285722760 (écart de 0.000 % par rapport à la valeur de l’article)  

🧩 Pipeline complet (résumé en 10 lignes)

from examples.e2e_full_ipm import FullIPMPipeline  
from pathlib import Path  
  
pipeline = FullIPMPipeline(output_dir=Path("results/my_experiment"), grid_size=32)  
pipeline.run()  
# génération d’un rapport PDF et JSON après 7 secondes  
  

📈 État du projet (v1.3.2)

Élément Valeur
Code 15,000+ lines
Tests 111/113 passing (98.2%)
Documentation 2,500+ lines
Commits 150+
Licence MIT
Python 3.8+
Principales dépendances PyTorch, NumPy, SciPy

🔐 Transparence et limites

Indépendance clairement affirmée

  • Projet de recherche personnel, sans lien avec DeepMind
  • Utilise uniquement les équations publiées dans l’article
  • Licence MIT
  • Toutes les limites sont divulguées

Limites actuelles

  • Violation des quantités conservées : IPM 128 % (limite de capacité du réseau)
  • Erreur sur lambda : Boussinesq 42 % (correction empirique prévue)
  • Précision : orientée démo (pas pour la production)

💬 Retours bienvenus

Changeons ensemble « un monde d’articles sans code ».


Made with 🔬 by independent researchers, for open science

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.