Jedinica 11 / 11

Reproducibilnost i projekat od kraja do kraja: Kombinacija svega

Dobici:

  • Sposobnost da se osigura ponovljivost s četiri stupa (fiksiranje sjemena, verzija podataka, zamrzavanje medija, praćenje eksperimenta) i proizvede isti rezultat pri ponavljanju iste serije
  • Mogućnost kombinovanja svih stanica modula (metrika, podaci, model, LLM komponente, evaluacija, pravednost, sigurnost, distribucija, nadzor) u lancu od kraja do kraja
  • Sposobnost da se potvrdi da kritična odluka ostaje na čovjeku na svakom zaustavljanju i dokumentuje projekat na način koji se može revidirati

Najpodmukliji neuspjeh ML projekta nije krah; "Neću ponovo dobiti isti rezultat." Ako danas ne možete reproducirati rezultat modela koji ste pustili u proizvodnju prije tri mjeseca, vi zapravo ne kontrolirate taj model. U ovoj završnoj jedinici produbljujemo reproduktivnost: sposobnost da se pouzdano dobije isti rezultat sa istim inputima i kombinuje cijeli modul u projektnoj disciplini od kraja do kraja.

Zašto je reproduktivnost teška

U običnom softveru, isti kod daje isti izlaz. U ML postoji mnogo više varijabli koje određuju ishod:

  • Slučajnost: miješanje podataka, inicijalizacija težine, podjela podataka — sve se oslanja na slučajnost.
  • Podaci: Isti kod proizvodi drugačiji model s različitim verzijama podataka.
  • Okruženje: Verzije biblioteke, hardver (CPU/GPU), čak i operativni sistem mogu promijeniti rezultat.
  • Skriveni slučaj: nesačuvani hiperparametar, korak ručne preprocesiranja, nezabilježeni odabir.

Reproducibilnost nije "lepo imati" već naučni i inženjerski imperativ. Rezultat koji se ne može reproducirati je tvrdnja koja se ne može dokazati.

Četiri stuba ponovljivosti

1. Ispravite slučajnost. Postavite sve nasumične osnove na jedno mjesto: podjelu podataka, inicijalizaciju modela, miješanje podataka. Fiksno sjeme je osnova garancije "isti rezultat kada ponovite istu vožnju".

2. Verzija podataka. Zabilježite s kojom verzijom podataka je izveden svaki eksperiment (verzija podataka u jedinici 2). “Najnoviji podaci” su nejasni; "verzija podataka v3, hash abc123" je tačna.

3. Zamrznite medijum. Zakačite sve zavisnosti na njihove tačne verzije (npr. tačne verzije kao što je numpy==1.26.4 u requirements.txt ili sliku kontejnera). "Najnovija verzija" će jednog dana sve pokvariti.

4. Pratite sve (praćenje eksperimenta). Automatski sačuvaj za svaki eksperiment: verziju koda (git urezivanje), verziju podataka, sve hiperparametre, metriku i izlazne strukture. Alati za praćenje eksperimenta kao što su MLflow, Weights & Biases to rade sistematski. Bez registracije, pitanje "koja postavka je najbolja" ostaje bez odgovora.

Oprez: "Setiću se kasnije" je najskuplja zabluda. Dvije sedmice kasnije nećete se sjetiti koje seme, koje podatke, koji hiperparametar ste koristili. Automatsko praćenje eliminira oslanjanje na memoriju.

Slab pristup / Snažan pristup

Slabo: "Našao sam najbolji model, nalazi se na notebook-u, mislim da je njegov rezultat bio 89%."

Snažno: "Pokreni #147 u alatu za praćenje eksperimenta: git urezivanje a3f9c, verzija podataka v3 (haš abc123), sjeme 42, svi hiperparametri registrirani, test PR-AUC 0,887. Kada ponovo pokrenem istu naredbu, dobivam isti rezultat malo po bit. Model ovisi o ovom pokretanju u registru."

Razlika: u snažnom pristupu rezultat nije zasnovan na memoriji, već na fiksnom i praćenom lancu. Svako može proizvesti isti rezultat svaki put.

Projekt od kraja do kraja: kombinacija modula

