Deepseek lokal auf der CPU betreiben - mit 768GB RAM!

  • Zur Relation: Für die 768GB RAM (12x 64GB DDR4 2666 LRDIMM) habe ich auf Kleinanzeigen 650€ gezahlt.

    Aber sehr cooles Experiment! :)
    Erst jetzt scheinen ja Unternehmen auf die Idee zu kommen, eine schnelle APU mit viel RAM auszustatten, für günstigeres AI.

    Ich habe noch Kobold.cpp ausprobiert. Dort schaffe ich mit einem 11B Modell anstatt der 7.7 T/s von LMStudio nur 3,7 T/s.
    Llamafile habe ich auch probiert, da es AVX512 unterstützt. Allerdings kann ich da die großen Modelle nicht ausführen, die in 41GB Parts aufgeteilt sind.

    Ich werde bei Gelegenheit weiter experimentieren.

    Come to the dark side, we have cookies!

    Edited once, last by RaVeNsClaw (March 11, 2025 at 10:35 PM).

  • Das ist ganz FAST! was ich haben will... Ich warte noch darauf, das irgendeine Firma die letzten 10 Meter geht....

    Lüfterlos, >64gb ecc speicher, 10gbit Ethernet, 2 m.2 oder 2 U.2. Und ich würde die Kiste kaufen... Eine kleines 24/7 System. Die Krone wäre wenn noch 6 oder 8 2.5 Sata Steckplätze drin wären. Dann kauf ich Zwei davon.

    Wenn es das Ganze dann noch im 10" Rack Format geben würde...

  • Ja 650 € sind aber relativ viel, wenn man ehh Hardware rumliegen hat. Ein 1800x? mit Mainboard, Ram und Case? Für 300 Euro Optane rein und ab geht es. Oder halt eine alte 1 TiB Nvme, da fliegt bestimmt irgendetwas rum. Und wenn das Teil dann zwei Tage braucht? Who cares?

    Ich werde die Optane aber auf Dauer für andere Sachen nutzen. Hatte die 480gb nur bei Ebay für 130 Euro gesehen und dann musste ich sie Kaufen.

  • Wegen dem AI Craze können die Hersteller verlangen was sie wollen.
    "Nur" 3000€ für ein System, das die GPU Performance einer RTX4070 Mobile mit 128GB Speicher bei 8GHz Takt mit 256 Bit Anbindung kombiniert?
    Das Teil wird im Bruchteil einer Sekunde ausverkauft sein.

    Come to the dark side, we have cookies!

    Edited 2 times, last by RaVeNsClaw (March 12, 2025 at 12:25 AM).

  • Wir werden es sehen.
    Egal, DeepSeek ist fertig:

  • Ein kleines Update:
    Mittlerweile habe ich das "2nd CPU Riser Board" in meinem Z6 G4 entfernt und betreibe die Kiste mit nur einer CPU und "nur" 384GB RAM.
    Die zweite CPU in diesem System hat keine eigenen PCI-E Slots, für VMs ist die zweit-CPU also nicht zu gebrauchen.
    Ebenso ist der viele RAM absolut unnötig. ^^

    Da die Preise für die Nachfolger CPU Generation "Cascade Lake" von 2019 stark im fallen ist, habe ich den Xeon Gold 6138 für 79€ durch einen Xeon Gold 6230 ersetzt. Im Desktop Segment wurden Cascade Lake CPUs als i9-109XX verkauft. Diese hat auch 20/40 Kerne/Threads, aber 100/200MHz mehr Takt/Boost.
    Vor allem aber einige neue Features für KI, wie "Intel Deep Learning Boost" und bis zu vierfacher AVX2 Leistung.

    Bringen tut das in der Praxis aber kaum etwas. Etwa 10% mehr Leistung bei LM Studio und Llamafile. :S

    Ich warte nun, bis der Xeon Gold 6254 erschwinglich wird.
    Der hat "nur" 18 Kerne, aber dafür 3,1 GHz anstatt 2,1 GHz Basistakt. ;)

    Come to the dark side, we have cookies!

    Edited once, last by RaVeNsClaw (June 13, 2025 at 4:13 PM).

  • Mal wieder ein paar größere Updates.

    Neue kleinere Deepseek Modelle
    Mittleweile gibt es nicht nur neue und bessere Versionen von Deepseek, sondern es gibt auch endlich gute dynamisch quantisierte Modelle.
    Das bedeutet, dass die Modelle viel kleiner sind und trotzdem nicht viel schlechter.

    Empfehlen kann ich besonders die "DeepSeek-V3-0324-GGUF-UD" quantisierten Modelle von "Unsloth":

    Hier ist das Modell Q3_K_XL mit 296GB besser, als das erste Deepseek mit 700GB.
    Zudem unterstützt es eine Kontextlänge von über 128K Tokens. Meinen Tests nach wird es über dieser Größe aber sehr langsam und instabil, daher limitiere ich bei 125k Tokens.

    Hier ein Beispiel mit dem Modell Q3_K_XL mit 296GB:

    "Please write a poem about graphics cards from 3dfx."

    Ode to the Voodoo Card
    (A Tribute to 3dfx’s Glory Days)

    In darkened rooms where pixels gleam,
    a legend rose—a gamer's dream.
    From shadows cast by humble screens,
    burst vibrant hues in vivid scenes.

    Oh, Voodoo magic, bold and true!
    With glide so smooth, it broke anew.
    Quake II’s fire, Tomb Raider’s stride—
    you lit them up with furious pride.

    Two chips or three? Then SLI might,
    doubled the frames, doubled delight.
    No rival matched your colored glow,
    or rendered worlds so rich below.

    But time rolls on, and kings must fall,
    yet echoes haunt collectors halls.
    For those who knew your savage art,
    no card since claimed such spellbound heart.

    So rest in bits, old warrior bright—
    your lagless spells still feed the night.

    Die Deepseek Modelle sind übrigens absolut unzensiert. :P

    Neue Hardware Erkenntnisse:
    Ich habe einige Experimente mit neuer und alter Hardware durchgeführt:
    - Was bei der CPU Berechnung von LLMs das wichtigste ist, ist der Speicherdurchsatz! Ich meine damit weniger Speichertakt, sondern mehr die Anzahl der Speicherkanäle!
    - Pro Speicherkanal sind 3 (echte) CPU Kerne empfehlenswert. Mehr bringt dann kaum etwas. Aber nur so viele Threads verwenden, wie Kerne vorhanden sind!
    - Die Geschwindigkeit der CPU spielt fast keine Rolle, sie benötigt aber unbedingt AVX2 (Haswell und neuer).
    - Bei Systemen mit einer CPU kann Hyper-Threading angeschaltet bleiben, hier macht es keinen Unterschied.

    Ich habe in meinen alten Datenserver Lenovo ThinkStation P500 und Intel Xeon E5-2699 v3 (18C/36T, 2,3GHz, Haswell Generation, 2014) testweise 512GB DDR4 2133 gesteckt. Die CPU hat 4 Speicherkanäle. Bei dem Deepseek Modell Q3_K_XL mit 296GB erreiche ich 2,1 Token/s, egal ob mit 12, 16 oder 18 Threads.

    Zum Vergleich:
    Mit meinem HP Z6 G4 und Intel Xeon Gold 6230 (20C/40T, 2,1GHz, Cascade Lake Generation, 2019) und 384GB DDR4 2666 in 6 Speicherkanälen erreiche ich 3,22 Token/s, bei 18 Threads.
    Testweise habe ich auch eine Intel Xeon Gold 6254 (18C/36T, 3,1GHz, Cascade Lake Generation, 2019) getestet. Diese schaffte mit 3,4 Token/s bei 18 Threads kaum mehr, trotz 50% mehr Takt und der fast doppelten TDP.

    Oder anders ausgedrückt: Etwa 50% mehr Token/s bei etwa 50% mehr Speicherdurchsatz.
    Solange die CPU 3 Kerne pro Speicherkanal hat, skaliert die Geschwindigkeit praktisch nur mit der Anzahl der Speicherkanäle und der Speicher Generation.

    Come to the dark side, we have cookies!

    Edited 4 times, last by RaVeNsClaw (July 21, 2025 at 7:21 AM).

  • Ich brauche mehr DDR4 um aktuellere Plattformen zu testen.

    Mein dual 2011-3 Xeon hat inzwischen 512 gig ram. Mit dem Q4 Modell habe ich etwa 0.8 - 0.9 Token/s. Dies ist echt angenehm, im vergleich zu Goliath-120b...

  • Hm, mit der alten Lenovo ThinkStation P500 und 1x Intel Xeon E5-2699 v3 (ebenfalls 2011-3) mit 512GB RAM (DDR4 2666 @ 2133) erreiche ich unter Win11 und LM Studio im "IQ4_XS" Modell 2 Token/s bei 18 Threads. Das "Q4_K_XL" Modell lädt bei mir irgendwie nicht, obwohl die 384GB locker passen sollten. Die RAM Auslastung steigt beim laden über 512GB und die Software schmiert dann ab.

    Welche Software benutzt du?
    Mit Ollama hatte ich bisher bei den großen Modellen nur Probleme. Da muss ich mich mal mehr damit auseinandersetzen, vor allem wie man die Kontextlänge über 4096 Token erhöht.

    Come to the dark side, we have cookies!

  • Mein Fehler. bin bei 2011 nicht 2011-3. Also 2x E5-2697 v2, das 2011-3 kommt evlt noch aber da soll eigentlich XP X64 drauf ;)

    512 GB sollten reichen, bei mir braucht das Modell 396GB.

    Ich Debian und llama.cpp Das rennt gut. einfach den llama-server starten und gut ist. Ollama habe ich angesehen und nachdem ich gesehen habe, wie es installiert wird, habe ich nein danke gesagt und bin weitergezogen. curl -fsSL script.sh | sh und dann darin sudo zu nutzen, ist ein absolutes nogo.

    vllm will ich nochmal irgendwann testen, soll etwas schneller sein.

  • Debian und llama.cpp steht auch oben auf meiner ToDo Liste. Das werde ich mit dem EPYC System dann ausprobieren.
    So weit wie ich gelesen habe ist Ollama wirklich nur mit CUDA brauchbar.

    Den Ivy Bridge EP CPUs fehlt AVX2 und mit DDR3... Das bremst natürlich.
    Beeindruckend, dass da knapp ein Token pro Sekunde raus kommt.

    EDIT: Aber absolut korrekt. Quantisiertes Deepseek putzt mit Goliath-120b den Boden auf.

    Come to the dark side, we have cookies!

    Edited 2 times, last by RaVeNsClaw (July 23, 2025 at 9:55 PM).

  • Kannst Ollama ehh sein lassen. Siehe setup ... Wenn die so schon ankommen oO.... lama.cpp braucht kein root, git clone und bauen

    Jau das ist es. Goliath war deutlich langsamer. Aber hey 8 RAM Channel statt 4 und bestimmt ist das System nicht optimal eingestellt.

    https://github.com/vllm-project/vllm soll noch flott sein, habe ich aber noch nicht getestet. Und was wirklich spannend ist:

    GitHub - MiniMax-AI/MiniMax-01: The official repo of MiniMax-Text-01 and MiniMax-VL-01, large-language-model & vision-language-model based on Linear Attention
    The official repo of MiniMax-Text-01 and MiniMax-VL-01, large-language-model & vision-language-model based on Linear Attention - MiniMax-AI/MiniMax-01
    github.com
  • Ok, ich habe einige Experimente gemacht:
    - Was ich mir noch nicht erklären kann: Deepseek wirkt in llama.cpp weit dümmer als in LM Studio. Ich vermute, dass sich die Querys zwischen den Programmen ziemlich unterscheiden.
    - Debain ist gegenüber Win11 in llama.cpp und LM Studio nicht schneller. Praktisch kein Unterschied bei CPU Nutzung.
    - LM Studio benutzt im Hintergrund llama.cpp und ist praktisch gleich schnell wie llama.cpp.
    - Eigentlich logisch, aber die Modelle auf eine schnelle NVME SSD zu packen spart viel Lebenszeit. Von einer Gen4 NVMe SSD lädt das 296GB Deepseek Modell in 1-2 Minuten in dem RAM. Von einer HDD dauert das 30-60 Minuten!

    Mit "llama-bench" von llama.cpp messe ich z.B. 3,1 T/s und in LM Studio 3,22 T/s bei einer eigenen Query.
    Die Ergebnisse sind nicht direkt vergleichbar, aber man sieht, dass man im selben Bereich liegt.

    Wenn ihr mehr als 350GB RAM habt und das auf 296GB quantisierte Deepseek in llama.cpp unter Windows laufen lassen wollt, hier eine kleine Anleitung, wie man sich eine "portable" Version basteln kann, die z.B. von einer USB SSD laufen kann:

    llama.cpp + Deepseek Portable für Windows

    Display Spoiler

    1) Neuste llama-bXXXX-bin-win-cpu-x64.zip herunterladen: https://github.com/ggml-org/llama.cpp/releases

    2) Den Inhalt in ein Verzeichnis extrahieren

    3) Die 7 Teile des Modells herunterladen (296GB!) und in das Verzeichnis legen: https://huggingface.co/unsloth/DeepSe…main/UD-Q3_K_XL

    5) Hier eine .zip Datei mit .bat Dateien, die die folgenden Kommandos beinhalten. Einfach mit in das Verzeichnis werfen:
    Bat_Dateien.zip

    6) Die 7 Teile zu einer Modelldatei mergen (siehe auch .bat Dateien anbei!) , danach kann man die Teilstücke löschen:
    llama-gguf-split --merge DeepSeek-V3-0324-UD-Q3_K_XL-00001-of-00007.gguf DeepSeek-V3-0324-UD-Q3_K_XL.gguf


    So kann man die Performance Benchen; Der "tg128" Wert zählt!
    llama-bench -m DeepSeek-V3-0324-UD-Q3_K_XL.gguf --flash-attn 1

    So kann man den lokalen Server starten:
    llama-server -m DeepSeek-V3-0324-UD-Q3_K_XL.gguf --port 8080 --ctx-size 0 --keep -1 --flash-attn --mlock

    So kann man eine einfache Konversation starten:
    llama-cli -m DeepSeek-V3-0324-UD-Q3_K_XL.gguf -cnv --chat-template chatml

    Come to the dark side, we have cookies!

    Edited 9 times, last by RaVeNsClaw (July 26, 2025 at 4:52 PM).

  • So, nach 4 Tage an heftigen Kämpfen mit meinem AMD EPYC System hier ein paar erste Deepseek Q3_K_XL Ergebnisse:
    Unter Windows 11 in LM Studio: 4,22 T/s
    Unter Debian beim ersten Lauf: 4,54 T/s
    Unter Debian bei jedem weiteren Lauf: 2,31 T/s

    Unter Linux gibt es aktuell einen Fehler, den ich auch im LM Studio Bug Tracker eingetragen habe.

    Ich werde mehr zu dem System schreiben, wenn alles gut läuft.
    Aber kurzum: Nach vielen guten Erfahrungen mit Workstation Hardware hatte ich komplett vergessen, was für ein Clusterfuck Server-Hardware ist.
    Wenn euch euere Zeit lieb ist, dann nehmt eine alte Workstation und lasst die Finger von Servern... :bonk:

    Come to the dark side, we have cookies!

  • Öhm. Die Aussage ist etwas seltsam. Serverhardware ist so ziemlich das unproblematischste was man in Sachen Hardware kaufen kann?! Kaufst fertigen OEM Server, Server kommt an, schiebst das Trumm in's Rack, schreibst iLO/IPMI Logindaten und MACs ab, schließt das Netzwerk an, läßt die Netzwerkabteilung die IPs zuweisen, loggst dich remote über deinen Browser ein, bindest über HTTPS dein Wunsch-ISO ein, setzt die Kiste auf, fertig?

    Wieviel einfacher solls noch werden? :?:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Mit einem fertigen Server mag das gehen.
    Allerdings: Das Board ist ATX und in einem normalen Desktop Gehäuse. Der Hynix DDR4 RAM benötigt aber sehr starke aktive Kühlung.
    In meinem HP Z6 G4 sind z.B. 2 Blower Lüfter, wie für eine Grafikkarte, jeweils einer für 3 RAM Riegel.

    Das Board hier hat 8 Riegel. Ich habe jetzt 2x 50mm Lüfter direkt auf dem RAM bei 4400 RPM laufen, damit der RAM unter 60°C bleibt.
    Ab etwa 75°C am Sensor wirft der RAM ECC Fehler. Das musste ich auch erstmal herausfinden...

    Der Arctic Freezer 50 TR ist dabei auch einem normalen 3U Kühler gewichen, da der Kühler den RAM so weit überdeckt, dass man ihn nicht kühlen kann.

    Die riesige CPU habe ich schon 2 mal entfernt um Sockel und CPU zu reinigen. Ich habe extra einen Drehmoment Schraubendreher gekauft um ihn zu montieren.
    Es ist extrem schwer die CPU in einem gebrauchten Mainboard so zu montieren, dass alle 8 Speicherkanäle und alle 128 PCIe Lanes funktionieren. :(
    Das mag funktionieren, wenn die Hardware sauber aus dem Serverraum kommt. Meine Hardware kam dreckig aus dem Keller von jemandem auf Kleinanzeigen...
    Das Board läuft jetzt stabil, aber ich habe 3 Tage mit Stresstests und Logdateien verbracht um nach PCIe Fehlern und ECC Fehlern zu suchen.

    Zudem funktionieren viele PCI-E Karten nicht. Keine Consumer PCIe 4.0 SSDs. Keine Consumer Grafikkarten. Keine Consumer USB 3.1 Karten...
    Die interne Asmedia Grafikkarte bringt nicht einmal unter Debian ein Bild. Zum Glück habe ich eine Radeon W5700.

    Und jeder Bootvorgang dauert etwa 4 Minuten.

    Come to the dark side, we have cookies!

    Edited 5 times, last by RaVeNsClaw (July 31, 2025 at 10:20 PM).