ubuntuusers.de

Ollama Modelpfad verschieben

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

ubuntu--anfaenger

Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

Hallo,

Habe ollama installiert, um ein deepseek Model zu testen, es läuft soweit...

Das Problem ist das ich nur in der Lage bin das deepseek Model vom default Pfad zu starten: /home/heidi/.ollama/models

Weil verschiedene Modelle sehr gross sind reicht der Speicherplatz nicht aus, ich habe eine 2te Festplatte dafür vorbereitet, der Pfad ist: /media/heidi/hgst/olle/models/

Das Model wurde mit:

ollama pull deepseek-r1:7b

herunter geladen, und von dort auf die 2te Festplatte verschoben, und das Verzeichnis ~/.ollama/models gelöscht.

Wenn ich nun versuche ollama zu starten:

ollama serve

ollama run deepseek-r1:7b

Fängt er das Model wieder an herunter zu laden

Habe auch versucht den Pfad zu exportieren:

heidi@heidi-tty:~$ export OLLAMA_MODELS="/media/heidi/hgst/olle/models"
heidi@heidi-tty:~$ 

Das wird aber kompl ignoriert, auch versucht den Dienst anzupassen und in der ollama.service den Pfad mitzugeben:

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/home/heidi/.cargo/bin:/home/heidi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
Environment="OLLAMA_MODELS=/media/heidi/hgst/olle/models"
[Install]
WantedBy=default.target

Alles neu gestartet, doch ohne Erfolg.

Jemand vielleicht eine Idee wie man ollama beibringen kann einen anderen Pfad zu akzeptieren?

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4369

Ollama nutze ich nicht, sondern llama.cpp, da kann man bei -m pfad/modell direkt den Pfad mit angeben.

In anderen KI-Anwendungen habe ich einfach Verknüpfungen angelegt, siehe ln. Vielleicht klappt das bei Ollama ja auch.

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 691

Wohnort: Hamburg

Was sagt den der Hersteller der Software wie man das machen soll?

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

verdooft schrieb:

Ollama nutze ich nicht, sondern llama.cpp, da kann man bei -m pfad/modell direkt den Pfad mit angeben.

Kann man llama.cpp auf einer cpu Laufen lassen?

Hatte deswegen ollama genommen, weil ich das auf einer cpu ausführen kann, weil keine 2te gpu vorhanden ist.

Gibt es mit llama keine Probleme mit der Precision der FloatingPoints(auf einer cpu)?

siehe ln. Vielleicht klappt das bei Ollama ja auch.

Nee leider nicht, er kopiert dann wieder ins default Verzeichnis ~/.ollama/models

Könntest Du evtl verlinken wie Du llama.cpp installiert hast?

micneu schrieb:

Was sagt den der Hersteller der Software wie man das machen soll?

Den Pfad exportieren, und die Rechte setzen: sudo chown -R ollama:ollama <directory>.

Hilft mir nicht weiter alles schon versucht.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4369

llama.cpp geht auch rein per CPU, nutze ich auch so, grob bin ich so vorgegangen:

  • Git-Repository clonen

    git clone https://github.com/ggml-org/llama.cpp.git
  • Ich verwende Openblas, hab das meine ich so installiert damals:

    sudo apt install ibopenblas-dev libopenblas64-dev
  • Wechsel in das geclonte Verzeichnis:

    cd llama.cpp
  • cmake Konfiguration, CC un CXX kann man weglassen, ich verwende 14er Versionen, obwohl 13 Standard ist in Ubuntu 24.04

    CC=/usr/bin/gcc-14 CXX=/usr/bin/g++-14 cmake -B build -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS
  • Eigentlicher Bau der Software

    cmake --build build --config Release
  • Hilfe zu den Programmoptionen

    ./build/bin/llama-cli --help

Kürzlich hat sich was geändert, hab diese Optionen bisher nie verwendet:

--reasoning-format
-sys,  --system-prompt PROMPT

Müsste mich da auch erstmal einlesen, hab bisher meistens alles direkt bei -p angegeben. -sys ist neu.

Habs bisher so aufgerufen:

