4 pontos por flamehaven01 2025-10-05 | Ainda não há comentários. | Compartilhar no WhatsApp

TL;DR

O artigo da DeepMind sobre “detecção de singularidades em fluidos” (2024) não incluía código.

Por isso, ele foi reproduzido completamente do início ao fim apenas com base no artigo.

Agora, foi disponibilizado um pipeline realmente funcional que gera um relatório PDF em 7 segundos.


💥 O problema: uma doença crônica da pesquisa em IA

DeepMind (2024)

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

📄 arXiv:2509.14185

Resumo do conteúdo

  • Problema em aberto há mais de 100 anos: um fluido pode explodir em tempo finito?
  • Detecção de singularidade com Physics-Informed Neural Network (PINN)
  • Computação de altíssima precisão (10⁻¹³), treinamento complexo em múltiplas etapas

Problemas

  • ❌ Código não publicado
  • ❌ Método de reprodução pouco claro
  • ❌ Só com as fórmulas não dá para executar

Como resultado, pesquisadores do mundo todo não tinham outra opção além de “ler e desistir”.


✅ A solução: projeto aberto de reprodução independente

🚀 Unstable Singularity Detector

Implementação open source totalmente independente, sem vínculo com a DeepMind

Usando apenas as fórmulas e metodologias divulgadas no artigo,

a verificação de singularidades em dinâmica dos fluidos foi reproduzida do começo ao fim.


💡 Filosofia: por que este projeto importa

Artigo publicado → sem código → impossível reproduzir → pesquisa estagnada

A mensagem deste projeto:

“Vamos transformar ciência que existe só no artigo em ferramentas executáveis.”

A essência da ciência aberta é a reprodutibilidade (Reproducibility).

Um artigo sem código é uma ciência pela metade.


🎓 Quem pode usar?

  • 🧠 Pesquisadores de dinâmica dos fluidos — validação e extensão do artigo
  • 🔬 Desenvolvedores de PINN / SciML — referência de otimização de alta precisão
  • 🎓 Pós-graduandos / estudantes — prática de implementação de artigos
  • 🤖 Pesquisadores de IA — conscientização sobre o problema de “artigos sem código”
  • 🧑‍🏫 Educadores — material prático para aulas sobre PINN

🚀 Comece em 5 minutos

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  

Resultado:

  • Exibição de logs de convergência em tempo real
  • Geração de results/ipm_full_demo/ipm_full_report.pdf
  • Relatório PDF de 3 páginas (curvas de convergência + histórico de treinamento + métricas)

🎯 Prova de que realmente funciona

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  
# após 7,3 segundos → relatório PDF + métricas JSON gerados automaticamente  
Condição inicial: sin(πx)sin(πy)sin(πz)  
  • Condição inicial: sin(πx)sin(πy)sin(πz)
  • Lambda funnel: convergência em 1 iteração
  • Resíduo: 1e-3 → 1e-7 (melhoria de 1000x)
  • Saída: relatório PDF de 3 páginas (curva de convergência + métricas)

2️⃣ Boussinesq 2D (convecção térmica)

python examples/e2e_boussinesq_2d.py --grid-size 64  
  • Validação da conservação de energia (resíduo de 5e-8)
  • Geração automática de relatório PDF

3️⃣ Equação do calor 1D (validação com solução analítica)

pytest tests_e2e/test_heat_equation_1d.py -v  
# 7/7 tests PASSED  
  • Solução analítica: u = exp(-π²t)sin(πx)
  • Erro da solução numérica: < 0.04
  • Resíduo da PDE: < 0.05

🔍 Tabela de validação em relação ao artigo

Componente Referência no artigo Método de validação Resultado Status
Fórmula de previsão de Lambda Fig 2e Comparação numérica direta <1% de erro
Funnel Inference Sec 3.2 Teste de convergência convergência em 1–2 iterações
Treinamento multi-stage Sec 3.3 Rastreamento de resíduos 10⁻⁷ alcançado
Gauss–Newton Eq 7–8 Benchmark de precisão 10⁻¹³
Condições de contorno Sec 2.3 Dirichlet BC erro < 10⁻¹⁰
Transformação autossimilar Fig 3 Transformação de coordenadas implementação concluída

Taxa de validação concluída: 100% (todas as fórmulas divulgadas no artigo)


🛠️ Destaques técnicos

Inovações principais

  1. Treinamento orientado por metas de precisão

    # Stage 1: Adam warmup → 1e-6  
    # Stage 2: Fourier features → 1e-9  
    # Stage 3: Gauss–Newton → 1e-12  
    
  2. Eficiência de memória

    • Aproximação Hessiana Rank-1 → O(P²) → O(P)
    • Economia de memória de 1000x
  3. EMA Smoothing

    H_t = β * H_{t-1} + (1 - β) * (JᵀJ)_t  
    
  4. Sistema de validação automática

    • 111/113 testes aprovados (2 pulados por GPU)
    • Integração completa com GitHub Actions CI/CD

📊 Exemplo real de uso

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 (erro de 0.000% em relação ao valor do artigo)  

🧩 Pipeline completo (resumo em 10 linhas)

from examples.e2e_full_ipm import FullIPMPipeline  
from pathlib import Path  
  
pipeline = FullIPMPipeline(output_dir=Path("results/my_experiment"), grid_size=32)  
pipeline.run()  
# após 7 segundos, relatórios PDF e JSON gerados  
  

📈 Status do projeto (v1.3.2)

Item Número
Código 15,000+ lines
Testes 111/113 passing (98.2%)
Documentação 2,500+ lines
Commits 150+
Licença MIT
Python 3.8+
Principais dependências PyTorch, NumPy, SciPy

🔐 Transparência e limitações

Independência declarada

  • Projeto de pesquisa pessoal, sem vínculo com a DeepMind
  • Uso apenas das fórmulas publicadas no artigo
  • Licença MIT
  • Todas as limitações são divulgadas

Limitações atuais

  • Violação de quantidade conservada: IPM 128% (limite de capacidade da rede)
  • Erro de Lambda: Boussinesq 42% (correção empírica planejada)
  • Precisão: focado em demonstração (não é para produção)

💬 Feedback é bem-vindo

Vamos mudar juntos “um mundo em que só existe artigo, mas não código”.


Made with 🔬 by independent researchers, for open science

Ainda não há comentários.

Ainda não há comentários.