Sada kombinujmo cijeli modul u jedan tok projekta. Pravi ML sistem prolazi kroz ove stanice, a svaka stanica se nadovezuje na prethodnu:

  1. Definicija problema: Šta rješavamo, kako mjeriti uspjeh (jedinica 3: pravi pokazatelj, poslovni kontekst). metrika i prag su jasni od samog početka.
  2. Cjevovod podataka: prikupljanje, validacija, čišćenje, particioniranje bez curenja, upravljanje verzijama (jedinica 2).
  3. Razvoj modela: Obuka, poređenje osnovnog stanja, unakrsna validacija, tvrdo sjeme (jedinica 3 + ova jedinica).
  4. Komponente LLM-a (ako je primjenjivo): RAG (jedinica 4) i/ili agenti (jedinica 5); fino podešavanje ako je potrebno (jedinica 6).
  5. Evaluacija: eval klaster sa rubnim i sigurnosnim slučajevima, višeslojna evaluacija u LLM sistemima (jedinica 8).
  6. Revizija pravde i etike: Analiza podgrupa, model kartice, objašnjivost (jedinica 10).
  7. Revizija sigurnosti: Promptna injekcija, privatnost, lanac nabavke (jedinica 9).
  8. Distribucija: Pakovanje, postepena distribucija, rollback, registar modela (jedinica 7).
  9. Monitoring: Troslojni nadzor, alarmi za zanošenje (cjelina 8).
  10. Reproducibilnost: Sjeme, verzija podataka, praćenje medija i eksperimenta kroz cijeli lanac (ova jedinica).

U ovom toku, AI je akcelerator i generator nacrta na svakom zaustavljanju; ali odabir metrike, odluke o podacima, pravedno određivanje prioriteta, prag implementacije i odobrenje izdavanja — kritične odluke ostaju za čovjekom. Ovo je suština modula.

Dokumentacija: budućnost će vam biti zahvalna

Dobar ML projekat dokumentuje sam sebe. U najmanju ruku, treba napisati sljedeće: kriteriji problema i uspjeha, izvor podataka i verzija, izbor modela i opravdanja, rezultati evaluacije (uključujući podgrupe), poznata ograničenja i rizici, postupak implementacije i pronalaženja, plan praćenja. Ovaj dokument je najbolji prijatelj osobe (možda ste to vi) koja se vraća projektu nakon šest mjeseci.

tri mini kofera

Slučaj 1 - Izgubljeni rezultat. Inženjer je obučio odličan model, ali nije popravio seme i nije sačuvao verziju podataka. Kada je napustio posao, niko nije mogao da ponovi taj rezultat; model je postao "legenda crne kutije" i na kraju je napravljen od nule. Protraćene su sedmice. Pouka: rezultat koji se ne može reproducirati je nepostojeći rezultat.

Slučaj 2 - Kolaps životne sredine. Jedan tim nije popravio zavisnosti. Kada je biblioteka automatski ažurirana, izlazi modela su se tiho mijenjali i proizvodnja je prekinuta. Trebali su dani da se pronađe problem. Kada su zavisnosti bile zamrznute i kontejnerizovane sa definitivnim verzijama, problem se više nije pojavio. Lekcija: zamrznite okolinu.

Slučaj 3 - Moć praćenja. Tim je automatski pratio svaki eksperiment. Tri mjeseca kasnije, tokom regulatorne revizije, odgovorili su na pitanje "sa kojim podacima, s kojim postavkama, kakav učinak je postigao u kojim grupama?" sa potpunim snimkom u roku od nekoliko minuta. Inspekcija je protekla bez problema. Pouka: nadzor je alat za usklađenost, a ne samo inženjerski.

Predlošci koji se mogu kopirati

Uradite provjeru obnovljivosti za ovaj ML projekat.- Da li su sve početne vrijednosti nasumice fiksne (podijelite, inicijalizirajte, pomiješate)?- Da li su podaci verzionirani?- Jesu li zavisnosti zamrznute na tačne verzije?- Da li se prati svaki eksperiment (urezivanje koda, podaci, hiperparametar, metrika)? Napišite konkretne korake kako to popraviti za svaku kolonu koja nedostaje. Struktura projekta: [opis]

Napravite kostur plana za ovaj end-to-end ML projekat. Problem: [opis] Pokrijte sljedeća stajališta i označite gdje je LJUDSKA odluka na svakoj stanici: problem/metrički, cjevovod, model, (RAG/agent/fino podešavanje?), procjena, pravednost, sigurnost, distribucija, praćenje, reproduktivnost. Napišite glavni rizik i korak verifikacije za svako zaustavljanje.