./build/bin/llama-cli --model ~/Downloads/models/deepseek-r1/DeepSeek-R1-Distill-Llama-70B-Q5_K_M-00001-of-00002.gguf --threads 6 --temp 0.6 --repeat_penalty 1.1 -no-cnv -s 429 -c 8192 --prompt '<|begin▁of▁sentence|>Eine deutschsprachige Konversation zwischen Benutzer und Assistent. Der Assistent denkt erst im Geist über den Argumentations-Prozess nach und gibt dem Benutzer dann die Antwort. Der Argumentations-Prozess und die Antwort sind umgebeben von <think> </think> und <answer> </answer> Tags, jeweils, zum Beispiel, <think> Hier der Argumentations-Prozess. </think> <answer> Hier die Antwort. </answer>. In den answer-Tags sollen alle Aspekte des Thinkingblocks berücksichtigt werden, um eine möglichst hochwertige Antwort zu erhalten.<|User|>Ein Apfel liegt im Raum A auf einem Teller, ich bringe den Teller in den Raum B. Wo ist der Apfel?<|Assistant|>'

Beispielausgabe:

<think> Okay, so I've got this question here: "An apple is lying on a plate in room A. I take the plate into room B. Where's the apple?" Hmm, let me try to figure this out step by step.

First off, there's an apple on a plate in Raum A. So, Raum A has both the apple and the plate. Now, the person takes the plate from Raum A to Raum B. The question is asking where the apple ends up—does it stay in Raum A or does it move to Raum B?

I think about how objects move. If you pick something up, like a plate with an apple on it, when you move the plate, the apple should go with it because they're connected. So if I carry the plate from one room to another, the apple, being on top of the plate, would naturally come along.

Wait, but maybe there's a catch here? Like, sometimes in riddles or physics problems, things can be tricky. Could the apple stay behind if the plate is moved? But that doesn't make much sense because the apple is on the plate. Unless the apple was somehow stuck to Raum A, but that's not mentioned.

Another angle: Maybe it's about reference points. If the plate is in Raum B, and the apple is on the plate, then wherever the plate goes, the apple follows. So logically, the apple should be in Raum B now.

I don't think gravity or other forces would cause the apple to stay back unless specified. So yeah, I'm pretty sure the apple moves with the plate into Raum B. </think>

Der Apfel befindet sich nun im Raum B, da er auf dem Teller liegt, der dorthin gebracht wurde.

<answer> Der Apfel ist in Raum B, weil er auf dem Teller liegt, den Sie in den Raum B getragen haben. </answer> [end of text]

Mit -sys und --reasoning-format erhalte ich nicht wie gewohnt den think-Block, da müsstest du selbst testen.

Für eine Web-UI:

./build/bin/llama-server --help

Konversationsmodus (Beibehaltung des Kontexts) lässt sich auch für llama-cli einschalten, siehe Optionen. Es ist bestimmt sinnvoller, den Default englischen Systemprompt zu verwenden.s setzt den Seed, kann man weglassen.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4369

Hier steht auch, wie man Pakete baut:

https://github.com/ggml-org/llama.cpp/wiki

habe ich aber nie gemacht.

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

verdooft schrieb:

llama.cpp geht auch rein per CPU, nutze ich auch so, grob bin ich so vorgegangen:

Die Installation hat recht schnell geklappt.

cmake Konfiguration, CC un CXX kann man weglassen, ich verwende 14er Versionen, obwohl 13 Standard ist in Ubuntu 24.04

Ich habe die 13er da gab es dann ein kleines error, habs dann so wie von Dir empfohlen: cmake -B build -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS

Nun ist meine grösste Herausforderung, ich bekomme es einfach nicht hin ein Modell herunter zu laden zb dieses: Llama-3.3-70B

Auf Hudgingface konnte ich die Modelle für ollama einfach so herunter laden als raw, das dann über pip in ein gguf Format bringen, und es lief.

Jetzt bei Meta angemeldet, das Model ausgewählt, den 48st Link bekommen mit certs usw...

Aber ich hab keinen Plan wie ich das Modell herunter laden kann? wget, git clone, und curl scheitern.

