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

Modelldrift und Neutraining

Nach dieser Lektion: Ich kann merken, wann ein angepasstes Modell veraltet ist.

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

Ein angepasstes Modell kann veralten

Modelldrift heißt, dass ein Modell mit der Zeit schlechter wird, ohne dass es jemand ändert. Die Welt dreht sich weiter. Neue Produkte, neuer Jargon und neue Arten von Anfragen kommen, und das Modell wurde auf das Vorjahr angepasst.

Schaut niemand auf den Wert, ist das erste Zeichen eine verärgerte Kundin.

Am Ende dieser Lektion

Notiz

Ich kann merken, wann ein angepasstes Modell veraltet ist.

Schlüsselwörter

BegriffWas er bedeutet
Driftein Modell, das schlechter wird, weil sich die Welt ändert
Überwachungeinen Wert immer wieder prüfen
Auslöserein Zeichen, das sagt: Jetzt handeln
Zeitplanein festes Datum zum Handeln, was auch geschah
Neutrainingerneut mit neueren Beispielen anpassen

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

Beobachten Sie einen Wert jede Woche

Halten Sie eine kleine Reihe frischer Fälle bereit und bewerten Sie das Modell jede Woche daran. Schreiben Sie die Zahlen auf. Die ersten Wochen nach einer Freigabe ergeben eine Basis.

Eine schlechte Woche kann Zufall sein. Verlangen Sie zwei Wochen in Folge unter Ihrer Alarmlinie, bevor Sie sagen, der Wert sei gefallen.

Beispiel: Wochenwerte

WochenWerteWas es zeigt
1 bis 390, 91, 92Basis 91 (der Durchschnitt, abgerundet)
4 bis 790, 89, 87, 86Leichtes Abrutschen, nicht unter der Alarmlinie von 86
8 und 981, 80Zwei Wochen unter 86: der Wert ist gefallen
10 bis 1279, 80, 78Er bleibt unten

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

Suchen Sie die Ursache in den Eingaben

Fällt der Wert, lesen Sie die neuen Eingaben. Enthalten sie Wörter, Produkte oder Themen, die die Trainingsdaten nie hatten? Listen Sie die neuen Wörter auf.

Das sagt Ihnen, welche Beispiele Sie ergänzen müssen. Eine lange Liste neuer Wörter ist ein starkes Zeichen, dass sich die Eingaben geändert haben.

Ein Auslöser oder ein Zeitplan

Ein Zeitplan trainiert an einem festen Datum neu, etwa jede vierte Woche. Er ist einfach, trainiert aber vielleicht, obwohl sich nichts änderte, oder zu spät, wenn sich etwas änderte.

Ein Auslöser trainiert neu, wenn der Wert fällt. Er handelt auf einen Beleg hin. Viele Teams nehmen zuerst den Auslöser und behalten den Zeitplan als Sicherung.

Ein häufiger Fehler

Warnung

Viele glauben, ein angepasstes Modell bleibe gut, wenn es seine Tests bestanden hat. Die Tests beschreiben nur den Tag, an dem sie liefen. Bewerten Sie weiter frische Fälle und trainieren und vergleichen Sie neu, wenn der Wert fällt.

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.

Driftprüfung schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' '// Aufgezeichnete Wochenwerte eines Anfragen-Sortierers in Prozent. Woche 1 ist die erste.' 'const werte = [90, 91, 92, 90, 89, 87, 86, 81, 80, 79, 80, 78];' 'const SCHWELLE = 5;' > anpassen6.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.

Driftprüfung schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function basis(liste) {' '  return Math.floor((liste[0] + liste[1] + liste[2]) / 3);' '}' 'function einbruch(liste, schwelle) {' '  const grenze = basis(liste) - schwelle;' '  for (let i = 3; i < liste.length - 1; i++) {' '    if (liste[i] < grenze && liste[i + 1] < grenze) return i + 1;' '  }' '  return 0;' '}' >> anpassen6.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.

Driftprüfung schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function neueWoerter(alt, neu) {' '  const bekannt = alt.join(\" \").toLowerCase().split(\" \");' '  const aus = [];' '  for (const w of neu.join(\" \").toLowerCase().split(\" \")) {' '    if (bekannt.includes(w) === false && aus.includes(w) === false) aus.push(w);' '  }' '  return aus;' '}' >> anpassen6.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.

Driftprüfung schreiben, Teil 4

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  console.log(\"Basis \" + basis(werte) + \" Prozent, Alarm unter \" + (basis(werte) - SCHWELLE) + \" Prozent\");' '  console.log(\"Wert fiel in Woche \" + einbruch(werte, SCHWELLE));' '  console.log(\"neue Wörter: \" + neueWoerter([\"wo ist mein paket\"], [\"Wo ist mein Drohnenpaket\", \"Abholcode Packstation\"]).join(\" \"));' '  const frage = \"Antworten Sie in einem Satz: Warum kann ein Modell schlechter werden, obwohl niemand es geändert hat?\";' '  const probe = \"Die Welt und die Eingaben ändern sich, daher passt ein auf alte Eingaben angepasstes Modell schlechter zu neuen.\";' '  const antwort = await fragen([{ role: \"user\", content: frage }], probe, 40);' '  console.log(\"Modell: \" + antwort.text);' '}' 'main();' >> anpassen6.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.

Driftprüfung ausführen

Befehl
docker exec -w /home/node/project agent node anpassen6.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 die Driftprüfung druckte

Die zwölf Werte sind aufgezeichnet und ins Skript geschrieben. Die Prüfung berechnet die Basis, findet die Woche, in der der Wert fiel, und listet die Wörter auf, die in einigen erfundenen Nachrichten neu sind.

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.