Sobre el proyecto
Este es un proyecto de aprendizaje de modelos multimodales organizado en forma de Notebooks, cuya línea principal es "modelos visuales fundamentales → alineación imagen-texto → comprensión y generación multimodal → modelos de difusión → modelos de lenguaje multimodal". Cada Notebook incluye comentarios en chino y es adecuado tanto para principiantes como para estudiantes avanzados.
El contenido avanza de forma numerada:
01 ViT: implementa desde cero un Vision Transformer, abarcando Patch Embedding, codificación posicional aprendible, CLS Token, Transformer Encoder y cabeza de clasificación, además de visualizar la división en parches y los mapas de calor de atención, y demostrar la API oficial de HuggingFace.
02 CLIP: demuestra la similitud imagen-texto y la clasificación zero-shot con la API oficial, desglosa paso a paso la codificación de texto/imagen, la proyección, la normalización L2 y la similitud coseno con escalado de temperatura, e implementa una versión simplificada del doble codificador y la pérdida contrastiva.
03 ALBEF: siguiendo la idea de "alinear primero, fusionar después", implementa el codificador de imágenes ViT, el codificador de texto BERT, la atención cruzada multi-cabeza y la capa de fusión multimodal, y explica los tres objetivos ITC/ITM/MLM y la destilación por momentum.
04 BLIP: presenta la arquitectura unificada de codificación-decodificación MED, donde los mismos pesos de BERT alternan entre codificación unimodal, codificación multimodal y decodificación causal mediante máscaras de atención, y demuestra descripción de imágenes, respuesta visual a preguntas, extracción de características y emparejamiento imagen-texto.
05 BLIP-2: usa Q-Former como puente entre el EVA-ViT-G/14 congelado y el OPT congelado, captura tensores internos del Q-Former mediante Hooks, muestra la forma de los 32 Query Tokens aprendibles e implementa una versión simplificada del Q-Former.
06 Visualización de la arquitectura de Stable Diffusion: tres sub-Notebooks muestran el VAE, el codificador de texto CLIP, el Tokenizer y la U-Net mediante print(model), torchinfo y torchviz, comparando tres perspectivas: árbol de texto, tabla de parámetros y grafo computacional de autograd.
07 Inferencia manual con DDIM: sin depender del Pipeline de Diffusers, implementa desde cero la incrustación de pasos de tiempo, la codificación de texto, la atención cruzada, el bucle de eliminación de ruido de la U-Net y la decodificación del VAE, y explica las diferencias entre DDIM y DDPM.
08 Práctica de texto a imagen: completa la descarga de pesos, la carga del Pipeline, la inferencia con Prompt y la visualización de resultados basándose en diffusers y ModelScope.
09 Qwen3-VL: carga Qwen3-VL-2B-Instruct, muestra la inferencia multimodal y la estructura completa, y explica el Patch Merger, DeepStack y la incrustación de parches con convolución 3D para el procesamiento unificado de imágenes/vídeos.
El repositorio también ofrece sugerencias de rutas de aprendizaje, una lista de dependencias (torch, transformers, diffusers, modelscope, torchinfo, torchviz, etc.; torchviz requiere Graphviz a nivel de sistema) y pasos de inicio rápido; los pesos de los modelos se descargan automáticamente en la primera ejecución y se almacenan en caché en el subdirectorio correspondiente de model_cache/. El proyecto utiliza la licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.