AI Infra Interviews logo
Hands-on · Choose a project path

Build it.
Know why it works.

Build a language model on your CPU, take a fine-tuned adapter into a running service, or deploy a named model on a GPU. Choose a path, follow its commands and check the result at each stage.

New to model weights or GPU memory? Begin with the free AI infrastructure introduction. The first two projects below run on a CPU. GPU guides state the exact checks completed and the runs still pending.

Choose your learning path

Build a tiny language model

A CPU foundation project. Learn the training loop and keep your own resumable checkpoint. This checkpoint is separate from the pretrained Qwen models below.

  1. Start with
    Python and the included synthetic text
    Keep for the next step
    tiny.pt and generated text

Fine-tune and serve with Unsloth

One incident-label task from data to adapter to HTTP. Carry prepared/ and qwen-adapter/ through the chapters. GPU steps are visibly marked as pending execution.

  1. Start with
    Grouped source incidents
    Keep for the next step
    prepared/ and manifest.json
  2. Start with
    prepared/ and Qwen3-0.6B
    Keep for the next step
    qwen-adapter/ and local predictions
  3. Start with
    The same qwen-adapter/
    Keep for the next step
    incident-labeler on localhost:8001
  4. Start with
    That endpoint and the same task cases
    Keep for the next step
    Per-request evidence and a release check

Deploy on a named GPU

Start with an existing model, without training. This path uses Qwen3.5-4B on an NVIDIA L4 and its own request set.

  1. Start with
    L4 host, Docker and pinned model files
    Keep for the next step
    hands-on-qwen on localhost:8000
  2. Start with
    That endpoint and reviewed task cases
    Keep for the next step
    Per-request evidence and a release check

5 guides · Use a path above or open a standalone project below. Reading access and compute requirements are listed separately; cloud GPU charges are not included.

  1. TrainingFree to readFirst project

    Train a tiny language model from scratch with PyTorch

    Build a 470,528-parameter causal language model on a CPU. Train it, inspect validation loss, save a checkpoint and resume the same run.

    You finish with: A trained byte-level model, a resumable checkpoint and sampled text.

    CPU · Python 3.12 · no GPU required
    60–90 minutes of guided work

    Verification: CPU workflow executed.

  2. DataFree to readFirst project

    Prepare a JSONL dataset for small-model fine-tuning

    Validate conversation records, reject conflicting duplicates, split source groups and save a data manifest before spending GPU time.

    You finish with: Train, validation and test JSONL files with disjoint source groups and recorded hashes.

    CPU · Python 3.12 · standard library only
    45–60 minutes of guided work

    Verification: CPU workflow executed.

  3. Fine-tuningFree accountGuided GPU project

    Fine-tune and serve Qwen3-0.6B with Unsloth

    Train a QLoRA adapter, compare held-out labels, reload the saved files and serve the same Qwen3 adapter through a local vLLM API.

    You finish with: A saved adapter, base-versus-adapter predictions and a local API comparison using that adapter.

    Linux · Python 3.12 · NVIDIA GPU; serving path targets an L4 (24 GB)
    2–3 hours of guided work plus setup and GPU runs

    Verification: GPU run pending.

  4. DeploymentFree to readGuided GPU project

    Deploy Qwen3.5-4B with vLLM on an NVIDIA L4

    Start a text-only Qwen3.5 API with pinned model files, a recorded container digest, bounded context, local access and a checked response.

    You finish with: A locally bound chat endpoint and a release record you can reproduce.

    Linux x86-64 · one NVIDIA L4 (24 GB) · Docker
    60–90 minutes plus downloads

    Verification: GPU run pending.

  5. EvaluationPremiumService project

    Benchmark a vLLM service and build a release gate

    Run repeatable HTTP checks, retain failed requests, measure end-to-end latency and require correct, complete answers within a declared deadline.

    You finish with: Per-request JSON evidence and a release command that fails when the declared threshold is missed.

    Python 3.12 client · a running local vLLM endpoint
    60–90 minutes plus measured runs

    Verification: Client tested · GPU run pending.

Want the underlying design decisions? Read the concept library, or follow a structured course. These projects focus on building and checking a specific result.