Hi, I’m George

Currently: Member of Engineering (Pre-training) at Poolside AI, running training on tens of thousands of GPUs and pushing model capability through scaling, experiment design, and architecture changes.

Previously I worked at Together AI running distributed training on hundreds of GPUs and building evals. At Snap I developed multimodal LLMs that reached 100M+ users, did diffusion model pre-training, built AI applications end-to-end, and contributed to research. I work across text, image, and speech.

See also: Publications

Introduction to parallelism in PyTorch

Training large models inevitably requires a solid understanding of parallelism techniques. In this post, I’ll give a practical, in-depth overview of the most common approaches — DDP, FSDP, and TP — and how they’re actually used in real PyTorch training setups. This article was inspired by the excellent “How to Scale Your Model” blog series. While that series is clear and insightful, I felt it was missing some hands-on perspective and real-world lessons from someone who has trained models in the wild. ...

October 31, 2025 · 21 min · 4269 words · George Grigorev

Tokenization from first principles

Byte-level BPE from first principles: what matters for speed and quality, how to implement it cleanly, and why a SuperBPE variant can lift sample efficiency.

October 7, 2025 · 16 min · 3224 words · George Grigorev