Napravite predložak tehničke dokumentacije za ovaj projekat. Odjeljci: problem+kriterijumi uspjeha, podaci (izvor+verzija), odabir modela+opravdanje, evaluacija (uključujući podgrupe), poznata ograničenja+rizici, implementacija+povratak, plan praćenja. Navedite polja koja treba popuniti za svaki odjeljak kao pitanja.

Provjerite postavke praćenja mog eksperimenta: Da li se automatski pohranjuje pri svakom pokretanju: git urezivanje, verzija/haš podataka, svi hiperparametri, sve metrike, okruženje (verzije biblioteke)? Da li dobijem isti rezultat kada ponovo trčim istu trku? Podešavanje: [opis]. Navedite nedostatke i ispravke.

Tablica kolona ponovljivosti

kolona

Šta je popravljeno

Primjer vozila

slučajnost

sve sjemenke

postavljanje sjemena

Podaci

Verzija podataka/heš

DVC

okruženje

Bibliotečke verzije

pin zahtjeva, Docker

Monitoring

Kôd+podaci+postavka+metrika

MLflow, W&B

Uobičajene greške

  • Ne popravlja seme. Rezultat se ne može ponoviti.
  • Ne čuva se verzija podataka. "S kojim podacima?" ostaje bez odgovora.
  • Ne smrzavajući ovisnosti. Ažuriranje će tiho pokvariti sve.
  • Ostavljajući eksperimente za pamćenje. Dvije sedmice kasnije ništa se ne pamti.
  • Prepuštanje kritičnih odluka vještačkoj inteligenciji. Odluke o mjerilima, pravdi i distribuciji trebaju ostati za ljude.
  • Odlaganje dokumentacije. Budući tim (i vi) plaćate cijenu.

Ukratko

Reproducibilnost je potpis ozbiljnog ML inženjeringa: rezultat koji se ne može reproducirati je nedokaziva tvrdnja. Dolazi sa četiri kolone - popravi slučajnost, podatke o verziji, zamrznuto okruženje, prati svaki eksperiment. Projekat od kraja do kraja kombinuje sve tačke ovog modula (metrika, podaci, model, LLM komponente, evaluacija, pravednost, bezbednost, distribucija, praćenje) u međusobno povezanom lancu; Umjetna inteligencija je akcelerator na svakoj stanici, ali kritične odluke ostaju za čovjekom. Dokumentirajte sve — za budući tim i revizije. Ova disciplina je okvir koji podržava sve što naučite tokom modula.

Zadatak aplikacije

Provjerite ML projekat u odnosu na četiri stupa ponovljivosti: da li su seme nepromjenjive, da li su podaci verzionirani, da li je okruženje zamrznuto, da li se eksperimenti prate? Ispravite kolone koji nedostaju i dokažite da možete dvaput pokrenuti isto trčanje i dobiti isti rezultat. Zatim ispišite tok projekta od kraja do kraja (10 zaustavljanja) na jednoj stranici i označite "gdje je ljudska odluka" na svakoj stanici. Na kraju, napišite kratki nacrt tehničke dokumentacije.

kontrolna lista

  • [ ] Sve početne vrijednosti slučajnosti su popravljene.
  • [ ] Verzija podataka/heš se snima uz svaki eksperiment.
  • [ ] Zavisnosti su zamrznute na čvrste verzije (pin/kontejner).
  • [ ] Svaki eksperiment se automatski prati (kod+podaci+postavka+metrika).
  • [ ] Kada ponovim istu trku, dobijem isti rezultat.
  • [ ] Proverio sam i dokumentovao da kritične odluke u toku od kraja do kraja donose ljudi.

Modul Exam

1. Kao inženjer ML-a, koji je najbolji pristup pri pozicioniranju vještačke inteligencije u toku rada?

  • A) AI je akcelerator u niskorizičnim poslovima; Kritične odluke poput metrike, podataka i proizvodnje ostaju potvrđene i prepuštene čovjeku ✔
  • B) Sve dok AI izlazi izgledaju dobro, nema potrebe za provjerom
  • C) Prepuštanje odluke o puštanju modela u proizvodnju umjetnoj inteligenciji štedi vrijeme.
  • D) Umjetna inteligencija je korisna samo za pisanje teksta, nema nikakve veze s podacima i radom modela

