À propos du projet
Il s'agit d'un projet d'apprentissage des modèles multimodaux organisé sous forme de Notebooks, dont le fil conducteur est « modèles visuels de base → alignement image-texte → compréhension et génération multimodales → modèles de diffusion → grands modèles multimodaux ». Chaque Notebook est accompagné de commentaires en chinois, adapté à l'apprentissage débutant et avancé.
Le contenu progresse par numérotation :
01 ViT : écrire from scratch un Vision Transformer, couvrant le Patch Embedding, l'encodage positionnel apprenable, le CLS Token, le Transformer Encoder et la tête de classification, avec visualisation du découpage en Patchs et des cartes de chaleur d'attention, tout en démontrant l'API officielle HuggingFace.
02 CLIP : démontrer la similarité image-texte et la classification zero-shot de l'API officielle, décomposer progressivement l'encodage texte/image, la projection, la normalisation L2 et la similarité cosinus avec mise à l'échelle par température, et écrire une version simplifiée du double encodeur avec perte contrastive.
03 ALBEF : selon l'approche « aligner d'abord, fusionner ensuite », implémenter l'encodeur d'images ViT, l'encodeur de texte BERT, l'attention croisée multi-têtes et la couche de fusion multimodale, et expliquer les trois objectifs ITC/ITM/MLM ainsi que la distillation par momentum.
04 BLIP : présenter l'architecture unifiée encodeur-décodeur MED, où les mêmes poids BERT basculent entre trois modes — encodage unimodal, encodage cross-modal et décodage causal — via des masques d'attention, et démontrer la légende d'image, le question-réponse visuel, l'extraction de caractéristiques et l'appariement image-texte.
05 BLIP-2 : utiliser Q-Former comme pont entre l'EVA-ViT-G/14 gelé et l'OPT gelé, capturer les tenseurs internes du Q-Former via des Hooks, montrer la forme des 32 Query Tokens apprenables, et écrire une version simplifiée du Q-Former.
06 Visualisation de l'architecture Stable Diffusion : trois sous-Notebooks utilisent respectivement print(model), torchinfo et torchviz pour présenter le VAE, l'encodeur de texte CLIP, le Tokenizer et l'U-Net, en comparant trois perspectives : arbre textuel, tableau de paramètres et graphe de calcul autograd.
07 Inférence manuelle DDIM : sans dépendre du Pipeline Diffusers, implémenter from scratch l'encodage temporel, l'encodage de texte, l'attention croisée, la boucle de débruitage U-Net et le décodage VAE, et expliquer les différences entre DDIM et DDPM.
08 Pratique de génération texte-image : basé sur diffusers et ModelScope, réaliser le téléchargement des poids, le chargement du Pipeline, l'inférence par Prompt et la visualisation des résultats.
09 Qwen3-VL : charger Qwen3-VL-2B-Instruct, présenter l'inférence multimodale et la structure complète, expliquer le Patch Merger, DeepStack et l'encodage de Patch par convolution 3D pour le traitement unifié image/vidéo.
Le dépôt fournit également des suggestions de parcours d'apprentissage, une liste de dépendances (torch, transformers, diffusers, modelscope, torchinfo, torchviz, etc. ; torchviz nécessite Graphviz au niveau système) ainsi que les étapes de démarrage rapide ; les poids des modèles sont automatiquement téléchargés et mis en cache dans le sous-répertoire correspondant de model_cache/ lors de la première exécution. Le projet est sous licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.