Wie macht man das denn um Modelle herunter zu laden?

lg,

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4369

Ich meine was gelesen zu haben, dass llama.cpp auch automatisch laden kann, nutze ich allerdings nicht, ich gehe so vor:

Beste Quelle: https://huggingface.co/bartowski

Hab in die Modellsuche das reinkopiert: Llama-3.3-70B

Treffer: https://huggingface.co/bartowski/Llama-3.3-70B-Instruct-GGUF, Files und versions Tab anklickem. Gewünschte Vaiante anklicken, z.B.

https://huggingface.co/bartowski/Llama-3.3-70B-Instruct-GGUF/blob/main/Llama-3.3-70B-Instruct-Q4_K_L.gguf

hier den DL-link von Download kopieren und mit wget verwenden. Es gibt auch ein huggingface-cli oder so, nutze ich nicht. 70B, du hast also mindestens 64 GB Ram?

Vielleicht ist Ollama doch besser für dich geeignet. Ich würde so vorgehen: Dienst/Anwendung beenden, Modelle aus dem alten in den neuen Pda verschieben, per ln verküpfen: alter ordner → neuer Ordner, Dienst/Anwendung verwenden. Bei Rückfragen: in Issues/Discussion (falls verfügbar) des Git-Projektes fragen.

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

verdooft schrieb:

Ich meine was gelesen zu haben, dass llama.cpp auch automatisch laden kann,

Ja wenn man sich bei hudgingface-cli anmeldet und einen account erstellt ☺

du hast also mindestens 64 GB Ram?

Ja und ein TB swap, da für das R1 Modell mindestens 740Gb Ram Benötigt werden, zumindest lädt Ollama das kompl im Ram rein.. da war dann auch die cpu am schwitzen.

Vielleicht ist Ollama doch besser für dich geeignet.

Nee ich habs aufgegeben.

ich würde so vorgehen: Dienst/Anwendung beenden, Modelle aus dem alten in den neuen Pda verschieben, per ln verküpfen: alter ordner → neuer Ordner, Dienst/Anwendung verwenden.

Nee geht alles nicht, hab sogar in der unit den Absoluten Pfad mitgegeben, alles ohne Erfolg, wenn der nicht den default Pfad bekommt, fragt der nur doof, cant find... is ollama running?

Ich lade das jetzt mal so runter und melde mich lg,

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4369

Ok, ist aber das pure Llama 3.3 Modell, nicht das R1-Distilled. Der HG Account quantisiert auch mit llama.cpp, so kann man ziemlich sicher sein, dass die da verfügbaren Modelle auch schon von llama.cpp unterstützt werden.

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

Moin danke läüft jetzt, ich hatte mich dumm und dämlich nach nem passenden Link gesucht, gut mit den Parametern kann man ja sehr schön rumspielen ich habs mal so gemacht:

./llama-cli --model /media/heidi/hgst/olle/DeepSeek-R1-Distill-Qwen-14B-Uncensored.Q6_K.gguf --threads 24 --temp 0.6 --repeat_penalty 1.1 --ctx-size 8192 --interactive --prompt "Hallo wie gehts"
> Hallo wie gehts
<think>
Es geht mir gut, danke der Nachfrage! Und wie l\Ufffffffft's bei dir so?

Morgen möchte ich mal das ganz grosse Model testen, mal schauen ob es unter llama.cpp läuft, muss es dann evtl auf .gguf konvertieren.

Ja was ist mit ollama ist das halt alles sehr Optimiert selbst das R1 Modell läuft sehr flüssig(ja nicht ganz auf der cpu.. aber es geht)

Aber leider keine Option, ich kann nicht mehrere Tb auf der Systemplatte runter laden.

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

verdooft schrieb:

Ok, ist aber das pure Llama 3.3 Modell, nicht das R1-Distilled.

Das Distilled bin ich gerade runter am laden, schauen wir mal Morgen ob es als gguf unter llama.cpp läuft...

Ich war auch ganz verdutzt das das so eine Facebook Geschichte ist. 😬

Antworten |