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

Ein angepasstes Modell beurteilen

Nach dieser Lektion: Ich kann sagen, ob ein angepasstes Modell besser ist als die Basis.

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

In einem besser, im anderen schlechter

Ein angepasstes Modell erzielt bei der Aufgabe, für die Sie es trainierten, mehr Punkte. Ist es besser? Noch nicht. Vielleicht ist es bei etwas anderem schlechter geworden oder kostet im Betrieb doppelt so viel.

Ein angepasstes Modell zu beurteilen heißt, es mit der Basis an denselben Fällen zu vergleichen, in jedem wichtigen Bereich.

Am Ende dieser Lektion

Notiz

Ich kann sagen, ob ein angepasstes Modell besser ist als die Basis.

Schlüsselwörter

BegriffWas er bedeutet
GewinnErgebnisse der angepassten Version minus Basis
Mindestgewinnder kleinste Gewinn, der als echt zählt
Rückschrittein Fall, den die angepasste Version nun falsch löst
Bereicheine Art von Fällen, etwa Ton oder Rechnen
Aufgezeichnetgespeicherte Ergebnisse, nicht live erzeugt

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

Vergleichen Sie an denselben Fällen

Lassen Sie beide Versionen über eine feste Reihe von Fällen laufen, die keine im Training sah. Zählen Sie, was jede richtig löst. Der Unterschied ist der Gewinn.

Ein Gewinn von einem Fall aus zehn ist zu klein, um ihm zu trauen. Legen Sie den Mindestgewinn fest, bevor Sie hinsehen, damit das Ergebnis Sie nicht überredet.

Beispiel: zehn Fälle, drei Bereiche

BereichBasis richtigAngepasst richtigÄnderung
Anfragen2 von 54 von 5+2
Ton2 von 33 von 3+1
Rechnen2 von 21 von 2-1
alle6 von 108 von 10+2

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

Eine bessere Antwort kann mehr kosten

Ein angepasstes Modell antwortet vielleicht in mehr Worten oder braucht einen größeren Tarif. Rechnen Sie den Kostenanstieg als Prozent der Basiskosten aus.

Legen Sie zuerst fest, wie viel Sie höchstens hinnehmen. Ein kleiner Gewinn, der die Rechnung verdoppelt, lohnt das Ausliefern meist nicht.

Ein häufiger Fehler

Warnung

Viele glauben, ein höherer Wert bei der trainierten Aufgabe beweise, dass das Modell besser ist. Er beweist nur, dass es dort besser ist. Prüfen Sie die anderen Bereiche, zählen Sie die Fälle, die schlechter wurden, und sehen Sie auf die Kosten, bevor Sie entscheiden.

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.

Vergleich schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' '// Aufgezeichnet: 1 heißt richtig. Dieselben zehn Fälle für beide Versionen.' 'const faelle = [' '  { id: \"f1\", bereich: \"anfragen\", basis: 0, angepasst: 1 }, { id: \"f2\", bereich: \"anfragen\", basis: 0, angepasst: 1 },' '  { id: \"f3\", bereich: \"anfragen\", basis: 1, angepasst: 1 }, { id: \"f4\", bereich: \"anfragen\", basis: 1, angepasst: 0 },' '  { id: \"f5\", bereich: \"anfragen\", basis: 0, angepasst: 1 }, { id: \"f6\", bereich: \"ton\", basis: 0, angepasst: 1 },' '  { id: \"f7\", bereich: \"ton\", basis: 1, angepasst: 1 }, { id: \"f8\", bereich: \"ton\", basis: 1, angepasst: 1 },' '  { id: \"f9\", bereich: \"rechnen\", basis: 1, angepasst: 1 }, { id: \"f10\", bereich: \"rechnen\", basis: 1, angepasst: 0 },' '];' > anpassen5.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.

Vergleich schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function summe(welche) {' '  let n = 0;' '  for (const f of faelle) n = n + f[welche];' '  return n;' '}' 'const schlechter = faelle.filter(function (f) { return f.basis === 1 && f.angepasst === 0; });' 'const aenderung = {};' 'for (const f of faelle) aenderung[f.bereich] = (aenderung[f.bereich] || 0) + f.angepasst - f.basis;' >> anpassen5.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.

Vergleich schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  console.log(\"Basis \" + summe(\"basis\") + \" von 10, angepasst \" + summe(\"angepasst\") + \" von 10\");' '  console.log(\"schlechter geworden: \" + schlechter.map(function (f) { return f.id; }).join(\", \"));' '  console.log(\"Änderung je Bereich: \" + JSON.stringify(aenderung));' '  const frage = \"Antworten Sie in einem Satz: Warum prüft man Bereiche, auf die das Anpassen nicht zielte?\";' '  const probe = \"Das Anpassen für eine Aufgabe kann andere Aufgaben unbemerkt verschlechtern, und nur eine Prüfung dort zeigt es.\";' '  const antwort = await fragen([{ role: \"user\", content: frage }], probe, 40);' '  console.log(\"Modell: \" + antwort.text);' '}' 'main();' >> anpassen5.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.

Vergleich ausführen

Befehl
docker exec -w /home/node/project agent node anpassen5.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 Vergleich druckte

Beide Ergebnismengen sind aufgezeichnet und ins Skript geschrieben. Der Run zählt jede Version, listet die Fälle auf, die schlechter wurden, und zeigt die Änderung je Bereich.

Die letzte Zeile ist ein kurzer Modellaufruf oder eine Aufgezeichnete Probe.

Ü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.