Opis: AI je moćan akcelerator za niskorizične, lako provjerljive zadatke kao što su kod, sažetak podataka i dokumenti; Međutim, odgovornost za odluke koje utiču na novac, povjerljivost i pravnu odgovornost, kao što je odabir metrike, koji podaci idu u obuku, i stavljanje modela u proizvodnju, leži na kvalifikovanom inženjeru i timu. Svaki izlaz ne treba koristiti bez verifikacije.

2. Zašto je provjera valjanosti sheme postavljena na početak cjevovoda podataka?

  • A) Zato što direktno povećava tačnost modela
  • B) Zato što čini verzioniranje podataka nepotrebnim
  • C) Zato što hvata oštećene podatke u najranijem i najjeftinijem trenutku i sprečava njihovo curenje u naredne korake ✔
  • D) Zato što eliminiše potrebu za označavanjem

Objašnjenje: Što su oštećeni podaci ranije uhvaćeni, to je jeftinije popraviti ih. Validacija šeme sprečava nečujno curenje korumpiranih podataka u obuku ili proizvodnju odbijanjem podataka izvan očekivanog tipa i raspona na početku linije (npr. pomeranje cene 100x sa promenom jedinice); Ista greška uhvaćena u proizvodnji je višestruko skuplja.

3. Koji je ispravan pristup kada se podaci dijele na obuku i testiranje u problemu koji uključuje vrijeme (vremenske serije)?

  • A) Korištenje slučajnog dijeljenja jer je to uvijek najpoštenija metoda
  • B) Korištenje vremenskog cijepanja: spriječite curenje treniranjem s prošlošću i testiranjem u budućnosti ✔
  • C) Korištenje svih podataka i za obuku i za testiranje
  • D) Uključivanje testnih podataka u parametre skaliranja prije treninga

Objašnjenje: Slučajno dijeljenje na vremenske serije daje modelu prednost 'vidi budućnost' koja se nikada neće dogoditi u proizvodnji i umjetno naduvava metriku (vremensko curenje). Ispravna je vremenska podjela: treniraj s prošlošću, testiraj u budućnosti. Ovo mjeri stvarne performanse koje ga održavaju u proizvodnji.

4. Zašto je tačnost pogrešna u modelu otkrivanja prijevare s pozitivnom stopom klase od 1,5%?

  • A) Zato što je tačnost uvijek niska na neuravnoteženim podacima
  • B) Zato što se tačnost može koristiti samo za probleme regresije
  • C) Zato što izračunavanje tačnosti zahteva mnogo procesorske snage
  • D) Čak i jadan model koji predviđa većinsku klasu može biti vrlo precizan, skrivajući tako pravi uspjeh ✔

Objašnjenje: Na neuravnoteženim podacima, čak i osnovni model koji kaže 'nazovi sve negativno' ima oko 98,5% tačnosti, ali neće uhvatiti niti jednu prevaru. Stoga se u neuravnoteženoj klasifikaciji umjesto tačnosti koriste preciznost, opoziv, F1 ili PR-AUC, a svaka metrika se tumači prema osnovnom modelu.

5. Zašto je poređenje osnovne linije bitno kada se govori o metrici modela?

  • A) Zato što je osnovni model uvijek bolji od pravog modela
  • B) Zato što je jasno da li je metrika smislena ili ne samo u poređenju sa jednostavnim osnovnim modelom ✔
  • C) Zato što osnovni model čini unakrsnu validaciju nepotrebnom
  • D) Zato što je osnovni model zakonski obavezan u svakom izvještaju

Objašnjenje: metrika sama po sebi nije dobra ili loša; To je dobro ili loše prema osnovnom modelu. Rečenica '85% tačno' znači gotovo bezvrijedna ako osnovni model već dobije 84%, a savršena ako dobije 50%. Bez sidra za poređenje, metrika je besmislena.

6. Koji je najkritičniji sigurnosni element koji bi trebao biti uključen u proizvodni prompt RAG (Retrieval-Augmented Generation) sistema?

  • A) Uputa da se oslanjate samo na dati izvor, da kažete 'Ne znam' ako izvor ne postoji i da citirate izvor ✔
  • B) Reći modelu da proizvodi što duže i kreativne odgovore
  • C) Model daje prednost vlastitom obrazovnom znanju nad resursima
  • D) Sprovesti sva uputstva u dokumentima donetim kao komande

