Human-Attention and Moderation Demand Fulfillment Marketplace
Marketplace-ul de atenție umană (C.4, componenta 2). Operatorii umani adaugă date, informații și etichete prin sesiuni de augmentare contractate în portal și lucrate în Data Studio. Platforma auditează automat acțiunile, raportează disponibilul de atenție umană, îl prognozează și estimează durata, costul și energia livrării.
- Ce este
- Sesiunea de augmentare: operatorul uman adaugă etichete
- Auditul automat
- Disponibilul istoric de atenție umană
- Prognoza disponibilului de atenție umană
- Alocarea în avans (AoT) a atenției prognozate
- Negocierea tarifului orar
- Cotația, comanda și suplimentarea
- Estimarea duratei, costului financiar și energetic al livrării
- Cum se demonstrează
Ce este
| Componentă | Unde | Roluri |
|---|---|---|
| Sesiunile de augmentare (interfața mașină – operator uman) | portal onprem.ai-hub.cloud: proiect → Augmentation Sessions; Data Studio pentru etichetare | Training Operator, Data Augmentator, Project Admin, Result User |
| Auditul automat al acțiunilor | BI, dashboard-ul 4 „C.4 – Audit automat al acțiunilor (API)”; Sonata Admin → Audit → Audit API (doar citire) | Project Admin, Support Specialist, Training Operator; administrator |
| Disponibilul istoric de atenție umană | BI, dashboard-ul 3 „AI Hub User Stats” și întrebarea 13 | Project Admin, Support Specialist, Training Operator |
| Prognoza disponibilului (Holt-Winters + program convenit) | pipeline ZenML attention_forecast_pipeline, MLflow attention_forecast_pipeline, BI întrebările 13–14 |
Training Operator, Project Admin |
| Alocarea în avans (AoT) | pipeline ZenML aot_allocation_pipeline, BI întrebările 23–24 (dashboard-ul 6) |
Training Operator, Project Admin |
| Negocierea tarifului și cotația | portal: profil, sesiune, contract, panoul „Cotație”, /quotation/<id> |
Data Augmentator, Training Operator, Result User |
| Estimarea duratei, costului și energiei livrării | BI, întrebările 15 și 16 (dashboard-ul 5) | Project Admin, Training Operator |
Sesiunea de augmentare: operatorul uman adaugă etichete
| Pas | Rol | Unde în portal | Ce se întâmplă |
|---|---|---|---|
| 1 | Training Operator | proiect → Start Augmentation Session / Augmentation Sessions | alege dataset-ul, termenul, bugetul și invită un Data Augmentator |
| 2 | Result User / Project Admin | clopoțelul de notificări → Accept | sesiunea e aprobată |
| 3 | Data Augmentator | Invited / My Projects → acceptă contractul | augmentatorul devine automat membru al proiectului Data Studio |
| 4 | Data Augmentator | sesiunea → Activity (time log start), AI Hub Data Studio, apoi time log stop și Complete | adnotările se salvează în Data Studio, timpul în portal |
| 5 | Training Operator | sesiunea → Activity → aprobare; sesiunea trece în „Ready to use” | datele etichetate sunt gata pentru antrenare |


Exemple reale: proiectul „Augmentare date multi-format C.4” (9 sesiuni, 29 de adnotări) și proiectul Whisper (proiectul Data Studio 163, 26 de transcrieri revizuite). Detalii pe pagina Data Augmentation – Tagging.
Auditul automat
- Ce se înregistrează: backend-ul scrie automat în tabelul
request_logsfiecare apel API care modifică date (POST, PUT, PATCH, DELETE) și fiecare cerere respinsă sau eșuată (400, 401, 403, 500): utilizator, rol, metodă, URI, cod de răspuns, durată, moment. Nu e nevoie de nicio acțiune a utilizatorului. - Mascare: parolele, token-urile, cookie-urile și antetul
Authorizationsunt mascate înainte de scriere. Rapoartele nu afișează antetele și corpul cererilor. - Unde se vede: BI, dashboard-ul 4 (metabase.onprem.ai-hub.cloud/dashboard/4): jurnalul complet cu filtre (întrebarea 8), acțiunile pe zi (9), rezumatul pe utilizator (10); Sonata Admin, meniul „Audit” → „Audit API (request logs)”, doar citire (listă, detaliu, export).
- Cifre reale: 328 de înregistrări la scrierea fragmentului, inclusiv toate acțiunile fluxului de augmentare C.4 (creare dataset, invitații, aprobări, contracte, time log-uri).

