Modul 01 · Lektion 6

Wie man ein Modell auswählt

Ranglisten zeigen das Durchschnittsniveau eines Modells, aber nicht, wie es bei deiner Aufgabe abschneidet. Mit 20 Fragen Trefferquote, Geschwindigkeit und Kosten von vier Modellkonfigurationen vergleichen und lernen, mit einem eigenen kleinen Testset zu entscheiden.

  • Etwa 40 Minuten
  • Niveau: Einsteiger
  • Getestet: 2026-09-14 deepseek-flash, deepseek-v4-pro

Code und Programmausgaben stehen genau so da, wie sie gelaufen sind – Kommentare und Ausgaben sind daher auf Chinesisch.

Fast jede Woche erscheint ein neues Modell, und jedes behauptet, auf irgendeiner Rangliste Platz eins zu sein. Ein Modell nach Ranglisten auszuwählen, ist wie jemanden nur nach dem Abschluss einzustellen: ein Anhaltspunkt, aber keine Antwort darauf, ob die Person deine Arbeit gut erledigt.

Diese Lektion zeigt einen verlässlicheren Weg: 20 Fragen aus deiner eigenen Aufgabe vorbereiten, alle Kandidaten sie beantworten lassen und schauen, wer richtig liegt, wer schnell ist und wer billig ist. Das kostet kaum etwas und liefert in einer halben Stunde ein Ergebnis.

Worauf man bei der Auswahl achtet

Kriterium Frage
Qualität Beantwortet es meine Aufgabe richtig?
Preis Was kostet es im Monat bei meiner echten Nutzung?
Geschwindigkeit Wie lange wartet der Nutzer? Bis zum ersten Zeichen, bis die ganze Antwort fertig ist?
Funktionen Tool-Aufrufe? JSON-Ausgabe? Bilder? Genug Kontext?
Bereitstellung Kann ich eine Cloud-API aufrufen? Dürfen Daten das Unternehmen verlassen? Brauche ich lokalen Betrieb?
Stabilität Wie streng sind die Rate Limits? Wie oft gab es Ausfälle? Wird das Modell plötzlich abgeschaltet?

Qualität steht an erster Stelle, ist aber nicht alles. Ein Modell mit 95 % Trefferquote, das 10 Sekunden braucht, wirkt im Chatfenster zu langsam; ein Modell mit 90 %, das zehnmal billiger ist, passt womöglich besser zu einem Hintergrundjob mit Hunderttausenden Aufrufen täglich.

Grobe Einteilung der Modelle

Proprietär und mit offenen Gewichten. Proprietäre Modelle kann man nur per API aufrufen; das Modell selbst bekommst du nicht. Modelle mit offenen Gewichten veröffentlichen ihre Parameter; du kannst sie auf eigene Server laden, die Daten bleiben im Haus, aber Grafikkarten und Betrieb musst du selbst stellen. Modul 10 zeigt, wie man Modelle mit offenen Gewichten lokal betreibt.

Mit und ohne Denken. Früher waren Allzweck- und Reasoning-Modelle getrennte Modelle; heute lassen sich viele Modelle mit einem Parameter umschalten. deepseek-flash und deepseek-v4-pro von DeepSeek unterstützen beide einen Denk- und einen Nicht-Denkmodus, standardmäßig ist Denken an. Der Denkmodus ist genauer, aber langsamer und teurer.

Groß und klein. In der Produktpalette eines Anbieters gibt es meist ein günstiges, schnelles Modell und ein teureres, leistungsfähigeres, bei DeepSeek flash und pro. Intuitiv ist das teurere immer besser, aber das folgende Experiment zeigt: nicht unbedingt.

Stand September 2026 sind in China vor allem DeepSeek, Alibaba Cloud Bailian (die Qwen-Reihe) und Kimi direkt nutzbar; Modul 00, Lektion 2 listet ihre Schnittstellenadressen auf. Die konkreten Modelle ändern sich schnell, deshalb gibt es hier keine Liste; schau in die aktuellen Dokumentationen. Wichtig ist die Vergleichsmethode unten, und die veraltet nicht.

Experiment: vier Konfigurationen mit 20 Fragen vergleichen

Ich habe 20 Fragen mit eindeutiger Lösung vorbereitet: Rechnen, Einheiten umrechnen, Buchstaben zählen, chinesische Schriftzeichen zählen, einfache Logik, klassische Gedichte, Python-Grundwissen. Alle vier Konfigurationen haben sie beantwortet: deepseek-flash und deepseek-v4-pro, jeweils mit und ohne Denken.

Der Kern des Programms sieht so aus (vollständiger Code in code/01-llm-basics/model_eval.py; die Kostenberechnung nutzt cost_usd aus Lektion 4):