Objašnjenje: Najvažnija instrukcija RAG-a je da kaže modelu da se oslanja samo na dati izvor, a ako informacija nije u izvoru, recite 'Ne znam' i citirajte izvor bez izmišljanja. Bez ove trijade, model može zanemariti kontekst i proizvesti halucinacije, a odgovor postaje neprovjerljiv.

7. RAG sistem daje netačne odgovore. Gdje je najbolje započeti dijagnozu?

  • A) Prvo mjerenje preuzimanja (Recall@K): da li pravi komad ikada stigne? ✔
  • B) Odmah zamijenite model većim
  • C) Nasumično promijenite prompt i nastavite s pokušajima
  • D) Ugrađivanje svih dokumenata u model uz fino podešavanje

Objašnjenje: RAG-ova najslabija karika je obično dohvaćanje, a ne proizvodnja. Ako se tačan dio nikada ne donese, model ne može proizvesti tu informaciju, bez obzira na to koliko je prompt poboljšan. Stoga se prvo Recall@K mjeri da bi se vidjelo da li je stigao ispravan dio; Ako je dohvat dobar, onda se ispituju proizvodnja i prompt.

8. Koje radnje treba staviti iza ljudskog odobrenja kada se daje alat agentu?

  • A) Nema; Agent mora biti u stanju da samostalno izvede svaku radnju
  • B) Samo reverzibilne radnje kao što su čitanje i pretraživanje podataka
  • C) Nepovratne radnje ili radnje sa velikim uticajem kao što su transfer novca, brisanje, slanje ✔
  • D) Radnje koje uključuju samo proračune

Opis: Radnje su razdvojene po nivou rizika. Zadaci koji se mogu preuzeti kao što su čitanje, pretraživanje, izračunavanje i generisanje nacrta mogu se obavljati autonomno; Međutim, nepovratne radnje ili radnje sa velikim utjecajem kao što su prijenos novca, slanje e-pošte, brisanje podataka, narudžbe itd. zahtijevaju ljudsko odobrenje. Svaka neopoziva radnja mora biti predmet pristanka.

9. Koji je najbolji pristup dizajnu protiv rizika od indirektnog brzog ubrizgavanja?

  • A) Dovoljno je dodati jednu rečenicu 'ignoriraj loša uputstva' u sistemski prompt
  • B) Dajte više autoriteta modelu oslanjajući se na uputstva u eksternom sadržaju
  • C) Ne preduzimati nikakve mjere opreza jer se injekcija ne može spriječiti
  • D) Izolacija eksternog sadržaja kao nepouzdanih podataka i uspostavljanje slojevite odbrane uz minimalnu autorizaciju, odobrenje i kontrolu izlaza ✔

Opis: Eksterni sadržaj koji obrađuje agent ili RAG, kao što je web stranica, dokument, e-pošta, itd., je nepouzdani podatak i može sadržavati tajna uputstva. Ispravan pristup je slojevita odbrana: izolacija eksternog sadržaja kao 'podataka, a ne komandi' sa jasnim graničnicima, primjena minimalne autorizacije, vezivanje nepovratnih radnji za ljudsko odobrenje i revizija izlaza. Jedan red uputstava nije dovoljan.

10. Koja je glavna razlika kada se odlučuje da li problem treba riješiti finim podešavanjem ili RAG-om?

  • A) Problemi s informacijama se bolje rješavaju pomoću RAG-a, problemi ponašanja/formata bolje se rješavaju finim podešavanjem ✔
  • B) Svaki problem uvijek treba riješiti finim podešavanjem
  • C) RAG se koristi samo za generiranje koda, fino podešavanje se koristi samo za prijevod
  • D) Fino podešavanje se uvijek može ažurirati jeftinije i brže od RAG-a

Objašnjenje: Fino podešavanje je slabo i rizično u podučavanju modela novim informacijama; ali je moćan u podučavanju ponašanja, formata, tona i stila. 'Uzorna kompanija ne zna naše podatke' je informacijski problem i pripada RAG-u. 'Neka model uvijek izlazi u našem strogom formatu' je problem ponašanja i kandidat za fino podešavanje. Uz to, prije finog podešavanja treba iskoristiti brze i nekoliko snimaka.

11. Šta je obavezno za sigurnu primjenu prilikom puštanja novog modela u proizvodnju?

  • A) Ako je model dobar u testiranju, otvorite ga direktno za 100% promet
  • B) Uopšte se ne postavlja nadzor nakon raspoređivanja
  • C) Fazna implementacija (senka/kanarinac) i prethodno testirani plan vraćanja ✔
  • D) Objavljivanje modela čak i ako nije ispunjen prag evaluacije

