Unter einer Inference Engine versteht man die Software, die ein Modell in den Speicher lädt und seine Ausgaben über eine Schnittstelle bereitstellt. Sie führt die Inferenz aus und macht das Modell für andere Programme ansprechbar.
Zwischen dem Modell und der Anwendung liegt eine Schicht, die leicht übersehen wird. Die Gewichtsdatei eines Modells ist zunächst nur eine Datei. Damit ein Programm sie benutzen kann, muss sie geladen, auf die vorhandene Hardware verteilt und über eine Schnittstelle ansprechbar gemacht werden. Diese Aufgabe erfüllt die Inference Engine. Gebräuchliche Vertreter sind llama.cpp, Ollama, vLLM und LM Studio.
Die Schnittstelle, über die andere Programme das Modell erreichen, heißt Endpoint. Üblich ist eine HTTP-Schnittstelle, deren Aufbau der Programmierschnittstelle von OpenAI nachempfunden ist. Anwendungen, die diese Form sprechen, lassen sich dadurch ohne Änderung auf ein lokal betriebenes Modell umstellen. Ein Harness, also die Software, die ein Modell zu einem handlungsfähigen System ergänzt, greift auf diesen Endpoint zu und muss nicht wissen, welche Engine dahinter arbeitet.
Die Engine lädt die Gewichte und legt fest, welche Teile auf der GPU und welche im Arbeitsspeicher liegen. Sie verwaltet den KV-Cache, bündelt gleichzeitig eingehende Anfragen zu Stapeln und wendet die gewählte Quantisierung an. Wie gut sie das tut, bestimmt Durchsatz und Antwortzeit.
Die Wahl der Engine wirkt sich bei gleicher Hardware und gleichem Modell aus. Engines mit Stapelverarbeitung und optimierter Speicherverwaltung erreichen auf Serverhardware einen deutlich höheren Durchsatz als einfachere Implementierungen; letztere sind dafür schneller eingerichtet. Bei vielen gleichzeitigen Anfragen fällt der Unterschied stärker aus als im Einzelplatzbetrieb.
Die Inference Engine führt das Modell aus, der Harness entscheidet, was mit dessen Ausgaben geschieht. Beide sind unabhängig austauschbar: Dieselbe Engine kann verschiedene Modelle bedienen, und derselbe Harness kann sich mit verschiedenen Engines verbinden. Von der Inferenz unterscheidet sich der Begriff wie das Werkzeug von der Tätigkeit.