Sebastian HaasAI Security Engineer
Technical case study · Local AI infrastructure

Building a 23-GPU local LLM inference cluster

A controlled environment for running, comparing, and evaluating models locally—built from 23 AMD MI50 GPUs across multiple nodes on the ROCm ecosystem.

23× AMD MI50Local accelerator fleet
Multi-nodeDistributed physical infrastructure
Python harnessReusable benchmark execution
SQLiteDurable, comparable run data

The problem

Cloud APIs are convenient, but they are a weak foundation for experiments that need control over model versions, runtime configuration, data locality, and repeated measurements. The goal of this cluster is not maximum benchmark theatre. It is a local test environment whose runs can be traced, compared, and repeated.

Architecture

The system separates four concerns:

  1. Compute: 23 AMD MI50 GPUs distributed across multiple nodes.
  2. Runtime: the ROCm ecosystem provides the hardware execution layer for local inference.
  3. Measurement: a reusable Python benchmark suite starts runs with explicit configurations and captures their outputs.
  4. Persistence: SQLite stores run metadata and measurements so results remain queryable after the terminal session is gone.

What the benchmark harness records

A useful result needs enough context to be reproduced. Each run is designed around a stable record: model and runtime configuration, node and device allocation, workload parameters, timestamps, completion state, and the resulting measurements. That turns an isolated test into comparable evidence.

Engineering constraints

Why this matters for AI security

A local cluster provides a controlled place for adversarial evaluation: sensitive test corpora remain local, model and runtime versions can be pinned, and defensive changes can be replayed against the same attack set. The infrastructure is therefore part inference lab, part security test bench.

This page documents the architecture and the parts that exist today. Performance figures will only be published with the full model, runtime, quantisation, workload, and hardware configuration needed to reproduce them.