Jednotka 2 / 11

Dátový kanál: zhromažďovanie, čistenie, označovanie a vytváranie verzií

zisky:

  • Schopnosť nastaviť dátový kanál (zhromažďovanie, overovanie, čistenie, transformácia, rozdelenie, vytváranie verzií) a umiestnenie overenia schémy na začiatok kanála
  • Schopnosť robiť rozhodnutia o chýbajúcej hodnote a označovaní na základe významu a rozdelenia poľa, aby sa zabránilo úniku údajov (skupinovým a časovým)
  • Schopnosť vytvoriť reprodukovateľnú databázu stanovením verzie údajov a zdroja náhodnosti

Skutočná sila každého systému strojového učenia spočíva v údajoch, nie v modeli. Skúsení inžinieri vedia: „odpadky dovnútra, odpadky von“ — aj ten najpokročilejší model, ktorý obsahuje zlé údaje, bude mať zlé výsledky. V tejto jednotke vytvoríme dátový kanál (údajový kanál: reťazec krokov, vďaka ktorým sú nespracované údaje pripravené na trénovanie modelu) od konca po koniec a naučíme sa, v ktorom kroku tohto radu môžeme bezpečne použiť umelú inteligenciu.

Kroky dátovej linky

Dátová linka zvyčajne prechádza cez tieto zastávky:

  1. Zhromažďovanie (príjem): Sťahovanie údajov zo zdrojov (databáza, API, protokolové súbory, streamy udalostí).
  2. Validácia: Kontrola, či údaje zodpovedajú očakávanej schéme, typom a rozsahom.
  3. Čistenie: Spracovanie chýbajúcich hodnôt, duplicitných záznamov, odľahlých hodnôt a nezrovnalostí.
  4. Transformácia: Premena nespracovaných údajov na atribúty – napríklad prevod kategorickej premennej na číslo, čím sa z dátumu vytvorí „deň v týždni“.
  5. Rozdelenie: Rozdelenie na tréningové, validačné a testovacie sady.
  6. Verzia: Zaznamenávanie, ktorý model bol trénovaný s akými údajmi.

Umelá inteligencia šetrí čas generovaním návrhov kódu a nápadov, najmä v krokoch 2, 3 a 4. Ale rozhodnutia, ako napríklad ktorý záznam vyradiť, ktorá chýbajúca hodnota vyplniť a ako, patria inžinierovi, ktorý pozná údaje; pretože nesprávne čistenie môže vniesť do modelu skryté predsudky.

Overenie údajov: skorá obrana línie

Najdrahšie chyby začínajú nie vo výrobe, ale tam, kde sa preskočí krok overenia. Validácia schém automaticky kontroluje, či každá prichádzajúca dávka údajov zodpovedá očakávanej štruktúre. Je napríklad stĺpec vek medzi 0-120, je pole e-mailu prázdne, zmenil sa počet stĺpcov?

Tip: Overenie umiestnite na začiatok riadku. Čím skôr sú poškodené dáta zachytené, tým lacnejšie je ich opraviť. Chyba schémy zachytená vo výrobe je mnohonásobne drahšia ako chyba zachytená vo fáze tréningu.

Napíšte overovaciu schému s panderou (alebo veľkými očakávaniami) pre nasledujúcu schému údajov. Stĺpce a pravidlá:- user_id: celé číslo, nemôže byť null, jedinečné- vek: celé číslo, nemôže byť od 0 do 120- dátum_registrácie: dátum, nemôže byť v budúcnosti- krajina: kategorická, z množiny {TR, DE, US, UK}- zostatok: desiatkový, nemôže byť záporný Pri každom porušení pravidla vytvorte zmysluplné chybové hlásenie. Ukážte test s ukážkovou prerušovanou čiarou na konci kódu.

Upratovanie: o tom rozhoduje človek

Chýbajúce hodnoty sú realitou každého súboru údajov. Spôsoby, ako zvládnuť:

  • Odstránenie: Zahodenie riadka/stĺpca s veľmi vysokou mierou chýbajúcich údajov. Existuje však riziko straty informácií a zaujatosti.
  • Imputácia: Imputácia s priemerom, mediánom, najčastejšou hodnotou alebo predikciou založenou na modeli.
  • Vlajka: Ukladanie informácií „chýbalo“ v samostatnom stĺpci s vlajkou – niekedy je signálom samotné chýbajúce.

Ktorý z nich je správny, závisí od problému. V súbore lekárskych údajov by sa mala informácia „hodnota krvi nenameraná“ radšej zachovať ako vymazať; Pretože aj odmietnutie merania lekárom je signálom. AI vám môže poskytnúť možnosti a kód; Vy si vyberiete, ktorý z nich zodpovedá realite tohto poľa.

