Beim Einsatz von künstlicher Intelligenz über Large Language Models als Clouddienst wandern unter Umständen sensible Unternehmensdaten aus dem Unternehmen. Der Betrieb eines internen KI-Servers ist daher eine Überlegung wert, um die Datenhoheit zu behalten. Dieser Workshop zeigt den Aufbau eines internen KI-Servers mit eigener Hardware. Dieser arbeitet auch parallel mit KI-Diensten in der Cloud wie zum Beispiel ChatGPT zusammen.
Der Betrieb eines eigenen KI-Servers im eigenen Rechenzentrum bietet eine Reihe von Vorteilen gegenüber der Nutzung von Clouddiensten. Ein entscheidender Faktor ist die vollständige Kontrolle über sensible Unternehmensdaten, die so im eigenen Netzwerk verbleiben. Dies erhöht die Datensicherheit und hilft, strenge Datenschutzanforderungen zu erfüllen, insbesondere in stark regulierten Branchen. Darüber hinaus ermöglicht ein eigener KI-Server eine konsistente Performance ohne Abhängigkeit von der Internetverbindung oder externen Providern. Die Latenzzeiten bei der Datenverarbeitung sind geringer, was insbesondere bei rechenintensiven Aufgaben wie der Bild- oder Sprachanalyse von Vorteil ist.
Ein weiterer Vorteil ist die Anpassbarkeit der Hard- und Softwareumgebung. IT-Verantwortliche sind in der Lage, ihre Server individuell zu skalieren und zu konfigurieren, um die spezifischen Anforderungen ihrer KI-Anwendungen zu erfüllen, ohne durch standardisierte Dienste von Cloudanbietern eingeschränkt zu sein. Langfristig kann sich ein eigener Server auch als kosteneffizienter erweisen, da wiederkehrende Gebühren für Clouddienste entfallen und sich die Infrastruktur vollständig abschreiben lässt. Auch die Unabhängigkeit von Preisanpassungen oder Servicebedingungen externer Anbieter bietet finanzielle und operative Stabilität.
Hardwareanforderungen für den KI-Server
Die Ausstattung Ihrer LLM-Umgebung hängt von den Anforderungen und der Anzahl der Nutzer ab, entscheidend für KI-Workloads ist die Wahl des Grafikprozessors: Hier sind GPUs wie Nvidia A100 oder die neuere H100 marktführend, da sie speziell für Deep Learning und Machine Learning optimiert sind. Diese GPUs unterstützen Technologien wie Tensor Cores, die auf die Berechnung neuronaler Netze spezialisiert sind, und bieten eine massive Beschleunigung für Training und Inferenz. Die H100 basiert auf der Hopper-Architektur und bietet im Vergleich zur Vorgängergeneration signifikante Leistungssteigerungen bei geringerem Stromverbrauch, was sie zu einer guten Wahl für leistungsintensive KI-Anwendungen macht. Neben den High-End-GPUs bietet Nvidia auch kostengünstigere Optionen an, die sich besonders für kleinere Projekte oder den Einstieg in KI-Anwendungen eignen. Dazu zählen vor allem die GPUs der Nvidia-RTX-Serie, die ursprünglich für Gaming und professionelle Visualisierung entwickelt wurden, sich aufgrund ihrer hohen Rechenleistung und CUDA-Kompatibilität aber auch für KI eignen.
Der Betrieb eines eigenen KI-Servers im eigenen Rechenzentrum bietet eine Reihe von Vorteilen gegenüber der Nutzung von Clouddiensten. Ein entscheidender Faktor ist die vollständige Kontrolle über sensible Unternehmensdaten, die so im eigenen Netzwerk verbleiben. Dies erhöht die Datensicherheit und hilft, strenge Datenschutzanforderungen zu erfüllen, insbesondere in stark regulierten Branchen. Darüber hinaus ermöglicht ein eigener KI-Server eine konsistente Performance ohne Abhängigkeit von der Internetverbindung oder externen Providern. Die Latenzzeiten bei der Datenverarbeitung sind geringer, was insbesondere bei rechenintensiven Aufgaben wie der Bild- oder Sprachanalyse von Vorteil ist.
Ein weiterer Vorteil ist die Anpassbarkeit der Hard- und Softwareumgebung. IT-Verantwortliche sind in der Lage, ihre Server individuell zu skalieren und zu konfigurieren, um die spezifischen Anforderungen ihrer KI-Anwendungen zu erfüllen, ohne durch standardisierte Dienste von Cloudanbietern eingeschränkt zu sein. Langfristig kann sich ein eigener Server auch als kosteneffizienter erweisen, da wiederkehrende Gebühren für Clouddienste entfallen und sich die Infrastruktur vollständig abschreiben lässt. Auch die Unabhängigkeit von Preisanpassungen oder Servicebedingungen externer Anbieter bietet finanzielle und operative Stabilität.
Hardwareanforderungen für den KI-Server
Die Ausstattung Ihrer LLM-Umgebung hängt von den Anforderungen und der Anzahl der Nutzer ab, entscheidend für KI-Workloads ist die Wahl des Grafikprozessors: Hier sind GPUs wie Nvidia A100 oder die neuere H100 marktführend, da sie speziell für Deep Learning und Machine Learning optimiert sind. Diese GPUs unterstützen Technologien wie Tensor Cores, die auf die Berechnung neuronaler Netze spezialisiert sind, und bieten eine massive Beschleunigung für Training und Inferenz. Die H100 basiert auf der Hopper-Architektur und bietet im Vergleich zur Vorgängergeneration signifikante Leistungssteigerungen bei geringerem Stromverbrauch, was sie zu einer guten Wahl für leistungsintensive KI-Anwendungen macht. Neben den High-End-GPUs bietet Nvidia auch kostengünstigere Optionen an, die sich besonders für kleinere Projekte oder den Einstieg in KI-Anwendungen eignen. Dazu zählen vor allem die GPUs der Nvidia-RTX-Serie, die ursprünglich für Gaming und professionelle Visualisierung entwickelt wurden, sich aufgrund ihrer hohen Rechenleistung und CUDA-Kompatibilität aber auch für KI eignen.
Mit 24 GByte GDDR6X-Speicher und bis zu 82,6 Teraflops FP32-Leistung bietet die Nvidia RTX 4090 eine gute Plattform für KI-Workloads, insbesondere für inferenzbasierte Anwendungen oder das Training kleinerer Modelle. Der Preis für die RTX 4090 liegt derzeit zwischen 1800 und 2000 Euro, je nach Anbieter und Verfügbarkeit. Eine etwas günstigere Option ist die Nvidia RTX 4080, die mit 16 GByte GDDR6X-Speicher und einer FP32-Leistung von bis zu 49 Teraflops daherkommt und mit etwa 1000 bis 1200 Euro zu Buche schlägt. Noch günstiger sind die Nvidia RTX 3060 und RTX 3070/3090, allerdings mit deutlichen Einschränkungen bei Rechenleistung und Speicher. Der Preis dieser GPUs liegt zwischen 300 und 500 Euro. Der Einsatz lohnt sich nur für Entwicklungsumgebungen.
Neben CPU und GPU sollte der Server über ausreichend Arbeitsspeicher verfügen, um große Datenmengen schnell verarbeiten zu können. In vielen Fällen sind 256 GByte oder mehr RAM sinnvoll, vor allem wenn es um die Verarbeitung von Big Data oder den Einsatz großer neuronaler Netze geht. Auch die Speicherarchitektur ist entscheidend: NVMe-SSDs bieten die nötige Geschwindigkeit für den schnellen Zugriff auf Trainingsdaten und Modelle. Schließlich sollte die Netzwerkanbindung leistungsfähig genug sein, um große Datenmengen effizient zu übertragen, idealerweise mit Unterstützung für 100-GBit/s-Ethernet oder Infiniband.
Für Test- und Entwicklungsumgebungen können Sie auch auf Apple-Hardware mit einem M2/M3- oder M4-Prozessor zurückgreifen. Diese verfügen über integrierte KI-Funktionen und können durchaus mit den kleineren Nvidia-GPUs mithalten. Der M2-Chip hat bereits erhebliche Verbesserungen bei der Verarbeitung von maschinellem Lernen gebracht, insbesondere durch die Weiterentwicklung der Neural Engine, die in der Lage ist, komplexe KI-Aufgaben zu bewältigen. Der M3-Chip baut auf diesen Fortschritten auf, wobei der Schwerpunkt auf einer stärkeren Integration von KI-Aufgaben in alltägliche Anwendungen liegt, und mit dem M4-Chip bietet Apple noch mehr Rechenleistung. Ein Vorteil von Apple-Geräten ist der deutlich geringere Stromverbrauch im Vergleich zu Servern mit leistungsstarken Nvidia-GPUs. Für den Einstieg ist ein Mac Mini mit M2 Pro durchaus interessant, zumal die in diesem Artikel vorgestellte Software auch unter macOS arbeitet. Die Benutzer greifen über den Webbrowser und das Netzwerk auf den Server zu, sodass es in der Regel keine Rolle spielt, welches Betriebssystem auf dem Server selbst installiert ist.
Ollama und Open Web UI als KI-Duo
Das Herzstück unseres KI-Servers ist Ollama [1], eine Open-Source-Infrastrukturplattform, die die Bereitstellung, Verwaltung und Ausführung von großen Sprachmodellen (Large Language Models, LLMs) vereinfacht. Die Plattform bietet die Möglichkeit, KI-Modelle effizient zu paketieren und bereitzustellen, ähnlich wie Docker für Container-Anwendungen. Administratoren können diese Pakete verwenden, um ihren eigenen KI-Server zu betreiben. Zu den bekanntesten LLMs, die Teil von Ollama sind, gehören Llama 3.1, Phi 3, Mistral und Gemma 2. Sie können also festlegen, welche LLMs auf dem Server verfügbar sind, diese parallel installieren und Anwender können aus diesen auswählen.
Bei der anschließenden Installation – in unserem Workshop unter Ubuntu 24.04 – können Sie mehrere LLMs integrieren, die auf Open-Source-Basis völlig kostenlos zur Verfügung stehen. Hinzu kommt der Vorteil, dass der Quellcode vollständig offenliegt und sich somit auf Hintertüren und Fallstricke untersuchen lässt.
Als Benutzerschnittstelle dient uns Open WebUI [2], das für den Einsatz mit LLMs optimiert ist und mit verschiedenen Webservern zusammenarbeitet. Benutzer können Open WebUI für Sprach-zu-Text-Szenarien ebenso verwenden wie für das Erstellen von Texten oder Bildern und die Analyse von Daten. Die Benutzeroberfläche entspricht der von ChatGPT oder anderen KI-Diensten. Die Anwender können darin eigene Dokumente auf den Server hochladen und die KI auf Basis dieser Dokumente abfragen. Über die Software implementieren Sie zudem eine Rechteverwaltung, um den Zugriff auf den KI-Dienst zu steuern. Zwar verfügt Open WebUI über eine eigene Benutzerverwaltung, doch eine Anbindung an das Active Directory ist derzeit nicht möglich. Sie können jedoch die Authentifizierung mit OAuth einrichten [3]. Doch damit sind wir schon etwas in der Zukunft, zunächst betrachten wir die Inbetriebnahme der notwendigen Software.
Bild 1: Der KI-Server ist im Netzwerk über ein Webinterface zugänglich.
Ollama installieren
Sobald Ubuntu 24.04 LTS auf dem Server installiert ist, können Sie Ollama einrichten. Dies geschieht über ein Installationsskript, das die Entwickler zur Verfügung stellen. Die Konfiguration und Installation erfolgt idealerweise über eine sudo-Shell:
curl -fsSL https://ollama.com/ install.sh | sh
Während des Vorgangs erkennt Ollama die vorhandene Grafikkarte und bindet die entsprechenden Treiber ein. Dies ist ein wichtiger Schritt, da nur so sichergestellt ist, dass die KI-Dienste die GPU nutzen. Andernfalls kommt die CPU des Servers zum Einsatz, was die Leistung erheblich beeinträchtigt. Sie erkennen, ob alles in Sachen Hardware passt und aktualisieren Ollama auf dem Server, indem Sie den Befehl erneut ausführen. Dazu müssen Sie keine Dienste beenden, das Skript erledigt das selbst – jedoch anschließend die Maschine neu starten. Prüfen Sie im Terminal oder über SSH mit service ollama status, ob der Dienst korrekt funktioniert.
Sobald Ollama verfügbar ist, können Sie die LLMs integrieren, zum Beispiel Llama über ollama pull llama3.1. Auf dem gleichen Weg laden Sie auch andere Modelle herunter, eine Liste verfügbarer LLMs zeigt [4]. Llama3.1 ist ideal für den Einstieg, da es in etwa den Funktionen von OpenAI GPT entspricht. Der Vorgang dauert natürlich einige Zeit, da die LLMs mehrere GByte groß sind und Ollama diese komplett auf den Server herunterlädt. Llama bringt eigene Hardwareanforderungen mit, die [5] detailliert auflistet.
Neben Llama ist auch codegemma interessant, das Entwicklern erlaubt, Code zu erstellen und nach Informationen im Bereich der Softwareentwicklung zu suchen. Für das Generieren von Bildern ist llava die spannendste Option. Wie angesprochen bleiben bei allen verwendeten Modellen immer alle Daten auf dem lokalen Server, Ollama sendet nichts ins Internet. Sie können jedoch in den Optionen festlegen, dass die Benutzer Internetverbindungen verwenden oder Verbindungen zu OpenAI-LLMs aufbauen dürfen. Standardmäßig ist dies deaktiviert.
Nach dem Download des ersten LLM testen Sie dessen Funktion, indem Sie es starten, in diesem Beispiel Llama über ollama run llama3. In der Kommandozeile können Sie zur Probe einen ersten Prompt eingeben und das Ergebnis testen. Wenn die KI funktioniert, wird sie mit "/bye" beendet. Funktioniert das alles, können Sie die Weboberfläche für den KI-Server installieren.
Open WebUI einspielen
Für eine bessere Interaktion und insbesondere die Benutzeranmeldung sollten Sie nun Open WebUI auf Ihren Server bringen. Die Weboberfläche läuft am besten als Docker-Installation direkt auf dem KI-Server. Um Open WebUI via Docker zu installieren, verwenden Sie die Befehle aus dem Listing-Kasten.
Nach der Installation erfolgt der Zugriff auf das Webinterface zunächst unverschlüsselt über "http://<IP-Adresse>8080". Wollen Sie später SSL nutzen, stellen Sie das in Ihrem jeweiligen Webserver ein. Der erste Schritt nach der Installation ist die Anmeldung bei der Open WebUI.
Nach dem Einloggen in Open WebUI greifen Sie über das Benutzersymbol auf die Einstellungen zu. Hier passen Sie beispielsweise die Sprache an, aber auch das Design, die Oberfläche, Optionen für Sprache-zu-Text und das Speichern und Importieren von Chats. Unter "Benutzer/ Modelle verwalten" wählen Sie das Standardmodell aus und legen fest, welche der heruntergeladenen LLMs in der Umgebung zur Verfügung stehen.
Über das Pluszeichen erhalten Sie Zugang zum Erstellen neuer Benutzerkonten und Rollen. In größeren Umgebungen ist es möglich, neue Benutzer über "CSV-Import" hinzuzufügen. Ist in den Einstellungen unter "Administrationsbereich" im Menü "Allgemein" die Option "Registrierung zulassen" aktiviert, können sich neue Benutzer selbstständig anmelden. Über "Standardbenutzerrolle" definieren Sie, welche Rolle neue Benutzer automatisch erhalten. Diese lässt sich später in der Benutzerverwaltung unter "Übersicht" im Menü "Benutzer" anpassen. Ist die Rolle "ausstehend" ausgewählt, muss ein Administrator nach der Registrierung eines Benutzers den Zugriff erst freigeben, indem er eine Rolle zuweist.
Bild 2: Benutzerkonten in Open WebUI für den Zugriff auf den KI-Server lassen sich manuell oder per CSV-Datei einrichten.
Ollama mit dem Internet verbinden
Standardmäßig greift der Server nicht auf das Internet zu. Um das zu ändern, können Sie im Administrationsbereich unter "Websuche" mit "Websuche aktivieren" und "Suchmaschine"" festlegen, ob und wie der KI-Dienst auch im Internet nach Informationen suchen soll. Hier steht zum Beispiel DuckDuckGo als Suchmaschine zur Verfügung. In den Einstellungen gibt es zahlreiche weitere Möglichkeiten, um die KI-Dienste in Ollama anzupassen.
Sie können Ihren eigenen KI-Server auch mit externen KI-Diensten verbinden, zum Beispiel mit OpenAI. Diese Einstellungen finden Sie unter "Verbindungen" im "Administrationsbereich". Hier tragen Sie die API und den für die Verbindung verwendeten Schlüssel ein. Dies ist natürlich alles optional und generell ist es empfehlenswert, nach der Installation alle Einstellungen einmal durchzuarbeiten und an die eigenen Anforderungen anzupassen.
Bild 3: Soll das LLM auch auf das Web zugreifen können, gilt es, die Websuche anzupassen.
Fazit
Ein firmeneigener KI-Server bietet Unternehmen erhebliche Vorteile, vor allem hinsichtlich des Datenschutzes und der Kontrolle vertraulicher Informationen. Zusätzlich zur verbesserten Datenhoheit sorgt ein eigener KI-Server auch für höhere Leistung. Da die Datenverarbeitung lokal stattfindet, minimieren sich Latenzzeiten, was gerade bei rechenintensiven Aufgaben wie Bild- oder Sprachanalysen von Vorteil ist. Zudem sind Unternehmen unabhängig von der Internetverbindung und den Diensten externer Anbieter. Ein weiterer Nutzen ist nicht zuletzt die Möglichkeit, Hard- und Software individuell an die spezifischen Anforderungen anzupassen, was langfristig auch kostengünstiger sein kann.
Mit Open-Source-Plattformen wie Ollama und der Weboberfläche Open WebUI stellen Sie LLMs effizient bereit. Dies bietet nicht nur Flexibilität bei der Modellauswahl, sondern auch die Möglichkeit, alle Daten lokal zu verarbeiten, ohne auf externe Dienste zurückgreifen zu müssen. Darüber hinaus ermöglichen die beiden Werkzeuge eine einfache Integration in bestehende Netzwerke und bieten eine benutzerfreundliche Oberfläche, die sich individuell anpassen lässt.