Trainer in Potato, nach Aufgabe gruppiert
Alle 38 Trainer nach Aufgabe, jeweils mit Annotationsschemas, Installationsbefehl, zurückgeschriebenen Vorlabels und Holdout-Score, dazu die Lizenzregeln.
Neu in v2.14.0
Das Modelltraining von Potato hat 38 Trainer, und jeder Trainer passt eine Art von Modell an die Antworten einer Art von Annotationsschema an. Die Tabellen auf dieser Seite listen jeden Trainer nach Aufgabe, mit den Schemas, aus denen der Trainer lernt, den Items, die der Trainer liest, der Installation, die der Trainer braucht, dem Vorlabel, das der Trainer zurückschreibt, und dem Holdout-Score, den jeder Lauf meldet. Die Seite richtet sich an Studienverantwortliche, die vor einem ersten Lauf einen Trainer wählen oder prüfen, ob sich ein Schema überhaupt trainieren lässt. Konfigurationsschlüssel, Backends und Regeln zum Rückschreiben stehen auf der Konfigurationsseite. Die vollständige Parametertabelle jedes Trainers steht im Abschnitt des Trainers in der Upstream-Referenz, und jeder Trainername unten verlinkt auf diesen Abschnitt.
Trainer, die für jedes Schema angeboten werden
Die Training-Seite unter /admin/training bietet jedem Schema nur die Trainer an, die zur Art des Schemas und zur Modalität seiner Items passen, z. B. Text, Bilder oder Audio. Ein Trainer, den das Projekt nicht ausführen kann, bleibt mit dem Grund in der Liste, so zeigt decision-calibrate „no decision model is configured“, bis das Projekt ein Entscheidungsmodell hat. Ein Trainer, dessen Pakete fehlen, steht als „not installed“ in der Liste, mit dem Befehl, der die Pakete installiert. Bis du einen Trainer wählst, ist überall dort sklearn-text ausgewählt, wo sklearn-text passt. Ein Lauf, der für ein nicht vorhandenes Schema oder für ein Schema gestartet wird, aus dem der Trainer nicht lernen kann, wird mit HTTP 400 abgewiesen, bevor irgendetwas aufgebaut wird.
Jeder Lauf trainiert auf einem Schema. Die Training-Seite sendet ein Schema, und die Training-API akzeptiert eine Liste von Schemas, doch jeder Trainer passt nur das erste Schema der Liste an. Um zwei Schemas zu trainieren, starte zwei Läufe.
In den Tabellen unten nennt die Spalte Vorlabel, was ein Lauf auf ein Item schreibt, sobald das Schema unter writeback.schemas steht. Items im Train-Split eines Laufs erhalten nie ein Vorlabel, und ein Vorlabel wird erst dann zur Antwort eines Annotators, wenn der Annotator das Vorlabel bearbeitet oder weitergeht. Die Spalte Holdout-Score nennt die Hauptmetrik des Laufs, berechnet an den Val- und Test-Items gegen die aufgelösten Labels der Annotatoren. Ein Item mit einem Label und ohne Vorhersage zählt als falsch. Ein Trainer kann den Score deshalb nicht erhöhen, indem er schwierige Items auslässt. Held-out scores in der Upstream-Referenz definiert jede Metrik.
Trainer installieren
sklearn-text braucht nichts außer einer einfachen Installation von Potato, weil scikit-learn eine Kernabhängigkeit ist. Die Text-, Bild-, Audio- und LLM-Trainer brauchen PyTorch und transformers. Ein einziges Extra installiert die Pakete für alle vier Gruppen:
pip install "potato-annotation[train]"Die engeren Extras [train-text], [train-vision], [train-audio] und [train-llm] installieren jeweils eine Gruppe, und die Spalte Installation unten nennt für jeden Trainer das engste Extra, das ihn abdeckt, wie in pip install "potato-annotation[train-vision]". Keines der Trainings-Extras gehört zu potato-annotation[all], weil PyTorch eine Installation von mehreren Gigabyte ist. Einige Trainer brauchen Pakete außerhalb von [train]:
ultralytics-detectundultralytics-segmentbrauchenpip install ultralytics.cellposebrauchtpip install cellposeund funktioniert mit Cellpose 3 oder Cellpose 4.laya-finetunebraucht[decision], undopenjev-finetunebrauchtpip install wev-ai.rdkit-propertybraucht[chemistry],volume-unetbraucht[volumes],video-trackbrauchtopencv-python, und WFDB- oder Parquet-Signale brauchen[signals]. Whole-Slide-Bilder brauchen[wsi]für openslide.- Die Option
dpvonhf-text-classificationundhf-image-classificationbrauchtpip install opacus.
ultralytics-detect, ultralytics-segment und layoutlmv3 verlangen vor dem ersten Lauf eine Bestätigung der Lizenz. Ultralytics steht unter AGPL-3.0, sodass ein mit einem der beiden YOLO-Trainer trainiertes und verbreitetes Modell unter die Bedingungen der AGPL fällt, und Ultralytics verkauft eine eigene Lizenz für geschlossene Nutzung. Die LayoutLMv3-Gewichte stehen unter CC BY-NC-SA 4.0 und sind nicht für kommerzielle Nutzung gedacht. Bei allen drei Trainern fragt die Training-Seite nach einer Bestätigung, ein API-Lauf braucht accept_licence: true, und ein automatisches erneutes Training braucht auto_retrain.accept_licence: true. Der Code von Cellpose steht unter BSD-3-Clause, und die Cellpose-Autoren veröffentlichen die vortrainierten Gewichte von Cellpose unter eigenen Bedingungen. Auch die Lizenzen der Checkpoints, die du in model_name nennst, unterscheiden sich. Qwen2.5-VL-3B steht zum Beispiel unter der Qwen-Forschungslizenz, während Qwen2.5-VL-7B unter Apache-2.0 steht.
Parameter
Die Parameter eines Laufs stammen aus drei Quellen, und jede Quelle überschreibt die vorherige:
- die Standardwerte des Trainers, aufgelistet im Upstream-Abschnitt des Trainers;
model_training.trainer_params.<trainer>in der Konfiguration;- die eigenen
paramsdes Laufs, d. h. das Feld Parameters auf der Training-Seite, dieparamseines API-Laufs oderauto_retrain.params.
Füge trainer_params zum Block model_training hinzu, um für jeden verwendeten Trainer einen Standardwert zu setzen:
model_training:
enabled: true
trainer_params:
hf-text-classification:
model_name: answerdotai/ModernBERT-base
epochs: 4
torchvision-detect:
model_name: fasterrcnn_resnet50_fpn_v2
score_threshold: 0.4Das Feld Parameters auf der Training-Seite ist JSON und wird für den gewählten Trainer aus trainer_params befüllt. Ein Parametername, den der Trainer nicht kennt, ist ein Fehler. Ein Name unter trainer_params stoppt den Server beim Start, und ein Name in den params eines Laufs stoppt den Lauf, bevor er beginnt. Beide Fehler listen die Namen auf, die der Trainer akzeptiert. So wird ein falsch geschriebenes score_thresh unter torchvision-detect zusammen mit score_threshold in der Liste gemeldet. Potato prüft außerdem jeden Wert gegen Typ und Wertebereich des Parameters.
Text- und Bildklassifikatoren
Die Klassifikatoren lernen aus den Auswahlschemas radio, select, likert und multiselect. Ein Vorlabel für radio, select oder likert wählt eine Antwort aus, und ein Vorlabel für multiselect hakt eine Menge von Labels an. sklearn-text läuft ohne zusätzliche Installation auf einer CPU, und das Tutorial zum ersten Modell führt durch einen Lauf mit sklearn-text. Auf einem Bildkorpus passt sklearn-text den Klassifikator an CLIP-Bild-Embeddings an. setfit ist für die ersten Tage eines Projekts gebaut und arbeitet ab etwa acht gelabelten Items pro Label. Die Schemaseiten zu Radio und Multiselect, Select und Likert-Skalen behandeln die Annotationsseite.
hf-text-classification fine-tunt einen Transformer und mit lora: true auch ein Decoder-LLM wie Qwen oder Llama. Mit soft_targets: true trainiert hf-text-classification auf die Stimmenverteilung der Annotatoren statt auf ein aufgelöstes Label. hf-text-classification und hf-image-classification nehmen einen Parameter acquisition entgegen, der die nächsten zu labelnden Items eines Schemas mit einem Label pro Item nach Margin, Entropie, BALD oder Coreset-Abstand ordnet, wie das Tutorial zum Modell im Kreislauf zeigt. Beide Trainer nehmen außerdem dp für das Training mit DP-SGD über Opacus entgegen, und das Tutorial zu Differential Privacy führt durch einen dp-Lauf.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
sklearn-text | radio, select, likert, multiselect | Text, Bilder | keine (CLIP braucht [embeddings] und pillow) | das Label oder die Labels | Macro-F1; Micro-F1 für multiselect |
hf-text-classification | die vier oben, soft_label | Text | [train-text] | das Label oder die Labels; Schieberegler-Positionen für soft_label | Macro-F1; Micro-F1; Verteilungsübereinstimmung für soft_label |
setfit | radio, select, likert, multiselect | Text | [embeddings] | das Label oder die Labels | Macro-F1; Micro-F1 für multiselect |
hf-image-classification | radio, select, likert, multiselect | Bilder | [train-vision] | das Label oder die Labels | Macro-F1; Micro-F1 für multiselect |
Spans, Relationen und Struktur
Die Trainer dieser Gruppe lernen Spans mit Zeichen-Offsets, Verknüpfungen zwischen Spans, Antworten an den Knoten eines Konversationsbaums und interlineare Glossen. hf-relation trainiert einen Encoder, der die Spans taggt und Paare von Spans klassifiziert. Eine vorhergesagte Verknüpfung gilt nur dann als gefunden, wenn der Tagger auch beide Spans der Verknüpfung mit den richtigen Grenzen gefunden hat. Wenn jede Trainingsantwort eines span_link-Schemas ein Dependenzbaum ist, dekodiert hf-relation Bäume und fügt dem Score UAS und LAS hinzu. Ein Lauf folgt denselben Schritten wie das Tutorial zum ersten Modell, mit einem anderen gewählten Trainer und Schema.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
hf-token-classification | span | Text | [train-text] | Spans an Zeichen-Offsets | Span-F1 |
hf-relation | span_link, event_annotation, coreference | Text | [train-text] | Spans mit den Verknüpfungen, Ereignissen oder Ketten zwischen Spans | Link-F1, Argument-F1 oder CoNLL-F1 |
hf-conversation-tree | tree_annotation | Konversationsbäume | [train-text] | Knotenantworten und der gewählte Pfad | Knoten-Macro-F1 |
byt5-gloss | interlinear_gloss | Text | [train-text] | das ausgefüllte Glossengitter | Genauigkeit der Morphem-Glossen |
LLMs und Reward-Modelle
Die LLM-Trainer lernen aus Freitextantworten, Präferenzen, Rankings und korrigierten Agent-Traces. llm-sft und llm-dpo trainieren standardmäßig einen LoRA-Adapter, und lora: {quantize: 4bit} lädt das Basismodell mit 4 Bit als QLoRA. reward-model trainiert ein skalares Reward-Modell aus paarweisen, Ranking- und Best-Worst-Antworten, und jede Vorhersage behält die Rewards je Option neben der Antwort des Schemas. prm-reward bewertet jeden Schritt eines Agent-Traces als richtig, neutral oder falsch. Schritte jenseits von max_length (standardmäßig 1.024 Token) werden weder trainiert noch bewertet. Eine trajectory_edit-Vorhersage wird bewertet und gespeichert, aber nie als Vorlabel angezeigt, und der Server verweigert den Start mit einem trajectory_edit-Schema unter writeback.schemas. Das LLM-Fine-Tuning-Tutorial behandelt SFT, DPO, Reward-Modelle, Process-Reward-Modelle und QLoRA.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
llm-sft | text (Freitextantworten), trajectory_edit | Text, Agent-Traces | [train-llm] | die generierte Antwort; keines für trajectory_edit | Token-F1; closer_to_correction für trajectory_edit |
llm-dpo | pairwise im Modus binary, trajectory_edit | Text, Agent-Traces | [train-llm] | die Karte der bevorzugten Antwort ausgewählt; keines für trajectory_edit | Genauigkeit; closer_to_correction für trajectory_edit |
reward-model | pairwise (binary und scale), ranking, bws | Text | [train-text] | die bevorzugte Karte, die Skalenposition, die Reihenfolge oder das Beste und das Schlechteste | Genauigkeit, Richtungsgenauigkeit, Kendalls Tau oder Best-Worst-Genauigkeit |
prm-reward | process_reward | Agent-Traces | [train-text] | Schrittbewertungen hinter der Schaltfläche „AI pre-label steps“, mit ai_prelabel: true | Schritt-Macro-F1 |
Bilddetektion und Segmentierung
Die Detektoren und Segmentierer lernen die Formen, die Annotatoren in einem image_annotation-Schema zeichnen, und die meisten von ihnen lesen auch Mikroskopie-, Karten- und Spektrogramm-Schemas. Ein Detektor trainiert auf der Bounding Box jeder Form, sodass auch eine Studie mit Polygonen oder Masken einen Box-Detektor trainiert. Ein Segmentierer trainiert auf Umrissen, lässt Boxen weg und sagt Polygone mit höchstens 64 Eckpunkten voraus, die der Annotator Punkt für Punkt bearbeiten kann. cellpose segmentiert ohne Klassen, sodass jede vorhergesagte Zelle den Parameter label erhält, oder das häufigste Label des Schemas, wenn label nicht gesetzt ist.
sam-finetune fine-tunt den Mask-Decoder von Segment Anything, damit er aus einer Box einen Umriss macht, während der Bild-Encoder eingefroren bleibt. Ein sam-finetune-Lauf umreißt die Box-Vorlabels, die ein früherer Detektionslauf zurückgeschrieben hat, sodass die übliche Reihenfolge ein Detektionslauf mit writeback.include_unlabeled: true und danach ein sam-finetune-Lauf auf demselben Schema ist. Auf einem Mac trainieren torchvision-detect und torchvision-segment auf der CPU statt auf Metal. Das Tutorial zu Vision-Modellen führt durch Detektion, Segmentierung, Slides, Mikroskopie, Karten, Cellpose und SAM.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
torchvision-detect | image_annotation, microscopy, geo_annotation, spectrogram_annotation | Bilder, Slides, OME-Stacks, Raster, Aufnahmen | [train-vision] | bearbeitbare Boxen | map_50 |
ultralytics-detect | image_annotation, microscopy, geo_annotation, spectrogram_annotation | Bilder, Slides, OME-Stacks, Raster, Aufnahmen | pip install ultralytics (AGPL-3.0) | bearbeitbare Boxen | map_50 |
torchvision-segment | image_annotation, microscopy, geo_annotation (Umrisse) | Bilder, Slides, OME-Stacks, Raster | [train-vision] | Polygone | map_50 |
ultralytics-segment | image_annotation, microscopy, geo_annotation (Umrisse) | Bilder, Slides, OME-Stacks, Raster | pip install ultralytics (AGPL-3.0) | Polygone | map_50 |
cellpose | image_annotation, microscopy (Umrisse) | Bilder, OME-Stacks | pip install cellpose | Polygone mit einem Label | map_50 |
sam-finetune | image_annotation (Umrisse) | Bilder | [train-vision] | Polygone aus früheren Box-Vorlabels | map_50, mit den Boxen der Annotatoren als Prompt |
Die Bildtrainer lesen lokale Dateien im Aufgabenverzeichnis oder in media_directory. Ein entferntes http(s)-Bild wird nicht heruntergeladen, und eine Zeile, deren Bild entfernt liegt oder fehlt, wird aus dem Lauf ausgeschlossen und erhält keine Vorhersage. Image items in der Upstream-Referenz nennt die Felder, aus denen Potato einen Bildpfad liest.
Slides, Mikroskopie, Karten und Spektrogramme
Die Detektions- und Segmentierungstrainer skalieren jedes Bild auf einige hundert Pixel. Für ein image_annotation-, microscopy- oder geo_annotation-Schema zerlegt Potato ein großes Bild deshalb in Kacheln, wenn das Bundle des Laufs aufgebaut wird. Die Kachelung ist standardmäßig für Slide-Formate wie .svs und .ndpi und für Bilder eingeschaltet, deren längere Seite mindestens 4.096 Pixel misst. Die Kacheln eines Slides landen immer in einem Split, und vorhergesagte Formen werden in den Koordinaten, die der Deep-Zoom-Viewer speichert, auf das ganze Bild zurückabgebildet. Die Tabelle tiling listet jeden Schlüssel, und das Tutorial zu Vision-Modellen legt Kachelgröße, Überlappung und Auflösung für ein Slide fest.
Die ROIs eines microscopy-Schemas trainieren die Detektions- und Segmentierungstrainer und cellpose. Jede z-Ebene und jeder Zeitpunkt mit ROIs wird mit den Standardkanälen und dem Kontrast des Schemas gerendert, und Vorhersagen kommen als ROIs mit dem z und t jedes ROI zurück. Ein geo_annotation-Schema trainiert auf dem Raster-Basiskartenbild des Items, d. h. einem GeoTIFF oder einem Bild mit Ausdehnung, und Vorhersagen kommen als GeoJSON in EPSG:4326 zurück, das die Karte als Vorschläge zeigt. Eine Karte, deren Basiskarte von einem Tile-Server stammt, hat kein Raster zum Trainieren, und der Lauf lässt diese Items mit einer Warnung aus. Ein spectrogram_annotation-Schema trainiert torchvision-detect und ultralytics-detect auf jeder als Spektrogramm gerenderten Aufnahme, und die Boxen kommen in Sekunden und Hertz zurück. Microscopy and maps und Spectrograms in der Upstream-Referenz nennen die Details zum Rendern.
Dokumente und Vision-Language-Modelle
layoutlmv3 lernt das Layout eines Dokuments aus den Wörtern einer Seite und ihren Positionen, und vlm-sft fine-tunt ein Vision-Language-Modell auf Antworten über Bilder. Potato führt kein OCR aus, daher braucht jedes layoutlmv3-Item ein Feld words mit Text und Box jedes Wortes. Ein PAGE-XML-Import im Modus regions füllt words, und Wörter aus der Textebene eines PDFs oder aus einem anderen OCR-Werkzeug funktionieren genauso. vlm-sft trainiert standardmäßig einen LoRA-Adapter, und echte Checkpoints brauchen eine GPU. Ein region_caption-Lauf wird bewertet, aber nicht veröffentlicht, weil die Regionen, die eine Bildunterschrift beschreibt, die Antwort eines Annotators sind. Das Tutorial zu Vision-Modellen behandelt beide Trainer, und VLM-Grounding behandelt das Schema grounding_eval.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
layoutlmv3 | image_annotation auf Seiten mit einem Feld words | Seitenbilder | [train-vision] (Gewichte CC BY-NC-SA 4.0) | Boxen um die Wörter jeder Region | map_50 |
vlm-sft | text auf Bild-Items, region_caption, grounding_eval, gui_trajectory | Bilder, Screenshots | [train-vision] und eine GPU | die Textantwort, die Grounding-Region oder deren Fehlen oder ein Urteil zu jedem GUI-Schritt; keines für Bildunterschriften | Token-F1, Genauigkeit bei IoU 0,5 oder Urteils-Macro-F1 |
Audio und Sprache
Die Audiotrainer lesen Aufnahmen aus lokalen Dateien, die soundfile öffnet, z. B. WAV oder FLAC, und ein Item, dessen Audio eine URL ist, wird ausgelassen. hf-audio-tagger taggt gelabelte Zeitsegmente in einem audio_annotation-Schema. whisper-asr fine-tunt Whisper auf den Transkript-Turns, die Annotatoren korrigiert haben, und schreibt standardmäßig außerdem eine CTranslate2-Kopie des Modells für potato transcripts --transcribe und faster-whisper. diarization fine-tunt einen Sprach-Encoder (standardmäßig WavLM), der findet, wer wann spricht. Sprechernamen gelten nur innerhalb einer Aufnahme. Spektrogramm-Boxen trainieren die Detektoren in Bilddetektion und Segmentierung. Das Tutorial zu Audio-Modellen führt durch Whisper, Diarisierung, Spektrogramm-Detektion und Audio-Tagging.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
hf-audio-tagger | audio_annotation | Audio | [train-audio] | bearbeitbare Segmente auf der Wellenform | Segment-F1 |
whisper-asr | speech_transcript (korrigierte Turns) | Audio | [train-audio] | vorgeschlagene Korrekturen in den Korrekturfeldern | Wortgenauigkeit (1 − WER) |
diarization | tiered_annotation (eine Sprecherebene), audio_annotation (die Labels sind Sprecher) | Audio | [train-audio] | Sprecher-Turns | Diarisierungsgenauigkeit (1 − DER) |
Volumen, Punktwolken und Video
Die 3D- und Video-Trainer lernen aus gemalten Volumen, Quadern in Punktwolken und Video-Tracks. volume-unet trainiert ein 3D-U-Net in reinem PyTorch auf den Masken, die Annotatoren in CT- und MR-Volumen gemalt haben, und ein CT in voller Größe braucht praktisch eine GPU. external-3d führt deinen eigenen 3D-Detektor über die Parameter train_command und predict_command aus und liest die Quader zurück. OpenPCDet und MMDetection3D passen beide, und beide brauchen CUDA-Operatoren, die auf dem GPU-Host kompiliert sind. video-track fine-tunt ein Faster R-CNN auf Frames, die aus den annotierten Tracks gezogen werden, und verknüpft die Detektionen über Frames hinweg zu Tracks. Das Tutorial zu Volumen, Punktwolken und Video führt durch alle drei Trainer.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
volume-unet | volume_annotation (gemalte Masken) | NIfTI-Volumen, DICOM-Serien | [train-vision,volumes] | Masken je Label auf jedem axialen Schnitt | mittlerer Dice |
external-3d | spatial_annotation (Quader) | Punktwolken, ein Scan pro Item | dein eigener Detektor auf dem Trainings-Host | cuboid_3d-Boxen | map_3d_50 |
video-track | video_annotation im Modus tracking oder combined | Video | [train-vision] und opencv-python | Tracks als Boxen mit Keyframes | IDF1 |
Wissenschaft
Die Trainer für die Wissenschaft lernen aus Chemie, Spektroskopie, physiologischen Signalen und Roboter-Episoden. rdkit-property beantwortet eine Frage zu einem Molekül aus dem Morgan-Fingerprint und den RDKit-Deskriptoren des Moleküls, mit einem scikit-learn-Klassifikator für Auswahlen oder einem Regressor für einen Schieberegler. peak-cnn sagt Peak-Positionen auf einem Spektrum voraus und sagt weder Peak-Labels noch Zuordnungen voraus. signal-cnn staffelt feste Epochen oder findet gelabelte Intervalle in EEG, EKG und anderen Signalen. episode-model sagt aus den Gelenk- und Sensorreihen einer Roboter-Episode Phasen, ein Ergebnis und eine Reward-Kurve voraus. Das Video der Episode wird nicht gelesen. Peaks, Intervalle und Episodenantworten erscheinen als Vorschläge, die der Annotator prüft, und nicht als die Antwort selbst. Das Tutorial zu Modellen für die Wissenschaft führt durch alle vier Trainer, und die Schemaseiten zu chemischen Strukturen, Spektren, Zeitreihen und Roboter-Episoden behandeln die Annotationsseite.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
rdkit-property | radio, select, likert, slider zu einem Molekül | ein Anzeigefeld molecule oder eine Antwort chemical_structure | [chemistry] | die Antwort, bei einem Schieberegler auf seine Schrittweite gerundet | Macro-F1; Genauigkeit für slider |
peak-cnn | peak_picking | Spektren (JCAMP-DX, mzML, CSV, inline) | [train-vision] | Peak-Vorschläge, markiert mit „model“ | Peak-F1 |
signal-cnn | interval_label (Epochen- oder freier Modus) | Signale (EDF, BDF, WFDB, CSV, Parquet, inline) | [train-vision]; [signals] für WFDB und Parquet | gestrichelte Intervalle, markiert mit „from the model“ | Macro-F1 im Epochenmodus; Intervall-F1 im freien Modus |
episode-model | episode_annotation (Phasen, Ergebnis, Reward) | Roboter-Episoden (LeRobot, HDF5, Episoden-Manifeste) | [train-vision] | Phasen, Ergebnis und Reward-Kurve auf der Zeitleiste | Phasen-Macro-F1 |
Entscheidungsmodelle
Ein Entscheidungsmodell liefert für jede Option einer Frage eine Wahrscheinlichkeit, und Potato nutzt ein Entscheidungsmodell als Quelle der Labeling Engine oder als Labeling-Modell im Solo Mode. Die Trainer für Entscheidungsmodelle passen ein Entscheidungsmodell an die Labels der Studie auf den Schemas radio, select, likert und slider an und stellen jede Frage so, wie die Labeling Engine die Frage stellt. Ein slider wird als Bewertung mit einer Option pro Position gefragt, bis zu 21 Positionen. decision-calibrate trainiert nichts. Der Trainer passt eine Kalibrierung an die Wahrscheinlichkeiten von Jev, OpenJev, laya-serve oder Laya an und schreibt die Kalibrierung nach calibration.json, damit die Quelle der Engine sie anwendet. decision-calibrate läuft nur auf dem Backend local. laya-finetune fine-tunt Laya, und openjev-finetune fine-tunt das 8B-Modell OpenJev mit dem LoRA-Training von wev. Die Modellkarte von OpenJev weist darauf hin, dass ein Teil der Trainingsdaten von OpenJev nur für die Forschung bestimmt ist. Prüfe diese Bedingungen vor kommerzieller Nutzung.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
decision-calibrate | radio, select, likert, slider | Text | keine; ein konfiguriertes Entscheidungsmodell | die kalibrierte Top-Option | Macro-F1; Genauigkeit für slider |
laya-finetune | radio, select, likert, slider | Text | [decision] | die vom Modell gewählte Option | Macro-F1; Genauigkeit für slider |
openjev-finetune | radio, select, likert, slider | Text | pip install wev-ai; eine GPU mit etwa 16 GB frei | die vom Modell gewählte Option | Macro-F1; Genauigkeit für slider |
Inference-Bridges
Die Inference-Bridges nutzen ein Modell, das bereits anderswo läuft, und trainieren nichts. Ein Bridge-Lauf schickt die zurückgehaltenen Items an den Dienst und liest die Antworten zurück. Mit writeback.include_unlabeled: true schickt der Lauf auch die ungelabelten Items. Die Antworten erhalten dann gegenüber deinen Annotatoren einen Holdout-Score, Rückschreiben und Prüfung, genau wie die Antworten eines trainierten Modells. Eine Bridge nimmt in der Konfiguration nie einen API-Schlüssel entgegen. Stattdessen nennt ein Parameter die Umgebungsvariable auf dem Server, die den Schlüssel enthält. label-studio-ml ruft /predict eines Label-Studio-ML-Backends auf und sendet keine Annotationsereignisse an /webhook des Backends. hf-inference und roboflow laufen nur auf dem Backend local. Boxen von openai-vlm-boxes haben keine Konfidenz, weil das Vision-Language-Modell keinen Score liefert. Das Tutorial zum Einbinden eines eigenen Modells richtet jede Bridge ein.
| Trainer | Schemas | Items | Installation | Vorlabel | Holdout-Score |
|---|---|---|---|---|---|
label-studio-ml | radio, select, multiselect, span, image_annotation | Text, Bilder | keine; ein laufendes Label-Studio-ML-Backend | Labels, Spans, Boxen oder Polygone | der Hauptscore des Schemas |
openai-vlm-boxes | image_annotation | Bilder | keine; ein Vision-Modell hinter einer OpenAI-kompatiblen API | Boxen | map_50 |
hf-inference | radio, select, multiselect, span, image_annotation | Text, Bilder | keine; ein Hugging-Face-Inference-Endpoint oder serverloses Modell | Labels, Spans oder Boxen | der Hauptscore des Schemas |
roboflow | image_annotation | Bilder | keine; ein Roboflow-Modell und API-Schlüssel | Boxen oder Polygone | map_50 |
cvat-nuclio | image_annotation | Bilder | keine; eine serverlose CVAT-Funktion (Nuclio) | Boxen oder Polygone | map_50 |
Weiterführende Lektüre
- Die Übersicht zum Modelltraining erklärt den Kreislauf von Annotationen zu Vorlabels und die Training-Seite.
- Die Konfigurationsseite dokumentiert jeden
model_training-Schlüssel, die Backends, das Rückschreiben und die Routen. - Das Tutorial zum ersten Modell führt
sklearn-textohne GPU von Anfang bis Ende aus. - Das Tutorial zum Remote-Training schickt Läufe per ssh an einen GPU-Server, an einen SLURM-Cluster oder an einen abfragenden Agent.
- Der Leitfaden zum modellgestützten Labeln erörtert, wann Vorlabels aus dem eigenen Modell Annotatoren helfen und wann sie Annotatoren verankern.
- Die Upstream-Referenz zum Modelltraining enthält die Parametertabelle jedes Trainers.