Les modules d'entraînement de Potato, regroupés par tâche
Les 38 modules d'entraînement par tâche, avec les schémas d'annotation, la commande d'installation, les pré-étiquettes écrites en retour et le score sur items réservés de chacun, plus les règles de licence.
Nouveauté de la v2.14.0
L'entraînement de modèles de Potato compte 38 modules d'entraînement, et chacun ajuste un type de modèle aux réponses d'un type de schéma d'annotation. Les tableaux de cette page listent chaque module par tâche, avec les schémas dont il apprend, les items qu'il lit, l'installation dont il a besoin, la pré-étiquette qu'il écrit en retour et le score sur items réservés que rapporte chaque exécution. La page s'adresse à un responsable d'étude qui choisit un module avant une première exécution, ou qui vérifie si un schéma peut être entraîné. Les clés de configuration, les backends et les règles d'écriture en retour se trouvent sur la page de configuration. Le tableau complet des paramètres de chaque module figure dans la section du module dans la référence amont, et chaque nom de module ci-dessous renvoie à cette section.
Modules proposés pour chaque schéma
La page Training à l'adresse /admin/training ne propose pour chaque schéma que les modules adaptés au genre du schéma et à la modalité de ses items, par exemple texte, images ou audio. Un module que le projet ne peut pas exécuter reste dans la liste avec la raison, comme decision-calibrate, qui affiche « no decision model is configured » tant que le projet n'a pas de modèle de décision. Un module dont les paquets manquent apparaît comme « not installed », avec la commande qui installe ces paquets. Tant que vous ne choisissez pas de module, sklearn-text est sélectionné partout où sklearn-text convient. Une exécution lancée pour un schéma qui n'existe pas, ou pour un schéma que le module ne peut pas apprendre, est refusée avec un HTTP 400 avant que quoi que ce soit soit construit.
Chaque exécution s'entraîne sur un seul schéma. La page Training envoie un schéma, et l'API d'entraînement accepte une liste de schémas, mais chaque module n'ajuste que le premier schéma de la liste. Pour entraîner deux schémas, lancez deux exécutions.
Dans les tableaux ci-dessous, la colonne Pré-étiquette indique ce qu'une exécution écrit sur un item une fois le schéma listé sous writeback.schemas. Les items de la partition train d'une exécution ne reçoivent jamais de pré-étiquette, et une pré-étiquette ne devient la réponse d'un annotateur que lorsque celui-ci la modifie ou passe à la suite. La colonne Score sur items réservés nomme la métrique principale de l'exécution, calculée sur les items val et test par rapport aux étiquettes résolues des annotateurs. Un item qui a une étiquette et aucune prédiction compte comme faux. Un module ne peut donc pas améliorer le score en sautant les items difficiles. Held-out scores dans la référence amont définit chaque métrique.
Installer les modules
sklearn-text ne demande rien de plus qu'une installation ordinaire de Potato, car scikit-learn est une dépendance de base. Les modules pour le texte, les images, l'audio et les LLM ont besoin de PyTorch et de transformers. Un seul extra installe les paquets des quatre groupes.
pip install "potato-annotation[train]"Les extras plus étroits [train-text], [train-vision], [train-audio] et [train-llm] installent chacun un groupe, et la colonne Installation ci-dessous nomme l'extra le plus étroit qui couvre chaque module, comme dans pip install "potato-annotation[train-vision]". Aucun des extras d'entraînement ne fait partie de potato-annotation[all], car PyTorch pèse plusieurs gigaoctets. Certains modules ont besoin de paquets extérieurs à [train].
ultralytics-detectetultralytics-segmentont besoin depip install ultralytics.cellposea besoin depip install cellposeet fonctionne avec Cellpose 3 ou Cellpose 4.laya-finetunea besoin de[decision], etopenjev-finetunea besoin depip install wev-ai.rdkit-propertya besoin de[chemistry],volume-uneta besoin de[volumes],video-tracka besoin deopencv-python, et les signaux WFDB ou Parquet ont besoin de[signals]. Les images de lames entières ont besoin de[wsi]pour openslide.- L'option
dpdehf-text-classificationet dehf-image-classificationa besoin depip install opacus.
ultralytics-detect, ultralytics-segment et layoutlmv3 vous demandent de confirmer une licence avant la première exécution. Ultralytics est sous AGPL-3.0, si bien qu'un modèle entraîné et distribué avec l'un des deux modules YOLO relève des conditions de l'AGPL, et Ultralytics vend une licence distincte pour un usage fermé. Les poids de LayoutLMv3 sont sous CC BY-NC-SA 4.0 et ne sont pas destinés à un usage commercial. Pour ces trois modules, la page Training demande une confirmation, une exécution par l'API a besoin de accept_licence: true, et un réentraînement automatique a besoin de auto_retrain.accept_licence: true. Le code de Cellpose est sous BSD-3-Clause, et les auteurs de Cellpose publient les poids préentraînés de Cellpose sous leurs propres conditions. Les licences diffèrent aussi d'un point de contrôle à l'autre parmi ceux que vous nommez dans model_name. Qwen2.5-VL-3B est sous la licence de recherche de Qwen, par exemple, alors que Qwen2.5-VL-7B est sous Apache-2.0.
Paramètres
Les paramètres d'une exécution viennent de trois endroits, et chacun remplace le précédent.
- les valeurs par défaut du module, listées dans la section amont du module ;
model_training.trainer_params.<trainer>dans la configuration ;- les
paramspropres à l'exécution, c'est-à-dire le champ Parameters de la page Training, lesparamsd'une exécution par l'API ouauto_retrain.params.
Ajoutez trainer_params au bloc model_training pour fixer une valeur par défaut pour chaque module que vous utilisez.
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.4Le champ Parameters de la page Training est du JSON, rempli à partir de trainer_params pour le module choisi. Un nom de paramètre que le module n'accepte pas est une erreur. Un nom sous trainer_params arrête le serveur au démarrage, et un nom dans les params d'une exécution arrête l'exécution avant qu'elle ne démarre. Chaque erreur liste les noms que le module accepte. Par exemple, un score_thresh mal orthographié sous torchvision-detect est signalé avec score_threshold dans la liste. Potato vérifie aussi chaque valeur par rapport au type et à l'intervalle du paramètre.
Classifieurs de texte et d'images
Les classifieurs apprennent des schémas à choix radio, select, likert et multiselect. Une pré-étiquette radio, select ou likert sélectionne une réponse, et une pré-étiquette multiselect coche un ensemble d'étiquettes. sklearn-text tourne sur un processeur sans installation supplémentaire, et le tutoriel du premier modèle déroule une exécution avec sklearn-text. Sur un corpus d'images, sklearn-text ajuste le classifieur à des plongements d'images CLIP. setfit est conçu pour les premiers jours d'un projet et fonctionne à partir d'environ huit items étiquetés par étiquette. Les pages de schémas radio et multiselect, select et échelles de Likert couvrent le côté annotation.
hf-text-classification affine un transformer et, avec lora: true, affine aussi un LLM décodeur comme Qwen ou Llama. Avec soft_targets: true, hf-text-classification s'entraîne vers la répartition des votes des annotateurs plutôt que vers une seule étiquette résolue. hf-text-classification et hf-image-classification acceptent un paramètre acquisition qui ordonne les prochains items à étiqueter d'un schéma à étiquette unique par marge, entropie, BALD ou distance de core-set, comme le montre le tutoriel du modèle dans la boucle. Les deux modules acceptent aussi dp pour un entraînement par DP-SGD avec Opacus, et le tutoriel sur la confidentialité différentielle déroule une exécution dp.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
sklearn-text | radio, select, likert, multiselect | texte, images | aucune (CLIP a besoin de [embeddings] et de pillow) | l'étiquette ou les étiquettes | macro-F1 ; micro-F1 pour multiselect |
hf-text-classification | les quatre ci-dessus, soft_label | texte | [train-text] | l'étiquette ou les étiquettes ; positions de curseur pour soft_label | macro-F1 ; micro-F1 ; accord de distribution pour soft_label |
setfit | radio, select, likert, multiselect | texte | [embeddings] | l'étiquette ou les étiquettes | macro-F1 ; micro-F1 pour multiselect |
hf-image-classification | radio, select, likert, multiselect | images | [train-vision] | l'étiquette ou les étiquettes | macro-F1 ; micro-F1 pour multiselect |
Empans, relations et structure
Les modules de ce groupe apprennent des empans avec décalages de caractères, des liens entre empans, des réponses sur les nœuds d'un arbre de conversation et des gloses interlinéaires. hf-relation entraîne un seul encodeur à étiqueter les empans et à classer des paires d'empans. Un lien prédit ne compte comme trouvé que si l'étiqueteur a aussi trouvé les deux empans du lien avec les bonnes limites. Quand chaque réponse d'entraînement d'un schéma span_link est un arbre de dépendances, hf-relation décode des arbres et ajoute UAS et LAS au score. Une exécution suit les mêmes étapes que le tutoriel du premier modèle, avec un autre module et un autre schéma choisis.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
hf-token-classification | span | texte | [train-text] | empans aux décalages de caractères | F1 d'empans |
hf-relation | span_link, event_annotation, coreference | texte | [train-text] | empans avec les liens, événements ou chaînes entre empans | F1 de liens, F1 d'arguments ou F1 CoNLL |
hf-conversation-tree | tree_annotation | arbres de conversation | [train-text] | réponses des nœuds et chemin sélectionné | macro-F1 des nœuds |
byt5-gloss | interlinear_gloss | texte | [train-text] | la grille de gloses remplie | exactitude des gloses de morphèmes |
LLM et modèles de récompense
Les modules pour LLM apprennent de réponses en texte libre, de préférences, de classements et de traces d'agent corrigées. llm-sft et llm-dpo entraînent par défaut un adaptateur LoRA, et lora: {quantize: 4bit} charge le modèle de base sur 4 bits comme QLoRA. reward-model entraîne un modèle de récompense scalaire à partir de réponses par paires, de classements et de meilleur-pire, et chaque prédiction garde les récompenses par option à côté de la réponse du schéma. prm-reward note chaque étape d'une trace d'agent comme correcte, neutre ou fausse. Les étapes au-delà de max_length (1 024 jetons par défaut) ne sont ni utilisées pour l'entraînement ni notées. Une prédiction trajectory_edit est évaluée et enregistrée, mais jamais montrée comme pré-étiquette, et le serveur refuse de démarrer avec un schéma trajectory_edit sous writeback.schemas. Le tutoriel d'affinage de LLM couvre SFT, DPO, les modèles de récompense, les modèles de récompense de processus et QLoRA.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
llm-sft | text (réponses en texte libre), trajectory_edit | texte, traces d'agent | [train-llm] | la réponse générée ; aucune pour trajectory_edit | F1 de jetons ; closer_to_correction pour trajectory_edit |
llm-dpo | pairwise en mode binary, trajectory_edit | texte, traces d'agent | [train-llm] | la carte de la réponse préférée sélectionnée ; aucune pour trajectory_edit | exactitude ; closer_to_correction pour trajectory_edit |
reward-model | pairwise (binary et scale), ranking, bws | texte | [train-text] | la carte préférée, la position sur l'échelle, l'ordre, ou le meilleur et le pire | exactitude, exactitude de direction, tau de Kendall ou exactitude meilleur-pire |
prm-reward | process_reward | traces d'agent | [train-text] | notes d'étape derrière le bouton « AI pre-label steps », avec ai_prelabel: true | macro-F1 des étapes |
Détection et segmentation sur images
Les détecteurs et les segmenteurs apprennent les formes que les annotateurs dessinent dans un schéma image_annotation, et la plupart d'entre eux lisent aussi les schémas de microscopie, de cartes et de spectrogrammes. Un détecteur s'entraîne sur la boîte englobante de chaque forme, si bien qu'une étude à polygones ou à masques entraîne quand même un détecteur de boîtes. Un segmenteur s'entraîne sur des contours, laisse de côté les boîtes et prédit des polygones d'au plus 64 sommets que l'annotateur peut modifier point par point. cellpose segmente sans classes, si bien que chaque cellule prédite reçoit le paramètre label, ou l'étiquette la plus fréquente du schéma quand label n'est pas défini.
sam-finetune affine le décodeur de masques de Segment Anything pour transformer une boîte en contour, pendant que l'encodeur d'images reste gelé. Une exécution sam-finetune dessine le contour des pré-étiquettes de boîtes qu'une exécution de détection antérieure a écrites en retour, si bien que l'ordre habituel est une exécution de détection avec writeback.include_unlabeled: true, puis une exécution sam-finetune sur le même schéma. Sur un Mac, torchvision-detect et torchvision-segment s'entraînent sur le processeur plutôt que sur Metal. Le tutoriel sur les modèles de vision déroule la détection, la segmentation, les lames, la microscopie, les cartes, Cellpose et SAM.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
torchvision-detect | image_annotation, microscopy, geo_annotation, spectrogram_annotation | images, lames, piles OME, rasters, enregistrements | [train-vision] | boîtes modifiables | map_50 |
ultralytics-detect | image_annotation, microscopy, geo_annotation, spectrogram_annotation | images, lames, piles OME, rasters, enregistrements | pip install ultralytics (AGPL-3.0) | boîtes modifiables | map_50 |
torchvision-segment | image_annotation, microscopy, geo_annotation (contours) | images, lames, piles OME, rasters | [train-vision] | polygones | map_50 |
ultralytics-segment | image_annotation, microscopy, geo_annotation (contours) | images, lames, piles OME, rasters | pip install ultralytics (AGPL-3.0) | polygones | map_50 |
cellpose | image_annotation, microscopy (contours) | images, piles OME | pip install cellpose | polygones avec une seule étiquette | map_50 |
sam-finetune | image_annotation (contours) | images | [train-vision] | polygones issus de pré-étiquettes de boîtes antérieures | map_50, avec les boîtes des annotateurs comme invites |
Les modules pour images lisent des fichiers locaux situés dans le répertoire de la tâche ou dans media_directory. Une image http(s) distante n'est pas téléchargée, et une ligne dont l'image est distante ou absente est écartée de l'exécution et ne reçoit aucune prédiction. Image items dans la référence amont donne les champs dans lesquels Potato lit le chemin d'une image.
Lames, microscopie, cartes et spectrogrammes
Les modules de détection et de segmentation redimensionnent chaque image à quelques centaines de pixels. Pour un schéma image_annotation, microscopy ou geo_annotation, Potato découpe donc une grande image en tuiles au moment où le lot de l'exécution est construit. Le découpage est activé par défaut pour les formats de lames comme .svs et .ndpi et pour les images dont le grand côté fait au moins 4 096 pixels. Les tuiles d'une même lame tombent toujours dans une seule partition, et les formes prédites sont reportées sur l'image entière dans les coordonnées que stocke la visionneuse à zoom profond. Le tableau tiling liste chaque clé, et le tutoriel sur les modèles de vision règle la taille des tuiles, le chevauchement et la résolution pour une lame.
Les ROI d'un schéma microscopy entraînent les modules de détection et de segmentation ainsi que cellpose. Chaque coupe z et chaque point temporel qui a des ROI est rendu avec les canaux et le contraste par défaut du schéma, et les prédictions reviennent sous forme de ROI avec le z et le t de chaque ROI. Un schéma geo_annotation s'entraîne sur le fond de carte raster de l'item, c'est-à-dire un GeoTIFF ou une image avec une emprise, et les prédictions reviennent en GeoJSON en EPSG:4326 que la carte montre comme suggestions. Une carte dont le fond vient d'un serveur de tuiles n'a pas de raster sur lequel s'entraîner, et l'exécution écarte ces items avec un avertissement. Un schéma spectrogram_annotation entraîne torchvision-detect et ultralytics-detect sur chaque enregistrement rendu comme spectrogramme, et les boîtes reviennent en secondes et en hertz. Microscopy and maps et Spectrograms dans la référence amont donnent les détails du rendu.
Documents et modèles vision-langage
layoutlmv3 apprend la mise en page d'un document à partir des mots d'une page et de leurs positions, et vlm-sft affine un modèle vision-langage sur des réponses à propos d'images. Potato n'exécute aucun OCR, si bien que chaque item layoutlmv3 a besoin d'un champ words avec le texte et la boîte de chaque mot. Un import PAGE XML en mode regions remplit words, et des mots issus de la couche texte d'un PDF ou d'un autre outil d'OCR fonctionnent de la même façon. vlm-sft entraîne par défaut un adaptateur LoRA, et les vrais points de contrôle demandent un GPU. Une exécution region_caption est évaluée mais pas publiée, car les régions décrites par une légende sont une réponse d'annotateur. Le tutoriel sur les modèles de vision couvre les deux modules, et l'ancrage par VLM couvre le schéma grounding_eval.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
layoutlmv3 | image_annotation sur des pages avec un champ words | images de pages | [train-vision] (poids sous CC BY-NC-SA 4.0) | boîtes autour des mots de chaque région | map_50 |
vlm-sft | text sur des items image, region_caption, grounding_eval, gui_trajectory | images, captures d'écran | [train-vision] et un GPU | la réponse textuelle, la région d'ancrage ou son absence, ou un verdict sur chaque étape d'interface ; aucune pour les légendes | F1 de jetons, exactitude à IoU 0,5 ou macro-F1 des verdicts |
Audio et parole
Les modules audio lisent des enregistrements dans des fichiers locaux que soundfile ouvre, par exemple WAV ou FLAC, et un item dont l'audio est une URL est écarté. hf-audio-tagger étiquette des segments temporels dans un schéma audio_annotation. whisper-asr affine Whisper sur les tours de transcription que les annotateurs ont corrigés et, par défaut, écrit aussi une copie CTranslate2 du modèle pour potato transcripts --transcribe et faster-whisper. diarization affine un encodeur de parole (WavLM par défaut) pour trouver qui parle quand. Les noms de locuteurs sont propres à chaque enregistrement. Les boîtes sur spectrogramme entraînent les détecteurs de Détection et segmentation sur images. Le tutoriel sur les modèles audio déroule Whisper, la diarisation, la détection sur spectrogramme et l'étiquetage audio.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
hf-audio-tagger | audio_annotation | audio | [train-audio] | segments modifiables sur la forme d'onde | F1 de segments |
whisper-asr | speech_transcript (tours corrigés) | audio | [train-audio] | corrections suggérées dans les zones de correction | exactitude des mots (1 − WER) |
diarization | tiered_annotation (une strate de locuteurs), audio_annotation (les étiquettes sont des locuteurs) | audio | [train-audio] | tours de parole | exactitude de diarisation (1 − DER) |
Volumes, nuages de points et vidéo
Les modules 3D et vidéo apprennent de volumes peints, de cuboïdes de nuages de points et de pistes vidéo. volume-unet entraîne un U-Net 3D en PyTorch pur sur les masques que les annotateurs ont peints dans des volumes CT et IRM, et un CT pleine taille demande en pratique un GPU. external-3d exécute votre propre détecteur 3D par les paramètres train_command et predict_command et relit les cuboïdes. OpenPCDet et MMDetection3D conviennent tous deux, et tous deux ont besoin d'opérateurs CUDA compilés sur l'hôte GPU. video-track affine un Faster R-CNN sur des images échantillonnées à partir des pistes annotées et relie les détections d'une image à l'autre en pistes. Le tutoriel sur les volumes, les nuages de points et la vidéo déroule les trois modules.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
volume-unet | volume_annotation (masques peints) | volumes NIfTI, séries DICOM | [train-vision,volumes] | masques par étiquette sur chaque coupe axiale | Dice moyen |
external-3d | spatial_annotation (cuboïdes) | nuages de points, un scan par item | votre propre détecteur sur l'hôte d'entraînement | boîtes cuboid_3d | map_3d_50 |
video-track | video_annotation en mode tracking ou combined | vidéo | [train-vision] et opencv-python | pistes sous forme de boîtes à images clés | IDF1 |
Sciences
Les modules scientifiques apprennent de la chimie, de la spectroscopie, de signaux physiologiques et d'épisodes de robots. rdkit-property répond à une question sur une molécule à partir de l'empreinte de Morgan de la molécule et de descripteurs RDKit, avec un classifieur scikit-learn pour des choix ou un régresseur pour un curseur. peak-cnn prédit des positions de pics sur un spectre et ne prédit ni étiquettes de pics ni attributions. signal-cnn répartit des époques fixes en étapes ou trouve des intervalles étiquetés dans des signaux EEG, ECG et autres. episode-model prédit des phases, un résultat et une courbe de récompense à partir des séries d'articulations et de capteurs d'un épisode de robot. La vidéo de l'épisode n'est pas lue. Les pics, les intervalles et les réponses d'épisode apparaissent comme des suggestions que l'annotateur relit, et non comme la réponse elle-même. Le tutoriel sur les modèles scientifiques déroule les quatre modules, et les pages de schémas sur les structures chimiques, les spectres, les séries temporelles et les épisodes de robots couvrent le côté annotation.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
rdkit-property | radio, select, likert, slider à propos d'une molécule | un champ d'affichage molecule, ou une réponse chemical_structure | [chemistry] | la réponse, avec un curseur arrondi à son pas | macro-F1 ; exactitude pour slider |
peak-cnn | peak_picking | spectres (JCAMP-DX, mzML, CSV, en ligne) | [train-vision] | suggestions de pics marquées « model » | F1 de pics |
signal-cnn | interval_label (mode époque ou libre) | signaux (EDF, BDF, WFDB, CSV, Parquet, en ligne) | [train-vision] ; [signals] pour WFDB et Parquet | intervalles en pointillés marqués « from the model » | macro-F1 en mode époque ; F1 d'intervalles en mode libre |
episode-model | episode_annotation (phases, résultat, récompense) | épisodes de robots (LeRobot, HDF5, manifestes d'épisodes) | [train-vision] | phases, résultat et courbe de récompense sur la ligne de temps | macro-F1 des phases |
Modèles de décision
Un modèle de décision renvoie une probabilité pour chaque option d'une question, et Potato utilise un modèle de décision comme source du moteur d'étiquetage ou comme modèle d'étiquetage dans le mode Solo. Les modules pour modèles de décision ajustent un modèle de décision aux étiquettes de l'étude sur des schémas radio, select, likert et slider, et posent chaque question comme la pose le moteur d'étiquetage. Un slider est posé comme une note avec une option par position, jusqu'à 21 positions. decision-calibrate n'entraîne rien. Le module ajuste une calibration aux probabilités de Jev, d'OpenJev, de laya-serve ou de Laya, et écrit la calibration dans calibration.json pour que la source du moteur l'applique. decision-calibrate ne tourne que sur le backend local. laya-finetune affine Laya, et openjev-finetune affine le modèle OpenJev de 8 milliards de paramètres avec l'entraînement LoRA de wev. La fiche du modèle OpenJev note qu'une partie des données d'entraînement d'OpenJev est réservée à la recherche. Vérifiez ces conditions avant un usage commercial.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
decision-calibrate | radio, select, likert, slider | texte | aucune ; un modèle de décision configuré | l'option principale calibrée | macro-F1 ; exactitude pour slider |
laya-finetune | radio, select, likert, slider | texte | [decision] | l'option choisie par le modèle | macro-F1 ; exactitude pour slider |
openjev-finetune | radio, select, likert, slider | texte | pip install wev-ai ; un GPU avec environ 16 Go libres | l'option choisie par le modèle | macro-F1 ; exactitude pour slider |
Passerelles d'inférence
Les passerelles d'inférence utilisent un modèle qui tourne déjà ailleurs et n'entraînent rien. Une exécution de passerelle envoie les items réservés au service et relit les réponses. Avec writeback.include_unlabeled: true, l'exécution envoie aussi les items non étiquetés. Les réponses reçoivent alors un score sur items réservés par rapport à vos annotateurs, une écriture en retour et une relecture, comme les réponses d'un modèle entraîné. Une passerelle n'accepte jamais de clé d'API dans la configuration. Un paramètre nomme plutôt la variable d'environnement du serveur qui contient la clé. label-studio-ml appelle le /predict d'un backend ML de Label Studio et n'envoie pas d'événements d'annotation au /webhook du backend. hf-inference et roboflow ne tournent que sur le backend local. Les boîtes de openai-vlm-boxes n'ont pas de confiance, car le modèle vision-langage ne renvoie aucun score. Le tutoriel pour apporter votre propre modèle met en place chaque passerelle.
| Module | Schémas | Items | Installation | Pré-étiquette | Score sur items réservés |
|---|---|---|---|---|---|
label-studio-ml | radio, select, multiselect, span, image_annotation | texte, images | aucune ; un backend ML de Label Studio en marche | étiquettes, empans, boîtes ou polygones | le score principal du schéma |
openai-vlm-boxes | image_annotation | images | aucune ; un modèle de vision derrière une API compatible OpenAI | boîtes | map_50 |
hf-inference | radio, select, multiselect, span, image_annotation | texte, images | aucune ; un Hugging Face Inference Endpoint ou un modèle serverless | étiquettes, empans ou boîtes | le score principal du schéma |
roboflow | image_annotation | images | aucune ; un modèle Roboflow et une clé d'API | boîtes ou polygones | map_50 |
cvat-nuclio | image_annotation | images | aucune ; une fonction serverless CVAT (Nuclio) | boîtes ou polygones | map_50 |
Pour aller plus loin
- La vue d'ensemble de l'entraînement de modèles explique la boucle qui va des annotations aux pré-étiquettes, ainsi que la page Training.
- La page de configuration documente chaque clé
model_training, les backends, l'écriture en retour et les routes. - Le tutoriel du premier modèle exécute
sklearn-textde bout en bout sans GPU. - Le tutoriel d'entraînement à distance envoie des exécutions à un serveur GPU par ssh, à un cluster SLURM ou à un agent qui interroge le serveur.
- Le guide de l'étiquetage assisté par modèle discute des cas où les pré-étiquettes de votre propre modèle aident les annotateurs et de ceux où elles les ancrent.
- La référence amont de l'entraînement de modèles contient le tableau des paramètres de chaque module.