Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Die Modellgröße für eine Aufgabe wählen

Nach dieser Lektion: Ich kann aus einem Test und einem Preis eine Modellgröße für eine Aufgabe wählen.

Lektion, 60 Min.6 BefehleLab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Das größte Modell ist nicht immer das beste

Die Modellgröße zu wählen heißt, das kleinste Modell zu finden, das eine Aufgabe gut genug erledigt. Ein kleines Modell kann bei einer engen Aufgabe mit einem großen gleichziehen, für einen Bruchteil des Preises.

Das ist wichtig, weil sich der Preis jedes Aufrufs summiert, und die Wartezeit auch. Die richtige Größe finden Sie durch Testen, nie durch Raten.

Am Ende dieser Lektion

Notiz

Ich kann aus einem Test und einem Preis eine Modellgröße für eine Aufgabe wählen.

Schlüsselwörter

BegriffWas er bedeutet
Enge Aufgabeeine kleine, klare Aufgabe
Testmengefeste Fälle, mit denen ein Modell bewertet wird
Erfolgsquoteder Anteil der Fälle, die ein Modell richtig löst
Preis je Aufrufwas jede Anfrage kostet
Gut genugeine Erfolgsquote, die die Aufgabe akzeptiert

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Testen Sie jede Größe an denselben Fällen

Schreiben Sie eine Testmenge: eine feste Liste echter Fälle für Ihre Aufgabe, etwa zehn Support-Anfragen, die sortiert werden sollen. Lassen Sie jede Modellgröße über dieselben Fälle laufen und notieren Sie für jeden bestanden oder durchgefallen.

Die Erfolgsquote ist der Anteil richtiger Fälle. Modul 68 sagt mehr zu Testmengen. Diese Lektion nutzt aufgezeichnete Ergebnisse, es wird also jetzt nichts ausgeführt.

Aufgezeichnete Ergebnisse auf sechs Anfragen

GrößeRichtig von 6ErfolgsquotePreis je 1000 Aufrufe
klein466,7 %2 Euro
mittel583,3 %9 Euro
groß6100 %40 Euro

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die Fälle eines kleinen Modells ansehen

Eine Erfolgsquote verbirgt, welche Fälle scheitern. Das kleine Modell oben scheitert an den Anfragen 5 und 6. Lesen Sie sie. Sind sie im echten Betrieb selten, kann klein trotzdem reichen.

Rechnen Sie dann den Preis je richtiger Antwort aus: den Preis geteilt durch den Anteil, der besteht. Ein billiges Modell, das oft irrt, kann je richtiger Antwort mehr kosten als ein teureres.

Ein häufiger Fehler

Warnung

Viele glauben, das größte Modell sei die sichere Wahl. Es ist das teuerste, und es ist langsamer. Besteht eine kleinere Größe Ihre eigene Testmenge, ist sie gut genug. Wählen Sie die günstigste Größe, die besteht, und testen Sie neu, wenn sich die Aufgabe ändert.

Modell-Helfer schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const basis = process.env.AI_URL || \"http://ai:4000\";' '// Die Token einer Antwort oder null, wenn sie keine nennt.' 'function zaehlen(daten, name) {' '  return daten.usage && typeof daten.usage[name] === \"number\" ? daten.usage[name] : null;' '}' > model.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Modell-Helfer schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function fragen(nachrichten, probe, max) {' '  try {' '    const res = await fetch(basis + \"/v1/chat/completions\", {' '      method: \"POST\",' '      headers: { \"content-type\": \"application/json\", authorization: \"Bearer lab\" },' '      body: JSON.stringify({ model: \"lab\", messages: nachrichten, max_tokens: max || 100 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"Status \" + res.status);' '    const d = await res.json();' '    return { text: d.choices[0].message.content, eingabe: zaehlen(d, \"prompt_tokens\"), ausgabe: zaehlen(d, \"completion_tokens\"), aufgezeichnet: false };' '  } catch (fehler) {' '    console.log(\"Aufgezeichnete Probe: Kein Modell hat geantwortet (\" + fehler.message + \").\");' '    return { text: probe, eingabe: null, ausgabe: null, aufgezeichnet: true };' '  }' '}' 'module.exports = { fragen };' >> model.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Größenwähler schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const aufgezeichnet = {' '  klein: { kosten: 2, bestanden: [1, 1, 1, 1, 0, 0] },' '  mittel: { kosten: 9, bestanden: [1, 1, 1, 1, 1, 0] },' '  gross: { kosten: 40, bestanden: [1, 1, 1, 1, 1, 1] },' '};' 'function treffer(m) {' '  return m.bestanden.reduce(function (a, b) { return a + b; }, 0);' '}' 'function quote(m) {' '  return treffer(m) * 100 / m.bestanden.length;' '}' > wahl.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Größenwähler schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function jeRichtiger(m) {' '  return m.kosten * m.bestanden.length / treffer(m);' '}' 'function waehlen(bedarf) {' '  let beste = \"keines\";' '  let besteKosten = Infinity;' '  for (const name of Object.keys(aufgezeichnet)) {' '    const m = aufgezeichnet[name];' '    if (quote(m) >= bedarf && m.kosten < besteKosten) { beste = name; besteKosten = m.kosten; }' '  }' '  return beste;' '}' >> wahl.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Größenwähler schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  console.log(\"Aufgezeichnete Ergebnisse auf 6 Anfragen (jetzt nicht ausgeführt):\");' '  for (const name of Object.keys(aufgezeichnet)) {' '    const m = aufgezeichnet[name];' '    console.log(name + \": \" + quote(m).toFixed(1) + \" Prozent richtig, Preis \" + m.kosten + \", Preis je richtiger Antwort \" + jeRichtiger(m).toFixed(2));' '  }' '  console.log(\"Bedarf 80: \" + waehlen(80) + \" | Bedarf 95: \" + waehlen(95) + \" | Bedarf 100: \" + waehlen(100));' '  const q = \"In einem kurzen Satz: Warum sollte man ein kleines Modell an eigenen Fällen testen, bevor man es wählt?\";' '  const probe = \"Ein kleines Modell kann bei einer engen Aufgabe gut sein, und nur eigene Fälle zeigen, wo es scheitert.\";' '  const r = await fragen([{ role: \"user\", content: q }], probe, 60);' '  console.log(\"Das Modell sagte: \" + r.text);' '}' 'main();' >> wahl.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Größenwähler ausführen

Befehl
docker exec -w /home/node/project agent node wahl.js

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was der Run druckt

ZeileWas sie zeigt
klein: 66.7 Prozent richtig, Preis 2, Preis je richtiger Antwort 3.00Billig, und je richtiger Antwort weniger teuer, als es scheint
gross: 100.0 Prozent richtig, Preis 40, ... 40.00Immer richtig, am teuersten
Bedarf 80: mittel | Bedarf 95: grossDer Bedarf entscheidet über die Größe
Das Modell sagte: ...Ein Satz. Die Worte ändern sich bei jedem Lauf

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Über dieses Lab und seinen Quellcode: Lab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.