Objašnjenje: Otvaranje novog modela direktno za sav promet je rizično; Ako nije u redu, svi su pogođeni. Ispravna stvar je da je to postepena distribucija (senka, kanarinac) i da svaka distribucija ima testiran plan vraćanja. Distribucija nije potpuna bez plana povrata; Mogućnost da se vratite na prethodnu verziju u roku od nekoliko minuta štiti korisnika kada se model neočekivano ponaša u proizvodnji.

12. Kako ML model može 'tiho' propasti u proizvodnji i koji je način da se to uhvati?

  • A) Model se urušava; zapisnici servera to pokazuju
  • B) Stvaranjem pogrešnih predviđanja bez grešaka; ✔ Snima operativni, ulazni i izlazni slojeviti nadzor
  • C) Model nikada ne može tiho otkazati, uvijek alarm
  • D) Samo praćenje kašnjenja je dovoljno da se uhvati bilo kakva degradacija

Objašnjenje: Model može pokvariti jednostavno stvaranjem pogrešnih predviđanja bez pada ili grešaka; Glavni razlog za to je odstupanje podataka i koncepta. Samo praćenje operativnih metrika (latencija, stopa grešaka) nije dovoljno; distribuciju ulaza i distribuciju izlaza/predviđenja takođe treba pratiti. Odstupanje unosa daje rano upozorenje ako stvarni rezultat kasni.

13. Koji je princip bitan kada se koristi LLM-kao sudija za evaluaciju LLM sistema?

  • A) LLM-sudija je uvijek korektan, ljudska verifikacija je nepotrebna
  • B) Sudija mora donijeti odluku samo na osnovu dužine odgovora.
  • C) Kontrole zasnovane na pravilima i ljudske evaluacije treba potpuno odbaciti kada se koriste sudije
  • D) Sudijske ocjene treba kalibrirati uzorkom označenim ljudima i izmjeriti njihovu pristranost prije nego im se može vjerovati ✔

Opis: LLM-refere je takođe model; Može biti halucinantno, pristrasno (favoriziranje dugih, sigurnih odgovora) i nedosljedno. Prema tome, ocjene sudija moraju biti kalibrirane pomoću uzorka označenog ljudima i njihova sistematska pristranost mora biti izmjerena prije nego što se donese odluka o proizvodnji. Neprovjereni sudija daje lažno povjerenje.

14. Zašto je gledanje na ukupnu tačnost neadekvatno kada se procjenjuje pristrasnost modela?

  • A) Ukupna tačnost je dovoljna jer uvijek odražava učinak najgore grupe
  • B) Ukupna tačnost sama po sebi nije dovoljna jer može prikriti sistematsku razliku (skrivenu diskriminaciju) između podgrupa ✔
  • C) Zato što je tačnost metrika koja nema nikakve veze sa pristrasnošću
  • D) Pristrasnost dolazi samo iz modela i nema nikakve veze sa podacima.

Objašnjenje: Ukupna tačnost može prikriti sistematske razlike između podgrupa. Na primjer, dok je ukupna preciznost 88%, prisjećanje može biti 91% u jednoj grupi i 67% u drugoj grupi; Model sistematski propušta tu grupu. Stoga, model treba ocijeniti na osnovu podgrupa (demografija/segment), a koja definicija pravde treba dati prioritet treba se odlučiti sa zainteresiranim stranama.

15. Koje četiri stvari moraju biti fiksirane zajedno da bi rezultat ML bio ponovljiv?

  • A) Samo naziv modela, veličina, cijena i datum izdavanja
  • B) Samo marka GPU-a i brzina interneta
  • C) Samo konačni rezultat tačnosti modela; ostalo se može sačuvati u memoriji
  • D) Sjeme nasumice, verzija podataka, okruženje (verzije ovisnosti) i praćenje eksperimenta ✔

Opis: Reproducibilnost se postiže kroz četiri stuba: fiksiranje semena slučajnosti, verzionisanje podataka (verzija/heš), zamrzavanje okruženja (tačne verzije biblioteke/kontejner) i praćenje svakog eksperimenta (urezivanje koda, podaci, hiperparametar, metrika). Bez ovog lanca nije moguće reproducirati isti rezultat; Neponovljiv rezultat je tvrdnja koja se ne može dokazati.