5 puntos por GN⁺ 4 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Un modelo especialista ligero que logra inpainting de imágenes de alta calidad, un campo dominado por modelos fundacionales industriales de escala 10B, comprimiendo los parámetros a menos del 2% y manteniendo una calidad equivalente o superior
  • Funciona con 0.22B (226M) parámetros y alcanza una velocidad de inferencia más de 15 veces superior frente a FLUX.1-Fill-Dev de 11.9B
  • Usa el bloque Local-λ Mix Interaction (LλMI), que reconfigura el backbone de diffusion para comprimir el contexto espacial y la información semántica global en matrices lineales de tamaño fijo
  • Emplea una estrategia de adaptive multi-granularity distillation que opera solo en el espacio latente para transferir la capacidad de representación de un modelo teacher grande a un modelo ligero
  • Un enfoque de task-specific specialist que muestra que, en lugar de escalar el tamaño sin límite, es posible crear modelos más inteligentes, ligeros y rápidos cuando la tarea está claramente definida

Antecedentes y definición del problema

  • Los modelos fundacionales industriales de escala 10B elevaron el límite del inpainting de imágenes, pero su enorme costo computacional restringe seriamente el despliegue real
  • Construir modelos especialistas enfocados en la tarea es una alternativa prometedora, pero una compresión estructural extrema provoca un grave cuello de botella de representación (representation bottleneck)
  • Para superar esto, se propone Moebius, un framework de inpainting ligero y de alta eficiencia

Método — pipeline completo

  • Adopta una arquitectura que combina el framework Latent Diffusion Model (LDM) con Latent Categories Guidance (LCG)
  • Reestructura sistemáticamente el U-Net de denoising con el bloque propuesto LλMI, logrando una eficiencia arquitectónica extrema
  • Durante el entrenamiento aplica una estrategia de adaptive multi-granularity distillation, alineando al specialist ligero con un teacher de gran capacidad para mitigar la pérdida de capacidad causada por la compresión estructural extrema

Resultados clave (Highlights)

  • Eficiencia extrema de parámetros (< 2%)

    • Funciona con solo 0.22B (226M) parámetros, menos del 2% del tamaño del modelo grande FLUX.1-Fill-Dev (11.9B)
    • Rompe la idea de que el cómputo pesado es indispensable y permite inpainting de alta calidad incluso en dispositivos de consumo y edge
  • Mejora de 15x en velocidad de inferencia (26 ms/step)

    • Logra una latencia de inferencia muy baja de 26.01 ms por step en una sola GPU
    • Combinado con pasos de sampling optimizados, acelera el runtime total en más de 15 veces frente a modelos de clase 10B
  • Calidad de inpainting de nivel 10B

    • Demuestra que reducir el tamaño no implica una pérdida de expresividad
    • Gracias a la optimización conjunta de arquitectura y distillation, supera en algunos escenarios, como texturas complejas y naturalidad facial, a modelos SOTA de nivel 10B (FLUX.1-Fill-Dev, SD3.5 Large-Inpainting)
    • Validado en 6 benchmarks que abarcan escenas naturales (Places2) y retratos (CelebA-HQ, FFHQ)
  • Innovación central basada en sinergia

    • Diseño de arquitectura (bloque LλMI): reconfigura self-attention y cross-attention para comprimir el contexto espacial y la información semántica global en matrices lineales de tamaño fijo, evitando la carga computacional cuadrática
    • Adaptive multi-granularity distillation: transfiere la capacidad de representación del modelo teacher PixelHacker solo dentro del espacio latente, evitando la costosa decodificación en pixel-space
      • Alinea supervisión de múltiples granularidades, desde características intermedias microscópicas hasta trayectorias macroscópicas de diffusion, y equilibra dinámicamente el entrenamiento con un mecanismo adaptativo de ponderación de pérdidas basado en gradient norm
    • Balance óptimo de sinergia: explora de forma sistemática las restricciones mutuas y los límites superiores entre la estructura comprimida y la distillation
      • Al mapear la frontera de sinergia entre arquitectura y distillation, garantiza que Moebius 0.22B (student) absorba al máximo la capacidad de razonamiento semántico de PixelHacker (teacher) sin saturación de representación
  • Especialistas orientados a la tarea en lugar de modelos generales sobredimensionados

    • Responde a la pregunta fundamental de si, cuando una tarea está claramente definida, un modelo puede ser más inteligente, ligero y rápido
    • Actúa como un specialist altamente optimizado que libera al inpainting de imágenes real y a la eliminación de objetos con IA del crecimiento excesivo de parámetros

