Aufbau eines lokalen Deepseek AI-Inferenzservers
Zuerst die gute Nachricht: Digital Spaceport hat eine großartige Leistung aus der AMD EPYC Rome Plattform herausgeholt, die sie für den letzten Test verwendet haben :😁: Dieses Setup ist ein Klassiker! Für diejenigen unter Ihnen, die dieses Setup verwenden, gibt es heute gute Nachrichten, denn sie erreichen mit dem vollen Q4 671b Modell 4,25 bis 3,5 pcs/sec! Token (TPS). Das ist wichtig, weil diese "Lite"-Modelle nicht in der gleichen Liga spielen. Sie sind nicht annähernd so leistungsfähig, und andere Modelle übertreffen sie leicht. Um ein wirklich umfassendes Modellerlebnis zu erhalten, verwenden Sie ein vollständiges Modell, vorzugsweise mit einem großen Kontextfenster (16K+). Das vollständige Modell ist auch dann in Ordnung, wenn Sie es nur auf der CPU ausführen, so dass Sie es laufen lassen können, während Sie einige kleinere Modelle, wie z. B. Bilderkennungsmodelle, auf der GPU ausführen. Auch hier gilt, dass Sie die Vollversion nicht allein auf dem GPU-Speicher laufen lassen können, es sei denn, Sie haben ein superschickes System! Deepseek Digital Spaceport bringt Ihnen alle möglichen Tricks bei, um es zum Laufen zu bringen. Es ist nicht gerade "einfach", aber es macht Spaß, wenn man gerne an der Technik herumfummelt.
Berichtigung (2024/02/01)
- Stromverbrauch im Leerlauf: 60 W (niedriger als von Digital Spaceport erwartet, und das ohne angeschlossene GPU)
- Leistungsaufnahme bei Volllast: 260 W
- Digital Spaceport Aktuelle Speicherfrequenz: 2400MHz (3200MHz könnte besser sein)
Lokale AI Server CPU Hardware
Wenn Sie den Konfigurationsleitfaden für den Quad 3090 Grafikserver von Digital Spaceport bereits gesehen haben, haben Sie Glück. Die EPYC 7702-CPU kann auch heute noch geschlagen werden. Digital Spaceport empfiehlt eine bessere CPU, da der Preis jetzt ungefähr gleich ist und die Leistungssteigerung erheblich ist. Die Ergebnisse in diesem Artikel wurden jedoch mit der 7702-CPU von Digital Spaceport erzielt, und das MZ32-AR0-Motherboard war damals eine gute Empfehlung, da es über 16 Speichersteckplätze verfügt, die mit der vollen 3200-MHz-Frequenz arbeiten, was Ihnen hilft, die Kosten für 512 GB bis 1 TB Speicher zu senken. Digital Spaceport verwendet 2400-MHz-DDR4-Speichersticks, aber wenn Sie 3200-MHz-DDR4-ECC-Speichersticks verwenden, sollten Sie in der Lage sein, die Leistung zu steigern. 16 32-GB-Sticks ergeben 512 GB Speicher, und 16 64-GB-Sticks ergeben 1 TB.Hinweis: LRDIMM- und RDIMM-Speichersticks können nicht gemischt werden! (LRDIMM und RDIMM sind zwei verschiedene Typen von Server-Speichersticks und sollten nicht gemischt werden, da der Computer sonst möglicherweise nicht hochfährt.)
Liste der lokalen AI Server Rig Komponenten
- Gestelle $55
- MZ32-AR0 Motherboard $500
- CPU-Wasserkühlung 420mm Corsair h170i elite capellix xt $170
- EPYC-CPU-Wasserkühler-Header-Halterung
- 64-Core AMD EPYC 7702 $650 oder 64-Core AMD EPYC 7V13 $599 oder 64-Core AMD EPYC 7C13 $735
- 512GB 2400 ECC-Speicher $400
- 1TB NVMe SSD - Samsung 980 Pro $75
- 850W-Netzteil $80 (Wenn Sie nur die CPU nutzen, ist 850W ausreichend. Für GPU-Nutzung wird empfohlen, ein 1500W oder 1600W Netzteil zu kaufen)
(Stand der Preise ist der 29. Januar 2025)
Gesamtkosten: etwa 2.000 $* Wenn Sie 512 GB 2400-RAM und eine EPYC 7702-CPU verwenden, empfiehlt Digital Spaceport, eine 7C13- oder 7V13-CPU zu kaufen, anstatt die Speicherfrequenz zu erhöhen. Ein Upgrade auf 768 GB RAM ist die zweite Wahl, wobei 3200-MHz-RAM die letzte Option ist, die in Frage kommt. Mit der Spitzen-CPU (7C13 oder 7V13) und 1 TB Arbeitsspeicher mit 2400 MHz würde sich der Gesamtpreis auf etwa 2500 US-Dollar belaufen. **.
Rig Rack Montage
Der Zusammenbau ist derselbe wie im vorherigen Video, allerdings ohne GPU und Erweiterungskarte. Wenn Sie später eine GPU hinzufügen möchten, empfiehlt Digital Spaceport, von Anfang an ein 1500-W- oder 1600-W-Netzteil zu verwenden. Nach dem Hinzufügen der GPU und der Erweiterungskarte bleibt der Rest des Geräts gleich. Sehen Sie sich dieses Video an, um zu erfahren, wie Sie das Gerät zusammenbauen. (Dies bezieht sich auf das oben erwähnte Video der Quad 3090-Grafikserverkonfiguration.) Ignorieren Sie den Teil über die GPU im Video, alle anderen Schritte sind die gleichen.
Außerdem ist es eine gute Idee, eine Wand aus kleinen, mit Kabelbindern befestigten Lüftern aufzustellen, die Luft auf die Speichersticks blasen, um die Wärme abzuführen. Die Speichersticks werden zwar nicht thermisch abgesichert, aber wenn sie zu heiß werden, wird der Überhitzungsschutz ausgelöst, was die Leistung verringert und die Datenverarbeitungsgeschwindigkeit beeinträchtigt.Digital Spaceport verwendet vier kleine 80-mm-Lüfter. (Lüfterwand bedeutet, dass mehrere Lüfter nebeneinander montiert sind, um eine Luftwand zu bilden, die eine größere Kühlkapazität bietet)
Tipps zum Motherboard-Upgrade
Wenn Sie eine AMD EPYC 7V13-CPU verwenden möchten, sollten Sie die V3-Version des MZ32-AR0-Motherboards direkt kaufen, anstatt die V1-Version zu kaufen und dann aufzurüsten. Die V1-Version unterstützt möglicherweise keine Milan-Architektur-CPUs ab Werk, und Sie müssen die V3-Version verwenden, so dass Sie möglicherweise zuerst das Motherboard-BIOS mit der V2-Version der CPUs aktualisieren müssen.Das BIOS ist sozusagen die "Seele" der Hauptplatine des Computers, die den Start und den Betrieb der Hardware steuert, und eine Aktualisierung des BIOS ermöglicht es der Hauptplatine, neuere Hardware zu unterstützen) Digital Spaceport kann nicht mit Sicherheit sagen, ob die V1-Version keine Milan-CPUs unterstützt, aber Digital Spaceport hält es für sehr wahrscheinlich. Nach den Erfahrungen von Digital Spaceport können Sie das V1-Motherboard durch Flashen des BIOS-Updates auf die neueste V3-Version aufrüsten. Zuerst müssen Sie eine frühere Version des V3-BIOS flashen, und dann müssen Sie die neueste V3-Version des BIOS flashen. Die neueste BIOS-Version ist M23_R40 (Stand der Daten zum Zeitpunkt der Erstellung).
Lokale AI-Software, die selbst gehostet wird
Die Einrichtung der Software ist etwas komplizierter als in den vorherigen Tutorials von Digital Spaceport. Ja, Sie können Ollama direkt auf einem Barebone-Proxmox-System installieren.Proxmox ist eine Software zur Verwaltung der Servervirtualisierung, mit der Sie mehrere virtuelle Maschinen auf einem einzigen physischen Server betreiben können) Digital Spaceport empfiehlt jedoch, dies nicht zu tun. Sie haben nun zwei Möglichkeiten, von denen Digital Spaceport zunächst eine erläutert. Digital Spaceport muss die Auswirkungen auf die Leistung testen, bevor es entscheidet, ob es die andere Option empfiehlt. Die andere Option besteht darin, Ollama in einem eigenständigen LXC-Container oder einer virtuellen Maschine (VM) auszuführen.LXC-Container und VMs sind beides Virtualisierungstechnologien, die die Umgebung isolieren, in der Software ausgeführt wird.) Wenn Sie die LXC- und Docker-Tutorials von Digital Spaceport bereits gesehen haben, können Sie LXC auch weiterhin verwenden, aber Digital Spaceport empfiehlt, es vorerst in einer virtuellen Maschine (VM) zu installieren. Digital Spaceport wird versuchen, eine einheitlichere Lösung zu finden, um alles auf unserem kleinen KI-Server autark zu machen, aber das wird Zeit brauchen.
Bare Metal Ubuntu 24.04 oder Proxmox VM?
Wenn Sie den unnötigen Aufwand einer Neuinstallation minimieren wollen, installieren Sie es einfach auf einem Bare-Metal Ubuntu 24.04 Server. Alternativ können Sie auch auf das vorherige Proxmox-Tutorial zurückgreifen. (Bezieht sich auf das zuvor veröffentlichte Proxmox-Installations-Tutorial von Digital Spaceport.) Es liegt an Ihnen zu entscheiden, was Sie tun wollen, auf eigene Gefahr. Sie können auch eine Desktop-Umgebung installieren, wenn Sie möchten, aber das ist nicht notwendig und wird von Digital Spaceport auch nicht demonstriert. Wir führen einen Dienst auf einem Server aus, also haben Sie keine Angst vor der Befehlszeilenschnittstelle (CLI).
Einstellen des BMC der Hauptplatine MZ32-AR0
Verbinden Sie die Ethernet- und BMC-Anschlüsse der Hauptplatine MZ32-AR0 mit dem Netzwerkkabel. (BMC (Baseboard Management Controller) Baseboard Management Controller, der Server-Hardware aus der Ferne verwalten kann) Wenn Sie einen Firewall-Router wie opnsense oder pfsense verwenden, können Sie in der ARP-Liste des Routers nachsehen, ob der Port des BMC angezeigt wird. Suchen Sie die IP-Adresse des BMC. Bei Digital Spaceport lautet die BMC-Adresse https://192.168.1.XX. Öffnen Sie diese Adresse in Ihrem Browser, und es wird ein Anmeldefeld mit Benutzernamen und Passwort angezeigt. Der Standard-Benutzername ist admin, und das Passwort befindet sich auf dem Aufkleber auf der Hauptplatine unter dem MZ32-AR0-Logo. Der Aufkleber auf der Hauptplatine von Digital Spaceport ist auf dem Bild zu sehen. Es ist der Aufkleber mit dem Barcode. Das Passwort ist wahrscheinlich das ursprüngliche Passwort, indem Sie die ersten 3 Zeichen von "3/C/" und dann die nächsten 6 oder 11 Zeichen entfernen. Wenn Sie sich erfolgreich bei der BMC-Verwaltungsschnittstelle angemeldet haben, gehen Sie zu
Startseite > Einstellungen > Netzwerk > Netzwerk-IP-Einstellungen
Stellen Sie die statische IP-Adresse des Motherboards ein. Wenn Sie lokale DNS- und NTP-Server verwenden, richten Sie diese ebenfalls ein. (DNS-Server für die Auflösung von Domänennamen und NTP-Server für die ZeitsynchronisierungDie BMC-Verwaltungsschnittstelle wird in Zukunft häufig verwendet werden, daher ist es ratsam, sie als Lesezeichen zu speichern.
Klicken Sie dann in der Seitenleiste auf "Fernsteuerung". Auf der Seite wird die Option "HTML5-Viewer" angezeigt. Auf der Seite wird die Option "HTML5-Viewer" angezeigt. Digital Spaceport empfiehlt, eine kabelgebundene Verbindung zu verwenden, da Sie ein 2,5 GB großes ISO-Image Ihres Ubuntu 24.04-Systems über das Netzwerk hochladen werden, um das System später zu installieren. (ISO-Image-Datei ist eine vollständige Sicherung des Datenträgers oder der Festplatte) Besuchen Sie die Ubuntu-Website und laden Sie ISO-Abbild für Ubuntu 24.04 Server-VersionDie Es ist etwa 2,5 GB groß. Klicken Sie im HTML5-Viewer der BMC-Verwaltungsoberfläche auf die obere rechte Ecke und laden Sie dieses ISO-Image.
Wenn der Ladevorgang abgeschlossen ist, tippen Sie auf "Start (Start)". Wenn Sie den Server noch nicht eingeschaltet haben, tun Sie dies jetzt. Nach dem Einschalten beginnt die HTML5-Viewer-Benutzeroberfläche mit der Anzeige des Upload-Fortschritts, und die Zahlen werden langsam erhöht. Klicken Sie mit der Maus in das "Bildschirm"-Fenster und warten Sie, bis der Gigabyte-Boot лого erscheint. Sobald Sie лого sehen, drücken Sie DEL auf Ihrer Tastatur, um das BIOS-Setup aufzurufen. Laden Sie im BIOS die Standardeinstellungen, speichern Sie und starten Sie neu. Nachdem der Computer neu gebootet hat, rufen Sie das BIOS erneut auf und ändern diesmal einige Einstellungen. Stellen Sie zunächst die Boot-Disk ein. Als Bootmodus kann entweder UEFI oder Legacy gewählt werden, was wahrscheinlich weniger Probleme verursacht und weniger wahrscheinlich ist. (UEFI und Legacy sind zwei verschiedene BIOS-Boot-Modi, wobei UEFI der modernere und fortschrittlichere ist.)
Nachfolgend sind die BIOS-Setup-Elemente aufgeführt, die gefunden und geändert werden müssen:
- NPS ist auf 1 gesetzt (NPS (Nodes Per Socket) Anzahl der Knoten pro Sockel, beeinflusst den CPU-Speicherzugriffsmodus)
- CCD auf Auto eingestellt (CCD (Core Complex Die) CPU Core Complex, der modulare Aufbau der AMD-CPUs)
- SMT Aus (SMT (Simultaneous Multithreading), AMDs Version von Hyper-Threading, ist für eine stabilere Single-Core-Leistung ausgeschaltet.)
- SVM aus (kann bei Verwendung von Proxmox VM eingeschaltet werden, die Leistung wird dann leicht beeinträchtigt) (SVM (Secure Virtual Machine) Sicherer virtueller Maschinenmodus, Hardwarebeschleunigung der Virtualisierungstechnologie)
- IOMMU aus (kann bei Verwendung von Proxmox VM eingeschaltet werden, die Leistung wird dann leicht beeinträchtigt) (IOMMU (Input-Output Memory Management Unit) Input-Output Memory Management Unit, hardwarebeschleunigt durch Virtualisierungstechnologie)
- cTDP angepasst auf 200W (für EPYC 7702 CPU) (cTDP (Configurable TDP) Konfigurierbarer TDP zur Anpassung von CPU-Strom und Leistung)
- Stellen Sie die deterministische Steuerung auf manuell und ziehen Sie den Schieberegler auf Leistung.
- Schnellkraftregelung auf Leistung eingestellt
- BoostFMax ist auf manuell eingestellt (BoostFMax CPU-Beschleunigungsfrequenz-Grenzeinstellung)
- boostFmax ist auf 3400 (für EPYC 7702 CPU) eingestellt (Setzen Sie die Obergrenze der CPU-Beschleunigungsfrequenz auf 3,4 GHz)
Nachdem Sie die obigen BIOS-Einstellungen geändert haben, speichern Sie und starten Sie erneut. Bei diesem Neustart drücken Sie F12/11/10 (Digital Spaceport weiß nicht mehr, welche Taste, sie wird unten auf der Boot-Seite angezeigt), um das Boot-Menü aufzurufen. Wählen Sie die Option "AMI Virtual CD", um von dem virtuellen CD-ROM-Laufwerk zu booten. Wenn Sie eine kabelgebundene Internetverbindung haben, sollten Sie in der Lage sein, den Ubuntu-Installationsbildschirm in kürzester Zeit aufzurufen. Der nächste Schritt ist die Installation von Ubuntu. Legen Sie einen Benutzernamen und ein Passwort fest, die Sie sich gut merken sollten. Aktivieren Sie die Option "ssh-Server einrichten", damit Sie sich nach Abschluss der Installation leichter aus der Ferne anmelden können. (SSH (Secure Shell) Secure Shell Protokoll für die Fernanmeldung und -verwaltung von Servern) Warten Sie, bis die Systeminstallation abgeschlossen ist. Nach Abschluss der Installation startet das System neu und fordert Sie schließlich auf, die Eingabetaste zu drücken, um fortzufahren. Nachdem Sie die Eingabetaste gedrückt haben, wird das System erneut neu gestartet und Sie werden aufgefordert, einen Benutzernamen einzugeben. Geben Sie den Benutzernamen und das Kennwort ein, die Sie für die Anmeldung festgelegt haben. Nach erfolgreicher Anmeldung geben Sie den Befehl
ip a
Merken Sie sich die angezeigte IP-Adresse. Jetzt können Sie zu Ihrem Windows/MacOS/Linux-Computer zurückkehren und das HTML5-Viewer-Fenster in der BMC-Verwaltungsoberfläche schließen. Geben Sie in der Terminal-Software Ihres Computers Folgendes ein (put) Nutzername
Ersetzen Sie ihn durch Ihren Benutzernamen, den ipaddress
Ersetzen Sie sie durch die IP-Adresse, an die Sie sich gerade erinnert haben).
ssh benutzername@ipaddress
Installation von häufig verwendeter Software
Hier ist eine große Liste von Befehlen, kopieren Sie sie einfach in ein Terminal und führen Sie sie aus. Wenn Sie eine NVIDIA-Grafikkarte haben, können Sie die Treiber installieren, nachdem Sie die folgenden Schritte ausgeführt haben.
sudo apt update && sudo apt upgrade -y && sudo apt install -y htop git glances nano lsof unzip
sudo apt update
: Aktualisieren Sie die Liste der Softwarequellen, um sicherzustellen, dass die neuesten Pakete heruntergeladen werden können.sudo apt upgrade -y
: Aktualisieren Sie alle installierten Pakete auf die neueste Version.-y
gibt an, dass alle Vorgänge automatisch bestätigt werden.sudo apt install -y htop git glances nano lsof unzip
Installieren Sie einige gängige Linux-Software.htop
Ein benutzerfreundlicherer Prozessmanager, mit dem Sie die Nutzung der Systemressourcen in Echtzeit verfolgen können.git
Code Versioning Tool zum Herunterladen und Verwalten von Code.Blicke
Ein leistungsfähigeres Systemüberwachungswerkzeug als dashtop
Die Funktionalität ist umfangreicher.nano
Einfach zu bedienender Texteditor zur Bearbeitung von Konfigurationsdateien.lsof
Ein Tool zum Anzeigen offener Dateien, das zur Fehlersuche bei Problemen wie der Portbelegung verwendet werden kann.entpacken
Ein Werkzeug zum Dekomprimieren von ZIP-Dateien.
Einstellen einer statischen IP-Adresse
Geben Sie in der Befehlszeile des Terminals ein:
sudo netplan generieren
Dieser Befehl erzeugt eine Standard-Netzwerkkonfigurationsdatei. Verwenden Sie dann den Befehl nano
Der Editor öffnet die Konfigurationsdatei:
sudo nano /etc/netplan/50-cloud-init.yaml
Der Inhalt der Standardkonfigurationsdatei sieht ungefähr so aus. Wir müssen die Datei eno1
Konfiguration der Netzwerkkarte.eno1
Entspricht dem physischen Netzwerkanschluss auf der Hauptplatine. Ignorieren enp65s0np0
Das ist eine externe Netzwerkkarte.
Verwenden Sie die Pfeiltasten der Tastatur, um den Cursor zu bewegen und die Konfigurationsdatei wie folgt zu ändern. Verwenden Sie Ihre aktuelle IP-Adresse als IP-Adresse, um die Bedienung zu erleichtern und Komplikationen zu vermeiden. digital spaceport setzen Sie die statische IP hier auf 192.168.1.200
Der Router-Gateway ist 192.168.1.1
Dies ist eine sehr verbreitete Heimnetzwerkkonfiguration.
Wenn die Änderung abgeschlossen ist, drücken Sie Strg+X
Abbrechen nano
Editor, wenn Sie zum Speichern aufgefordert werden, drücken Sie Y
Taste zur Bestätigung.
Wenn Sie zum Terminal zurückkehren, geben Sie den Befehl ein, um die neue Netzwerkkonfiguration anzuwenden:
sudo netplan apply
Jetzt ist Ihr Server mit einer statischen IP-Adresse eingerichtet. Sie können den Server neu starten und sich aus der Ferne per SSH anmelden, um sicherzustellen, dass die statischen IP-Einstellungen wirksam sind.
Ollama installieren
nächste Installation Ollama Großer Rahmen für den Modellbetrieb.
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
Laden Sie das Ollama-Installationspaket herunter.locken.
ist ein Befehlszeilen-Download-Tool.-L
gibt einen Follow-Redirect-Link an.-o
Parameter gibt den Namen der zu speichernden Datei an.sudo tar -C /usr -xzf ollama-linux-amd64.tgz
Entpacken Sie das Ollama-Installationspaket nach/usr
Katalog.tar
ist ein beliebtes Komprimierungs-/Dekomprimierungswerkzeug für Linux-Systeme.-C /usr
Geben Sie das Dekomprimierungsverzeichnis als/usr
(math.) Gattung-xzf
um eine gzip-komprimierte tar-Datei zu dekomprimieren.sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
: Erstellen Sie eine Datei mit dem Namenollama
Systembenutzer für die Ausführung des Ollama-Dienstes.sudo useradd
: Befehl zum Anlegen eines Benutzers.-r
Um einen Systembenutzer zu erstellen, werden die UID und GID automatisch zugewiesen.-s /bin/false
Verhindern, dass sich Benutzer am System anmelden.-U
: Erstellen Sie eine Benutzergruppe mit demselben Namen.-m
Erzeugt automatisch das Home-Verzeichnis des Benutzers.-d /usr/share/ollama
: Geben Sie das Heimatverzeichnis des Benutzers als/usr/share/ollama
.ollama
: Benutzername.
sudo usermod -a -G ollama $(whoami)
: Hinzufügen des aktuellen Benutzers zumollama
Benutzergruppen.sudo usermod
Befehl zum Ändern von Benutzerinformationen.-a
Hinzufügen zur Benutzergruppe anstelle von Überschreiben.-G ollama
: Hinzufügen zuollama
Benutzergruppen.$ (whoami)
Abfrage des aktuellen Benutzernamens.
Dieser Befehl erstellt auch eine Datei namens ollama
Benutzer, und installieren Sie Ollama im /usr/share/ollama
Verzeichnis. Standardmäßig werden die Modelldateien im Verzeichnis /usr/share/ollama/.ollama/models/
Katalog.
Umgebungsvariablen und Dienste konfigurieren
Nun ist es notwendig, einige Umgebungsvariablen zu setzen, die beim Start von Ollama verwendet werden. Dies ist entscheidend für die Lösung von Parallelverarbeitungsproblemen.
sudo nano /etc/systemd/system/ollama.service
Kosten oder Aufwand nano
Der Editor öffnet die Konfigurationsdatei des systemd-Dienstes von Ollama. Wir müssen Umgebungsvariablen zu der Konfigurationsdatei hinzufügen. Im Folgenden finden Sie eine Liste aller Umgebungsvariablen, die konfiguriert werden können. Wir müssen nicht alle verwenden, sie sind nur als Referenz aufgeführt.
Umgebungsvariablen:
-OLLAMA_DEBUG
Mehr Debugging-Informationen anzeigen (z.B.OLLAMA_DEBUG=1
)-OLLAMA_HOST
IP-Adresse, auf die der Ollama-Server hört (Standard)127.0.0.1:11434
)-OLLAMA_KEEP_ALIVE
wie lange das Modell im Speicher geladen bleibt (Standardwert"5m"
(5 Min.)-OLLAMA_MAX_LOADED_MODELS
Maximale Anzahl von Modellen, die pro GPU geladen werden können-OLLAMA_MAX_QUEUE
Maximale Länge der Auftragswarteschlange-OLLAMA_MODELLE
Verzeichnis, in dem die Modelldateien gespeichert sind-OLLAMA_NUM_PARALLEL
Maximale Anzahl von parallelen Anfragen-OLLAMA_NOPRUNE
Modell-Cache: Keine Bereinigung des Modell-Caches beim Start-OLLAMA_URSPRÜNGE
: eine durch Kommata getrennte Liste von Quellen, die domänenübergreifende Anfragen zulassen-OLLAMA_SCHED_SPREAD
ob das Modell gleichmäßig auf alle GPUs verteilt werden soll-OLLAMA_BLITZ_AUFMERKSAMKEIT
Ob die Flash-Aufmerksamkeitsbeschleunigung aktiviert werden soll (Flash Attention ist eine Optimierung Transformator Techniken zur Modellierung der rechnerischen Effizienz)-OLLAMA_KV_CACHE_TYPE
Quantisierungsart des K/V-Cache (Standard)f16
) (Der K/V-Cache ist eine Schlüsselkomponente des Transformer-Modells zur Beschleunigung der Schlussfolgerungen, und die Quantisierung verringert zwar den Speicherbedarf, kann aber die Genauigkeit beeinträchtigen.)-OLLAMA_LLM_LIBRARY
LLM-Bibliotheken angeben, um die automatische Erkennung zu umgehen (LLM-Bibliotheken sind die zugrundeliegenden Berechnungsbibliotheken, die für die Ausführung großer Modelle wie z. B.lama.cpp
,exllama
et al. (und andere Autoren))-OLLAMA_GPU_OVERHEAD
Speicherplatz pro GPU reserviert (Bytes)-OLLAMA_LOAD_TIMEOUT
Zeitüberschreitung beim Laden von Modellen (Standard)"5m"
(5 Min.)
Der Inhalt der Konfigurationsdatei von Digital Spaceport ist wie folgt Hinweis: Wenn Sie keine GPU-Karte haben, müssen (und sollten) Sie keine GPU-bezogenen Umgebungsvariablen eingeben.
Presse Strg+X
und drücken Sie dann Y
Speichern Sie die Konfigurationsdatei. Führen Sie dann den folgenden Befehl aus:
sudo systemctl daemon-reload
sudo systemctl start ollama
nproc
sudo systemctl daemon-reload
: Laden Sie die Konfigurationsdatei des systemd-Dienstes neu, damit die Änderungen wirksam werden.sudo systemctl start ollama
: Startupollama.service
Dienst, das Ollama Big Model Framework.nproc
Anzeige der Anzahl der CPU-Kerne.
Jetzt werden die Umgebungsvariablen konfiguriert. nproc
Der Befehl sollte die Nummer ausgeben 64
was 64 CPU-Kerne bedeutet. Wenn die Ausgabe 128
Das bedeutet, dass das SMT-Hyperthreading nicht ausgeschaltet ist, so dass Sie es im BIOS deaktivieren müssen. Wenn die Ausgabe 32
vielleicht 96
Wenn sich die Ausgänge nicht im gleichen Zustand wie die Ausgänge befinden, überprüfen Sie die NPS- und CCD-Einstellungen im BIOS. Wenn der Ausgang 64
Wenn die Anzahl der CPU-Kerne korrekt ist, können Sie mit dem nächsten Schritt fortfahren (LFG = Let's Fucking Go).
Modell Deepseek 671b herunterladen
Laden Sie nun das große Modell Deepseek 671b herunter. Dieses Modell benötigt etwa 400 GB Speicherplatz. Hoffentlich ist Ihre NVMe-SSD groß genug.
Ollama ziehen Tiefensuche-r1:671b
ollama pull deepseek-r1:671b
Download über den Ollama-Clientdeepseek-r1:671b
Modelle.ziehen
um das Modell herunterzuladen.deepseek-r1:671b
ist der Modellname und die Version.
Der Download-Prozess wird langsam sein, haben Sie also etwas Geduld. Beklagen Sie übrigens die schwindelerregenden Kosten für den Datenverkehr... (Das Herunterladen großer Modelle verbraucht viel Netzverkehr, insbesondere von ausländischen Servern, und kann hohe Verkehrskosten verursachen)
Installation von OpenWEBUI
Wir müssen Docker oder Python verwenden, um OpenWEBUI auszuführen. Hier verwendet Digital Spaceport Docker zur Bereitstellung. Stellen Sie sicher, dass Sie keine andere Docker-bezogene Software auf Ihrem System installiert haben, um Konflikte zu vermeiden.
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
Deinstallation von Docker-bezogenen Paketen, die möglicherweise installiert sind, um Konflikte zu vermeiden.for pkg in ... ; do ... ; done
Eine for-Schleifenanweisung, die die Liste der Pakete durchläuft.docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc
: Eine Liste von Docker-bezogenen Paketen, die installiert werden können.sudo apt-get remove $pkg
: Deinstallieren Sie das Paket.apt-get entfernen
ist der Befehl zur Deinstallation von Paketen auf Debian/Ubuntu-Systemen.$pkg
ist eine Schleifenvariable, die den Namen des Pakets angibt, das gerade durchlaufen wird.
Installieren Sie die offiziellen Docker-Quellen:
# Fügen Sie den offiziellen GPG-Schlüssel von Docker hinzu.
sudo apt-get update
sudo apt-get install ca-Zertifikate curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Fügen Sie das Repository zu den Apt-Quellen hinzu.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
- Mit diesem Befehl werden die offiziellen Docker-Repositories hinzugefügt, um die Installation der neuesten Version von Docker zu erleichtern.
- Der erste Teil fügt den offiziellen Docker-GPG-Schlüssel hinzu, der verwendet wird, um die Integrität und Herkunft des Pakets zu überprüfen.
- Der zweite Teil fügt Docker-Quellen in die APT-Quellenliste (Advanced Package Tool) ein.
- ultimativ
sudo apt-get update
Aktualisieren Sie die Liste der Softwarequellen, um die neu hinzugefügten Docker-Quellen zu aktivieren.
Installieren Sie die Docker-Engine:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Installieren Sie die Docker-Engine und die zugehörigen Komponenten.docker-ce
Docker Community Edition Engine.docker-ce-cli
Docker-Kommandozeilen-Client.containerd.io
Docker: Die zugrunde liegenden Abhängigkeiten von Docker zur Laufzeit des Containers.docker-buildx-plugin
Docker Buildx: Plugin für die Erstellung von Docker-Images für mehrere Architekturen.docker-compose-plugin
Docker Compose: Plugin für die Verwaltung von Docker-Anwendungen mit mehreren Containern.-y
: Bestätigt alle Vorgänge automatisch.
Installieren Sie den Dockge Docker Container Manager.
Das Datenverzeichnis von Dockge befindet sich standardmäßig im Verzeichnis /opt/dockge
und Docker-bezogene Daten befinden sich auch im Verzeichnis /opt
Der Katalog ist einfach zu verwalten.
sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -Ausgabe compose.yaml
docker compose up -d
sudo mkdir -p /opt/stacks /opt/dockge
: Katalog erstellen/opt/stacks
im Gesang antworten/opt/dockge
Hier werden Dockge-bezogene Dateien gespeichert.-p
bedeutet, dass das übergeordnete Verzeichnis, wenn es nicht existiert, ebenfalls erstellt wird.cd /opt/dockge
: Wechselt das aktuelle Arbeitsverzeichnis zu/opt/dockge
.sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -Output compose.yaml
Download Dockge'scompose.yaml
Dokumentation.compose.yaml
ist eine Konfigurationsdatei für Docker Compose, die die Konfiguration des Docker-Containers definiert.docker compose up -d
Starten Sie den Dockge-Container mit Docker Compose.auf
Befehl, um den Container zu starten.-d
zeigt den Hintergrundbetrieb an.
Sie können nun über einen Browser auf die Dockge-Verwaltungsoberfläche zugreifen, um die restlichen Schritte der Docker-Container-Verwaltung durchzuführen. Wenn Sie die IP-Adresse des Servers nicht kennen, können Sie die Netzwerkeinstellungen des Servers überprüfen. Die Browser-Zugangsadresse lautet http://服务器IP:5001
Beispiel: Die Server-IP von Digital Spaceport lautet Beispiel: Die Server-IP von Digital Spaceport lautet 192.168.1.200
Die Zugangsadresse lautet dann http://192.168.1.200:5001
. Beim ersten Besuch müssen Sie einen Benutzernamen und ein Passwort einrichten, die Sie sich gut merken sollten. Der nächste Schritt ist die Erstellung des OpenwebUI des Docker-Containers.
Fügen Sie den folgenden Text in den Compose-Editor von Dockge als Compose-Konfiguration für OpenwebUI ein:
Version: "3.3"
Dienste.
open-webui.
Dienste: open-webui.
- 7000:8080
Datenträger: open-webui:/app/backend/data
- open-webui:/Anwendung/Backend/Daten
container_name: open-webui
neustart: immer
Bild: ghcr.io/open-webui/open-webui:latest
Volumes: open-webui: {}
open-webui: {}
Netzwerke: dockge_default: {}
dockge_default: extern: true
extern: true
- Diese Compose-Konfiguration definiert eine Datei namens
open-webui
Docker-Container für die Ausführung von OpenWEBUI.Version: "3.3"
Version der Docker Compose-Datei.Dienstleistungen
: Definieren Sie die Liste der Dienste.open-webui
Name des Dienstes.Häfen
Port Mapping: Port 8080 des Containers wird auf Port 7000 des Hosts abgebildet.Bände
: Das Datenvolume mounten die Hostsopen-webui
Das Volume wird in das Containerverzeichnis/Anwendung/Backend/Daten
Verzeichnis für die dauerhafte Speicherung von OpenWEBUI-Daten.container_name
: Name des Containers, eingestellt aufopen-webui
.Neustart: immer
: Der Container wird immer automatisch neu gestartet.Bild: ghcr.io/open-webui/open-webui:latest
: Das verwendete Docker-Image.ghcr.io/open-webui/open-webui:latest
ist das neueste Docker-Image für OpenWEBUI.
Bände
Definieren Sie das Datenvolumen.open-webui: {}
: Erstellen Sie eine Datei mit dem Namenopen-webui
des Datenvolumens.
Netzwerke
Definition von Netzwerken.dockge_default
Netzwerkname.extern: wahr
Nutzung von externen Netzendockge_default
Standardmäßig erstellt Dockge eine Datei namensdockge_default
des Netzes.
Klicken Sie auf "Speichern" und "Ausführen". Der erste Lauf wird langsam sein, weil Sie das Docker-Image herunterladen müssen. Um das OpenWEBUI-Image später zu aktualisieren, klicken Sie einfach auf die Schaltfläche "Aktualisieren" in der Docker-Oberfläche. Sobald der Container gestartet ist, besuchen Sie die http://服务器IP:7000
Sie können dann die OpenWEBUI-Schnittstelle öffnen. Die Server-IP von Digital Spaceport lautet zum Beispiel 192.168.1.200
Die Zugangsadresse lautet dann http://192.168.1.200:7000
. Bei Ihrem ersten Besuch müssen Sie einen Benutzernamen und ein Passwort einrichten, die Sie sich unbedingt merken sollten. Lass uns im Augenblick Es ist fast geschafft! Uff!Uff!)
Verbindung zwischen OpenWEBUI und Ollama
Klicken Sie auf der Seite "/admin/settings" -> "connections" der OpenWEBUI-Administrationsoberfläche auf das "+"-Zeichen, um eine neue Serververbindung hinzuzufügen. Füllen Sie die Serveradresse aus Server IP:11434
. Zum Beispiel.192.168.1.200:11434
(Achten Sie darauf, dass die IP-Adresse Ihres eigenen Servers ersetzt wird). (Achten Sie darauf, dass Sie diese durch Ihre eigene Server-IP-Adresse ersetzen). Wenn die Verbindung erfolgreich ist, erscheint auf der OpenWEBUI-Schnittstelle die grüne Meldung "Verbindung erfolgreich".
Sobald die Verbindung hergestellt ist, klicken Sie auf das Symbol "Verbindungsmanager", um die verbundenen Ollama-Server anzuzeigen. Wenn das Deepseek-Modell bereits heruntergeladen wurde, wird es im Dropdown-Menü "Modell löschen" angezeigt. deepseek-r1:671b
Modelle.
Herzlichen Glückwunsch, es ist fast geschafft! Aber Verlassen Sie die Einstellungsseite nicht in Eile!
Einstellung erweiterter Parameter
Klicken Sie auf das Symbol Bearbeiten (Stift).
Erweiterte Parameter können jetzt bearbeitet werden. Vergessen Sie nicht, auf "SAVE!" zu klicken, wenn Sie fertig sind.
- Anzahl der GPUs (Grafikprozessoren)Wenn Sie keine GPU-Karte haben, ändern Sie dies in
0
. - Begründungsaufwand: Fakultativ
niedrig
(niedrig)mittel
(M) oderhoch
(hoch), Standard istmittel
(Mitte). - Kontext Länge: Eingestellt auf
16364
Die Kontextlänge von 16K stellt kein Problem dar. Größere Kontextlängen erfordern mehr Speicher oder GPU-RAM. - Anzahl der Threads (num_thread): Eingestellt auf
62
Darüber hinaus verfügt das System über 2 CPU-Kerne, die für das System reserviert sind. - Aktivieren der Speichersperre (use_mlock)Kann aktiviert werden, um zu verhindern, dass Speicherdaten auf die Festplatte ausgelagert werden und die Leistung beeinträchtigen. (Speichersperren (mlock) verhindern, dass Speicherseiten vom Betriebssystem auf die Festplatte ausgelagert werden, was die Effizienz der Anwendung verbessert, aber den Speicherbedarf erhöht.)
Andere Parameter können gemäß den Anweisungen auf der Modellkarte eingestellt werden. Hinweis: Versuchen Sie nicht, die volle Kontextlänge von 160K zu nutzen, es sei denn, Sie haben 2TB RAM! Selbst wenn es funktioniert, wird die Geschwindigkeit sehr viel Langsam.
WICHTIG: Vergessen Sie nicht, auf "SPEICHERN" zu tippen!
Einrichten von Benutzereinstellungen
Klicken Sie auf "Benutzereinstellungen", um die Benutzereinstellungen zu ändern. Es wird empfohlen, die Einstellung "am Leben erhalten" auf einen längeren Zeitraum zu setzen, z. B. 3 Stunden. Klicken Sie auf "Speichern", nachdem Sie die Einstellungen geändert haben.
Die Benutzereinstellungen sind ein wenig verwirrend mit den vorherigen Administratoreinstellungen, daher sollten Sie darauf achten, sie zu unterscheiden.
Führen Sie einen Test durch.
Meine Güte, ich kann nicht glauben, dass Sie es so weit geschafft haben! Das ist fantastisch, Digital Spaceport bewundert Sie! Klicken Sie auf "Neuer Chat" in der oberen linken Ecke der OpenWEBUI-Oberfläche. In der Modellliste sollte bereits stehen deepseek-r1:671b
Ich hab's. Versuchen Sie, ein zufälliges "Hallo" zu senden. Es hat geklappt!
Deepseek R1 671b Leistungstest
Herzlichen Glückwunsch zur erfolgreichen Installation und zum Betrieb des Ollama + OpenWEBUI local big model service! Digital Spaceport ist der Meinung, dass es viele andere großartige Lösungen für den Betrieb lokaler großer Modelle gibt, wie z.B. lama.cpp
, Exo
im Gesang antworten vLLM
Die Tutorials werden veröffentlicht, wenn Digital Spaceport tiefer gegangen ist. Die Tutorials werden veröffentlicht, wenn Digital Spaceport tiefer in die Materie eingestiegen ist. lama.cpp
Digital Spaceport hat vor kurzem das neue Programm kompiliert und getestet. lama.cpp
Das Ergebnis ist sehr gut! Es sind einfach zu viele Parameter zu berücksichtigen. vLLM
Es ist ein bisschen kompliziert.Exo
Es ist ziemlich einfach, aber es stürzt nach dem Start immer wieder ab und ich hatte noch keine Zeit, es zu debuggen. Wie auch immer, wie man so schön sagt... Dranbleiben! (BALD!)