5 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Un modèle spécialiste léger parvient à offrir une qualité d’inpainting d’images équivalente, voire supérieure, à celle des modèles foundation industriels de 10B, tout en comprimant les paramètres à moins de 2 %
  • Fonctionne avec 0.22B (226M) de paramètres et atteint une vitesse d’inférence plus de 15 fois supérieure à celle de FLUX.1-Fill-Dev (11.9B)
  • Le bloc Local-λ Mix Interaction (LλMI), qui recompose le backbone de diffusion, compresse le contexte spatial et l’information sémantique globale en matrices linéaires de taille fixe
  • Une stratégie de distillation adaptative multi-granularité opérant uniquement dans l’espace latent transfère la capacité de représentation d’un grand modèle teacher vers un modèle léger
  • Une approche de spécialiste task-specific qui montre qu’au lieu d’augmenter aveuglément l’échelle, il est possible d’obtenir des modèles plus intelligents, plus légers et plus rapides lorsque la tâche est clairement définie

Contexte et définition du problème

  • Les modèles foundation industriels de l’ordre de 10B ont repoussé les limites de l’inpainting d’images, mais leur coût de calcul massif limite fortement leur déploiement réel
  • La construction de modèles spécialistes dédiés à une tâche apparaît comme une alternative prometteuse, mais une compression architecturale extrême provoque un grave goulot d’étranglement de représentation (representation bottleneck)
  • Pour surmonter cela, les auteurs proposent Moebius, un framework d’inpainting léger à haute efficacité

Méthode — pipeline complet

  • Adoption d’une architecture combinant le framework Latent Diffusion Model (LDM) avec Latent Categories Guidance (LCG)
  • Le U-Net de denoising est systématiquement reconstruit avec le bloc LλMI proposé afin d’obtenir une efficacité architecturale extrême
  • Pendant l’apprentissage, une stratégie de distillation adaptative multi-granularité est appliquée pour aligner le spécialiste léger avec un teacher de grande capacité et atténuer la perte de capacité due à une compression structurelle extrême

Résultats clés (Highlights)

  • Efficacité extrême des paramètres (< 2 %)

    • Fonctionne avec seulement 0.22B (226M) de paramètres, soit moins de 2 % de la taille du grand modèle FLUX.1-Fill-Dev (11.9B)
    • Brise l’idée reçue selon laquelle des calculs lourds sont indispensables, et rend possible un inpainting haute qualité sur des appareils grand public et en edge
  • Inférence 15 fois plus rapide (26 ms/step)

    • Atteint une latence d’inférence très faible de 26.01 ms par step sur un seul GPU
    • Combiné à des étapes d’échantillonnage optimisées, cela accélère le runtime global de plus de 15 fois par rapport aux modèles de classe 10B
  • Qualité d’inpainting de niveau 10B

    • Démontre que la réduction de taille ne signifie pas une baisse de pouvoir de représentation
    • Grâce à une optimisation conjointe de l’architecture et de la distillation, le modèle dépasse dans certains scénarios les modèles SOTA de classe 10B (FLUX.1-Fill-Dev, SD3.5 Large-Inpainting), notamment sur les textures complexes et le naturel des visages
    • Validation sur 6 benchmarks couvrant les scènes naturelles (Places2) et les scènes de visages (CelebA-HQ, FFHQ)
  • Innovations clés fondées sur la synergie

    • Conception architecturale (bloc LλMI) : recompose self-attention et cross-attention pour compresser le contexte spatial et l’information sémantique globale en matrices linéaires de taille fixe, en évitant le coût de calcul quadratique
    • Distillation adaptative multi-granularité : transfère la capacité de représentation du modèle teacher PixelHacker uniquement dans l’espace latent, évitant ainsi le décodage coûteux dans l’espace pixel
      • Aligne une supervision multi-granularité allant des caractéristiques intermédiaires microscopiques jusqu’aux trajectoires de diffusion macroscopiques, avec un mécanisme adaptatif de pondération des pertes fondé sur la norme des gradients pour équilibrer dynamiquement l’apprentissage
    • Équilibre synergique optimal : exploration systématique des contraintes mutuelles et des limites supérieures entre structure compressée et distillation
      • Cartographie de la frontière de synergie architecture-distillation afin de garantir que Moebius 0.22B (student) absorbe au maximum les capacités de raisonnement sémantique de PixelHacker (teacher) sans saturation de représentation
  • Un spécialiste dédié à la tâche plutôt qu’un modèle généraliste surdimensionné

    • Une approche qui répond à la question fondamentale : « quand une tâche est clairement définie, le modèle peut-il être plus intelligent, plus léger et plus rapide ? »
    • Joue le rôle d’un spécialiste hautement optimisé, libérant l’inpainting d’images réel et la suppression d’objets par IA de l’inflation massive du nombre de paramètres