QUESTIONS = [
    ("17 乘以 23 等于多少?", ["391"]),
    ("9.11 和 9.9 哪个大?", ["9.9"]),
    ("“秋天的叶子一片片落下”这句话有几个字?", ["10"]),
    ("如果今天是星期三,100 天后是星期几?", ["星期五", "周五"]),
    ("鸡兔同笼,共 35 个头,94 只脚,兔子有几只?", ["12"]),
    # ……一共 20 道
]


def normalize(text):
    # 去掉空格和标点,再去掉结尾的单位和"大"这类多余的字,只比较核心答案。
    # 注意不能去掉小数点,否则 9.9 和 99 就分不清了。
    text = re.sub(r"[\s,。,!!??::“”\"'、]", "", text.lower()).rstrip(".")
    return re.sub(r"(个字|个|人|只|天|平方厘米|厘米|摄氏度|度|次|大)$", "", text)


def run_one(model, thinking, question):
    start = time.time()
    response = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "system", "content": "只回答最终答案本身,不要写单位以外的任何解释。"},
            {"role": "user", "content": question},
        ],
        extra_body={"thinking": {"type": "enabled" if thinking else "disabled"}},
    )
    return response.choices[0].message.content.strip(), time.time() - start, response.usage

Jede Konfiguration beantwortet die 20 Fragen mit 10 parallelen Threads; gezählt werden richtige Antworten, durchschnittliche Sekunden pro Frage und Gesamtkosten, und falsch beantwortete Fragen werden ausgegeben. Mein Ergebnis:

deepseek-flash(不思考): 答对 19/20,平均 0.8 秒/题,20 题共 0.0002 美元
    答错:9.11 和 9.9 哪个大? → 9.11
deepseek-flash(思考): 答对 20/20,平均 0.9 秒/题,20 题共 0.0026 美元
deepseek-v4-pro(不思考): 答对 16/20,平均 0.9 秒/题,20 题共 0.0009 美元
    答错:9.11 和 9.9 哪个大? → 9.11
    答错:“秋天的叶子一片片落下”这句话有几个字? → 9
    答错:一个正方形的周长是 24 厘米,它的面积是多少平方厘米? → 9
    答错:单词 raspberry 里有几个字母 r? → 2
deepseek-v4-pro(思考): 答对 20/20,平均 2.1 秒/题,20 题共 0.0114 美元

Das Ergebnis lesen

Der Denkmodus hat alle Fehler korrigiert. Beide Modelle beantworteten mit Denken alle 20 Fragen richtig. Ohne Denken lagen sie bei Fragen falsch, die „Schritt für Schritt“ gehen müssen: Dezimalzahlen vergleichen, Zeichen zählen, erst die Seitenlänge und dann die Fläche berechnen.

Das teure Modell ist nicht unbedingt besser. deepseek-v4-pro beantwortete ohne Denken nur 16 richtig, drei weniger als das günstige flash. Bei der Quadrat-Aufgabe antwortete es „9“, vermutlich hielt es „Umfang 24“ für einen Hinweis auf die Fläche. Teure Modelle haben meist Vorteile bei schwierigeren, offeneren Aufgaben, aber bei deiner konkreten Aufgabe können sie durchaus schlechter sein als das günstige. Genau deshalb muss man selbst testen.

Gleich viele richtig, aber Preis und Geschwindigkeit weichen stark ab. flash mit Denken und pro mit Denken erreichen beide 20/20, aber pro ist über viermal so teuer (0,0114 gegen 0,0026 Dollar) und mehr als doppelt so langsam (2,1 gegen 0,9 Sekunden). Für diesen Fragensatz ist flash mit Denken klar die bessere Wahl.

flash ohne Denken hat das beste Preis-Leistungs-Verhältnis. 19/20 bei einem Zehntel der Kosten mit Denken. Enthält deine Aufgabe keine Fallen wie „Dezimalzahlen vergleichen“, reicht es womöglich.

Grenzen dieses Experiments

Nach den Schlussfolgerungen muss man auch klar sagen, wo das Experiment nicht trägt.

20 Fragen sind zu wenig. Der Unterschied zwischen 16 und 17 richtigen Antworten kann bloßer Zufall sein. Ich habe es zweimal laufen lassen; deepseek-v4-pro ohne Denken kam einmal auf 17, einmal auf 16, und die falschen Fragen waren nicht ganz dieselben. 20 Fragen eignen sich, um „deutlich schlechter“ zu erkennen; um zwei „ungefähr gleiche“ Modelle zu unterscheiden, braucht man mehr Fragen und mehrere Durchläufe pro Frage.

Auch das Bewertungsskript kann sich irren. Beim ersten Lauf wurden bei flash mit Denken zwei Fragen als falsch gewertet: eine Antwort lautete „9.9 大“ (9.9 ist größer), eine „10个字“ (10 Zeichen). Die Antworten waren richtig; nur hatte meine normalize-Funktion Anhängsel wie „大“ und „个字“ nicht entfernt. Erst nach der Korrektur und einem neuen Lauf kam das Ergebnis oben heraus. Schau dir also jede als falsch gewertete Frage einzeln an und prüf, ob wirklich das Modell falsch lag oder die Bewertung.

