Welcome to the CS503 homework repository. This repository contains all homework and tutorial materials used throughout the course.
nanoGPT and nanoMaskGIT — small-scale implementations of GPT-style language modeling and MaskGIT-style image token modeling.nano4M — a small-scale implementation of 4M-style multi-modal model.nanoVLM and nanoFlowMatching (to be released) — vision-language modeling and flow-matching based generative modeling.In addition, we provide several tutorials:
Important note on compute resources: GPU resources are limited and shared across the class. Do not wait until the last day to start or finish your homework. If you cannot obtain GPUs due to last-minute congestion, this will not be accepted as a valid reason for late submission or deadline extension.
We provide an overview of the submission requirements, score distribution, and deadlines below. Please also carefully follow the detailed instructions in each notebook and any announcements on Moodle for the most up-to-date requirements.
Transformer Homework (5%) — due 8 March, 23:59
CS503_Transformer_Homework.ipynb with all required cells completed and outputs saved.nanoGPT (5%) & nanoMaskGIT (10%) — due 22 March, 23:59
CS503_FM_part1_nanoGPT.ipynb with all required cells completed and outputs saved.gpt.py with all required sections implemented.transformer_layers.py with task-specific functions implemented.CS503_FM_part2_nanoMaskGIT.ipynb with all required cells completed and outputs saved.maskgit.py with all required sections implemented.assets.zip file containing the required screenshot images.nano4M (15%) — due 12 April, 23:59
CS503_FM_part3_nano4M.ipynb with all required cells completed and outputs saved.fourm.py with all required sections implemented.assets.zip file containing the required screenshot images.transformer_layers.py with task-specific functions implemented.nanoVLM (7.5%) & nanoFlowMatching (7.5%) — due 26 April, 23:59
CS503_FM_part4_nanoFlowMatching.ipynb (make sure to execute all cells)dit.py with all required sections implemented.rectified_flow.py with all required sections implemented.CS503_FM_part5_nanoVLM.ipynb (make sure to execute all cells and include the training curves as a .png file in the assets folder so that they render correctly in the notebook)data/collators.py with all required sections implemented.models/modality_projector.py with all required sections implemented.models/language_model.py with all required sections implemented.models/vision_language_model.py with all required sections implemented.assets.zip file containing the required screenshot images.For environment setup, training commands, and cluster (SCITAS/IZAR) usage related to nanoGPT, nanoMaskGIT, and nano4M, please see the detailed instructions in NanoFM_Homeworks/README.md.
Please submit all materials via the course Moodle page. Submission links will be released at the latest two weeks before each homework deadline.
Jupyter Notebook
80.3%
Python
19.4%
Welcome to the CS503 homework repository. This repository contains all homework and tutorial materials used throughout the course.
nanoGPT and nanoMaskGIT — small-scale implementations of GPT-style language modeling and MaskGIT-style image token modeling.nano4M — a small-scale implementation of 4M-style multi-modal model.nanoVLM and nanoFlowMatching (to be released) — vision-language modeling and flow-matching based generative modeling.In addition, we provide several tutorials:
Important note on compute resources: GPU resources are limited and shared across the class. Do not wait until the last day to start or finish your homework. If you cannot obtain GPUs due to last-minute congestion, this will not be accepted as a valid reason for late submission or deadline extension.
We provide an overview of the submission requirements, score distribution, and deadlines below. Please also carefully follow the detailed instructions in each notebook and any announcements on Moodle for the most up-to-date requirements.
Transformer Homework (5%) — due 8 March, 23:59
CS503_Transformer_Homework.ipynb with all required cells completed and outputs saved.nanoGPT (5%) & nanoMaskGIT (10%) — due 22 March, 23:59
CS503_FM_part1_nanoGPT.ipynb with all required cells completed and outputs saved.gpt.py with all required sections implemented.transformer_layers.py with task-specific functions implemented.CS503_FM_part2_nanoMaskGIT.ipynb with all required cells completed and outputs saved.maskgit.py with all required sections implemented.assets.zip file containing the required screenshot images.nano4M (15%) — due 12 April, 23:59
CS503_FM_part3_nano4M.ipynb with all required cells completed and outputs saved.fourm.py with all required sections implemented.assets.zip file containing the required screenshot images.transformer_layers.py with task-specific functions implemented.nanoVLM (7.5%) & nanoFlowMatching (7.5%) — due 26 April, 23:59
CS503_FM_part4_nanoFlowMatching.ipynb (make sure to execute all cells)dit.py with all required sections implemented.rectified_flow.py with all required sections implemented.CS503_FM_part5_nanoVLM.ipynb (make sure to execute all cells and include the training curves as a .png file in the assets folder so that they render correctly in the notebook)data/collators.py with all required sections implemented.models/modality_projector.py with all required sections implemented.models/language_model.py with all required sections implemented.models/vision_language_model.py with all required sections implemented.assets.zip file containing the required screenshot images.For environment setup, training commands, and cluster (SCITAS/IZAR) usage related to nanoGPT, nanoMaskGIT, and nano4M, please see the detailed instructions in NanoFM_Homeworks/README.md.
Please submit all materials via the course Moodle page. Submission links will be released at the latest two weeks before each homework deadline.
Jupyter Notebook
80.3%
Python
19.4%