Limitări
Inițial backend-ul păstra doar cererile eșuate; acțiunile reușite apar după extinderea auditului. Câteva înregistrări vechi nu au fost mascate retroactiv; nu apar în rapoarte și nici în Sonata, iar curățarea lor așteaptă acordul proprietarului datelor.
Disponibilul istoric de atenție umană
Dashboard-ul 3 „AI Hub User Stats” (metabase.onprem.ai-hub.cloud/dashboard/3) inventariază disponibilul pe clase funcționale de competență (rolurile: Data Augmentator, Training Operator etc.):
| Criteriu | Ce arată |
|---|---|
| User Availability | pentru fiecare lună și rol, câți utilizatori noi s-au înregistrat și totalul cumulat |
| Monthly growth rates / Growth chart | creșterea lunară a înscrierilor pe rol |
| User predictions / User prediction chart | extrapolarea liniară (2023) a numărului de utilizatori |
| Disponibil pe ore lucrate (întrebarea 13) | ore efectiv lucrate pe rol și săptămână: time log-urile din portal plus timpul de adnotare din Data Studio pentru zilele fără time log |
Sortarea multicriterială: tabelele se sortează și se filtrează după orice coloană; combinațiile folosite sunt rol + lună + număr/cumulat și rol + săptămână + ore. Dashboard-ul are acum note care explică fiecare criteriu (cerință deschisă de la demonstrația din 2023).

Prognoza disponibilului de atenție umană
| Element | Valoare |
|---|---|
| Metodă | regresie cu erori Holt-Winters: ore_t = β · contracte_t + e_t; e_t modelat Holt-Winters aditiv (holt_winters.py::run_with_schedule) |
| Sezonalitate (pas calendaristic) | serie săptămânală, sezon de 52 de săptămâni; trend amortizat φ = 0,9 |
| Programul convenit | variabila explicită „contracte de augmentare în vigoare pe săptămână” (de la acceptarea contractului până la termenul sesiunii), cunoscută și pentru săptămânile viitoare |
| Parametri | α, β, γ prin căutare pe grilă; β (ore pe contract-săptămână) prin cele mai mici pătrate |
| Validare | backtest pe ultimele 12 săptămâni; interval de încredere 95% |
| Static / dinamic | pipeline-ul ZenML attention_forecast_pipeline, rulat la cerere și automat în fiecare luni |
| Ieșire | analytics.attention_forecast, experimentul MLflow attention_forecast_pipeline, BI întrebările 13 și 14 |
Rezultate reale (rularea MLflow e91d57d3888d4593be9c9346b31b393a):
| Rol | Ore istoric | β program | Prognoză 12 săptămâni | MAE backtest cu program | MAE fără program |
|---|---|---|---|---|---|
| Data Augmentator | 96,3 h (apr. 2023 – azi) | 0,44 h / contract-săptămână | 13,7 h (3,4–3,5 h/săpt. cât sunt în vigoare cele 9 contracte, apoi ~0) | 0,56 h/săpt. | 1,14 h/săpt. |


