Dans un billet de blog publié fin mai, Eric Lu, le créateur de Mixfont, détaille les enseignements tirés de l’entraînement d’un modèle de génération de polices de caractères. Ce projet, qui constitue la technologie sous-jacente de son service Mixfont, visait à produire des fichiers TTF fonctionnels directement à partir d’une image ou d’une invite textuelle. Le développeur y confie sa surprise initiale de constater qu’aucun modèle d’intelligence artificielle dédié aux polices n’existait encore, alors que des modèles existent pour les images, la vidéo, la musique, le code ou les objets 3D.
Une complexité insoupçonnée des formes de lettres
Le premier obstacle rencontré a été la grande diversité des formes d’une même lettre. Eric Lu illustre son propos avec les multiples variations de la lettre « g » (majuscule et minuscule) que le modèle devait apprendre à reproduire dans différents styles. Il explique notamment avoir dû résoudre la distinction entre le « a » à un étage, plus courant dans l’écriture manuscrite, et le « a » à deux étages, utilisé dans de nombreuses polices d’imprimerie. Séparer ces glyphes et fournir au modèle un nombre suffisant d’exemples pour chaque format a constitué un défi majeur, rendant le problème bien plus complexe qu’il ne le paraissait au départ.
La qualité des données, clé de la réussite
L’expérience a également mis en lumière l’importance cruciale de disposer de données de haute qualité, normalisées et reproductibles. Si de nombreuses polices sont disponibles en ligne, notamment des polices libres comme celles de Google Fonts, les simples fichiers ne suffisent pas. Beaucoup de polices ne prennent pas en charge certains caractères – le développeur note que le symbole « & » est souvent absent – et d’autres renvoient des caractères de substitution (un cadre vide ou un logo) au lieu de laisser un emplacement vide. Il a donc fallu s’assurer que les données d’entraînement n’étaient pas contaminées et étaient de la meilleure qualité possible. Une leçon surprenante a été que, quel que soit le type de modèle entraîné, les techniques d’entraînement sont désormais assez standardisées et la qualité du résultat dépend presque entièrement de la qualité et de la quantité des données d’entrée.
La disponibilité des GPU, un goulot d’étranglement
Même avec des scripts prêts et des données de qualité, l’accès aux GPU (unités de traitement graphique) reste un facteur limitant. Pour ce modèle de génération de polices, l’accès à des H100 était indispensable pour mener les cycles d’entraînement dans un délai raisonnable. Eric Lu détaille les difficultés rencontrées : sur Google Cloud, il n’a trouvé aucune disponibilité pour le type de machine requis ; sur Azure, il a dû échanger pendant plusieurs semaines avec le support pour obtenir un quota de machines dans un centre de données en Australie, alors qu’il est basé aux États-Unis. Lors d’un cycle d’entraînement long, certaines de ses machines ont été interrompues de manière inopinée à mi-parcours, entraînant la perte de dix-huit heures de travail. Ce processus lent, coûteux et frustrant lui a fait réaliser à quel point l’accès aux GPU constitue une barrière pour les petits acteurs, empêchant potentiellement une partie de l’innovation et de la créativité dans le domaine de l’intelligence artificielle.
Un modèle à la croisée des techniques
Le modèle final repose en grande partie sur une approche par diffusion, similaire à celle des principaux modèles de génération d’images. Eric Lu indique qu’au cours de la phase de recherche, il a découvert que la génération de polices ne se limite pas à la seule génération d’images, mais implique des contraintes supplémentaires liées à la cohérence des glyphes, à l’espacement et au crénage. Le blog présente quelques résultats visuels du modèle, dont une police d’affichage imitant l’apparence du fromage cheddar, illustrant la capacité du modèle à produire des styles très variés.