Slabá výzva / Silná výzva

Slabá výzva: "Doplňte chýbajúce hodnoty."

Silná výzva: "Chýbajú hodnoty v nasledujúcich stĺpcoch: príjem (12 % chýba, distribúcia skosená doprava), last_login (chýba 30 %). Navrhnite vyplnenie príjmu mediánom, ale vysvetlite, prečo je medián a nie stredný. Pre last_login predpokladajte, že chýbajúca hodnota môže byť významná (používateľ sa možno nikdy neprihlásil); zvážte vygenerovanie žiadneho z modelov pridania Zapíšte si namiesto odstránenia príznak vymazania."

Rozdiel: silná výzva poskytuje informácie o distribúcii a význam oblasti; umelá inteligencia produkuje podporu rozhodovania namiesto mechanického plnenia.

Označenie: kvalita sa meria

Pri učení pod dohľadom (učenie, v ktorom sú uvedené príklady so správnymi odpoveďami), to, čo sa model učí, sú štítky (štítky: správna odpoveď pre každý príklad). Kvalita štítkov nastavuje strop – ak ľudia označujú nekonzistentne, model sa učí nekonzistentne.

Dohoda medzi anotátormi meria mieru, akou rôzni ľudia dávajú rovnaké označenie tej istej vzorke; Vyjadruje sa koeficientom, akým je napríklad Cohenova Kappa. Nízka zhoda naznačuje, že úloha je nejasná alebo inštrukcia je slabá.

Umelá inteligencia pomáha pri označovaní dvoma spôsobmi: (1) zostavením anotačného usmernenia, (2) predbežným označením a tým, že ho opraví iba človek. Ale predbežné označovanie pomocou LLM má úskalie: systematická chyba modelu môže preniknúť do celej sady etikiet. To je dôvod, prečo ľudia vždy kontrolujú niektoré štítky LLM.

Pozor: Štítky vyrábané LLM nepovažujte za „základnú pravdu“. Skontrolujte vzorku s človekom a zmerajte LLM-ľudskú zhodu. Ak je zhoda nízka, predbežné označovanie spôsobí viac škody ako úžitku.

Údajový oddiel: zabráňte úniku

Najnebezpečnejšou chybou pri rozdeľovaní údajov na školenie/validáciu/testovanie je únik údajov: miešanie informácií o testoch do školenia. Príklady:

  • Záznamy toho istého používateľa spadajú do školenia aj testovania (únik skupiny).
  • Využitie budúcnosti v tréningu a minulosti v testovaní v časových radoch (časový únik).
  • Výpočet parametrov škálovania (normalizácie) zo všetkých údajov a následné delenie.

Časové rozdelenie je nevyhnutné pre problémy týkajúce sa času: trénujte s minulosťou, testujte v budúcnosti. Náhodné rozdelenie poskytuje "budúcu" výhodu, ktorá sa nikdy nestane vo výrobe a nafúkne metriky.

Verzia údajov a reprodukovateľnosť

"S akými údajmi sme trénovali tento model?" Schopnosť odpovedať na otázku po mesiacoch je charakteristickým znakom seriózneho inžinierstva ML. Verzia údajov ukladá každú snímku údajov s ID (hash alebo značka verzie). Nástroje, ako sú údaje o verzii DVC (Data Version Control), ako je kód.

Ak chcete reprodukovať výsledok modelu, musia byť opravené tri veci: verzia údajov, verzia kódu a náhodné semeno. Bez tejto trojky nie je možné povedať „dosiahol som rovnaký výsledok“. Prehĺbime reprodukovateľnosť v bloku 11; ale oprava semena v dátovom potrubí začína odtiaľto.

tri mini prípady

Prípad 1 – Overenie schémy dňa bolo uložené. Keď tím previedol cenové pole upstream systému z centov na líry, všetky ceny klesli 100-krát. Overenie schémy odmietlo dávku ako „cena mimo rozsahu“ a model nebol trénovaný s poškodenými údajmi. Bez overenia by bola chyba zaznamenaná iba vo výrobe, s nesprávnymi predpoveďami.

Prípad 2 – Zaujatosť nesprávneho plnenia. V úverovom modeli boli chýbajúce hodnoty príjmu vyplnené priemerom. Ale chýbajúce príjmy boli prevažne v nízkopríjmovej skupine; spriemerovanie túto skupinu umelo „obohatilo“ a modelka im ponúkla nespravodlivo vysoký limit. Opravený problém s príznakom medián + chýbajúce.

