프로젝트 소개

Notebook 형식으로 구성된 멀티모달 모델 학습 프로젝트로, 메인 흐름은 '비전 기초 모델 → 이미지-텍스트 정렬 → 멀티모달 이해와 생성 → 확산 모델 → 멀티모달 대형 모델'이며, 각 Notebook에는 중국어 주석이 포함되어 있어 입문과 심화 학습에 적합합니다. 내용은 번호 순으로 심화됩니다: 01 ViT: Vision Transformer를 처음부터 직접 작성하며, Patch Embedding, 학습 가능한 위치 인코딩, CLS Token, Transformer Encoder, 분류 헤드를 다루고, Patch 분할과 어텐션 히트맵을 시각화하며, HuggingFace 공식 API도 함께 시연합니다. 02 CLIP: 공식 API의 이미지-텍스트 유사도와 제로샷 분류를 시연하고, 텍스트/이미지 인코딩, 투영, L2 정규화, 온도 스케일링 코사인 유사도를 단계별로 분해하며, 간소화된 이중 인코더와 대조 손실을 직접 작성합니다. 03 ALBEF: '정렬 후 융합'이라는 설계 사상을 바탕으로 ViT 이미지 인코더, BERT 텍스트 인코더, 다중 헤드 교차 어텐션, 멀티모달 융합 레이어를 구현하고, ITC/ITM/MLM 세 가지 목표와 모멘텀 증류를 설명합니다. 04 BLIP: MED 통합 인코더-디코더 아키텍처를 소개하며, 동일한 BERT 가중치가 어텐션 마스크를 통해 단일 모달 인코딩, 교차 모달 인코딩, 인과 디코딩 세 가지 모드를 전환하는 것을 설명하고, 이미지 캡셔닝, 시각적 질의응답, 특징 추출, 이미지-텍스트 매칭을 시연합니다. 05 BLIP-2: Q-Former로 동결된 EVA-ViT-G/14와 동결된 OPT를 연결하고, Hook으로 Q-Former 내부 텐서를 캡처하여 32개의 학습 가능한 Query Token의 형태를 보여주며, 간소화된 Q-Former를 직접 작성합니다. 06 Stable Diffusion 아키텍처 시각화: 세 개의 하위 Notebook에서 각각 print(model), torchinfo, torchviz를 사용하여 VAE, CLIP 텍스트 인코더, Tokenizer, U-Net을 보여주고, 텍스트 트리, 파라미터 표, autograd 계산 그래프 세 가지 관점을 비교합니다. 07 DDIM 수동 추론: Diffusers Pipeline에 의존하지 않고, 시간 단계 임베딩, 텍스트 인코딩, 교차 어텐션, U-Net 노이즈 제거 루프, VAE 디코딩을 처음부터 구현하고, DDIM과 DDPM의 차이를 설명합니다. 08 텍스트-이미지 생성 실전: diffusers와 ModelScope를 기반으로 가중치 다운로드, Pipeline 로드, Prompt 추론, 결과 시각화를 완료합니다. 09 Qwen3-VL: Qwen3-VL-2B-Instruct를 로드하고, 멀티모달 추론과 전체 구조를 보여주며, Patch Merger, DeepStack, 3D 컨볼루션 Patch 임베딩이 이미지/비디오를 통합 처리하는 방식을 설명합니다. 저장소는 또한 학습 경로 제안, 의존성 목록(torch, transformers, diffusers, modelscope, torchinfo, torchviz 등, torchviz는 시스템 수준 Graphviz 필요), 빠른 시작 단계를 제공합니다. 모델 가중치는 처음 실행 시 자동으로 다운로드되어 model_cache/ 해당 하위 디렉토리에 캐시됩니다. 프로젝트는 MIT 라이선스를 사용합니다.