Ollama verstehen
Wenn man Ollama so konfigurieren will, dass ein Modell viel Kontext verarbeiten und lange Antworten erzeugen kann, stöĂt man sehr schnell auf Begriffe wie num_ctx und num_predict. Diese beiden Werte sind tatsĂ€chlich zentral â aber sie sind nicht die ganze Geschichte.
Denn in der Praxis hÀngt die QualitÀt und LÀnge von Antworten nicht nur davon ab, was man einstellt, sondern auch davon:
- welches Modell man verwendet,
- welche KontextlĂ€nge das Modell nativ unterstĂŒtzt,
- wie viel RAM/VRAM vorhanden ist,
- welche Quantisierung genutzt wird,
- und ob die Antworten trotz groĂer Kontexte noch sinnvoll und stabil bleiben.
Dieser Artikel erklĂ€rt die wichtigsten Ollama-Werte rund um Kontext und AntwortlĂ€nge, was sie technisch bedeuten, wie sie sich auf das Verhalten des Modells auswirken und welche sinnvollen Konfigurationen es fĂŒr verschiedene AnwendungsfĂ€lle gibt.
1. Das Grundprinzip: Eingabetokens und Ausgabetokens
Bevor wir ĂŒber Parameter sprechen, ist ein Konzept entscheidend:
Ein Sprachmodell arbeitet mit einem Kontextfenster. In diesem Fenster befinden sich alle Tokens, die das Modell aktuell âsehenâ kann. Dazu gehören z. B.:
- die Systemanweisung,
- die bisherigen Chat-Nachrichten,
- eingefĂŒgte Dokumente,
- dein aktueller Prompt,
- und je nach Ablauf auch Teile der bereits erzeugten Antwort.
Ein Token ist kein Wort, sondern ein kleines TextstĂŒck. Als grobe Faustregel gilt:
- 1 Token â 0,75 Wörter auf Englisch,
- auf Deutsch oft Àhnlich, manchmal etwas mehr,
- 1000 Tokens entsprechen grob einigen hundert bis etwa 750 Wörtern.
Wichtig ist: Das Modell hat kein unbegrenztes GedĂ€chtnis. Es kann nur die Tokens berĂŒcksichtigen, die in sein Kontextfenster passen.
2. num_ctx: Wie viel Kontext das Modell sehen kann
Was bedeutet num_ctx?
num_ctx bestimmt die maximale KontextlĂ€nge, also wie viele Tokens insgesamt dem Modell zur VerfĂŒgung stehen.
Das betrifft insbesondere:
- den aktuellen Prompt,
- Chat-Verlauf,
- eingefĂŒgte Texte oder Dokumente,
- und den restlichen Dialogkontext.
Kurz gesagt:
- groĂes
num_ctx= mehr Text auf einmal verarbeitbar - kleines
num_ctx= weniger GedÀchtnis, schnellere Begrenzung
Warum ist num_ctx so wichtig?
Wenn du z. B. möchtest, dass ein Modell:
- lange Dokumente analysiert,
- Code ĂŒber viele Dateien hinweg berĂŒcksichtigt,
- in langen Chats frĂŒhere Aussagen erinnert,
- groĂe Wissensblöcke im Prompt verarbeitet,
dann brauchst du ein ausreichend groĂes num_ctx.
Beispiel
Du gibst dem Modell:
- 20.000 Tokens Dokumentinhalt,
- 2.000 Tokens Instruktionen,
- 3.000 Tokens Chatverlauf.
Dann bist du schon bei 25.000 Tokens Eingabekontext. Mit num_ctx=8192 wĂŒrde das nicht vollstĂ€ndig hineinpassen. Ein Teil mĂŒsste abgeschnitten werden oder der Prompt wĂŒrde fehlschlagen bzw. intern gekĂŒrzt.
Was passiert bei zu kleinem num_ctx?
Ein zu kleines Kontextfenster fĂŒhrt oft zu:
- abgeschnittenem Chat-Verlauf,
- verlorenen Details aus frĂŒheren Nachrichten,
- schlechterer KohÀrenz in langen Unterhaltungen,
- unvollstÀndiger Dokumentenanalyse,
- âVergessenâ von Vorgaben.
Das zeigt sich dann in Antworten wie:
- das Modell widerspricht sich spÀter,
- es ignoriert frĂŒhe Anweisungen,
- es beantwortet nur den letzten Teil eines langen Inputs,
- es halluziniert mehr, weil ihm Kontext fehlt.
Was passiert bei sehr groĂem num_ctx?
Ein groĂes Kontextfenster ist nĂŒtzlich, hat aber Kosten:
- mehr RAM/VRAM-Verbrauch
- oft langsamere Verarbeitung
- bei manchen Modellen schlechtere QualitÀt weit hinten im Kontext
- manche Modelle unterstĂŒtzen groĂe Kontexte technisch nur begrenzt sinnvoll
Wichtig: Ein Modell kann zwar manchmal mit groĂem Kontext gestartet werden, aber das heiĂt nicht automatisch, dass es diesen Kontext qualitativ gut nutzen kann.
Es gibt einen Unterschied zwischen:
- technisch möglich
- vom Modell nativ trainiert/unterstĂŒtzt
- inhaltlich noch zuverlÀssig
Das ist extrem wichtig.
3. num_predict: Wie lang die Antwort werden darf
Was bedeutet num_predict?
num_predict legt fest, wie viele neue Tokens das Modell maximal erzeugen darf.
Also:
num_ctx= wie viel das Modell lesen kannnum_predict= wie viel das Modell schreiben darf
Wenn du lange Antworten möchtest, ist num_predict der wichtigste direkte Parameter.
Beispiel
Wenn du num_predict=256 setzt, dann kann die Antwort maximal etwa 256 Tokens lang sein. Das ist oft nur eine kurze bis mittlere Antwort.
Wenn du num_predict=2048 setzt, dann kann die Antwort deutlich ausfĂŒhrlicher werden.
Wenn du sehr lange Artikel, Analysen oder Zusammenfassungen willst, sind Werte wie:
- 1024
- 2048
- 4096
oft realistischer.
Was passiert bei zu kleinem num_predict?
Dann wirkt das Modell oft so, als wĂŒrde es:
- mitten im Satz abbrechen,
- zu knapp antworten,
- AufzĂ€hlungen nicht zu Ende fĂŒhren,
- bei âschreibe einen ausfĂŒhrlichen Artikelâ trotzdem nur einen kurzen Text liefern.
In vielen FĂ€llen ist das kein âUnwilleâ des Modells, sondern schlicht eine harte Tokenbegrenzung.
Was passiert bei sehr groĂem num_predict?
GroĂe Werte erlauben lange Antworten, aber auch hier gibt es Nebenwirkungen:
- lÀngere Laufzeit,
- mehr Rechenaufwand,
- höheres Risiko von Wiederholungen,
- bei manchen Modellen gröĂere Tendenz zum Abschweifen,
- mehr Kosten bei API-/Ressourcennutzung.
AuĂerdem heiĂt ein hoher Wert nicht, dass das Modell immer so lang antwortet. Er ist nur das Maximum.
Das Modell kann trotzdem kurz antworten, wenn:
- der Prompt nach KĂŒrze klingt,
- die Antwort eigentlich kurz ist,
- ein Stop-Kriterium erreicht wird,
- die Sampling-Parameter eher kurze oder prĂ€gnante Antworten begĂŒnstigen.
4. Zusammenspiel von num_ctx und num_predict
Viele verstehen diese beiden Werte anfangs isoliert. In Wirklichkeit wirken sie zusammen.
Denkmodell
num_ctx= wie viel âGedĂ€chtnisplatzâ vorhanden istnum_predict= wie viel âSchreibplatzâ fĂŒr die Antwort erlaubt wird
Typischer Fall 1: GroĂer Input, kurze Antwort
Du willst ein langes Dokument analysieren und nur eine knappe Zusammenfassung.
Dann brauchst du:
- hohes
num_ctx - aber nur moderates
num_predict
Beispiel:
num_ctx = 32768num_predict = 512
Typischer Fall 2: Mittlerer Input, lange Antwort
Du gibst eine ĂŒberschaubare Aufgabe, willst aber einen langen Aufsatz.
Dann brauchst du:
- mittleres
num_ctx - hohes
num_predict
Beispiel:
num_ctx = 8192num_predict = 2048oder4096
Typischer Fall 3: GroĂer Input und lange Antwort
Das ist der anspruchsvollste Fall, z. B.:
- viele Dokumente einlesen,
- dann einen langen Bericht schreiben,
- mit Zitaten, Struktur und BegrĂŒndungen.
Dann brauchst du beides hoch:
- groĂes
num_ctx - groĂes
num_predict
Beispiel:
num_ctx = 32768oder65536num_predict = 2048bis4096+
Aber genau hier steigen Speicherbedarf und Laufzeit stark.
5. Warum âmehr Kontextâ nicht immer automatisch âbesserâ ist
Das ist einer der wichtigsten Punkte.
Viele denken:
Je gröĂer num_ctx, desto besser die Antwort.
Das stimmt nur teilweise.
Problem 1: Das Modell wurde vielleicht nicht fĂŒr so viel Kontext trainiert
Ein Modell hat hĂ€ufig eine native oder empfohlene KontextlĂ€nge. Wenn man diese stark ĂŒberschreitet, kann Folgendes passieren:
- das Modell beachtet nur frĂŒhe oder spĂ€te Teile zuverlĂ€ssig,
- es âverwischtâ Informationen,
- die Relevanzbewertung wird schlechter,
- es reagiert inkonsistent.
Ein Modell kann technisch vielleicht mit 32k oder 64k gestartet werden, obwohl es bei 8k oder 16k am besten arbeitet.
Problem 2: Relevante Informationen gehen in der Masse unter
Auch wenn formal alles in den Kontext passt, heiĂt das nicht, dass das Modell alles gleich gut nutzt.
Wenn du 50 Seiten Kontext gibst, aber nur drei SĂ€tze relevant sind, kann die Antwort schlechter werden als mit einem gut kuratierten, kompakten Prompt.
Problem 3: Performance sinkt
Mehr Kontext bedeutet meist:
- langsameres Prompt-Processing,
- oft mehr Speicherverbrauch,
- trÀgere Reaktionszeit.
Gerade lokal mit Ollama ist das sehr spĂŒrbar.
6. Warum âmehr num_predictâ nicht automatisch âbessere lange Antwortenâ bedeutet
Ein hoher Wert ist nötig, aber nicht hinreichend.
Mögliche Probleme bei sehr langen Generationen
- Wiederholungen
- inhaltliches Kreisen
- Abschweifen
- sinkende StrukturqualitÀt
- mehr Halluzinationen im spÀteren Verlauf
Je lÀnger eine Antwort wird, desto wichtiger wird:
- ein guter Prompt,
- klare Gliederungsvorgaben,
- ggf. niedrigere Temperatur,
- explizite Anforderungen wie âin 8 Abschnittenâ, âmit ZwischenĂŒberschriftenâ, âohne Wiederholungenâ.
Praktischer Tipp
Wenn du sehr lange und gute Antworten willst, hilft oft mehr als bloà num_predict zu erhöhen:
Statt nur zu sagen:
Schreib mir einen langen Text
besser:
Schreibe einen strukturierten Artikel mit Einleitung, 6 Hauptabschnitten, Praxisbeispielen, Grenzen, Fazit. Vermeide Wiederholungen und fĂŒhre jeden Punkt konkret aus.
So nutzt du das erlaubte Ausgabebudget sinnvoller.
7. Weitere wichtige Parameter, die Antworten beeinflussen
Auch wenn num_ctx und num_predict die Hauptrollen spielen, gibt es weitere Werte, die das Antwortverhalten stark beeinflussen.
temperature
Bestimmt, wie kreativ oder zufÀllig das Modell antwortet.
- niedrig (z. B. 0.1â0.3): prĂ€ziser, nĂŒchterner, stabiler
- mittel (z. B. 0.5â0.8): ausgewogen
- hoch (z. B. 0.9+): kreativer, aber riskanter und unsteter
Einfluss auf lange Antworten
FĂŒr lange fachliche Texte ist eine zu hohe Temperatur oft problematisch:
- mehr Abschweifungen,
- mehr Halluzinationen,
- mehr stilistische Unruhe.
FĂŒr sachliche, lĂ€ngere Ausgaben sind oft Werte um 0.2 bis 0.7 sinnvoll.
top_k
Begrenzt die Auswahl auf die wahrscheinlichsten nÀchsten Tokens.
- kleinerer Wert: konservativer
- gröĂerer Wert: offener
Wirkung
Kann helfen, Antworten kontrollierter oder kreativer zu machen. FĂŒr nĂŒchterne und lĂ€ngere Analysen eher moderat halten.
top_p
Alternative bzw. ErgÀnzung zu top_k.
Das Modell wÀhlt aus den wahrscheinlichsten Tokens, bis eine kumulierte Wahrscheinlichkeit erreicht ist.
- kleinerer Wert: enger, konservativer
- gröĂerer Wert: freier
Auch das beeinflusst, ob lange Antworten eher stabil oder eher driftend werden.
repeat_penalty
Reduziert Wiederholungen.
Gerade bei langen Antworten kann das wichtig sein, weil Modelle sonst dazu neigen, Formulierungen, Satzmuster oder Inhalte zu wiederholen.
Ein etwas erhöhter Wert kann helfen, aber zu viel kann auch unnatĂŒrliche Sprache erzeugen.
Stop-Sequenzen / stop
Mit Stop-Sequenzen kann man festlegen, wann die Ausgabe enden soll.
Das ist nĂŒtzlich, wenn ein Modell sonst weiterredet, in neue Rollen springt oder Formatgrenzen ignoriert.
Aber Vorsicht:
Eine unpassende Stop-Sequenz kann lange Antworten frĂŒhzeitig abschneiden.
8. Speicher, Geschwindigkeit und Hardware
GroĂer Kontext ist vor allem ein Hardware-Thema.
Mehr Kontext kostet Speicher
Je gröĂer num_ctx, desto mehr Speicher wird fĂŒr den KV-Cache und die Verarbeitung benötigt. Das heiĂt:
- gröĂere
num_ctx-Werte brauchen deutlich mehr RAM/VRAM, - gröĂere Modelle verschĂ€rfen das Problem,
- lange Kontexte und lange Antworten zusammen sind besonders anspruchsvoll.
Auswirkungen in der Praxis
Wenn du lokal arbeitest, merkst du das oft so:
- das Modell startet langsamer,
- die erste Token-Ausgabe dauert lÀnger,
- Prompt-Verarbeitung wird zÀh,
- bei zu hohen Werten wird geswappt oder es kommt zu Fehlern,
- die Antwortgeschwindigkeit sinkt massiv.
Wichtiger praktischer Zusammenhang
Ein kleines Modell mit groĂem Kontext kann manchmal praktikabler sein als ein groĂes Modell mit riesigem Kontext.
Beispielhaft:
- Ein 7B- oder 8B-Modell mit 32k Kontext kann auf einem Desktop eher realistisch sein.
- Ein deutlich gröĂeres Modell mit derselben KontextlĂ€nge kann lokal schnell unpraktisch werden.
9. Modellgrenzen: Nicht jedes Modell ist fĂŒr riesige Kontexte geeignet
Das ist vielleicht der wichtigste praktische Rat ĂŒberhaupt:
Ollama kann nur das freischalten, was Modell und Hardware sinnvoll hergeben.
Wenn ein Modell von Haus aus eher auf 4k, 8k oder 16k ausgelegt ist, bringt es oft wenig, einfach num_ctx extrem hochzusetzen.
Worauf du achten solltest
Beim gewĂ€hlten Modell prĂŒfen:
- empfohlene KontextlÀnge,
- bekannte Langkontext-FĂ€higkeit,
- Community-Erfahrungen,
- StabilitÀt bei 32k/64k/128k,
- Speicherbedarf bei deiner Quantisierung.
Ein Modell mit offiziell guter Long-Context-UnterstĂŒtzung ist fĂŒr Dokumentanalyse oft viel wertvoller als ein Modell, das nur theoretisch groĂ konfigurierbar ist.
10. Typische AnwendungsfÀlle und sinnvolle Einstellungen
A. Langer Chat mit viel GesprÀchsverlauf
Ziel:
- frĂŒhere Nachrichten erinnern,
- konsistent bleiben,
- ĂŒber viele Runden hinweg zusammenhĂ€ngend antworten.
Empfehlung:
num_ctx: eher hoch, z. B. 16384 bis 32768num_predict: moderat, z. B. 512 bis 1024
Warum?
Der Chat-Verlauf ist wichtiger als riesige Einzelausgaben.
B. Dokumentanalyse groĂer Texte
Ziel:
- lange Texte lesen,
- gezielt zusammenfassen oder Fragen beantworten.
Empfehlung:
num_ctx: hoch, z. B. 32768 oder mehr, falls Modell geeignetnum_predict: 256 bis 1024, je nach gewĂŒnschter AntwortlĂ€nge
Warum?
Das Modell muss viel lesen, aber oft nicht extrem viel schreiben.
C. Lange Essays, Berichte, Blogartikel
Ziel:
- ausfĂŒhrliche, strukturierte Ausgaben erzeugen.
Empfehlung:
num_ctx: mittel bis hoch, z. B. 8192 bis 16384num_predict: hoch, z. B. 2048 bis 4096
Warum?
Der eigentliche Schreibraum ist hier besonders wichtig.
D. Code-Assistenz mit gröĂeren Projekten
Ziel:
- mehrere Dateien, APIs, Fehlerlogs und Anforderungen gleichzeitig berĂŒcksichtigen.
Empfehlung:
num_ctx: hochnum_predict: mittel bis hoch
Warum?
Sowohl Kontext als auch AntwortlĂ€nge sind relevant. Besonders bei Refactoring, ArchitekturvorschlĂ€gen oder Datei-ĂŒbergreifender Analyse.
11. Wie man Konfigurationen sinnvoll testet
Die beste Einstellung findet man selten nur theoretisch. Sinnvoll ist ein systematisches Vorgehen.
Schritt 1: Das Ziel definieren
Willst du vor allem:
- lÀngere Antworten?
- lÀngeren Chat-Verlauf?
- groĂe Dokumente im Prompt?
- stabile Fachtexte?
- schnelle Reaktion?
Je nach Ziel verschiebt sich die optimale Konfiguration.
Schritt 2: Erst konservativ starten
Zum Beispiel:
num_ctx = 8192num_predict = 1024
Dann prĂŒfen:
- reicht der Kontext?
- wird die Antwort abgeschnitten?
- ist die QualitÀt stabil?
- wie schnell lÀuft es?
Schritt 3: Nur einen Wert auf einmal erhöhen
Erhöhe entweder:
- erst
num_ctx, wenn Kontext fehlt, - oder erst
num_predict, wenn Antworten zu kurz sind.
Nicht alles gleichzeitig hochdrehen, sonst ist schwer erkennbar, was geholfen oder geschadet hat.
Schritt 4: Mit echten Aufgaben testen
Nicht nur mit Mini-Prompts. Nutze:
- dein echtes Dokument,
- deinen realen Chat-Verlauf,
- deine typischen Schreibaufgaben.
Nur dann siehst du, ob die Konfiguration wirklich passt.
12. Praktische Faustregeln
Wenn du groĂe Dokumente verarbeiten willst:
Erhöhe zuerst num_ctx.
Wenn du lÀngere Antworten willst:
Erhöhe zuerst num_predict.
Wenn Antworten trotz hohem num_predict kurz bleiben:
Dann liegt es oft am Prompt oder an Stop-Kriterien, nicht nur an der Token-Grenze.
Wenn das Modell frĂŒhere Infos vergisst:
Dann ist oft num_ctx zu klein oder der relevante Kontext wird im Chat verdrÀngt.
Wenn das Modell langsam wird oder abstĂŒrzt:
Dann ist num_ctx möglicherweise zu hoch fĂŒr dein Modell oder deine Hardware.
Wenn lange Antworten schlechter werden:
Dann nicht nur num_predict erhöhen, sondern:
- Prompt besser strukturieren,
- Temperatur etwas senken,
- ggf. Ausgabe in Abschnitte aufteilen.
13. Beispielhafte Denkmuster statt âein bester Wertâ
Es gibt keinen universell besten Wert fĂŒr num_ctx oder num_predict.
Stattdessen sind diese Denkmuster nĂŒtzlich:
âIch will, dass das Modell mehr erinnertâ
â num_ctx erhöhen
âIch will, dass es nicht mitten im Artikel aufhörtâ
â num_predict erhöhen
âIch will lange Dokumente und dann ausfĂŒhrliche Ausgabenâ
â beide erhöhen, Hardware und Modellgrenzen beachten
âIch will bessere QualitĂ€t bei langen Antwortenâ
â nicht nur Tokenlimits anheben, sondern Sampling und Prompt verbessern
14. Typische MissverstÀndnisse
MissverstÀndnis 1:
âGroĂer Kontext heiĂt automatisch gute Langzeit-Erinnerung.â
Nicht unbedingt. Das Modell kann Informationen formal im Fenster haben, sie aber nicht optimal gewichten.
MissverstÀndnis 2:
âWenn ich num_predict riesig setze, bekomme ich automatisch lange Antworten.â
Nein. Es ist nur das Maximum. Der Prompt und das Modellverhalten entscheiden mit.
MissverstÀndnis 3:
âIch kann jedes Modell einfach auf 64k oder 128k Kontext stellen.â
Technisch vielleicht teilweise, aber sinnvoll und qualitativ stabil ist das nicht bei jedem Modell.
MissverstÀndnis 4:
âWenn Antworten abgeschnitten werden, brauche ich nur mehr num_ctx.â
Nicht unbedingt. Oft ist dann eher num_predict zu klein.
15. Konkrete Kurzempfehlungen
Wenn du mit Ollama arbeitest und einfach praktikabel starten willst:
FĂŒr allgemeine Nutzung
num_ctx: 8192num_predict: 512 bis 1024
FĂŒr groĂe Dokumente
num_ctx: 16384 bis 32768num_predict: 512 bis 1024
FĂŒr lange Artikel/ErklĂ€rungen
num_ctx: 8192 bis 16384num_predict: 2048 bis 4096
FĂŒr sehr anspruchsvolle Long-Context-Aufgaben
num_ctx: so hoch wie Modell + Hardware sinnvoll erlaubennum_predict: je nach gewĂŒnschter AusgabelĂ€nge- zusĂ€tzlich auf Modellwahl und Promptstruktur achten
16. Fazit
Die beiden wichtigsten Ollama-Werte fĂŒr dein Anliegen sind:
num_ctxfĂŒr die Menge an verarbeitbarem Kontextnum_predictfĂŒr die maximale LĂ€nge der Antwort
Man kann sich das so merken:
num_ctx= lesennum_predict= schreiben
Wenn du groĂe Kontexte verarbeiten willst, musst du num_ctx erhöhen.
Wenn du lange Antworten möchtest, musst du num_predict erhöhen.
Wenn du beides willst, musst du beides erhöhen â aber dann steigen auch die Anforderungen an Modell, Speicher und Laufzeit.
Der wichtigste praktische Punkt ist dabei:
Nicht nur gröĂer einstellen, sondern passend einstellen.
Denn ein riesiger Kontext bringt wenig, wenn:
- das Modell dafĂŒr nicht gut geeignet ist,
- die Hardware ĂŒberlastet wird,
- der Prompt schlecht strukturiert ist,
- oder die AntwortqualitÀt bei langen Generationen sinkt.
Die beste Konfiguration ist deshalb immer ein Kompromiss aus:
- Kontextbedarf,
- gewĂŒnschter AntwortlĂ€nge,
- ModellfÀhigkeit,
- StabilitÀt,
- und verfĂŒgbarer Hardware.