Évaluation et comparaison

  • Des expériences approfondies ont été menées à la fois sur des scènes naturelles (Places2) et des scènes de visages (CelebA-HQ, FFHQ)
  • En qualité de génération, les résultats montrent des performances équivalentes ou supérieures à FLUX.1-Fill-Dev, le modèle généraliste industriel de classe 10B
  • Avec moins de 2 % des paramètres (0.22B vs 11.9B) et une accélération de plus de 15 fois du temps d’inférence, Moebius établit une nouvelle référence d’efficacité pour l’inpainting haute fidélité

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Hacker News
  • Je l’ai fait fonctionner avec ONNX (grâce à Claude Opus 4.8), et il existe maintenant une démo interactive où tout le modèle s’exécute directement dans le navigateur. Le téléchargement fait environ 1,3 Go : https://simonw.github.io/moebius-web/
    Le code est ici : https://github.com/simonw/moebius-web
    Journal de Claude Code : https://gisthost.github.io/?58039ba5c1ca3ed177e8659168996ee4
    J’ai détaillé davantage tout ça sur le blog : https://simonwillison.net/2026/Jun/22/porting-moebius/

    • J’ai essayé de faire exactement la même chose moi aussi (avec gpt 5.5 + code), et je n’ai pas réussi à aller jusqu’à l’exécution du modèle dans ONNX
    • Beau travail. Les poids du unet sont en fp32 ; je me demande si tu as aussi essayé des précisions plus faibles comme le fp16
  • Je l’ai un peu testé, et c’est très impressionnant pour un modèle de 0,2B, mais j’ai du mal à être convaincu qu’il rivalise avec les modèles 10B
    Sur des images naturelles, ça marchait plutôt bien, mais les zones inpaintées étaient visiblement plus lisses que le reste, et il était très faible dès qu’il fallait ajouter de nouveaux objets. La sortie est aussi limitée à 512x512, ce qui réduit son utilité

    • Je me demande si les exemples fournis sont représentatifs des performances réelles, ou s’ils semblent plutôt cherry-pickés
  • Il y a quelques années, j’ai travaillé sur un projet d’inpainting pour un client. L’idée était d’inpainter des bannières publicitaires pour un promoteur de concerts afin de produire facilement des annonces adaptées à différents formats, et je me suis occupé de pubs à thème de Noël pour plusieurs chanteurs célèbres
    Le plus étrange, c’était quand l’outil d’inpainting ajoutait des gens bizarres dans l’image. Le chanteur était décoré de paillettes et de rouge, et le modèle a ajouté un vieil homme grincheux portant un haut-de-forme. Je ne me souviens pas avoir appuyé sur le bouton « ajouter un vieux type flippant »
    À l’époque, le backend était Stable Diffusion, et on est passés par plusieurs services d’hébergement de modèles, dont Amazon, avec des exigences d’image d’entrée toutes différentes, ce qui rendait l’ensemble très compliqué. Certains échouaient parce qu’ils ne pouvaient pas gérer un ratio comme une bannière 200x60, d’autres imposaient un redimensionnement avant l’entrée, ce qui obligeait à partir d’images déjà en basse résolution. Garbage in, garbage out
    Au final, il fallait énormément de préparation en amont, et le client n’a jamais utilisé ce que j’avais produit

    • Si le chanteur était couvert de paillettes et de rouge et que le modèle a ajouté un vieil homme grincheux avec un haut-de-forme, ça fait penser à A Christmas Carol de Dickens
      Au Royaume-Uni, il doit sûrement exister un règlement imposant de placer un personnage façon Scrooge en arrière-plan des événements de Noël pour éviter que les gens ne s’emballent trop
    • À cette époque, les modèles créés par la communauté, qu’ils soient fusionnés ou fine-tunés, étaient tous surentraînés et optimisés pour les portraits et les prises de face. Ils essayaient de transformer n’importe quoi en personne
      Même l’inpainting de visages n’était à peu près faisable qu’en jonglant entre plusieurs outils, alors inpeindre autre chose était presque impossible. Ces modèles étaient aussi particulièrement mauvais pour intégrer naturellement des objets dans une scène. Un collier ou une ceinture un peu bancals, ça pouvait encore passer, mais dès qu’on essayait d’ajouter un nouvel objet à une scène, ça échouait de mille façons
      Ils fonctionnaient aussi bien mieux en 512x512, et les problèmes augmentaient dès qu’on s’en éloignait trop
      Si tu essayais d’inpainter une bannière publicitaire, elle avait probablement de grandes chances d’être fortement déformée. Ces modèles ne savaient pas gérer les polices et étaient aussi mauvais pour toute transcription précise au pixel près. À l’époque, la seule méthode réaliste aurait sans doute été d’insérer la bannière à la main puis d’utiliser l’IA seulement pour corriger les bords. Encore fallait-il avoir un certain sens artistique
      Si tu espérais qu’en fournissant juste deux images le modèle se débrouille tout seul, la tentative était audacieuse, mais impossible
    • C’est parce que les petits modèles comme SD étaient entraînés sur une résolution très spécifique. Les modèles plus avancés sont entraînés sur une meilleure qualité ou sur un ensemble de résolutions plus variées
      Quand on génère une image basse résolution avec un modèle de haute qualité, on a en pratique l’impression qu’il sort un recadrage d’une image bien plus grande. C’est le ressenti que j’en ai après plusieurs heures d’expérimentation, et même quand j’essaie de centrer un objet avec un gros modèle, il n’apparaît souvent pas vraiment au centre. Et mon GPU a aussi ses limites
  • Il existe quelques espaces de démo qui utilisent ça. Celui-ci m’a semblé le meilleur et permet de peindre le masque soi-même, mais il a échoué sur toutes les images que j’ai essayées : https://huggingface.co/spaces/multimodalart/Moebius

    • Après avoir bricolé un peu, j’ai réussi à le faire marcher, mais la qualité est un peu médiocre. Je continue d’expérimenter avec les réglages exposés, on peut voir ça ici : https://huggingface.co/spaces/jonatei/MoebiusDemo
      Je suis en train d’y toucher activement en ce moment, donc ça peut casser temporairement :)
      Ça tourne sur un CPU gratuit, donc il faut environ 80 secondes par image
  • J’ai créé une petite appli qui s’exécute entièrement dans le navigateur et permet d’essayer tous les modèles fine-tunés : https://inpaintlab.com/

  • Je ne sais pas ce qu’est l’inpainting. Dans les commentaires, tout le monde semble connaître ce terme, mais je n’ai pas vu d’explication sur la page liée

    • Si tu cliques sur l’image de visualisation, tu peux voir le fonctionnement réel. La zone violette est la partie que l’utilisateur indique au système comme devant être inpaintée, et en cliquant sur l’image tu vois le résultat
      En gros, le modèle regarde le contexte des zones non violettes, puis détermine ce qui conviendrait le mieux à la zone violette et redessine cette partie de l’image. On l’utilise souvent pour supprimer des objets, mais comme on le voit dans l’exemple, ça peut servir à d’autres choses aussi
  • Ce n’est pas terrible. Comme toujours avec les zones inpaintées, c’est beaucoup trop lisse par rapport aux textures naturelles fines et haute fréquence des photos réelles
    À la rigueur, c’est juste assez utile pour effacer quelque chose dans une vignette

    • C’est pareil ici, et les exemples sont eux aussi cherry-pickés. L’exemple de suppression de lignes à haute tension dans une photo naturelle est particulièrement mauvais. On voit encore la bande à l’endroit supprimé
      Même l’outil de retouche de base de Photoshop d’il y a quelques années pouvait faire à peu près pareil
  • J’aimerais qu’il existe un modèle comme ça pour la traduction de mangas. En ce moment, côté animation et manga, le modèle léger d’inpainting par défaut semble être LaMa, mais c’est déjà un modèle vieux de plusieurs années, donc il y a visiblement de la marge pour améliorer les choses

    • J’essaie d’outpainter puis d’upscaler un programme d’animation pour mon fils (Leapfrog Letter Factory, si ça intéresse quelqu’un), mais c’est assez difficile à faire en local
      Je me demande s’il serait possible de réentraîner ou de fine-tuner ce modèle. Ils parlent de créer des « experts », donc je me dis que cet expert pourrait peut-être mieux comprendre différents cas de traduction de personnages
  • Voilà de l’IA utile. Il y a énormément de cas d’usage que ça peut débloquer

    • Oui, et c’est précisément ce qui est frustrant. Il existe beaucoup de cas d’usage où un modèle local, conçu pour un objectif précis et capable de faire une seule tâche de manière fiable, peut vraiment faire la différence
      Mais personne ne va investir un milliard de dollars pour un dépoussiérage incroyable ou une segmentation de scène parfaite
      À la place, on se retrouve à devoir uploader ça dans le cloud puis supplier poliment un énorme modèle frontier multimodal de bien vouloir faire exactement ce qu’on veut
    • Je me demande combien de fois tu as retouché une photo prise avec ton téléphone au cours des 7 derniers jours
  • Je ne comprends pas. Je ne sais pas où on est censé pouvoir tester ça, ni si c’est juste de la pub