Home · Hands-on verification
Projects
Choose a project, work through its stages, and keep the evidence. Every available project includes starter code, a reference solution, and checks you can run on CPU.
Starting a new repository? Set up your folders, experiment records and CLI.
Running experiments? Build a reproducible JAX/Flax experiment, compare runs and write a research notebook.
Ready to build
Start with JAX / CPU · 4 stages
Build a regression training audit
Extract the ZIP into a fresh folder. That folder contains requirements-cpu.txt and projects/regression-audit. Use the extracted top folder as your working directory; a full course checkout is optional for this project. Open projects/regression-audit/starter/model.py in your editor, implement the stage functions directly inside that file, and verify each stage with python3 projects/regression-audit/tests/check.py --stage 1 (through --stage 4).
Implement matching prediction/target shapes and scalar loss. Explain finite-difference tolerance and precision.
Where to put your code:
Edit projects/regression-audit/starter/model.py directly.
Verify each stage: projects/regression-audit/tests/check.py
Your stages
- Prediction and objective
- Gradient evidence
- Compiled training
- Training audit
Train neural networks / CPU · 3 stages
Build a reproducible classifier audit
Extract the ZIP into a fresh folder. That folder contains requirements-cpu.txt and projects/mlp-classifier. Use the extracted top folder as your working directory; a full course checkout is optional for this project. Copy the starter scaffold projects/mlp-classifier/starter/model.py to projects/mlp-classifier/my_model.py, implement the stage functions in projects/mlp-classifier/my_model.py, and verify each stage with python3 projects/mlp-classifier/tests/check.py --implementation projects/mlp-classifier/my_model.py --stage 1 (through --stage 3).
Explain the nonlinearity and parameter shapes. Verify a stable scalar objective independently.
Where to put your code:
Copy projects/mlp-classifier/starter/model.py to projects/mlp-classifier/my_model.py and edit projects/mlp-classifier/my_model.py.
Verify each stage: projects/mlp-classifier/tests/check.py
Your stages
- Model and shape contract
- Objective and derivative evidence
- Training audit
Simulate and discover / CPU float64; no accelerator qualification · 3 stages
Audit a differentiable scientific inverse problem
Extract the project ZIP into a fresh folder, install its requirements-cpu.txt in your course environment, and run commands from the extracted top folder. CPU float64 is enabled by the scaffold. Copy the starter scaffold projects/scientific-inverse/starter/model.py to projects/scientific-inverse/my_model.py, implement the stage functions in projects/scientific-inverse/my_model.py, and verify each stage with python3 projects/scientific-inverse/tests/check.py --implementation projects/scientific-inverse/my_model.py --stage 1 (through --stage 3).
Separate discrete algorithm correctness from continuous approximation error. Verify batch/time axes, singleton batches and malformed-input rejection.
Where to put your code:
Copy projects/scientific-inverse/starter/model.py to projects/scientific-inverse/my_model.py and edit projects/scientific-inverse/my_model.py.
Verify each stage: projects/scientific-inverse/tests/check.py
Your stages
- Simulation and numerical references
- Objective and solver sensitivity
- Parameter recovery and an inference report
Learn by interacting / CPU · 4 stages
Train and audit a policy from interaction
Extract the project ZIP and work from its top folder, which contains requirements-cpu.txt and projects/policy-evaluation. A full checkout is optional. Copy the starter scaffold projects/policy-evaluation/starter/model.py to projects/policy-evaluation/my_model.py, implement the stage functions in projects/policy-evaluation/my_model.py, and verify each stage with python3 projects/policy-evaluation/tests/check.py --implementation projects/policy-evaluation/my_model.py --stage 1 (through --stage 4).
Enumerate transition and episode-ending contracts independently. Keep reset and final observations explicit.
Where to put your code:
Copy projects/policy-evaluation/starter/model.py to projects/policy-evaluation/my_model.py and edit projects/policy-evaluation/my_model.py.
Verify each stage: projects/policy-evaluation/tests/check.py
Your stages
- Functional environment
- Batched trajectories
- Policy objectives
- Training and held-out evaluation
Model uncertainty / CPU · 3 stages
Audit a Bayesian regression model
Extract the ZIP into a fresh folder. Its top folder contains requirements-cpu.txt and projects/bayesian-regression; run commands from that top folder in the activated environment. Copy the starter scaffold projects/bayesian-regression/starter/model.py to projects/bayesian-regression/my_model.py, implement the stage functions in projects/bayesian-regression/my_model.py, and verify each stage with python3 projects/bayesian-regression/tests/check.py --implementation projects/bayesian-regression/my_model.py --stage 1 (through --stage 3).
State a prior, likelihood and known-noise assumption. Derive the conjugate posterior and verify independent numerical references.
Where to put your code:
Copy projects/bayesian-regression/starter/model.py to projects/bayesian-regression/my_model.py and edit projects/bayesian-regression/my_model.py.
Verify each stage: projects/bayesian-regression/tests/check.py
Your stages
- Exact posterior and density
- Sampler and diagnostic audit
- Predictive uncertainty and mismatch
Understand JAX itself / CPU float64 · 3 stages
Audit derivatives and compile a tiny transformation
Extract the ZIP, install requirements-cpu.txt in your course environment, and run commands from the extracted top folder. The scaffold enables CPU float64 examples; no compiler or accelerator installation is required. Copy the starter scaffold projects/derivative-audit/starter/model.py to projects/derivative-audit/my_model.py, implement the stage functions in projects/derivative-audit/my_model.py, and verify each stage with python3 projects/derivative-audit/tests/check.py --implementation projects/derivative-audit/my_model.py --stage 1 (through --stage 3).
Explain input directions and output cotangents using independent Jacobians. Verify an exact Hessian-vector product rather than substituting Gauss–Newton.
Where to put your code:
Copy projects/derivative-audit/starter/model.py to projects/derivative-audit/my_model.py and edit projects/derivative-audit/my_model.py.
Verify each stage: projects/derivative-audit/tests/check.py
Your stages
- Directional products and exact curvature
- Exact custom derivative contracts
- A compiled primitive-level transformation
Ship and adapt JAX workloads / CPU; device and network validation remain separate · 3 stages
Release a trained computation with a deployment audit
Use the top folder of the extracted ZIP as the working directory. It contains requirements-cpu.txt and projects/deployment-audit. This project exercises an in-process CPU request boundary; real network and target-device measurements require separate runs. Copy the starter scaffold projects/deployment-audit/starter/model.py to projects/deployment-audit/my_model.py, implement the stage functions in projects/deployment-audit/my_model.py, and verify each stage with python3 projects/deployment-audit/tests/check.py --implementation projects/deployment-audit/my_model.py --stage 1 (through --stage 3).
Identify the trained base and adaptation data using recorded hashes. Compare a stable objective and gradient with an independent reference.
Where to put your code:
Copy projects/deployment-audit/starter/model.py to projects/deployment-audit/my_model.py and edit projects/deployment-audit/my_model.py.
Verify each stage: projects/deployment-audit/tests/check.py
Your stages
- Trained artifact and adaptation provenance
- Export and precision contract
- Request timing and capacity evidence
Operate JAX workloads / CPU; optional target runtime requires separate validation · 5 stages
Operate and recover a local JAX workload
Work from the extracted top folder containing requirements-cpu.txt and projects/workload-operations. The checks use bounded local subprocesses and temporary directories; no cloud allocation occurs. Copy the starter scaffold projects/workload-operations/starter/model.py to projects/workload-operations/my_model.py, implement the stage functions in projects/workload-operations/my_model.py, and verify each stage with python3 projects/workload-operations/tests/check.py --implementation projects/workload-operations/my_model.py --stage 1 (through --stage 5).
Observe actual worker exit and reap timed-out processes. Derive useful metrics from synchronized work with explicit units.
Where to put your code:
Copy projects/workload-operations/starter/model.py to projects/workload-operations/my_model.py and edit projects/workload-operations/my_model.py.
Verify each stage: projects/workload-operations/tests/check.py
Your stages
- Real process lifecycle
- Workload observability
- Complete-state recovery
- Artifact selection and rollback
- Capacity and cost
Ship and adapt JAX workloads / CPU; target-edge validation is a separate extension · 4 stages
Build an audio waveform-to-inference harness
Run from the extracted ZIP top folder containing requirements-cpu.txt and projects/audio-harness. The README links executed plots, a connected reference runner and bundled synthesis/reviewer tasks. The fixture classifies synthetic sounds, not speech. Copy the starter scaffold projects/audio-harness/starter/model.py to projects/audio-harness/my_model.py, implement the stage functions in projects/audio-harness/my_model.py, and verify each stage with python3 projects/audio-harness/tests/check.py --implementation projects/audio-harness/my_model.py --stage 1 (through --stage 4).
Explain sample-rate, waveform, crop and STFT contracts with independent calculations. Preserve recording identities, groups, licenses and split provenance.
Where to put your code:
Copy projects/audio-harness/starter/model.py to projects/audio-harness/my_model.py and edit projects/audio-harness/my_model.py.
Verify each stage: projects/audio-harness/tests/check.py
Your stages
- Waveform and spectral contract
- Training, recovery and held-out errors
- Precision and complete exported artifacts
- Measured inference and boundary drills
Train neural networks / CPU synthetic image/text fixture; target runtime unverified · 5 stages
Build and audit image–text retrieval
Extract the ZIP and install its requirements-cpu.txt; run commands from the extracted top folder. Reference figures are measured on a synthetic CPU fixture. Copy the starter scaffold projects/cross-modal-harness/starter/model.py to projects/cross-modal-harness/my_model.py, implement the stage functions in projects/cross-modal-harness/my_model.py, and verify each stage with python3 projects/cross-modal-harness/tests/check.py --implementation projects/cross-modal-harness/my_model.py --stage 1 (through --stage 5).
Validate paired semantic inputs and split by source identity. Derive and independently check a multi-positive objective.
Where to put your code:
Copy projects/cross-modal-harness/starter/model.py to projects/cross-modal-harness/my_model.py and edit projects/cross-modal-harness/my_model.py.
Verify each stage: projects/cross-modal-harness/tests/check.py
Your stages
- Pair and preprocessing contracts
- Symmetric contrastive objective
- Training and complete recovery
- Precision and exported branches
- Inference, measured release and rollback
Make it fast. Make it scale. / CPU interpretation/simulation available; real TPU runner requires separately validated TPU hardware · 3 stages
Audit a Pallas kernel and its target evidence
CPU stages use requirements-cpu.txt with actual Pallas interpretation and TPU-memory simulation. Run from the extracted top folder. The separate target_tpu.py command requires a configured real TPU environment and refuses CPU fallback; no TPU qualification is implied by CPU stage passes. Copy the starter scaffold projects/kernel-audit/starter/model.py to projects/kernel-audit/my_model.py, implement the stage functions in projects/kernel-audit/my_model.py, and verify each stage with python3 projects/kernel-audit/tests/check.py --implementation projects/kernel-audit/my_model.py --stage 1 (through --stage 3).
Verify every output against an independent represented-input oracle across tails and dtypes. Explain grid coordinates, input windows and unique output ownership.
Where to put your code:
Copy projects/kernel-audit/starter/model.py to projects/kernel-audit/my_model.py and edit projects/kernel-audit/my_model.py.
Verify each stage: projects/kernel-audit/tests/check.py
Your stages
- Grid and precision contract
- Fused target-oriented kernel
- Pipeline semantics and measurement protocol
Train neural networks / CPU; target-device extension requires separate validation · 8 stages
Build a recoverable image classifier through exported inference
Use the extracted top-level folder containing requirements-cpu.txt and projects/image-harness. The synthetic image fixture needs no download; an optional manifest loads existing local image files. Export and restore checks launch bounded fresh CPU interpreters. Copy the starter scaffold projects/image-harness/starter/model.py to projects/image-harness/my_model.py, implement the stage functions in projects/image-harness/my_model.py, and verify each stage with python3 projects/image-harness/tests/check.py --implementation projects/image-harness/my_model.py --stage 1 (through --stage 8).
Validate raw image channels/layout/range and external-file provenance without split leakage. Verify convolution/pooling/head independently and check a parameter derivative.
Where to put your code:
Copy projects/image-harness/starter/model.py to projects/image-harness/my_model.py and edit projects/image-harness/my_model.py.
Verify each stage: projects/image-harness/tests/check.py
Your stages
- Image data and preprocessing
- Transparent CNN baseline
- Actual augmented training
- Full-state recovery
- Frozen evaluation and errors
- Calibrated precision
- Serialized inference artifact
- Measured serving adapter
Start with JAX / CPU; synthetic array/state contracts · 4 stages
Connect arrays, transformations and explicit state
Run from the extracted bundle’s top folder with requirements-cpu.txt installed. Four stages connect the first four phases before the regression capstone. Copy the starter scaffold projects/foundation-toolkit/starter/toolkit.py to projects/foundation-toolkit/my_toolkit.py, implement the stage functions in projects/foundation-toolkit/my_toolkit.py, and verify each stage with python3 projects/foundation-toolkit/tests/check.py --implementation projects/foundation-toolkit/my_toolkit.py --stage 1 (through --stage 4).
Describe the environment of a completed result. Preserve observation/feature axes and exclude invalid observations.
Where to put your code:
Copy projects/foundation-toolkit/starter/toolkit.py to projects/foundation-toolkit/my_toolkit.py and edit projects/foundation-toolkit/my_toolkit.py.
Verify each stage: projects/foundation-toolkit/tests/check.py
Your stages
- Report the completed environment
- Process observations with a mask
- Compile a batch of gradients
- Replay a batched simulation
Make it fast. Make it scale. / One CPU process with four actual logical JAX devices; multi-host/accelerator execution unverified · 4 stages
Resume and profile a sharded training run
Use requirements-cpu.txt and a fresh Python interpreter. The checker configures four logical CPU devices before initializing JAX and executes a real small profile. The optional multi-host lesson extension remains separately unverified. Copy the starter scaffold projects/sharded-training/starter/model.py to projects/sharded-training/my_model.py, implement the stage functions in projects/sharded-training/my_model.py, and verify each stage with python3 projects/sharded-training/tests/check.py --implementation projects/sharded-training/my_model.py --stage 1 (through --stage 4).
Carry complete momentum, random, permutation, cursor and step state through pure transitions. Preserve every example with padded valid masks and reject unsupported input contracts.
Where to put your code:
Copy projects/sharded-training/starter/model.py to projects/sharded-training/my_model.py and edit projects/sharded-training/my_model.py.
Verify each stage: projects/sharded-training/tests/check.py
Your stages
- State and input ownership
- Count-weighted sharded updates
- Fresh-process complete recovery
- Trace-backed performance evidence
Learn TPUs and Google Cloud / CPU reference; physical TPU and multi-controller qualification remain separate · 4 stages
Build a causal Transformer training and inference harness
Use the extracted ZIP top folder containing requirements-cpu.txt and projects/text-harness. The README explains the full connected runner and actual plots/profile artifacts. Linked TPU/distributed phase commands require the full course workspace and an existing supported target environment. Copy the starter scaffold projects/text-harness/starter/model.py to projects/text-harness/my_model.py, implement the stage functions in projects/text-harness/my_model.py, and verify each stage with python3 projects/text-harness/tests/check.py --implementation projects/text-harness/my_model.py --stage 1 (through --stage 4).
Explain UTF-8 tokens, causal/padding masks and valid-token loss normalization. Train a real tiny Transformer and compare fixed held-out token evidence with a declared baseline.
Where to put your code:
Copy projects/text-harness/starter/model.py to projects/text-harness/my_model.py and edit projects/text-harness/my_model.py.
Verify each stage: projects/text-harness/tests/check.py
Your stages
- Tokens, causal computation and loss
- Actual training and full recovery
- Real KV-cache precision
- Exported inference and profiler evidence
Start with JAX / CPU; original synthetic numerical experiments · 5 stages
Audit conditioning, gradient noise and optimizer decisions
Run from the extracted bundle’s top folder with requirements-cpu.txt installed. Complete the initial regression audit before this deeper five-stage optimization audit. Copy the starter scaffold projects/optimizer-audit/starter/optimization.py to projects/optimizer-audit/my_optimization.py, implement the stage functions in projects/optimizer-audit/my_optimization.py, and verify each stage with python3 projects/optimizer-audit/tests/check.py --implementation projects/optimizer-audit/my_optimization.py --stage 1 (through --stage 5).
Derive loss, gradient and Hessian independently of autodiff. Explain a coordinate change through prediction and curvature evidence.
Where to put your code:
Copy projects/optimizer-audit/starter/optimization.py to projects/optimizer-audit/my_optimization.py and edit projects/optimizer-audit/my_optimization.py.
Verify each stage: projects/optimizer-audit/tests/check.py
Your stages
- Derive and check the local geometry
- Change coordinates without changing predictions
- Measure noise by enumerating the sampler
- Audit optimizer state and update order
- Separate prediction and coefficient stability
Operate JAX workloads / CPU; optional real local Docker qualification · 4 stages
Ship a tracked and containerized model release
Install the course requirements including MLflow 3.16.1. The four-stage reference runs locally without Docker or cloud credentials. Run container_check.py separately with a local Docker engine. The generated service is a teaching fixture, not a production web stack. Copy the starter scaffold projects/engineering-release/starter/engineering.py to projects/engineering-release/my_engineering.py, implement the stage functions in projects/engineering-release/my_engineering.py, and verify each stage with python3 projects/engineering-release/tests/check.py --implementation projects/engineering-release/my_engineering.py --stage 1 (through --stage 4).
Keep exact data, code, environment, model and evaluation identities. Reject hidden slice failures and missing evidence.
Where to put your code:
Copy projects/engineering-release/starter/engineering.py to projects/engineering-release/my_engineering.py and edit projects/engineering-release/my_engineering.py.
Verify each stage: projects/engineering-release/tests/check.py
Your stages
- Data identity and slice gates
- LLM application evaluation
- Model ownership and release transitions
- Tracked training to inference
Train neural networks / CPU; original synthetic fixtures and public reference checks · 8 stages
Audit pretraining and post-training objectives
Run from the course workspace root after installing requirements-cpu.txt in your Python environment. CPU fixtures require no external datasets, credentials or cloud services. Checks are cumulative public practice, not independent learner review. Copy the starter scaffold projects/training-methods/starter/methods.py to projects/training-methods/my_methods.py, implement the stage functions in projects/training-methods/my_methods.py, and verify each stage with python3 projects/training-methods/tests/check.py --implementation projects/training-methods/my_methods.py --stage 1 (through --stage 8).
Masked-target reduction, input corruption, uniform baseline and changed mask. Rectangular multichannel patch order, visible-only features and hidden-patch reduction.
Where to put your code:
Copy projects/training-methods/starter/methods.py to projects/training-methods/my_methods.py and edit projects/training-methods/my_methods.py.
Verify each stage: projects/training-methods/tests/check.py
Your stages
- Masked language modeling
- Masked image reconstruction
- Paired contrastive learning
- Response-only SFT
- Frozen-base LoRA
- Preference reward model
- Learned-reward PPO
- Direct preference optimization
Ship and adapt JAX workloads / CPU; original synthetic fixtures and public reference checks · 3 stages
Convert PyTorch weights and audit Flax architecture parity
Run from the course workspace root after installing requirements-cpu.txt in your Python environment. CPU fixtures require no external datasets, credentials or cloud services. Checks are cumulative public practice, not independent learner review. Copy the starter scaffold projects/weight-conversion/starter/bridge.py to projects/weight-conversion/my_bridge.py, implement the stage functions in projects/weight-conversion/my_bridge.py, and verify each stage with python3 projects/weight-conversion/tests/check.py --implementation projects/weight-conversion/my_bridge.py --stage 1 (through --stage 3).
Multiple seeds, asymmetric layers, input gradients and rejected malformed tensors. Independent absolute/relative errors, near-zero tolerances and injected epsilon failure.
Where to put your code:
Copy projects/weight-conversion/starter/bridge.py to projects/weight-conversion/my_bridge.py and edit projects/weight-conversion/my_bridge.py.
Verify each stage: projects/weight-conversion/tests/check.py
Your stages
- Map and compare real frameworks
- Locate numerical disagreement
- Reload converted weights independently
Start with JAX / CPU · 4 stages
Check the CPU environment and a saved matrix arithmetic identity
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/welcome-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Confirm CPU backend, device inventory, and the Gram matrix for the saved 2x2 input.. Change the input and predict how each Gram entry changes..
Where to put your code:
Edit projects/welcome-audit/starter/model.py directly.
Verify each stage: projects/welcome-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Start with JAX / CPU · 4 stages
Audit masked batch moments and padding-sensitive denominators
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/arrays-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Match independently calculated mean, variance, and valid-row count.. Change the mask to include an extreme row; diagnose empty masks and shape mismatches..
Where to put your code:
Edit projects/arrays-audit/starter/model.py directly.
Verify each stage: projects/arrays-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Start with JAX / CPU · 4 stages
Compare scalar, vmap, autodiff, and changed-shape JIT behavior
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/transforms-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Compare scalar and vectorized values and analytic derivatives.. Change values and batch shape; verify output and observe one trace per shape..
Where to put your code:
Edit projects/transforms-audit/starter/model.py directly.
Verify each stage: projects/transforms-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Ship and adapt JAX workloads / CPU · 4 stages
Resume optimizer and PRNG state across an interrupted training update
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/recovery-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Run one update and inspect weight, momentum, cursor, and key changes.. Compare uninterrupted training with a checkpointed resume at the next update..
Where to put your code:
Edit projects/recovery-audit/starter/model.py directly.
Verify each stage: projects/recovery-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Make it fast. Make it scale. / CPU · 4 stages
Measure CPU JIT latency and changed-shape traces with retained JAXPR evidence
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/performance-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Check output against an independent NumPy result and synchronize every timing.. Call the compiled function at two shapes and verify two Python trace events..
Where to put your code:
Edit projects/performance-audit/starter/model.py directly.
Verify each stage: projects/performance-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Train neural networks / CPU · 4 stages
Audit response-token SFT masking and preference-pair loss
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/posttraining-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Match a hand-computed response-only token loss and DPO margin.. Swap chosen and rejected scores and diagnose an empty response mask..
Where to put your code:
Edit projects/posttraining-audit/starter/model.py directly.
Verify each stage: projects/posttraining-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Learn TPUs and Google Cloud / CPU · 4 stages
Inspect CPU device inventory, BF16 storage, and collective participant arithmetic
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/tpu-runtime-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Check actual CPU devices and compare BF16-stored weights converted to FP32 operands.. Omit one participant in the explicitly simulated sum and detect the missing contribution..
Where to put your code:
Edit projects/tpu-runtime-audit/starter/model.py directly.
Verify each stage: projects/tpu-runtime-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Learn TPUs and Google Cloud / CPU · 4 stages
Gate simulated multi-worker checkpoint publication on complete receipts
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/tpu-workflow-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Detect a missing worker receipt and publish only a complete same-step set.. Reject duplicate worker IDs and negative or non-integer checkpoint steps..
Where to put your code:
Edit projects/tpu-workflow-audit/starter/model.py directly.
Verify each stage: projects/tpu-workflow-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Learn TPUs and Google Cloud / CPU · 4 stages
Estimate optimizer-state bytes and calculate supplied-rate scaling efficiency
Run stages 1 through 4 using the commands shown. Stage 3 writes persistent evidence under runs/tpu-systems-audit/ when using its documented --evidence-dir; without that option, evidence stays in a temporary directory. The untouched starter deliberately fails.
Reconcile parameter, master-weight, and optimizer-moment byte totals.. Change parameter count and supplied rates; reject nonpositive values..
Where to put your code:
Edit projects/tpu-systems-audit/starter/model.py directly.
Verify each stage: projects/tpu-systems-audit/tests/check.py
Your stages
- Contract and independent calculation
- Changed condition and diagnosis
- Retained evidence
- Integrated project check
Train neural networks / CPU reference; optional local trackers; GPU/TPU qualification separate · 4 stages
Reproducible JAX/Flax experiments workshop
Install this project’s minimal requirements.txt in an isolated Python environment. Work through four stages using the supplied Flax NNX model and CLI. CSV needs no account; TensorBoard, offline W&B and SQLite MLflow are optional implemented adapters. The generated research notebook is Markdown. GPU/TPU and multi-host measurements require separate target execution.
Freeze source, data, seeds, backend and the declared experimental question before execution. Log traceable post-update observations to CSV and verify optional tracker histories.
Where to put your code:
Copy projects/reproducible-experiments/starter/workflow.py to projects/reproducible-experiments/my_workflow.py and edit projects/reproducible-experiments/my_workflow.py.
Verify each stage: projects/reproducible-experiments/tests/check.py
Your stages
- Freeze the experimental question and configuration
- Log complete post-update observations
- Compare complete paired seed results
- Execute, diagnose and write the research notebook
Train neural networks / CPU only; tiny Flax Linen model; accelerator behavior is untested · 4 stages
Trace a tiny bidirectional encoder from pretraining to retrieval
Run from the course workspace root with the repository CPU Python environment. The corpus and hand-authored judgments are frozen locally; there is no runtime data download, cloud service, credential, or upload. The checker defaults to the learner starter. Pass --implementation solution explicitly to run the answer key. Execute stages in order using the same output directory.
All four objective implementations pass independent NumPy checks.. No query or judged passage crosses a source-group split..
Where to put your code:
Copy projects/embedding-lineage/starter/model.py to projects/embedding-lineage/my_model.py and edit projects/embedding-lineage/my_model.py.
Verify each stage: projects/embedding-lineage/tests/check.py
Your stages
- Masked-token pretraining
- Contrastive continuation
- Supervised query-positive adaptation
- Held-out retrieval and export
Passing the public checks is practice evidence. It is not an independently reviewed qualification.
Connect the lessons
Choose the system you want to build.
Follow training, recovery, evaluation and deployment in one project. Each guide identifies its runnable harness, available preparation and remaining target-runtime work.
01 / Runnable harness
Image: from pixels to a deployed classifier
Build an image classification system whose preprocessing, errors and runtime behavior you can inspect.
Explore the image guide02 / Runnable harness
Text: from tokens to reproducible generation
Build a small causal language-model system with trustworthy masking, recovery and decoding.
Explore the text guide03 / Runnable harness
Audio: from waveforms to an edge sound classifier
Build a sound-event system that preserves timing, handles silence and measures the full signal-processing path.
Explore the audio guide04 / Runnable harness
Cross-modal: connect images and text
Build a retrieval system that checks alignment between modalities before optimizing similarity search.
Explore the cross-modal guideNext: complete model lifecycles
Planned capstones connect text, image, audio and multimodal training to evaluation and release. Read their staged specifications; runnable workspaces and measured results are still to come.
Planned capstone
Train a CLIP image–text model
Learn paired representations, test zero-shot classification, and qualify both retrieval directions before releasing the encoders.
Read project planPlanned capstone
Train and compare a SigLIP model
Replace the softmax objective with pairwise sigmoid training. Audit labels, reduction, negatives and distributed gradients against a controlled CLIP baseline.
Read project planPlanned capstone
Build a measured retrieval service
Take a qualified text or cross-modal encoder through exact search, approximate indexes, hybrid retrieval, reranking, evaluation and safe index migration.
Read project planPlanned capstone
Build a staged embedding model
MLM to contrastive pretraining and retrieval fine-tuning, with frozen data, MTEB evaluation and release gates.
Read project planPlanned capstone
Build a causal language model
Connect tokenizer/data preparation, next-token pretraining, adaptation, generation evaluation and model publication.
Read project planPlanned capstone
Build an image understanding model
Carry a frozen image recipe through representation learning, task adaptation and measured evaluation.
Read project planPlanned capstone
Build an image generation pipeline
Qualify image representations, denoising training, conditioning and sampling with separate quality and runtime evidence.
Read project planPlanned capstone
Build an audio understanding model
Version waveform and acoustic representations through training, recognition or event adaptation and robustness evaluation.
Read project planPlanned capstone
Build an audio generation pipeline
Connect codec qualification, sequence or denoising training, conditioning and waveform evaluation.
Read project planPlanned capstone
Build a grounded multimodal model
Qualify encoders, connector alignment, instruction adaptation and grounded evaluation, keeping retrieval a distinct outcome.
Read project plan