Limitări
Istoricul este rar (activitate pe perioade scurte), iar time log-uri există doar pentru rolul Data Augmentator; intervalul de încredere este larg.
Alocarea în avans (AoT) a atenției prognozate
Pipeline-ul ZenML aot_allocation_pipeline (aot_inputs → aot_allocator, programare liniară cu PuLP și CBC)
repartizează capacitatea prognozată a augmentatorilor pe task-urile rămase din contractele în vigoare, în cele 4 moduri
C.4, fiecare cu minimizarea EER (λ = 10, penalizare 10⁴ pe task nealocat).
| Intrare | Sursa |
|---|---|
| lucrul de făcut | task-urile Data Studio încă neadnotate, cu termenul și bugetul sesiunii |
| timpul pe task | maximul dintre mediana măsurată în proiect și mediana umană din 2023 pe modalitate |
| capacitatea | limita superioară 95% a prognozei, împărțită după ponderea istorică a orelor fiecărui augmentator |
| EER și acoperirea | raportul |Q (întrebarea 22), per augmentator și proiect |
| energia | stația de lucru (75 W × ore) + energia mașină măsurată pe item |
| Mod C.4 | Restricții | Obiectiv |
|---|---|---|
| a. buget de timp | termenul fiecărei sesiuni | min timp + λ·EER |
| b. buget de energie | energie ≤ bugetul setat | min energie/căldură + λ·EER |
| c. protecții adversariale | 20% din task-uri adnotate de două ori, de persoane diferite; nimeni peste 60% dintr-un proiect | max acoperire entropică și categorică − λ·EER |
| d. protecții colaborative | fiecare task revizuit de alt augmentator | max acoperire − λ·EER |
Rezultate reale (rularea MLflow a48aad8f2a424d8cb1d325890d3ebf11, 114 task-uri rămase în 9 proiecte):
| Mod | Ore | Durată | Cost | Energie | Căldură | EER plan | EER efectiv | Acoperire | Augmentatori |
|---|---|---|---|---|---|---|---|---|---|
| a. timp | 0,86 | 1 săpt. | 1.902 lei | 64,5 Wh | 232 kJ | 14,3% | 14,3% | 80,0% | 4 |
| b. energie (buget 61,3 Wh) | 0,82 | 4 săpt. | 1.839 lei | 61,3 Wh | 221 kJ | 14,9% | 14,9% | 79,1% | 4 |
| c. adversarial | 1,03 | 4 săpt. | 2.283 lei | 77,4 Wh | 279 kJ | 15,9% | 13,2% | 69,6% | 6 |
| d. colaborativ | 1,12 | 4 săpt. | 2.473 lei | 83,9 Wh | 302 kJ | 14,3% | 2,1% | 75,1% | 5 |
Bugetul de energie e strâns intenționat (95% din energia planului de timp): planul lasă 2,3 task-uri nealocate, ca să se vadă efectul. EER-ul efectiv ține cont de dubla adnotare sau de revizie (o eroare trece doar dacă greșește și al doilea om).


Limitări
Doar contul Data Augmentator are măsurători reale de calitate și viteză; ceilalți augmentatori (conturi de test din 2023) primesc valori a priori, marcate ca atare în plan. Timpii măsurați provin din adnotări făcute de agenți.
Negocierea tarifului orar
| Pas | Rol | Unde |
|---|---|---|
| 1 | Data Augmentator | profil → „Tarif pe oră de augmentare” (USD/oră) |
| 2 | Training Operator | formularul sesiunii: tariful din profil apare lângă augmentator și completează „Tarif orar propus”; bugetul = ore estimate × tarif |
| 3 | Training Operator / Data Augmentator | panoul „Tarif orar de augmentare” de pe sesiune / contract: propunere, contraofertă, acceptare; fiecare pas trimite o notificare și intră în istoricul contractului |
| 4 | — | tariful convenit rămâne pe contract și intră în cotație |
Exemplu real: contractul SWIR din proiectul C.4 – propus 10,00 → contraofertă 11,50 → acceptat 11,50 USD/oră.


