Κέρδη:
- Δυνατότητα ρύθμισης μιας διοχέτευσης δεδομένων (συλλογή, επικύρωση, καθαρισμός, μετασχηματισμός, διαχωρισμός, έκδοση) και τοποθέτηση επικύρωσης σχήματος στην αρχή του αγωγού
- Δυνατότητα λήψης αποφάσεων που λείπουν για τις τιμές και την επισήμανση βάσει της σημασίας και της διαίρεσης πεδίου για την αποφυγή διαρροής δεδομένων (ομαδική και χρονική)
- Δυνατότητα δημιουργίας μιας αναπαραγώγιμης βάσης δεδομένων με τον καθορισμό της έκδοσης δεδομένων και του τυχαίου σπόρου
Η πραγματική δύναμη κάθε συστήματος μηχανικής μάθησης βρίσκεται στα δεδομένα και όχι στο μοντέλο. Οι έμπειροι μηχανικοί γνωρίζουν: «σκουπίδια μέσα, σκουπίδια έξω» — ακόμη και το πιο προηγμένο μοντέλο που τροφοδοτείται με κακά δεδομένα θα έχει άσχημα αποτελέσματα. Σε αυτήν την ενότητα, καθιερώνουμε τη γραμμή δεδομένων (data pipeline: η αλυσίδα βημάτων που καθιστούν τα ακατέργαστα δεδομένα έτοιμα για εκπαίδευση μοντέλων) από άκρη σε άκρη και μαθαίνουμε σε ποιο βήμα αυτής της γραμμής μπορούμε να χρησιμοποιήσουμε με ασφάλεια την τεχνητή νοημοσύνη.
Βήματα γραμμής δεδομένων
Μια γραμμή δεδομένων συνήθως διέρχεται από αυτές τις στάσεις:
- Συλλογή (απορρόφηση): Τραβήξτε δεδομένα από πηγές (βάση δεδομένων, API, αρχεία καταγραφής, ροές συμβάντων).
- Επικύρωση: Έλεγχος εάν τα δεδομένα συμμορφώνονται με το αναμενόμενο σχήμα, τους τύπους και τα εύρη.
- Καθαρισμός: Χειρισμός τιμών που λείπουν, διπλότυπες εγγραφές, ακραίες τιμές και ασυνέπειες.
- Μετασχηματισμός: Μετατροπή ακατέργαστων δεδομένων σε χαρακτηριστικά — όπως η μετατροπή μιας κατηγορικής μεταβλητής σε αριθμό, η παραγωγή μιας "ημέρας της εβδομάδας" από μια ημερομηνία.
- Διαίρεση: Διαχωρισμός σε σετ εκπαίδευσης, επικύρωσης και δοκιμών.
- Versioning: Καταγραφή του μοντέλου με ποια δεδομένα εκπαιδεύτηκε.
Η τεχνητή νοημοσύνη εξοικονομεί χρόνο δημιουργώντας προσχέδια κώδικα και ιδέες, ειδικά στα βήματα 2, 3 και 4. Αλλά αποφάσεις όπως ποια εγγραφή να απορριφθεί, ποια τιμή λείπει να συμπληρωθεί και πώς, ανήκουν στον μηχανικό που γνωρίζει τα δεδομένα. επειδή ο ακατάλληλος καθαρισμός μπορεί να προκαλέσει μια κρυφή προκατάληψη στο μοντέλο.
Επαλήθευση δεδομένων: έγκαιρη υπεράσπιση της γραμμής
Τα πιο ακριβά σφάλματα ξεκινούν όχι στην παραγωγή, αλλά όπου παραλείπεται το βήμα επαλήθευσης. Η επικύρωση σχήματος ελέγχει αυτόματα εάν κάθε εισερχόμενη παρτίδα δεδομένων συμμορφώνεται με την αναμενόμενη δομή. Για παράδειγμα, η στήλη ηλικία είναι μεταξύ 0-120, είναι κενό το πεδίο email, έχει αλλάξει ο αριθμός των στηλών;
Συμβουλή: Βάλτε την επαλήθευση στην αρχή της γραμμής. Όσο πιο γρήγορα συλληφθούν τα κατεστραμμένα δεδομένα, τόσο φθηνότερο είναι να διορθωθούν. Ένα σφάλμα σχήματος που εντοπίζεται στην παραγωγή είναι πολλές φορές πιο ακριβό από ένα σφάλμα που συλλαμβάνεται στη φάση της εκπαίδευσης.
Γράψτε ένα σχήμα επικύρωσης με pandera (ή Μεγάλες προσδοκίες) για το ακόλουθο σχήμα δεδομένων. Στήλες και κανόνες: - user_id: ακέραιος, δεν μπορεί να είναι μηδενικός, μοναδικός- ηλικία: ακέραιος, δεν μπορεί να είναι από 0-120- signup_date: ημερομηνία, δεν μπορεί να είναι στη μελλοντική χώρα: κατηγορία, από το σύνολο {TR, DE, US, UK}- υπόλοιπο: δεκαδικό, δεν μπορεί να είναι αρνητικό Δημιουργήστε ένα ουσιαστικό μήνυμα σφάλματος για κάθε παράβαση κανόνα. Δείξτε τη δοκιμή με ένα παράδειγμα διακεκομμένης γραμμής στο τέλος του κώδικα.
Καθαρισμός: είναι ο άνθρωπος που αποφασίζει
Οι τιμές που λείπουν είναι μια πραγματικότητα κάθε συνόλου δεδομένων. Τρόποι χειρισμού:
- Διαγραφή: Απόρριψη γραμμής/στήλης με πολύ υψηλό ποσοστό ελλείψεων. Υπάρχει όμως κίνδυνος απώλειας πληροφοριών και μεροληψίας.
- Καταλογισμός: Καταλογισμός με μέση, διάμεση, πιο συχνή τιμή ή πρόβλεψη βάσει μοντέλου.
- Σημαία: Αποθήκευση πληροφοριών "έλλειπε" σε ξεχωριστή στήλη σημαίας — μερικές φορές το ίδιο το σήμα που λείπει είναι το σήμα.
Ποιο είναι το σωστό εξαρτάται από το πρόβλημα. Σε ένα σύνολο ιατρικών δεδομένων, οι πληροφορίες "μη μετρημένη τιμή αίματος" θα πρέπει να διατηρούνται αντί να διαγράφονται. Γιατί ακόμη και η άρνηση του γιατρού να κάνει μετρήσεις είναι σήμα. Το AI μπορεί να σας δώσει επιλογές και κώδικα. Εσείς επιλέγετε ποιο ταιριάζει στην πραγματικότητα του γηπέδου.
Αδύναμη προτροπή / Ισχυρή προτροπή
Αδύναμη προτροπή: "Συμπληρώστε τις τιμές που λείπουν."
Ισχυρή προτροπή: "Λείπουν τιμές στις ακόλουθες στήλες: εισόδημα (12% λείπει, κατανομή με λοξή δεξιά), last_login (λείπει 30%). Προτείνετε συμπλήρωση του εισοδήματος με διάμεσο, αλλά εξηγήστε γιατί το μέσο και όχι το μέσο. Σημειώστε τη μεροληψία που θα προσέθετε στο μοντέλο οποιαδήποτε προσέγγιση."
Διαφορά: η ισχυρή προτροπή δίνει πληροφορίες διανομής και νόημα περιοχής. Η τεχνητή νοημοσύνη παράγει υποστήριξη αποφάσεων αντί για μηχανικό γέμισμα.
Επισήμανση: η ποιότητα μετριέται
Στην εποπτευόμενη μάθηση (μάθηση στην οποία δίνονται παραδείγματα με τις σωστές απαντήσεις), αυτό που μαθαίνει το μοντέλο είναι οι ετικέτες (ετικέτες: η σωστή απάντηση για κάθε παράδειγμα). Η ποιότητα της ετικέτας θέτει ένα ανώτατο όριο — αν οι άνθρωποι δίνουν ετικέτες με ασυνέπεια, το μοντέλο μαθαίνει ασυνεπή.
Η συμφωνία μεταξύ σχολιαστών μετρά τον ρυθμό με τον οποίο διαφορετικά άτομα δίνουν την ίδια ετικέτα στο ίδιο δείγμα. Εκφράζεται με έναν συντελεστή όπως ο Κάπα του Κοέν. Η χαμηλή συμμόρφωση υποδηλώνει είτε η εργασία είναι ασαφής είτε η οδηγία είναι αδύναμη.
Η τεχνητή νοημοσύνη βοηθά στην επισήμανση με δύο τρόπους: (1) τη σύνταξη της κατευθυντήριας γραμμής για τον σχολιασμό, (2) την προεπισήμανση και τη διόρθωση μόνο από τον άνθρωπο. Αλλά η προεπισήμανση με LLM έχει μια παγίδα: το συστηματικό σφάλμα του μοντέλου μπορεί να διαρρεύσει σε ολόκληρο το σύνολο ετικετών. Γι' αυτό οι άνθρωποι ελέγχουν πάντα ορισμένες από τις ετικέτες LLM.
Προσοχή: Μη θεωρείτε τις ετικέτες που παράγονται από την LLM ως «βασική αλήθεια». Ελέγξτε ένα δείγμα με άνθρωπο και μετρήστε την προσαρμογή LLM-ανθρώπου. Εάν η συμμόρφωση είναι χαμηλή, η προεπισήμανση θα κάνει περισσότερο κακό παρά καλό.
Διαμέρισμα δεδομένων: αποτρέψτε τη διαρροή
Το πιο επικίνδυνο λάθος κατά τον διαχωρισμό των δεδομένων σε εκπαίδευση/επικύρωση/δοκιμή είναι η διαρροή δεδομένων: η ανάμειξη των πληροφοριών δοκιμής στην εκπαίδευση. Παραδείγματα:
- Τα αρχεία του ίδιου χρήστη εμπίπτουν τόσο στην εκπαίδευση όσο και στη δοκιμή (διαρροή ομάδας).
- Χρήση του μέλλοντος στην εκπαίδευση και του παρελθόντος στη δοκιμή σε χρονοσειρές (χρονική διαρροή).
- Υπολογισμός παραμέτρων κλιμάκωσης (κανονικοποίησης) από όλα τα δεδομένα και στη συνέχεια διαίρεση.
Η χρονική διάσπαση είναι απαραίτητη για προβλήματα που αφορούν το χρόνο: εκπαίδευση με το παρελθόν, δοκιμή στο μέλλον. Ο τυχαίος διαχωρισμός δίνει ένα «μελλοντικό» όφελος που δεν θα συμβεί ποτέ στην παραγωγή και διογκώνει τις μετρήσεις.
Εκδόσεις και αναπαραγωγιμότητα δεδομένων
"Με ποια δεδομένα εκπαιδεύσαμε αυτό το μοντέλο;" Το να μπορείς να απαντήσεις στην ερώτηση μήνες αργότερα είναι το χαρακτηριστικό γνώρισμα της σοβαρής μηχανικής ML. Η δημιουργία εκδόσεων δεδομένων αποθηκεύει κάθε στιγμιότυπο δεδομένων με ένα αναγνωριστικό (hash ή ετικέτα έκδοσης). Εργαλεία όπως δεδομένα έκδοσης DVC (Data Version Control), όπως κώδικας.
Για να αναπαραχθεί το αποτέλεσμα ενός μοντέλου, πρέπει να διορθωθούν τρία πράγματα: η έκδοση δεδομένων, η έκδοση κώδικα και ο τυχαίος σπόρος. Δεν γίνεται να πεις «πήρα το ίδιο αποτέλεσμα» χωρίς αυτή την τριάδα. Θα εμβαθύνουμε την Αναπαραγωγιμότητα στην ενότητα 11. αλλά ο καθορισμός του σπόρου στον αγωγό δεδομένων ξεκινά από εδώ.
τρεις μίνι θήκες
Περίπτωση 1 - Η επικύρωση του σχήματος ημέρας αποθηκεύτηκε. Όταν μια ομάδα μετέτρεψε ένα πεδίο τιμών ανάντη συστήματος από πένες σε λίρες, όλες οι τιμές έπεσαν 100 φορές. Η επικύρωση σχήματος απέρριψε την παρτίδα ως "τιμή εκτός εύρους" και το μοντέλο δεν εκπαιδεύτηκε με κατεστραμμένα δεδομένα. Χωρίς επαλήθευση, το σφάλμα θα παρατηρηθεί μόνο στην παραγωγή, με λανθασμένες προβλέψεις.
Περίπτωση 2 - Προκατάληψη λανθασμένης πλήρωσης. Σε ένα πιστωτικό μοντέλο, οι ελλείπουσες τιμές εισοδήματος συμπληρώθηκαν με τον μέσο όρο. Αλλά τα εισοδήματα που λείπουν ήταν κυρίως στην ομάδα χαμηλού εισοδήματος. ο μέσος όρος «εμπλούτισε» τεχνητά αυτή την ομάδα και το μοντέλο τους πρόσφερε ένα άδικα υψηλό όριο. Διορθώθηκε το πρόβλημα με τη σημαία μέσης + έλλειψης.
Περίπτωση 3 - Χρονική διαρροή. Ένα μοντέλο πρόβλεψης ζήτησης φαινόταν υπέροχο στο σετ δοκιμών (ακρίβεια 95%) αλλά κατέρρευσε στην παραγωγή. Γιατί: λόγω του τυχαίου διαχωρισμού, το μοντέλο είχε δει το μέλλον. Η μετάβαση σε προσωρινή δέσμευση μείωσε την ακρίβεια της δοκιμής στο 78% — αλλά αυτή ήταν πραγματική απόδοση και τη διατήρησε στην παραγωγή.
Αντιγράψιμα πρότυπα
Διαχωρίστε το ακόλουθο σύνολο δεδομένων σε τρία σύνολα: εκπαίδευση/επικύρωση/δοκιμή.Περιορισμός: Αυτή είναι μια χρονοσειρά. Χρησιμοποιήστε TEMPORAL splitting (τρένο στο παρελθόν, δοκιμή στο μέλλον). Αποτρέψτε τη διαρροή παρτίδας: έχετε το ίδιο «customer_id» μόνο σε ένα σύμπλεγμα. Υπολογίστε τις παραμέτρους κλιμάκωσης ΜΟΝΟ από το σετ εκπαίδευσης και, στη συνέχεια, εφαρμόστε σε όλα. Εκτυπώστε πόσες γραμμές απομένουν στον κώδικα σε κάθε βήμα και προσθέστε μια δήλωση που ελέγχει για μη διαρροές.
Γράψτε μια πρόχειρη οδηγία σχολιασμού για αυτήν την εργασία επισήμανσης. Εργασία: [π.χ. Επισημάνετε την κριτική πελατών θετική/αρνητική/ουδέτερη]Διευκρινίστε τις οριακές περιπτώσεις: σαρκασμός, ανάμεικτα συναισθήματα, πώς να επισημάνετε την κριτική που δεν σχετίζεται με το προϊόν; Δώστε 5 παραδείγματα και 3 δύσκολες περιπτώσεις αιχμής που θα αυξήσουν τη συνέπεια μεταξύ των ετικετών.
Δημιουργήστε μια λίστα ελέγχου αναπαραγωγιμότητας για αυτόν τον αγωγό δεδομένων:- Πώς πρέπει να διορθωθεί η έκδοση δεδομένων;- Ποιοι σπόροι τυχαίας πρέπει να οριστούν πού;- Ποια μεταδεδομένα (κατακερματισμός δεδομένων, πλήθος σειρών, ημερομηνία) πρέπει να καταγραφούν; Η βάση του κωδικού μου: [γλώσσα/βιβλιοθήκη]
Ελέγξτε αυτόν τον κωδικό εκκαθάρισης για διαρροή δεδομένων. Δείτε συγκεκριμένα αυτό: οι παράμετροι κλιμάκωσης/κωδικοποίησης υπολογίζονται ΠΡΙΝ τον διαχωρισμό; Υπολογίζονται κάποια στατιστικά στοιχεία από όλα τα δεδομένα ή μόνο από την εκπαίδευση; Κωδικός: [κωδικός]
Πίνακας αποφάσεων: στρατηγική αξίας που λείπει
Κατάσταση
Συνιστώμενη προσέγγιση
Γιατί
Αριθμητική, λοξή κατανομή
συμπληρώστε με διάμεσο
Ο μέσος όρος επηρεάζεται από ακραίες τιμές
Αριθμητικό, συμμετρικό
συμπληρώστε με μέσο όρο
Προστατεύει τις πληροφορίες
Η έλλειψη μπορεί να είναι σημαντική
Επισήμανση στήλης + γέμισμα
Η έλλειψη είναι σήμα
Ποσοστό που λείπει > 60%
Αξιολόγηση/απόρριψη στήλης
Ο θόρυβος είναι πολύς
Κατηγορηματικός
Κατηγορία "Άγνωστη".
Δεν δημιουργεί τεχνητή πλειοψηφία
Συνήθη λάθη
- Παράβλεψη επαλήθευσης. Χωρίς έλεγχο σχήματος, τα κατεστραμμένα δεδομένα εισέρχονται σιωπηλά.
- Κλίμακα πριν από τη διάσπαση. Διαρροή στατιστικών δοκιμών στην εκπαίδευση.
- Χρήση τυχαίας διαίρεσης σε χρονοσειρές. Παράγει ψεύτικες υψηλές μετρήσεις.
- Εμπιστευόμαστε τυφλά τις ετικέτες LLM. Το συστηματικό σφάλμα εξαπλώνεται σε όλα τα δεδομένα.
- Δεν αποθηκεύεται η έκδοση δεδομένων. Δεν μπορείτε να αναπαράγετε το αποτέλεσμα.
- Μηχανική πλήρωση με μέτρια. Αγνοεί το νόημα του πεδίου, προσθέτει προκατάληψη.
Συνοπτικά
Η διοχέτευση δεδομένων είναι το θεμέλιο του συστήματος ML και αξίζει περισσότερη προσπάθεια από το μοντέλο. Βάλτε την επαλήθευση στην κορυφή. Λήψη αποφάσεων καθαρισμού και επισήμανσης με γνώσεις τομέα. αποτρέψτε τη διαρροή (ομαδική και χρονική) στο διαμέρισμα. επιδιορθώστε την έκδοση δεδομένων και το seed. Η τεχνητή νοημοσύνη δημιουργεί κώδικα και ιδέες σε αυτή τη γραμμή, αλλά εξαρτάται από εσάς να αποφασίσετε ποια δεδομένα θα επεξεργαστείτε και πώς — επειδή κάθε λάθος απόφαση εδώ περνά στο μοντέλο ως κρυφό ελάττωμα.
Εργασία εφαρμογής
Γράψτε ένα σχήμα επικύρωσης (pandera/Great Expectations) στο δικό σας σύνολο δεδομένων και σκόπιμα προσθέστε μια κακή σειρά και δείξτε ότι πιάστηκε. Στη συνέχεια, διαχωρίστε τα δεδομένα προσωρινά ή κατά παρτίδες, υπολογίστε τις παραμέτρους κλιμάκωσης μόνο από την εκπαίδευση και επαληθεύστε ότι δεν υπάρχει διαρροή με μια δήλωση. Γράψτε την έκδοση δεδομένων και τον αριθμό σειρών σε ένα αρχείο μεταδεδομένων.
λίστα ελέγχου
- [ ] Η επικύρωση σχήματος εκτελείται στην κορυφή της γραμμής.
- [ ] Επέλεξα τη στρατηγική τιμής που λείπει με βάση τη σημασία του πεδίου, δεν τη συμπλήρωσα μηχανικά.
- [ ] Μέτρησα την ποιότητα της ετικέτας (συμμόρφωση). Έλεγξα από τον άνθρωπο ετικέτες LLM.
- [ ] Απέτρεψα ομαδική και χρονική διαρροή στο παράθυρο.
- [ ] Η κλιμάκωση/κωδικοποίηση υπολογίζεται μόνο από το σετ εκπαίδευσης.
- [ ] Έκδοση δεδομένων, αριθμός σειρών και σπόρος που καταγράφηκαν.