CURRENTLY UNDER CONSTRUCTION. THE CODE HAS NOT BEEN FULLY REVIEWED OR VERIFIED. PLEASE COME BACK A LITTLE LATER.
Welcome to the Becoming Full-Stack AI Researchers working group at Yale University! This repository contains comprehensive tutorials, minimal working examples (MWEs), and educational materials covering the essential packages, frameworks, and tools for end-to-end AI development and research.
- ๐ Equip researchers with skills to go beyond narrow, single-aspect AI work toward holistic, end-to-end AI project capability
- ๐ Build reusable onboarding materials for Yale members interested in AI research
- ๐ค Create a community of Explorers and Builders in AI
- GitHub Repository: Minimal working examples, demos, and slides
- Tutorial Paper: Comprehensive co-authored guide for all modules
- Presentations: In-depth framework introductions
- Modules
- Getting Started
- Repository Structure
- Installation
- Usage
- Contributing
- Resources
- Citation
- Acknowledgments
Our curriculum is organized into six interconnected modules, each covering critical aspects of the AI research and engineering pipeline.
Topics: HuggingFace, Quantization (BitsAndBytes), Datasets (Parquet, PyArrow), Benchmarking (lm-eval, inspect-ai)
๐ Materials:
MWEs/LLM_Evaluation_Alignment/- Evaluation and alignment presentation
๐ฏ Learning Objectives:
- Load and save sharded HuggingFace model checkpoints
- Quantize models for efficient deployment
- Store and load datasets in efficient formats
- Benchmark model performance
Topics: OpenRouter, vLLM (PagedAttention), FastAPI, GEPA, Tools/MCP, TransformerLens
๐ Materials:
MWEs/Inference/- Complete inference tutorial with API usage, tools, and GEPAMWEs/vllm+deepspeed/- vLLM tutorial with PagedAttention deep dive
๐ฏ Learning Objectives:
- Use APIs for LLM inference (OpenRouter, OpenAI)
- Understand model selection tradeoffs (cost, performance, latency)
- Implement tool calling and MCP integration
- Optimize prompts with GEPA
- Deploy models with vLLM for efficient serving
๐ Tutorial Paper: overleaf/sections/vllm.tex
Topics: LoRA/QLoRA with PEFT, PyTorch Lightning
๐ Materials:
MWEs/LoRA_tutorials/- Comprehensive LoRA tutorial with single-cell biology demoMWEs/pytorch/- PyTorch fundamentals
๐ฏ Learning Objectives:
- Understand parameter-efficient fine-tuning (PEFT)
- Implement LoRA from scratch
- Compare LoRA with full fine-tuning
- Optimize rank selection and hyperparameters
- Orchestrate training with PyTorch Lightning
๐ Tutorial Paper: overleaf/sections/lora.tex, overleaf/sections/sft.tex
Topics: Docker/Apptainer, VERL, Ray, JAX, Weights & Biases
๐ Materials:
MWEs/verl/- VERL tutorial for PPO training on GSM8KMWEs/ray_train/- Distributed training with Ray (data parallel, ZeRO, model parallel)MWEs/vllm+deepspeed/- DeepSpeed integration
๐ฏ Learning Objectives:
- Container workflows (Docker, Apptainer)
- Reinforcement learning with VERL (PPO)
- Distributed training strategies (Ray, DeepSpeed ZeRO)
- Experiment tracking (W&B)
๐ Tutorial Paper: overleaf/sections/ray.tex, overleaf/sections/deepspeed.tex
Topics: LangChain, ReAct, MemGPT, OpenVLA
๐ Materials:
MWEs/agentic_rl_workshop.ipynb- Agentic RL workshopMWEs/Robotics/- Vision-Language-Action frameworks
๐ฏ Learning Objectives:
- Build multi-step reasoning workflows
- Implement agent frameworks
- Vision-Language-Action models for robotics
Topics: Complete pipeline from data โ training โ deployment
๐ฏ Learning Objectives:
- Build complete AI pipelines
- Scale and debug on HPC clusters
- Deploy production systems
Topics: PyTorch, JAX, TensorFlow, Scaling Laws
๐ Materials:
MWEs/pytorch/- Comprehensive PyTorch tutorial (autograd, custom ops, optimization)MWEs/Scaling_Laws/- Scaling laws analysis (Kaplan, Chinchilla)
๐ Tutorial Paper: overleaf/sections/torch-jax-tf.tex
- Python 3.8+ (3.10 recommended)
- Fluency in Python (required)
- Git and Conda (or virtualenv)
- CUDA-capable GPU (optional but recommended for deep learning tasks)
# Clone the repository
git clone https://github.com/sashacui/full-stack-ai.git
cd full-stack-ai
# Choose a module to start with (e.g., PyTorch basics)
cd MWEs/pytorch
# Create environment and install dependencies
conda create -n pytorch-tutorial python=3.10
conda activate pytorch-tutorial
pip install torch numpy pandas jupyter
# Run the tutorial
jupyter notebook pytorch_tutorial.ipynb- Start with:
MWEs/pytorch/- Learn PyTorch fundamentals - Move to:
MWEs/Inference/- Understand LLM APIs and inference - Then try:
MWEs/LoRA_tutorials/- Learn parameter-efficient fine-tuning
- Start with:
MWEs/vllm+deepspeed/- Efficient serving - Move to:
MWEs/ray_train/- Distributed training - Then try:
MWEs/verl/- RL fine-tuning
- Explore all modules based on your research needs
- Experiment with combinations (e.g., LoRA + VERL + vLLM)
- Build end-to-end projects using multiple tools
full-stack-ai/
โโโ MWEs/ # Minimal Working Examples
โ โโโ pytorch/ # PyTorch fundamentals
โ โ โโโ pytorch_tutorial.ipynb
โ โ โโโ README.md
โ โโโ Inference/ # LLM inference, tools, GEPA
โ โ โโโ inference.ipynb
โ โ โโโ tools.py
โ โ โโโ GEPA_utils.py
โ โ โโโ README.md
โ โโโ LoRA_tutorials/ # LoRA/PEFT tutorials
โ โ โโโ lora_single_cell_demo_clean.ipynb
โ โ โโโ pytorch_lightning_tutorial.ipynb
โ โ โโโ README.md
โ โโโ vllm+deepspeed/ # vLLM and DeepSpeed
โ โ โโโ vllm_sections_1_4.ipynb
โ โ โโโ deepspeed_tutorial_sections_1_4.ipynb
โ โ โโโ README.md
โ โโโ ray_train/ # Ray distributed training
โ โ โโโ train_cifar.py
โ โ โโโ zero_deepspeed.py
โ โ โโโ model_par.py
โ โ โโโ README.md
โ โโโ verl/ # VERL RL training
โ โ โโโ evaluate_gsm8k.py
โ โ โโโ compare_results.py
โ โ โโโ README.md
โ โโโ LLM_Evaluation_Alignment/ # Evaluation & alignment
โ โ โโโ llm_evaluation_presentation.ipynb
โ โโโ Scaling_Laws/ # Scaling laws analysis
โ โ โโโ scaling_laws.ipynb
โ โโโ Robotics/ # VLA frameworks
โ โ โโโ frameworks.ipynb
โ โโโ agentic_rl_workshop.ipynb # Agentic systems
โ
โโโ overleaf/ # Tutorial paper source
โ โโโ tutorial.tex # Main tutorial document
โ โโโ syllabus.tex # Course syllabus
โ โโโ sections/ # Individual sections
โ โโโ introduction.tex
โ โโโ torch-jax-tf.tex
โ โโโ ray.tex
โ โโโ lora.tex
โ โโโ vllm.tex
โ โโโ deepspeed.tex
โ โโโ sft.tex
โ โโโ conclusion.tex
โ
โโโ slides/ # Presentation materials
โ โโโ ray_train.pdf
โ โโโ verl_tutorial.pdf
โ
โโโ README.md # This file
โโโ CLEANUP_PLAN.md # Development roadmap
- OS: Linux (Ubuntu 20.04+), macOS (11+), or Windows (WSL2)
- RAM: 16GB+ (32GB recommended for large models)
- GPU: NVIDIA GPU with 8GB+ VRAM (optional but recommended)
- Storage: 50GB+ free space (for models and datasets)
We recommend using Conda for environment management:
# Install Miniconda (if not already installed)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# Create a base environment
conda create -n fullstack-ai python=3.10
conda activate fullstack-ai
# Install common dependencies
pip install torch torchvision torchaudio
pip install transformers accelerate datasets
pip install jupyter jupyterlab ipython
pip install numpy pandas matplotlib seaborn scikit-learnEach MWE folder contains its own README.md with specific installation instructions. For example:
# For vLLM tutorial
cd MWEs/vllm+deepspeed
pip install vllm
jupyter notebook vllm_sections_1_4.ipynb
# For LoRA tutorial
cd MWEs/LoRA_tutorials
pip install scanpy leidenalg
jupyter notebook lora_single_cell_demo_clean.ipynb
# For VERL tutorial
cd MWEs/verl
# Follow containerized setup in README.md# Start Jupyter
jupyter notebook
# Or use JupyterLab
jupyter lab
# Access via browser at http://localhost:8888# Example: Ray training
cd MWEs/ray_train
python train_cifar.py
# Example: VERL evaluation
cd MWEs/verl
python evaluate_gsm8k.py --model_path <path> --data_path <path># Example SLURM job submission
cd MWEs/verl
sbatch ppo_gsm8k.sh- PyTorch Documentation
- Hugging Face Documentation
- vLLM Documentation
- Ray Documentation
- DeepSpeed Documentation
- LoRA: Low-Rank Adaptation
- PagedAttention (vLLM)
- ZeRO: DeepSpeed Optimization
- Scaling Laws for Neural LMs
The complete tutorial paper is being developed in the overleaf/ directory. Current sections include:
- โ Introduction
- โ PyTorch, JAX, and TensorFlow Fundamentals
- โ Ray: Distributed Training
- โ LoRA: Parameter-Efficient Fine-Tuning
- ๐ง vLLM: Efficient Inference
- ๐ง DeepSpeed: Memory-Efficient Training
- ๐ง SFT: Supervised Fine-Tuning
- ๐ง Evaluation and Benchmarking
- ๐ง Agentic Systems
- โ Conclusion
Legend: โ = Complete, ๐ง = In Progress
To compile the tutorial paper (requires LaTeX):
cd overleaf
pdflatex tutorial.tex
bibtex tutorial
pdflatex tutorial.tex
pdflatex tutorial.texIf you use these materials in your research or teaching, please cite:
@misc{fullstackai2025,
title = {Becoming Full-Stack AI Researchers: A Comprehensive Tutorial},
author = {Cui, Sasha and Mader, Alexander and Typaldos, George and Bai, Donglu and Kazdan, Josh and Hu, Xinyang and Wei, Jeffrey and Feng, Austin and Lin, Oliver and Zhu, Chris and Vishnempet, Shivkumar and Sun, Xingzhi and Le, Quan and Luo, Ping and Lafferty, John and Sekhon, Jasjeet},
year = {2025},
institution = {Yale University},
howpublished = {\url{https://github.com/sashacui/full-stack-ai}},
note = {Fall 2025 Working Group}
}- Wu Tsai Institute at Yale University - GPU resources and classroom space
- Yale Department of Statistics & Data Science
- Yale Department of Physics
- Yale Department of Philosophy
- Misha High Performance Computing Cluster
Session leads (by date)
23 Sept
- Inference & APIs, Tools, MCP, Prompt Engineering โ Alexander Mader
- Distributed Training (Ray, PyTorch vs JAX vs TensorFlow) โ George Typaldos, Sasha Cui
7 Oct
- SFT (PEFT, Lightning) โ Donglu Bai
- Pretraining and Model Collapse โ Josh Kazdan
21 Oct
- Serving (vLLM) & Distributed Training (DeepSpeed) โ Xinyang Hu
- Scaling Laws โ Alexander Mader
4 Nov
- Robotics (OpenVLA, RoboSuite, RoboVerse, LeRobot) โ Jeffrey Wei, Austin Feng, Oliver Lin
- Model Evaluation, Benchmarking, RLHF, RLAIF (lm-eval) โ Chris Zhu
18 Nov
- Agents (LangChain, ReAct workflows) โ Shivkumar Vishnempet, Xinyang Hu
- Alignment and Interpretability โ Oliver Lin
2 Dec
- RL (VERL, Q-function Monte Carlo), Containers (Docker, Apptainer) โ Xingzhi Sun, Quan Le, Donglu Bai
- Jailbreaking โ Josh Kazdan
We thank Ping Luo, John Lafferty, Linjun Zhang, Anurag Kashyap, Theo Saarinen, and Yuxuan Zhu for helpful comments and suggestions.
- Email: [email protected]
- Website: https://sashacui.com/full-stack.html
- Issues: GitHub Issues