Evaluación y comparación

  • Se realizaron experimentos extensivos tanto en escenas naturales (Places2) como en retratos (CelebA-HQ, FFHQ)
  • En calidad generativa, se confirmaron resultados equivalentes o superiores a FLUX.1-Fill-Dev, un modelo general industrial de clase 10B
  • Con menos del 2% de los parámetros (0.22B vs 11.9B), logra una aceleración de más de 15 veces en tiempo de inferencia, estableciendo un nuevo estándar de eficiencia para el inpainting de alta fidelidad

1 comentarios

 
GN⁺ 4 시간 전
Opiniones de Hacker News
  • Lo hice funcionar con ONNX (gracias a Claude Opus 4.8), y ahora hay una demo interactiva donde todo el modelo corre dentro del navegador. La descarga es de unos 1.3GB: https://simonw.github.io/moebius-web/
    El código está aquí: https://github.com/simonw/moebius-web
    Registro de Claude Code: https://gisthost.github.io/?58039ba5c1ca3ed177e8659168996ee4
    Lo expliqué con más detalle en el blog: https://simonwillison.net/2026/Jun/22/porting-moebius/

    • Yo también intenté hacer exactamente lo mismo (usando gpt 5.5 + code), pero no logré que el modelo corriera en ONNX
    • Buen trabajo. Veo que los pesos de unet están en fp32; me da curiosidad si probaste también con menor precisión, como fp16
  • Lo probé un poco, y para ser un modelo de 0.2B es muy impresionante, pero me cuesta creer que esté al nivel de los modelos de 10B
    En imágenes naturales funcionó bastante bien, pero la zona rellenada se veía claramente más suave que el entorno y era muy débil al agregar objetos nuevos. Además, la salida está limitada a 512x512, lo que reduce su utilidad práctica

    • Me pregunto si creen que los ejemplos mostrados representan el rendimiento real, o si más bien parecen cherry-picked
  • Hace unos años trabajé en un proyecto de inpainting para cliente. La idea era rellenar banners publicitarios para un promotor de conciertos y así crear fácilmente anuncios para distintos tamaños de formato; me tocó hacer anuncios con temática navideña para varios cantantes famosos
    Lo más raro fue cuando la herramienta de inpainting empezó a agregar gente extraña a la imagen. El cantante estaba decorado con brillos y rojo, y el modelo añadió a un anciano gruñón con sombrero de copa. No recuerdo haber presionado un botón de “agregar anciano creepy”
    En ese momento el backend era Stable Diffusion, y pasamos por varios servicios de hosting de modelos, incluido Amazon, pero los requisitos de imagen de entrada eran todos distintos, así que fue muy complicado. Algunos fallaban porque no podían manejar proporciones como un banner de 200x60; otros exigían redimensionar antes de la entrada, así que terminabas metiendo una imagen de baja resolución desde el inicio. Garbage in, garbage out
    Al final se necesitó mucho trabajo de preparación previa, y el cliente nunca usó mis intentos en producción

    • Si el cantante estaba decorado con brillos y rojo y el modelo agregó a un anciano gruñón con sombrero de copa, eso hace pensar en A Christmas Carol de Dickens
      Seguro en el Reino Unido existe alguna norma que obliga a poner un personaje tipo Scrooge de fondo en los eventos navideños para que la gente no se emocione demasiado
    • En esa época, los modelos hechos por la comunidad, los modelos fusionados o afinados, estaban todos sobreentrenados y optimizados para retratos y tomas frontales. Querían convertir todo en personas
      Incluso el inpainting de rostros ya era una tarea apenas viable pasando por varias herramientas; rellenar cualquier otra cosa era casi imposible. A esos modelos también se les daba especialmente mal integrar objetos de forma natural en una escena. Tal vez podían resolver más o menos un collar o cinturón medio improvisado, pero en cuanto intentabas meter un objeto nuevo en la escena, fallaban de infinitas maneras distintas
      También funcionaban mucho mejor en 512x512, y cuanto más te alejabas de eso, más problemas aparecían
      Si intentabas hacer inpainting en banners publicitarios, seguramente quedaban fuertemente distorsionados. Esos modelos no podían manejar tipografías ni eran buenos para transcripción precisa a nivel de píxel. En ese momento, la forma realista de hacerlo habría sido insertar el banner manualmente y usar la IA solo para corregir los bordes. Claro, también hacía falta cierto ojo artístico
      Si esperabas meter dos imágenes y que el modelo resolviera todo por sí solo, el intento era audaz, pero era una tarea imposible
    • Eso pasa porque los modelos pequeños como SD fueron entrenados a una resolución muy específica. Los modelos más avanzados se entrenan con mayor calidad o con conjuntos más variados de resoluciones
      Cuando generas imágenes de baja resolución con un modelo de alta calidad, en la práctica se siente como si estuviera recortando una parte de una imagen mucho más grande. Esa es la impresión que me quedó tras experimentar durante varias horas, y aunque intento centrar ciertos objetos con modelos grandes, muchas veces no aparecen realmente en el centro. Mi GPU también tiene sus límites
  • Hay varias demo spaces que usan esto. Esta me pareció la mejor y te deja pintar la máscara directamente, pero en todas las imágenes que probé falló: https://huggingface.co/spaces/multimodalart/Moebius

    • Después de moverle varias cosas logré hacerlo funcionar, pero la calidad quedó medio floja. Sigo experimentando con la configuración expuesta y se puede ver aquí: https://huggingface.co/spaces/jonatei/MoebiusDemo
      Ahorita lo estoy tocando activamente, así que por momentos puede romperse :)
      Corre en una CPU gratuita, así que tarda unos 80 segundos por imagen
  • Hice una app pequeña que corre completamente dentro del navegador y te deja probar todos los modelos afinados: https://inpaintlab.com/

  • No sé qué es inpainting. En los comentarios todos parecen conocer el término, pero no vi una explicación en la página enlazada

    • Si haces clic en la imagen de visualización puedes ver cómo funciona realmente. La zona morada es la parte que el usuario le indicó al sistema que debe rellenar, y al hacer clic en la imagen se ve el resultado
      Básicamente, el modelo mira el contexto de las zonas que no están en morado y decide qué encaja mejor en la zona morada, para luego volver a dibujar esa parte de la imagen. Se usa mucho para eliminar objetos, pero como muestran los ejemplos, también sirve para otras tareas
  • No está muy bien. La zona rellenada, como casi siempre pasa, se ve demasiado suave en comparación con la textura fina y de alta frecuencia de una foto natural
    Apenas sirve para borrar algo en una miniatura

    • Esto también, y los ejemplos, son cherry-picked. El ejemplo de quitar cables de alta tensión de una foto natural está especialmente mal. La banda donde estaban borrados sigue siendo visible
      Hace años, la herramienta básica de retoque de Photoshop ya podía hacer algo parecido
  • Ojalá hubiera un modelo así para traducir manga. Ahora mismo, entre animación y manga, parece que el modelo ligero de inpainting por defecto sigue siendo LaMa, pero ya tiene varios años y parece haber margen para mejorarlo

    • Estoy trabajando en outpainting de un programa animado para mi hijo (Leapfrog Letter Factory, por si da curiosidad) y luego quiero hacer upscale, pero hacerlo localmente ha sido bastante difícil
      Me pregunto si sería posible reentrenar o afinar este modelo. Dicen que se pueden crear “expertos”, así que quizá uno de esos expertos podría entender mejor la traducción de distintos personajes
  • Este tipo de cosas es IA útil. De verdad hay muchísimos casos de uso que esto puede habilitar

    • Sí, y por eso mismo frustra. Hay muchos casos de uso donde un modelo que corre localmente, está enfocado en un propósito específico y hace una sola tarea de forma estable y confiable realmente podría marcar la diferencia
      Pero nadie va a invertir mil millones de dólares en algo como una eliminación increíble de polvo o una segmentación de escenas perfecta
      En cambio, terminamos con una estructura donde hay que subir todo a la nube y luego pedirle amablemente a un enorme modelo frontier multimodal que haga justo lo que queremos
    • Me pregunto cuántas veces editaste fotos tomadas con tu teléfono en los últimos 7 días
  • No entiendo. No sé dónde se puede probar, o si esto es solo publicidad