Diese Fragen sind nicht deine Aufgabe. Rechnen, Buchstaben zählen und klassische Gedichte sind etwas anderes als Kundenservice, Programmieren oder das Extrahieren von Vertragsdaten. Dieser Fragensatz demonstriert nur die Methode. Für dein eigenes Projekt müssen die Fragen aus deiner echten Aufgabe stammen.

Ein Modell für das eigene Projekt wählen

  1. 20 echte Fragen sammeln. Aus deinem realen Einsatz: Fragen, die Nutzer wirklich gestellt haben, Dokumente, die du wirklich verarbeiten musst. Einfache darunter und solche, bei denen Modelle bekanntermaßen Fehler machen.
  2. Überlegen, wie man richtig und falsch beurteilt. Am besten mit eindeutiger Lösung, automatisch per Programm verglichen. Für offene Antworten (etwa eine Antwort an einen Kunden) ein Bewertungsschema aufschreiben und von Menschen bewerten lassen oder ein anderes Modell bewerten lassen; wie das geht, zeigt Modul 06, Lektion 2.
  3. 2–4 Kandidaten auswählen. Meist ein günstiges und ein teures Modell, dazu die Kombinationen mit und ohne Denken.
  4. Einmal durchlaufen lassen, falsche Fragen anschauen. Nicht nur auf die Trefferquote achten, sondern jede falsche Frage anschauen und entscheiden, ob es am Modell oder an Frage bzw. Bewertung lag.
  5. Nach echter Nutzung rechnen. Mit cost_usd aus Lektion 4 anhand der Aufrufe pro Tag die Monatskosten schätzen.
  6. Das günstigste nehmen, das die Anforderungen erfüllt. Wenn die Trefferquote passt, auf Geschwindigkeit und Preis schauen.

Wirf diese 20 Fragen nicht weg. Jedes Mal, wenn du das Modell wechselst, einen Prompt änderst oder eine Version aktualisierst, lässt du sie erneut laufen und siehst, ob es schlechter geworden ist. Modul 06 baut daraus ein vollständiges Evaluationsset.

Übungen

  1. Füg in model_eval.py zu QUESTIONS fünf Fragen hinzu, bei denen du Modelle für fehleranfällig hältst, etwa mehrschrittige Datumsberechnungen oder Logikfragen mit Falle. Welche der vier Konfigurationen schneidet am besten ab?
  2. Wenn du API-Schlüssel anderer Anbieter hast, füg deren Modelle zu CONFIGS hinzu (dazu musst du run_one so ändern, dass es verschiedene Clients nutzen kann, und den Parameter thinking entfernen, den andere nicht kennen) und vergleiche die Ergebnisse.
  3. Lass model_eval.py für dieselbe Konfiguration dreimal hintereinander laufen. Ist die Zahl der richtigen Antworten jedes Mal gleich? Welche Fragen sind mal richtig, mal falsch?

Selbsttest

1. Ein Modell steht auf einer Rangliste auf Platz eins. Warum sollte man es trotzdem mit eigenen Fragen testen?

Ranglisten messen das Durchschnittsniveau eines Modells bei allgemeinen Aufgaben; dich interessiert aber, wie es bei deiner konkreten Aufgabe abschneidet. Beides kann weit auseinanderliegen. Im Experiment dieser Lektion machte das teurere deepseek-v4-pro im Nicht-Denkmodus mehr Fehler als das günstige flash. Nur mit echten Fragen aus deiner Aufgabe erfährst du, welches Modell zu dir passt.

2. Mit 20 Fragen beantwortet Modell A 17 richtig, Modell B 16. Heißt das, dass A besser ist als B?

Nein. 20 Fragen sind zu wenig; ein Unterschied von ein, zwei Fragen kann Zufallsschwankung sein, und schon dasselbe Modell kann in zwei Läufen unterschiedlich abschneiden. Kleine Testsets eignen sich, um deutliche Unterschiede zu erkennen. Um ähnliche Modelle zu unterscheiden, braucht man mehr Fragen und mehrere Durchläufe pro Frage mit Mittelwert.

3. Dein Evaluationsskript meldet drei falsch beantwortete Fragen. Was ist der nächste Schritt?

Die Rohantworten dieser drei Fragen einzeln ansehen und prüfen, ob das Modell wirklich falsch lag oder das Bewertungsskript falsch gewertet hat (etwa wegen einer zusätzlichen Einheit oder eines Satzzeichens). Auch Frage und Musterlösung selbst prüfen. Danach je nach Art der Fehler entscheiden, ob man das Modell wechselt, das Denken einschaltet oder den Prompt ändert.

Fragen und Diskussion

Hängst du in dieser Lektion fest? Frag hier. Und wenn du die Frage von jemandem beantworten kannst, tu es gern.

Eine Frage bringt 3 Punkte, eine Antwort 6. Beiträge erscheinen nach der Prüfung.

Diskussion wird geladen…