Prípad 3 – Dočasný únik. Model predpovedania dopytu vyzeral na testovacej súprave skvele (presnosť 95 %), ale vo výrobe sa zrútil. Prečo: vďaka náhodnému rozdeleniu model videl budúcnosť. Prechod na dočasné triedenie znížil presnosť testu na 78 % – ale to bol skutočný výkon a udržal ho vo výrobe.

Kopírovateľné šablóny

Rozdeľte nasledujúci súbor údajov do troch súborov: tréning/validácia/testovanie. Obmedzenie: Toto je časový rad; Použite DOČASNÉ štiepenie (trénujte v minulosti, testujte v budúcnosti). Zabráňte úniku dávky: majte rovnaké `customer_id` iba v jednom klastri. Vypočítajte parametre škálovania LEN z tréningovej sady a potom použite na všetky. Vytlačte, koľko riadkov zostalo v kóde v každom kroku, a pridajte tvrdenie, ktoré kontroluje, či nedochádza k úniku.

Napíšte návrh anotačnej smernice pre túto úlohu označovania. Úloha: [napr. Označte hodnotenie zákazníka pozitívne/negatívne/neutrálne]Objasnite hraničné prípady: sarkazmus, zmiešané emócie, ako označiť recenziu nesúvisiacu s produktom? Uveďte 5 príkladov a 3 zložité okrajové prípady, ktoré zvýšia konzistentnosť medzi značkami.

Vytvorte kontrolný zoznam reprodukovateľnosti pre tento dátový kanál:- Ako by sa mala opraviť verzia údajov?- Ktoré počiatočné hodnoty náhodnosti by sa mali kde nastaviť?- Aké metadáta (haš údajov, počet riadkov, dátum) by sa mali zaznamenávať? Moja kódová základňa: [jazyk/knižnica]

Skontrolujte tento čistiaci kód kvôli úniku údajov. Konkrétne sa pozrite na toto: sú parametre škálovania/kódovania vypočítané PRED rozdelením? Vypočítavajú sa nejaké štatistiky zo všetkých údajov alebo len tréningov? Kód: [kód]

Rozhodovacia tabuľka: chýbajúca hodnotová stratégia

Stav

Odporúčaný prístup

Prečo?

Numerické, skreslené rozdelenie

vyplňte mediánom

Priemer ovplyvňujú odľahlé hodnoty

Číselné, symetrické

vyplniť priemerom

Chráni informácie

Nedostatok môže byť významný

Stĺpec vlajky + výplň

Nedostatok je signál

Miera chýbajúcich údajov > 60 %

Stĺpec Vyhodnotiť/zahodiť

Hluku je príliš veľa

Kategorický

Kategória „Neznáme“.

Nevytvára umelú väčšinu

Časté chyby

  • Preskočenie overenia. Bez kontroly schémy sa poškodené dáta vkradnú potichu.
  • Škálovanie pred štiepením. Do školstva uniká testovacia štatistika.
  • Použitie náhodného delenia v časových radoch. Vytvára falošné vysoké metriky.
  • Slepo dôverujúci LLM štítkom. Systematická chyba sa šíri cez dáta.
  • Verzia údajov sa neukladá. Výsledok nemôžete reprodukovať.
  • Mechanická náplň s priemerom. Ignoruje význam poľa, pridáva zaujatosť.

V súhrne

Dátový kanál je základom systému ML a zaslúži si viac úsilia ako model. Umiestnite overenie na vrch; robiť rozhodnutia o čistení a označovaní so znalosťou domény; zabrániť úniku (skupinovému a časovému) v oddelení; opraviť verziu údajov a seed. AI generuje kód a nápady na tomto riadku, ale je na vás, aby ste sa rozhodli, ktoré údaje spracujete a ako – pretože každé nesprávne rozhodnutie tu prechádza do modelu ako skrytá chyba.

Aplikačná úloha

Napíšte schému overenia (pandera/Great Expectations) na svoj vlastný súbor údajov a zámerne pridajte zlý riadok a ukážte, že sa to chytilo. Potom rozdeľte údaje dočasne alebo po dávkach, vypočítajte parametre škálovania iba z tréningu a overte, že nedochádza k úniku pomocou tvrdenia. Zapíšte verziu údajov a počet riadkov do súboru metadát.

kontrolný zoznam

  • [ ] Overenie schémy prebieha v hornej časti riadku.
  • [ ] Chýbajúcu hodnotovú stratégiu som zvolil na základe významu poľa, nenapĺňal som ju mechanicky.
  • [ ] Meral som kvalitu štítku (súlad); LLM tagy som skontroloval človekom.
  • [ ] Zabránil som skupinovému a dočasnému úniku v tabuli.
  • [ ] Škálovanie/kódovanie vypočítané len z tréningovej množiny.
  • [ ] Verzia údajov, počet zaznamenaných riadkov a osivo.