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