AI Personal Learning
und praktische Anleitung

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server ausführen

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-1 ausführen

 

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)

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-2 ausführen

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.

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-3 ausführen

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.

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-4 ausführen

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 unzipInstallieren Sie einige gängige Linux-Software.
    • htopEin benutzerfreundlicherer Prozessmanager, mit dem Sie die Nutzung der Systemressourcen in Echtzeit verfolgen können.
    • gitCode Versioning Tool zum Herunterladen und Verwalten von Code.
    • BlickeEin leistungsfähigeres Systemüberwachungswerkzeug als das htop Die Funktionalität ist umfangreicher.
    • nanoEinfach zu bedienender Texteditor zur Bearbeitung von Konfigurationsdateien.
    • lsofEin Tool zum Anzeigen offener Dateien, das zur Fehlersuche bei Problemen wie der Portbelegung verwendet werden kann.
    • entpackenEin 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 enp65s0np0Das ist eine externe Netzwerkkarte.

[RPM] Deepseek R1 671b Große Modelle lokal auf $2000 EPYC Server-5 ausführen

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.200Der Router-Gateway ist 192.168.1.1Dies ist eine sehr verbreitete Heimnetzwerkkonfiguration.

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-6 ausführen

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.tgzLaden 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.tgzEntpacken 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 Namen ollama Systembenutzer für die Ausführung des Ollama-Dienstes.
    • sudo useradd: Befehl zum Anlegen eines Benutzers.
    • -rUm einen Systembenutzer zu erstellen, werden die UID und GID automatisch zugewiesen.
    • -s /bin/falseVerhindern, dass sich Benutzer am System anmelden.
    • -U: Erstellen Sie eine Benutzergruppe mit demselben Namen.
    • -mErzeugt 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 zum ollama Benutzergruppen.
    • sudo usermodBefehl zum Ändern von Benutzerinformationen.
    • -aHinzufügen zur Benutzergruppe anstelle von Überschreiben.
    • -G ollama: Hinzufügen zu ollama 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_DEBUGMehr Debugging-Informationen anzeigen (z.B. OLLAMA_DEBUG=1)
  • -OLLAMA_HOSTIP-Adresse, auf die der Ollama-Server hört (Standard) 127.0.0.1:11434)
  • -OLLAMA_KEEP_ALIVEwie lange das Modell im Speicher geladen bleibt (Standardwert "5m"(5 Min.)
  • -OLLAMA_MAX_LOADED_MODELSMaximale Anzahl von Modellen, die pro GPU geladen werden können
  • -OLLAMA_MAX_QUEUEMaximale Länge der Auftragswarteschlange
  • -OLLAMA_MODELLEVerzeichnis, in dem die Modelldateien gespeichert sind
  • -OLLAMA_NUM_PARALLELMaximale Anzahl von parallelen Anfragen
  • -OLLAMA_NOPRUNEModell-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_SPREADob das Modell gleichmäßig auf alle GPUs verteilt werden soll
  • -OLLAMA_BLITZ_AUFMERKSAMKEITOb die Flash-Aufmerksamkeitsbeschleunigung aktiviert werden soll (Flash Attention ist eine Optimierung Transformator Techniken zur Modellierung der rechnerischen Effizienz)
  • -OLLAMA_KV_CACHE_TYPEQuantisierungsart 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_LIBRARYLLM-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.cppexllama et al. (und andere Autoren))
  • -OLLAMA_GPU_OVERHEADSpeicherplatz pro GPU reserviert (Bytes)
  • -OLLAMA_LOAD_TIMEOUTZeitü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.

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-7 ausführen

Presse Strg+Xund 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: Startup ollama.service Dienst, das Ollama Big Model Framework.
  • nprocAnzeige der Anzahl der CPU-Kerne.

Jetzt werden die Umgebungsvariablen konfiguriert. nproc Der Befehl sollte die Nummer ausgeben 64was 64 CPU-Kerne bedeutet. Wenn die Ausgabe 128Das bedeutet, dass das SMT-Hyperthreading nicht ausgeschaltet ist, so dass Sie es im BIOS deaktivieren müssen. Wenn die Ausgabe 32 vielleicht 96Wenn 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 64Wenn 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:671bDownload über den Ollama-Client deepseek-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; doneDeinstallation von Docker-bezogenen Paketen, die möglicherweise installiert sind, um Konflikte zu vermeiden.
    • for pkg in ... ; do ... ; doneEine 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 -yInstallieren Sie die Docker-Engine und die zugehörigen Komponenten.
    • docker-ceDocker Community Edition Engine.
    • docker-ce-cliDocker-Kommandozeilen-Client.
    • containerd.ioDocker: Die zugrunde liegenden Abhängigkeiten von Docker zur Laufzeit des Containers.
    • docker-buildx-pluginDocker Buildx: Plugin für die Erstellung von Docker-Images für mehrere Architekturen.
    • docker-compose-pluginDocker 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/dockgeHier 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.yamlDownload Dockge's compose.yaml Dokumentation.compose.yaml ist eine Konfigurationsdatei für Docker Compose, die die Konfiguration des Docker-Containers definiert.
  • docker compose up -dStarten 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:5001Beispiel: Die Server-IP von Digital Spaceport lautet Beispiel: Die Server-IP von Digital Spaceport lautet 192.168.1.200Die 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-webuiName des Dienstes.
        • HäfenPort Mapping: Port 8080 des Containers wird auf Port 7000 des Hosts abgebildet.
        • Bände: Das Datenvolume mounten die Hosts open-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 auf open-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ändeDefinieren Sie das Datenvolumen.
      • open-webui: {}: Erstellen Sie eine Datei mit dem Namen open-webui des Datenvolumens.
    • NetzwerkeDefinition von Netzwerken.
      • dockge_defaultNetzwerkname.
        • extern: wahrNutzung von externen Netzen dockge_defaultStandardmäßig erstellt Dockge eine Datei namens dockge_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.200Die 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".

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-8 ausführen

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.

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-9 ausführen

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).

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-10 ausführen

Erweiterte Parameter können jetzt bearbeitet werden. Vergessen Sie nicht, auf "SAVE!" zu klicken, wenn Sie fertig sind.
[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-11 ausführen

  • Anzahl der GPUs (Grafikprozessoren)Wenn Sie keine GPU-Karte haben, ändern Sie dies in 0.
  • Begründungsaufwand: Fakultativ niedrig (niedrig) mittel (M) oder hoch (hoch), Standard ist mittel (Mitte).
  • Kontext Länge: Eingestellt auf 16364Die 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 62Darü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.

[RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server-1 ausführen

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.cppExo im Gesang antworten vLLMDie 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.cppDas 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!)

Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " [RPM] Deepseek R1 671b Große Modelle lokal auf einem $2000 EPYC Server ausführen

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)