Potato में कार्य के अनुसार मॉडल ट्रेनर
सभी 38 ट्रेनर कार्य के अनुसार, हर ट्रेनर के एनोटेशन स्कीम, इंस्टॉल कमांड, राइट-बैक होने वाले प्री-लेबल और होल्ड-आउट स्कोर के साथ, और लाइसेंस के नियम।
v2.14.0 में नया
Potato के मॉडल प्रशिक्षण में 38 ट्रेनर हैं, और हर ट्रेनर एक प्रकार के एनोटेशन स्कीम के उत्तरों पर एक प्रकार का मॉडल फ़िट करता है। इस पेज की तालिकाएँ हर ट्रेनर को कार्य के अनुसार सूचीबद्ध करती हैं, साथ में वे स्कीम जिनसे ट्रेनर सीखता है, वे आइटम जिन्हें ट्रेनर पढ़ता है, ट्रेनर को चाहिए इंस्टॉल, ट्रेनर जो प्री-लेबल राइट-बैक करता है, और हर रन का रिपोर्ट किया गया होल्ड-आउट स्कोर। पेज उस अध्ययन स्वामी के लिए है जो पहला रन करने से पहले ट्रेनर चुन रहा है, या यह जाँच रहा है कि कोई स्कीम प्रशिक्षित हो भी सकता है या नहीं। config कुंजियाँ, बैकएंड और राइट-बैक के नियम कॉन्फ़िगरेशन पेज पर हैं। हर ट्रेनर की पूरी पैरामीटर तालिका अपस्ट्रीम संदर्भ में ट्रेनर के अनुभाग में है, और नीचे हर ट्रेनर का नाम उसी अनुभाग से जुड़ा है।
हर स्कीम के लिए दिए जाने वाले ट्रेनर
/admin/training का Training पेज हर स्कीम को केवल वे ट्रेनर देता है जो स्कीम के प्रकार और उसके आइटम की मोडैलिटी (जैसे टेक्स्ट, चित्र या ऑडियो) के अनुकूल हैं। जिस ट्रेनर को प्रोजेक्ट नहीं चला सकता वह कारण के साथ सूची में बना रहता है, जैसे decision-calibrate तब तक "no decision model is configured" दिखाता है जब तक प्रोजेक्ट में कोई निर्णय मॉडल न हो। जिस ट्रेनर के पैकेज गायब हैं वह "not installed" के रूप में सूचीबद्ध होता है, साथ में पैकेज इंस्टॉल करने की कमांड। जब तक आप ट्रेनर नहीं चुनते, जहाँ भी sklearn-text बैठता है वहाँ sklearn-text ही चुना रहता है। जो रन किसी अस्तित्वहीन स्कीम के लिए, या ऐसे स्कीम के लिए शुरू किया जाए जिसे ट्रेनर सीख नहीं सकता, वह कुछ भी बनने से पहले HTTP 400 के साथ अस्वीकार हो जाता है।
हर रन एक स्कीम पर प्रशिक्षित होता है। Training पेज एक स्कीम भेजता है, और प्रशिक्षण API स्कीमों की सूची स्वीकार करता है, पर हर ट्रेनर सूची के केवल पहले स्कीम को फ़िट करता है। दो स्कीम प्रशिक्षित करने के लिए दो रन शुरू करें।
नीचे की तालिकाओं में Pre-label (प्री-लेबल) स्तंभ बताता है कि स्कीम के writeback.schemas में सूचीबद्ध होने पर रन आइटम पर क्या लिखता है। रन के train स्प्लिट के आइटम को कभी प्री-लेबल नहीं मिलता, और प्री-लेबल एनोटेटर का उत्तर तभी बनता है जब एनोटेटर उसे संपादित करे या आगे बढ़ जाए। Held-out score (होल्ड-आउट स्कोर) स्तंभ रन की मुख्य मीट्रिक का नाम देता है, जो val और test आइटम पर एनोटेटरों के समाधानित लेबलों के विरुद्ध गिनी जाती है। जिस आइटम पर लेबल है पर भविष्यवाणी नहीं, वह गलत गिना जाता है। इसलिए कोई ट्रेनर कठिन आइटम छोड़कर स्कोर नहीं बढ़ा सकता। अपस्ट्रीम संदर्भ में होल्ड-आउट स्कोर हर मीट्रिक को परिभाषित करता है।
ट्रेनर इंस्टॉल करना
sklearn-text को Potato के सामान्य इंस्टॉल के अलावा कुछ नहीं चाहिए, क्योंकि scikit-learn एक मूल निर्भरता है। टेक्स्ट, चित्र, ऑडियो और LLM ट्रेनरों को PyTorch और transformers चाहिए। एक एक्स्ट्रा चारों समूहों के पैकेज इंस्टॉल कर देता है:
pip install "potato-annotation[train]"संकरे एक्स्ट्रा [train-text], [train-vision], [train-audio] और [train-llm] में से हर एक एक समूह इंस्टॉल करता है, और नीचे का Install स्तंभ हर ट्रेनर के लिए सबसे संकरा काम करने वाला एक्स्ट्रा बताता है, जैसे pip install "potato-annotation[train-vision]"। कोई भी प्रशिक्षण एक्स्ट्रा potato-annotation[all] का हिस्सा नहीं है, क्योंकि PyTorch कई गीगाबाइट का इंस्टॉल है। कुछ ट्रेनरों को [train] के बाहर के पैकेज चाहिए:
ultralytics-detectऔरultralytics-segmentकोpip install ultralyticsचाहिए।cellposeकोpip install cellposeचाहिए, और वह Cellpose 3 या Cellpose 4 के साथ चलता है।laya-finetuneको[decision]चाहिए, औरopenjev-finetuneकोpip install wev-aiचाहिए।rdkit-propertyको[chemistry]चाहिए,volume-unetको[volumes],video-trackकोopencv-python, और WFDB या Parquet सिग्नलों को[signals]। संपूर्ण-स्लाइड चित्रों को openslide के लिए[wsi]चाहिए।hf-text-classificationऔरhf-image-classificationकेdpविकल्प कोpip install opacusचाहिए।
ultralytics-detect, ultralytics-segment और layoutlmv3 पहले रन से पहले आपसे लाइसेंस की पुष्टि माँगते हैं। Ultralytics AGPL-3.0 है, इसलिए किसी भी YOLO ट्रेनर से प्रशिक्षित और वितरित मॉडल AGPL की शर्तों के अंतर्गत आता है, और Ultralytics बंद उपयोग के लिए अलग लाइसेंस बेचता है। LayoutLMv3 के वेट CC BY-NC-SA 4.0 के अंतर्गत हैं और व्यावसायिक उपयोग के लिए नहीं हैं। तीनों ट्रेनरों के लिए Training पेज पुष्टि माँगता है, API रन को accept_licence: true चाहिए, और स्वचालित दोबारा प्रशिक्षण को auto_retrain.accept_licence: true चाहिए। Cellpose का कोड BSD-3-Clause है, और Cellpose के लेखक उसके प्रीट्रेन्ड वेट अपनी शर्तों पर प्रकाशित करते हैं। model_name में आप जिन चेकपॉइंट का नाम देते हैं, उनके लाइसेंस भी अलग-अलग होते हैं। उदाहरण के लिए Qwen2.5-VL-3B Qwen रिसर्च लाइसेंस के अंतर्गत है, जबकि Qwen2.5-VL-7B Apache-2.0 है।
पैरामीटर
रन के पैरामीटर तीन जगहों से आते हैं, और हर जगह पिछली को अधिलेखित करती है:
- ट्रेनर के डिफ़ॉल्ट, जो ट्रेनर के अपस्ट्रीम अनुभाग में सूचीबद्ध हैं;
- config में
model_training.trainer_params.<trainer>; - रन के अपने
params, यानी Training पेज का Parameters फ़ील्ड, API रन काparams, याauto_retrain.params।
जिस हर ट्रेनर का आप उपयोग करते हैं उसका डिफ़ॉल्ट तय करने के लिए model_training ब्लॉक में trainer_params जोड़ें:
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.4Training पेज का Parameters फ़ील्ड JSON है, जो चुने गए ट्रेनर के लिए trainer_params से भरा जाता है। जो पैरामीटर नाम ट्रेनर नहीं लेता वह त्रुटि है। trainer_params के नीचे का नाम सर्वर को स्टार्टअप पर रोक देता है, और रन के params में का नाम रन को शुरू होने से पहले रोक देता है। दोनों त्रुटियाँ वे नाम सूचीबद्ध करती हैं जो ट्रेनर लेता है। उदाहरण के लिए torchvision-detect के नीचे गलत वर्तनी वाला score_thresh सूची में score_threshold के साथ रिपोर्ट होता है। Potato हर मान को पैरामीटर के प्रकार और सीमा के विरुद्ध भी जाँचता है।
टेक्स्ट और चित्र क्लासिफ़ायर
क्लासिफ़ायर radio, select, likert और multiselect चुनाव स्कीमों से सीखते हैं। radio, select या likert का प्री-लेबल एक उत्तर चुनता है, और multiselect का प्री-लेबल लेबलों का एक समूह चिह्नित करता है। sklearn-text CPU पर बिना किसी अतिरिक्त इंस्टॉल के चलता है, और पहले मॉडल का ट्यूटोरियल sklearn-text का एक रन दिखाता है। चित्र कॉर्पस पर sklearn-text क्लासिफ़ायर को CLIP चित्र एम्बेडिंग पर फ़िट करता है। setfit किसी प्रोजेक्ट के पहले दिनों के लिए बना है और प्रति लेबल लगभग आठ लेबल किए गए आइटम से काम करता है। एनोटेशन की ओर के लिए radio और multiselect, select और Likert स्केल के स्कीम पेज देखें।
hf-text-classification एक ट्रांसफ़ॉर्मर को फ़ाइन-ट्यून करता है, और lora: true के साथ Qwen या Llama जैसे डिकोडर LLM को भी फ़ाइन-ट्यून करता है। soft_targets: true के साथ hf-text-classification किसी एक समाधानित लेबल की ओर नहीं, बल्कि एनोटेटरों के मतों के बँटवारे की ओर प्रशिक्षित होता है। hf-text-classification और hf-image-classification एक acquisition पैरामीटर लेते हैं जो एकल-लेबल स्कीम के अगले लेबल किए जाने वाले आइटम को margin, entropy, BALD या coreset दूरी से क्रमबद्ध करता है, जैसा लूप में मॉडल ट्यूटोरियल दिखाता है। दोनों ट्रेनर Opacus के ज़रिए DP-SGD से प्रशिक्षण के लिए dp भी लेते हैं, और डिफ़रेंशियल प्राइवेसी ट्यूटोरियल एक dp रन समझाता है।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
sklearn-text | radio, select, likert, multiselect | टेक्स्ट, चित्र | कुछ नहीं (CLIP को [embeddings] और pillow चाहिए) | लेबल या लेबल | macro-F1; multiselect के लिए micro-F1 |
hf-text-classification | ऊपर के चार, soft_label | टेक्स्ट | [train-text] | लेबल या लेबल; soft_label के लिए स्लाइडर की स्थितियाँ | macro-F1; micro-F1; soft_label के लिए वितरण सहमति |
setfit | radio, select, likert, multiselect | टेक्स्ट | [embeddings] | लेबल या लेबल | macro-F1; multiselect के लिए micro-F1 |
hf-image-classification | radio, select, likert, multiselect | चित्र | [train-vision] | लेबल या लेबल | macro-F1; multiselect के लिए micro-F1 |
स्पैन, संबंध और संरचना
इस समूह के ट्रेनर अक्षर ऑफ़सेट वाले स्पैन, स्पैनों के बीच के लिंक, वार्तालाप वृक्ष के नोडों पर उत्तर, और इंटरलीनियर ग्लॉस सीखते हैं। hf-relation एक एनकोडर को स्पैन टैग करना और स्पैनों के जोड़ों को वर्गीकृत करना दोनों सिखाता है। भविष्यवाणी किया गया लिंक तभी पाया गया गिना जाता है जब टैगर को लिंक के दोनों स्पैन भी सही सीमाओं के साथ मिले हों। जब किसी span_link स्कीम का हर प्रशिक्षण उत्तर एक निर्भरता वृक्ष हो, तो hf-relation वृक्षों को डिकोड करता है और स्कोर में UAS और LAS जोड़ देता है। रन उन्हीं चरणों का पालन करता है जो पहले मॉडल के ट्यूटोरियल में हैं, बस ट्रेनर और स्कीम अलग चुने जाते हैं।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
hf-token-classification | span | टेक्स्ट | [train-text] | अक्षर ऑफ़सेट पर स्पैन | span F1 |
hf-relation | span_link, event_annotation, coreference | टेक्स्ट | [train-text] | स्पैन, और स्पैनों के बीच के लिंक, घटनाएँ या शृंखलाएँ | link F1, argument F1 या CoNLL F1 |
hf-conversation-tree | tree_annotation | वार्तालाप वृक्ष | [train-text] | नोड उत्तर और चुना गया पथ | node macro-F1 |
byt5-gloss | interlinear_gloss | टेक्स्ट | [train-text] | भरा हुआ ग्लॉस ग्रिड | morpheme gloss accuracy |
LLM और रिवॉर्ड मॉडल
LLM ट्रेनर मुक्त-टेक्स्ट उत्तरों, वरीयताओं, रैंकिंग और सुधारे गए एजेंट ट्रेस से सीखते हैं। llm-sft और llm-dpo डिफ़ॉल्ट रूप से LoRA एडेप्टर प्रशिक्षित करते हैं, और lora: {quantize: 4bit} बेस मॉडल को 4 बिट में QLoRA के रूप में लोड करता है। reward-model pairwise, ranking और best-worst उत्तरों से एक स्केलर रिवॉर्ड मॉडल प्रशिक्षित करता है, और हर भविष्यवाणी स्कीम के उत्तर के साथ हर विकल्प का रिवॉर्ड भी रखती है। prm-reward एजेंट ट्रेस के हर चरण को सही, तटस्थ या गलत दर्जा देता है। max_length (डिफ़ॉल्ट रूप से 1,024 टोकन) के आगे के चरणों पर न प्रशिक्षण होता है न उन्हें दर्जा मिलता है। trajectory_edit की भविष्यवाणी स्कोर और संग्रहीत होती है पर प्री-लेबल के रूप में कभी नहीं दिखाई जाती, और writeback.schemas के नीचे trajectory_edit स्कीम होने पर सर्वर शुरू होने से मना कर देता है। LLM फ़ाइन-ट्यूनिंग ट्यूटोरियल SFT, DPO, रिवॉर्ड मॉडल, प्रोसेस रिवॉर्ड मॉडल और QLoRA को समझाता है।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
llm-sft | text (मुक्त-टेक्स्ट उत्तर), trajectory_edit | टेक्स्ट, एजेंट ट्रेस | [train-llm] | जनरेट किया गया उत्तर; trajectory_edit के लिए कुछ नहीं | token F1; trajectory_edit के लिए closer_to_correction |
llm-dpo | binary मोड में pairwise, trajectory_edit | टेक्स्ट, एजेंट ट्रेस | [train-llm] | पसंदीदा उत्तर का कार्ड चुना हुआ; trajectory_edit के लिए कुछ नहीं | accuracy; trajectory_edit के लिए closer_to_correction |
reward-model | pairwise (binary और scale), ranking, bws | टेक्स्ट | [train-text] | पसंदीदा कार्ड, स्केल की स्थिति, क्रम, या सबसे अच्छा और सबसे बुरा | accuracy, direction accuracy, Kendall's tau या best-worst accuracy |
prm-reward | process_reward | एजेंट ट्रेस | [train-text] | ai_prelabel: true के साथ "AI pre-label steps" बटन के पीछे के चरण दर्जे | step macro-F1 |
चित्र डिटेक्शन और सेगमेंटेशन
डिटेक्टर और सेगमेंटर वे आकृतियाँ सीखते हैं जो एनोटेटर image_annotation स्कीम में बनाते हैं, और अधिकांश डिटेक्टर और सेगमेंटर माइक्रोस्कोपी, नक्शे और स्पेक्ट्रोग्राम स्कीम भी पढ़ते हैं। डिटेक्टर हर आकृति के बाउंडिंग बॉक्स पर प्रशिक्षित होता है, इसलिए बहुभुज या मास्क वाला अध्ययन भी बॉक्स डिटेक्टर को ही प्रशिक्षित करता है। सेगमेंटर रूपरेखाओं पर प्रशिक्षित होता है और बॉक्स छोड़ देता है, और अधिकतम 64 शीर्षों वाले बहुभुज भविष्यवाणी करता है जिन्हें एनोटेटर बिंदु-दर-बिंदु संपादित कर सकता है। cellpose बिना वर्गों के सेगमेंट करता है, इसलिए हर भविष्यवाणी की गई कोशिका को label पैरामीटर मिलता है, या label तय न होने पर स्कीम का सबसे आम लेबल।
sam-finetune Segment Anything के मास्क डिकोडर को फ़ाइन-ट्यून करता है ताकि वह बॉक्स को रूपरेखा में बदले, जबकि चित्र एनकोडर जमा रहता है। sam-finetune का रन उन बॉक्स प्री-लेबलों की रूपरेखा बनाता है जो पहले के डिटेक्शन रन ने राइट-बैक किए थे, इसलिए सामान्य क्रम writeback.include_unlabeled: true के साथ एक डिटेक्शन रन है, फिर उसी स्कीम पर sam-finetune रन। Mac पर torchvision-detect और torchvision-segment Metal की जगह CPU पर प्रशिक्षित होते हैं। विज़न मॉडल ट्यूटोरियल डिटेक्शन, सेगमेंटेशन, स्लाइड, माइक्रोस्कोपी, नक्शे, Cellpose और SAM को समझाता है।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
torchvision-detect | image_annotation, microscopy, geo_annotation, spectrogram_annotation | चित्र, स्लाइड, OME स्टैक, रास्टर, रिकॉर्डिंग | [train-vision] | संपादन योग्य बॉक्स | map_50 |
ultralytics-detect | image_annotation, microscopy, geo_annotation, spectrogram_annotation | चित्र, स्लाइड, OME स्टैक, रास्टर, रिकॉर्डिंग | pip install ultralytics (AGPL-3.0) | संपादन योग्य बॉक्स | map_50 |
torchvision-segment | image_annotation, microscopy, geo_annotation (रूपरेखाएँ) | चित्र, स्लाइड, OME स्टैक, रास्टर | [train-vision] | बहुभुज | map_50 |
ultralytics-segment | image_annotation, microscopy, geo_annotation (रूपरेखाएँ) | चित्र, स्लाइड, OME स्टैक, रास्टर | pip install ultralytics (AGPL-3.0) | बहुभुज | map_50 |
cellpose | image_annotation, microscopy (रूपरेखाएँ) | चित्र, OME स्टैक | pip install cellpose | एक लेबल वाले बहुभुज | map_50 |
sam-finetune | image_annotation (रूपरेखाएँ) | चित्र | [train-vision] | पहले के बॉक्स प्री-लेबलों से बने बहुभुज | map_50, एनोटेटरों के बॉक्स प्रॉम्प्ट के रूप में देकर |
चित्र ट्रेनर टास्क डायरेक्टरी या media_directory के भीतर की स्थानीय फ़ाइलें पढ़ते हैं। रिमोट http(s) चित्र डाउनलोड नहीं किया जाता, और जिस पंक्ति का चित्र रिमोट या गायब है वह रन से बाहर रह जाती है और उसे कोई भविष्यवाणी नहीं मिलती। अपस्ट्रीम संदर्भ में चित्र आइटम उन फ़ील्डों को बताता है जिनसे Potato चित्र का पथ पढ़ता है।
स्लाइड, माइक्रोस्कोपी, नक्शे और स्पेक्ट्रोग्राम
डिटेक्शन और सेगमेंटेशन ट्रेनर हर चित्र को कुछ सौ पिक्सेल तक छोटा कर देते हैं। इसलिए image_annotation, microscopy या geo_annotation स्कीम के लिए Potato रन का बंडल बनाते समय बड़े चित्र को टाइलों में काट देता है। टाइलिंग .svs और .ndpi जैसे स्लाइड फ़ॉर्मेट के लिए और उन चित्रों के लिए डिफ़ॉल्ट रूप से चालू है जिनकी लंबी भुजा कम से कम 4,096 पिक्सेल है। एक स्लाइड की टाइलें हमेशा एक ही स्प्लिट में जाती हैं, और भविष्यवाणी की गई आकृतियाँ पूरे चित्र पर उन निर्देशांकों में वापस मैप होती हैं जो डीप-ज़ूम व्यूअर संग्रहीत करता है। tiling तालिका हर कुंजी सूचीबद्ध करती है, और विज़न मॉडल ट्यूटोरियल स्लाइड के लिए टाइल का आकार, ओवरलैप और रिज़ॉल्यूशन तय करता है।
microscopy स्कीम के ROI डिटेक्शन और सेगमेंटेशन ट्रेनरों और cellpose को प्रशिक्षित करते हैं। ROI वाला हर z-स्लाइस और समय बिंदु स्कीम के डिफ़ॉल्ट चैनल और कंट्रास्ट से रेंडर होता है, और भविष्यवाणियाँ हर ROI के z और t के साथ ROI के रूप में लौटती हैं। geo_annotation स्कीम आइटम के रास्टर बेसमैप पर प्रशिक्षित होता है, यानी GeoTIFF या विस्तार वाले चित्र पर, और भविष्यवाणियाँ EPSG:4326 में GeoJSON के रूप में लौटती हैं जिन्हें नक्शा सुझावों की तरह दिखाता है। जिस नक्शे का बेसमैप टाइल सर्वर से आता है उसमें प्रशिक्षण के लिए कोई रास्टर नहीं होता, और रन ऐसे आइटम को चेतावनी के साथ छोड़ देता है। spectrogram_annotation स्कीम torchvision-detect और ultralytics-detect को हर रिकॉर्डिंग पर प्रशिक्षित करता है जिसे स्पेक्ट्रोग्राम के रूप में रेंडर किया गया हो, और बॉक्स सेकंड और हर्ट्ज़ में लौटते हैं। अपस्ट्रीम संदर्भ में माइक्रोस्कोपी और नक्शे और स्पेक्ट्रोग्राम रेंडरिंग का ब्योरा देते हैं।
दस्तावेज़ और विज़न-लैंग्वेज मॉडल
layoutlmv3 पेज के शब्दों और उनकी स्थितियों से दस्तावेज़ का लेआउट सीखता है, और vlm-sft चित्रों के बारे में उत्तरों पर विज़न-लैंग्वेज मॉडल को फ़ाइन-ट्यून करता है। Potato कोई OCR नहीं चलाता, इसलिए हर layoutlmv3 आइटम को एक words फ़ील्ड चाहिए जिसमें हर शब्द का टेक्स्ट और बॉक्स हो। regions मोड में PAGE XML इम्पोर्ट words भरता है, और PDF की टेक्स्ट परत या किसी दूसरे OCR टूल के शब्द भी इसी तरह काम करते हैं। vlm-sft डिफ़ॉल्ट रूप से LoRA एडेप्टर प्रशिक्षित करता है, और असली चेकपॉइंट के लिए GPU चाहिए। region_caption रन स्कोर होता है पर प्रकाशित नहीं होता, क्योंकि कैप्शन जिन क्षेत्रों का वर्णन करता है वे एनोटेटर का उत्तर हैं। विज़न मॉडल ट्यूटोरियल दोनों ट्रेनर समझाता है, और VLM ग्राउंडिंग grounding_eval स्कीम समझाता है।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
layoutlmv3 | words फ़ील्ड वाले पेजों पर image_annotation | पेज चित्र | [train-vision] (वेट CC BY-NC-SA 4.0) | हर क्षेत्र के शब्दों के चारों ओर बॉक्स | map_50 |
vlm-sft | चित्र आइटम पर text, region_caption, grounding_eval, gui_trajectory | चित्र, स्क्रीनशॉट | [train-vision] और GPU | टेक्स्ट उत्तर, ग्राउंडिंग क्षेत्र या उसका अभाव, या हर GUI चरण पर निर्णय; कैप्शन के लिए कुछ नहीं | token F1, IoU 0.5 पर accuracy, या verdict macro-F1 |
ऑडियो और भाषण
ऑडियो ट्रेनर उन स्थानीय फ़ाइलों से रिकॉर्डिंग पढ़ते हैं जिन्हें soundfile खोलता है, जैसे WAV या FLAC, और जिस आइटम का ऑडियो URL है वह छोड़ दिया जाता है। hf-audio-tagger audio_annotation स्कीम में लेबल किए गए समय खंडों को टैग करता है। whisper-asr उन ट्रांसक्रिप्ट टर्नों पर Whisper को फ़ाइन-ट्यून करता है जिन्हें एनोटेटरों ने सुधारा, और डिफ़ॉल्ट रूप से potato transcripts --transcribe और faster-whisper के लिए मॉडल की CTranslate2 कॉपी भी लिखता है। diarization एक भाषण एनकोडर (डिफ़ॉल्ट रूप से WavLM) को फ़ाइन-ट्यून करता है ताकि वह पहचाने कि कौन कब बोलता है। वक्ताओं के नाम हर रिकॉर्डिंग के लिए स्थानीय हैं। स्पेक्ट्रोग्राम बॉक्स चित्र डिटेक्शन और सेगमेंटेशन के डिटेक्टरों को प्रशिक्षित करते हैं। ऑडियो मॉडल ट्यूटोरियल Whisper, डायराइज़ेशन, स्पेक्ट्रोग्राम डिटेक्शन और ऑडियो टैगिंग समझाता है।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
hf-audio-tagger | audio_annotation | ऑडियो | [train-audio] | वेवफ़ॉर्म पर संपादन योग्य खंड | segment F1 |
whisper-asr | speech_transcript (सुधारे गए टर्न) | ऑडियो | [train-audio] | सुधार वाले बॉक्स में सुझाए गए सुधार | word accuracy (1 − WER) |
diarization | tiered_annotation (वक्ता टियर), audio_annotation (लेबल वक्ता हैं) | ऑडियो | [train-audio] | वक्ता टर्न | diarization accuracy (1 − DER) |
वॉल्यूम, पॉइंट क्लाउड और वीडियो
3D और वीडियो ट्रेनर पेंट किए गए वॉल्यूम, पॉइंट-क्लाउड क्यूबॉइड और वीडियो ट्रैक से सीखते हैं। volume-unet CT और MR वॉल्यूम में एनोटेटरों के पेंट किए मास्क पर सादे PyTorch में 3D U-Net प्रशिक्षित करता है, और पूर्ण आकार के CT के लिए व्यवहार में GPU चाहिए। external-3d आपका अपना 3D डिटेक्टर train_command और predict_command पैरामीटरों से चलाता है और क्यूबॉइड वापस पढ़ता है। OpenPCDet और MMDetection3D दोनों बैठते हैं, और दोनों को GPU होस्ट पर कंपाइल किए गए CUDA ऑपरेटर चाहिए। video-track एनोटेट किए गए ट्रैकों से लिए गए फ़्रेमों पर Faster R-CNN को फ़ाइन-ट्यून करता है और फ़्रेमों के आर-पार डिटेक्शन को ट्रैक में जोड़ता है। वॉल्यूम, पॉइंट क्लाउड और वीडियो ट्यूटोरियल तीनों ट्रेनर समझाता है।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
volume-unet | volume_annotation (पेंट किए मास्क) | NIfTI वॉल्यूम, DICOM श्रृंखला | [train-vision,volumes] | हर axial स्लाइस पर हर लेबल का मास्क | mean Dice |
external-3d | spatial_annotation (क्यूबॉइड) | पॉइंट क्लाउड, प्रति आइटम एक स्कैन | प्रशिक्षण होस्ट पर आपका अपना डिटेक्टर | cuboid_3d बॉक्स | map_3d_50 |
video-track | tracking या combined मोड में video_annotation | वीडियो | [train-vision] और opencv-python | कीफ़्रेम वाले बॉक्स के रूप में ट्रैक | IDF1 |
विज्ञान
विज्ञान के ट्रेनर रसायन विज्ञान, स्पेक्ट्रोस्कोपी, शारीरिक सिग्नल और रोबोट एपिसोड से सीखते हैं। rdkit-property किसी अणु के बारे में सवाल का उत्तर अणु की Morgan फ़िंगरप्रिंट और RDKit डिस्क्रिप्टर से देता है, चुनावों के लिए scikit-learn क्लासिफ़ायर और स्लाइडर के लिए रिग्रेसर के साथ। peak-cnn स्पेक्ट्रम पर शिखरों की स्थितियाँ भविष्यवाणी करता है, और शिखरों के लेबल या असाइनमेंट भविष्यवाणी नहीं करता। signal-cnn EEG, ECG और अन्य सिग्नलों में निश्चित एपोक को चरणों में बाँटता है या लेबल किए अंतराल खोजता है। episode-model रोबोट एपिसोड की जोड़ और सेंसर श्रृंखलाओं से चरण, परिणाम और रिवॉर्ड वक्र भविष्यवाणी करता है। एपिसोड का वीडियो नहीं पढ़ा जाता। शिखर, अंतराल और एपिसोड के उत्तर स्वयं उत्तर के रूप में नहीं बल्कि एनोटेटर की समीक्षा के लिए सुझावों के रूप में दिखते हैं। विज्ञान मॉडल ट्यूटोरियल चारों ट्रेनर समझाता है, और एनोटेशन की ओर के लिए रासायनिक संरचनाएँ, स्पेक्ट्रा, समय श्रृंखला और रोबोट एपिसोड के स्कीम पेज देखें।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
rdkit-property | किसी अणु के बारे में radio, select, likert, slider | molecule डिस्प्ले फ़ील्ड, या chemical_structure उत्तर | [chemistry] | उत्तर, स्लाइडर को उसके चरण तक पूर्णांकित करके | macro-F1; slider के लिए accuracy |
peak-cnn | peak_picking | स्पेक्ट्रा (JCAMP-DX, mzML, CSV, इनलाइन) | [train-vision] | "model" चिह्नित शिखर सुझाव | peak F1 |
signal-cnn | interval_label (epoch या free मोड) | सिग्नल (EDF, BDF, WFDB, CSV, Parquet, इनलाइन) | [train-vision]; WFDB और Parquet के लिए [signals] | "from the model" चिह्नित डैश वाले अंतराल | epoch मोड में macro-F1; free मोड में interval F1 |
episode-model | episode_annotation (चरण, परिणाम, रिवॉर्ड) | रोबोट एपिसोड (LeRobot, HDF5, एपिसोड मैनिफ़ेस्ट) | [train-vision] | टाइमलाइन पर चरण, परिणाम और रिवॉर्ड वक्र | phase macro-F1 |
निर्णय मॉडल
निर्णय मॉडल किसी प्रश्न के हर विकल्प के लिए एक प्रायिकता लौटाता है, और Potato निर्णय मॉडल को लेबलिंग इंजन के स्रोत के रूप में या Solo Mode में लेबल करने वाले मॉडल के रूप में उपयोग करता है। निर्णय-मॉडल ट्रेनर निर्णय मॉडल को अध्ययन के radio, select, likert और slider स्कीमों पर लेबलों पर फ़िट करते हैं, और हर प्रश्न उसी तरह पूछते हैं जैसे लेबलिंग इंजन पूछता है। slider को रेटिंग के रूप में पूछा जाता है, हर स्थिति के लिए एक विकल्प, अधिकतम 21 स्थितियाँ। decision-calibrate कुछ प्रशिक्षित नहीं करता। यह ट्रेनर Jev, OpenJev, laya-serve या Laya की प्रायिकताओं पर एक कैलिब्रेशन फ़िट करता है, और कैलिब्रेशन को calibration.json में लिखता है ताकि इंजन का स्रोत उसे लागू करे। decision-calibrate केवल local बैकएंड पर चलता है। laya-finetune Laya को फ़ाइन-ट्यून करता है, और openjev-finetune 8B OpenJev मॉडल को wev की LoRA प्रशिक्षण से फ़ाइन-ट्यून करता है। OpenJev के मॉडल कार्ड में लिखा है कि OpenJev का कुछ प्रशिक्षण डेटा केवल शोध के लिए है। व्यावसायिक उपयोग से पहले उन शर्तों की जाँच करें।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
decision-calibrate | radio, select, likert, slider | टेक्स्ट | कुछ नहीं; कॉन्फ़िगर किया हुआ निर्णय मॉडल | कैलिब्रेट किया गया शीर्ष विकल्प | macro-F1; slider के लिए accuracy |
laya-finetune | radio, select, likert, slider | टेक्स्ट | [decision] | मॉडल का चुना विकल्प | macro-F1; slider के लिए accuracy |
openjev-finetune | radio, select, likert, slider | टेक्स्ट | pip install wev-ai; लगभग 16 GB खाली वाला GPU | मॉडल का चुना विकल्प | macro-F1; slider के लिए accuracy |
इन्फ़रेंस ब्रिज
इन्फ़रेंस ब्रिज उस मॉडल का उपयोग करते हैं जो पहले से कहीं और चल रहा है, और कुछ प्रशिक्षित नहीं करते। ब्रिज रन होल्ड-आउट आइटम को सेवा को भेजता है और उत्तर वापस पढ़ता है। writeback.include_unlabeled: true के साथ रन बिना लेबल वाले आइटम भी भेजता है। तब उन उत्तरों को आपके एनोटेटरों के विरुद्ध होल्ड-आउट स्कोर, राइट-बैक और समीक्षा मिलती है, ठीक प्रशिक्षित मॉडल के उत्तरों की तरह। ब्रिज config में API कुंजी कभी नहीं लेता। इसके बजाय एक पैरामीटर सर्वर के उस एनवायरनमेंट वेरिएबल का नाम बताता है जिसमें कुंजी है। label-studio-ml Label Studio ML बैकएंड के /predict को कॉल करता है और बैकएंड के /webhook को एनोटेशन इवेंट नहीं भेजता। hf-inference और roboflow केवल local बैकएंड पर चलते हैं। openai-vlm-boxes के बॉक्स में कोई विश्वास नहीं होता, क्योंकि विज़न-लैंग्वेज मॉडल कोई स्कोर नहीं लौटाता। अपना मॉडल लाएँ ट्यूटोरियल हर ब्रिज सेट करता है।
| ट्रेनर | स्कीम | आइटम | इंस्टॉल | प्री-लेबल | होल्ड-आउट स्कोर |
|---|---|---|---|---|---|
label-studio-ml | radio, select, multiselect, span, image_annotation | टेक्स्ट, चित्र | कुछ नहीं; चलता हुआ Label Studio ML बैकएंड | लेबल, स्पैन, बॉक्स या बहुभुज | स्कीम का मुख्य स्कोर |
openai-vlm-boxes | image_annotation | चित्र | कुछ नहीं; OpenAI-संगत API के पीछे का विज़न मॉडल | बॉक्स | map_50 |
hf-inference | radio, select, multiselect, span, image_annotation | टेक्स्ट, चित्र | कुछ नहीं; Hugging Face Inference Endpoint या सर्वरलेस मॉडल | लेबल, स्पैन या बॉक्स | स्कीम का मुख्य स्कोर |
roboflow | image_annotation | चित्र | कुछ नहीं; Roboflow मॉडल और API कुंजी | बॉक्स या बहुभुज | map_50 |
cvat-nuclio | image_annotation | चित्र | कुछ नहीं; CVAT सर्वरलेस (Nuclio) फ़ंक्शन | बॉक्स या बहुभुज | map_50 |
आगे पढ़ें
- मॉडल प्रशिक्षण का अवलोकन एनोटेशन से प्री-लेबल तक का चक्र और Training पेज समझाता है।
- कॉन्फ़िगरेशन पेज हर
model_trainingकुंजी, बैकएंड, राइट-बैक और रूट दर्ज करता है। - पहले मॉडल का ट्यूटोरियल
sklearn-textको बिना GPU के शुरू से अंत तक चलाता है। - रिमोट प्रशिक्षण ट्यूटोरियल रन को ssh से GPU सर्वर पर, SLURM क्लस्टर पर, या पोलिंग एजेंट पर भेजता है।
- मॉडल-सहायित लेबलिंग गाइड बताती है कि अपने मॉडल के प्री-लेबल एनोटेटरों की मदद कब करते हैं और कब उन्हें मॉडल के उत्तर से बाँध देते हैं।
- अपस्ट्रीम मॉडल प्रशिक्षण संदर्भ में हर ट्रेनर की पैरामीटर तालिका है।