Cotația, comanda și suplimentarea
- Training Operator → proiect → panoul „Cotație” → Generează (opțional: preț oră GPU, ore GPU suplimentare,
notă). AI Hub calculează din datele reale:
- augmentare: pe fiecare contract, ore × tarif (convenit, altfel propus, altfel din profil);
- trafic de date: mărimea setului × preluări × prețul pe GB al furnizorului, plus traficul deja măsurat;
- modele ML: tariful fiecărui model propus și numărul de modele disponibile;
- GPU: orele GPU reale ale rulărilor MLflow ale proiectului (plus orele suplimentare planificate) × prețul orei GPU (implicit: bugetul cererii de resurse / orele GPU cerute).
- Trimite către Result User; documentul se poate printa sau salva PDF.
- Result User → Acceptă (comandă) sau Respinge (cu motiv).
- Suplimentare: după o cotație acceptată, o generare nouă creează revizia următoare, de tip „Suplimentare”; revizia anterioară devine „Înlocuită de o revizie nouă”.
Exemplu real (proiectul Whisper): revizia 1 – 2.869,26 USD (augmentare 1,44 h × 12 = 17,32; modele 2 × 1.200; GPU 15,06 ore reale, 25 de rulări, 4,2 kWh × 30 = 451,94), acceptată; revizia 2, suplimentare cu 14,94 ore GPU – 3.317,46 USD, acceptată.



Limitări
Plata și facturarea nu fac parte din livrare (aplicația de billing); acceptarea cotației este comanda, fără plată. Prețurile (tarif orar, preț pe GB, preț pe oră GPU) sunt valori demo, nu prețuri de piață.
Estimarea duratei, costului financiar și energetic al livrării
Întrebarea 15 „Cost și energie per proiect (augmentare + GPU)”: ore de augmentare, numărul și bugetul sesiunilor,
bugetul proiectului, rulări MLflow cu GPU, ore GPU, energie (kWh) și căldură (MJ), măsurate cu NVML. O rulare intră la
un proiect prin tag-ul MLflow aihub_project_id.
| Proiect | Rulări GPU | Ore GPU | Energie | Ore augmentare |
|---|---|---|---|---|
| Transcriere vocală RO – Whisper | 24 | 14,93 | 4,17 kWh | 1,43 |
| Extracție date RO – Gemma 3 | 8 | 6,80 | 1,82 kWh | – |
| Asistent vocal call-center – Gemma 3 | 5 | 4,58 | 1,23 kWh | – |
| neatribuit | 23 | 1,16 | 0,23 kWh | – |
Estimarea orelor în portal: în formularul sesiunii de augmentare, câmpul „Ore de augmentare estimate” se completează automat cu aceeași logică (ex. FLEURS-ro: 24 de task-uri rămase × 1,9 s = 0,01 ore; SWIR: 27 × 39,8 s = 0,30 ore).

Întrebarea 16 „Estimare durată de livrare a augmentării”: task-uri rămase × timpul median măsurat pe task, împărțit la orele pe săptămână prognozate pentru Data Augmentator. Exemplu: setul SWIR are 27 de task-uri rămase, 0,3 ore de lucru, 1,6 săptămâni la ritmul prognozat.


Limitări
Timpul median pe task provine din adnotările demo făcute de un agent AI (non-uman), deci durata estimată este optimistă până la sesiuni umane reale.
Cum se demonstrează
Cum se demonstrează
- Training Operator → Ongoing Projects → proiectul C.4 → Augmentation Sessions: 9 sesiuni cu buget și termen.
- Data Augmentator → My Projects → o sesiune → Activity: pornește time log-ul, deschide AI Hub Data Studio, adnotează un task, oprește time log-ul. Training Operator aprobă activitatea.
- Project Admin → Instrumente → BI → dashboard-ul 4: filtrul „Utilizator” arată acțiunile de la pasul 2.
- Dashboard-ul 3: criteriile disponibilului și explicațiile lor; dashboard-ul 5: prognoza, costul, energia, durata estimată; dashboard-ul 6: planurile AoT pe cele 4 moduri.
- Training Operator → proiect → Cotație → Generează → Trimite; Result User → Vezi / printează → Acceptă (comandă).
- Training Operator → Instrumente → MLflow → experimentul
attention_forecast_pipeline: α, β, γ și MAE.