Skip to content
View shrut2702's full-sized avatar

Highlights

  • Pro

Block or report shrut2702

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
shrut2702/README.md

Hi, I'm Shrut 👋

I implement generative AI papers from scratch and document what breaks.

Machine Learning Engineer working on applied ML problems in MedTech, mostly navigating ambiguity and vague ideas. Outside of that I rebuild the models behind modern generative AI, from VAEs and discrete latents to CLIP, GPT-style LLMs, and autoregressive text-to-image, so I understand the mechanism instead of the API. Currently moving into speech and talking avatars.

Learn - Build - Feedback - Iterate

detachedsl shrut-dalwadi

What I'm building

  • generative-ai-from-scratch - VAE, VQ-VAE, VQ-VAE-2, CLIP, and DALL·E-1-style autoregressive text-to-image, each implemented by hand and pushed through ablations. Perceptual loss took VQ-VAE-2 from 0.44 to 0.097 LPIPS. The text-to-image write-up tracks a generation bug through two wrong hypotheses before pinning it on data scale.

  • attention_to_llm - A GPT-2 style LLM built from tokenizer to DPO. Also holds architecture experiments with plots: pre-norm vs post-norm gradient stress test, RoPE vs absolute position embeddings across context lengths the model never saw, and MoE routing with and without a load balancing loss.

  • microscaling-formats - Benchmark of per-tensor, block-32, and microscaling (MX) INT quantization at 8, 4, and 2 bits across 7 vision-language models on VQAv2 and TextVQA. INT8 is essentially free, per-tensor INT4 collapses every model to near zero accuracy because one scale per tensor rounds ~90% of weights to zero, and block-INT4 beats MXINT4 by 3 to 9%. Blog post

  • upasak - A flexible, mindful to privacy, no-code/low-code framework for fine-tuning large language models, built around Hugging Face Transformers. Streamlit interface, multi-format dataset support, built-in PII sanitization. Tutorial

  • text_recognition - End-to-end OCR pipeline with CRAFT for detection and CRNN for recognition, trained from scratch on ~45,000 images and tracked with CometML.

About me

I am a firm believer of figuring out as we go.

I started my career in 2024 and went deeper into AI to stop treating it as a black box. The further in I got, the more I fell for the fundamental mechanisms and principles behind deep learning architectures.

I'm broadly interested in maths, finance, tech, and ways to stop self-sabotaging. Aiming for generalist status, but my comfort zone has me in a death grip. Don't believe in fluff projects, either you learn something or you solve a problem.

Permanently buried under a backlog of papers to read.

Languages and Tools:

python pytorch huggingface opencv docker git

Pinned Loading

  1. generative-ai-from-scratch generative-ai-from-scratch Public

    From-scratch implementations of VAE, VQ-VAE, VQ-VAE-2, CLIP and DALLE-1-style autoregressive text-to-image with experiments, failure analysis and metrics.

    Jupyter Notebook

  2. attention_to_llm attention_to_llm Public

    Decoder-only LLM from scratch: RoPE, Mixture-of-Experts, pretraining + SFT.

    Jupyter Notebook 2

  3. microscaling-formats microscaling-formats Public

    Forked from rohitpotluri/microscaling-formats

    Microscaling (MX) low-bit quantization formats, implemented and benchmarked on VLMs.

    Jupyter Notebook

  4. talking_avatar_journey talking_avatar_journey Public

    Jupyter Notebook

  5. upasak upasak Public

    UI-based Fine-Tuning for Large Language Models (LLMs)

    Python 20 1

  6. text_recognition text_recognition Public

    Jupyter Notebook