Εννέα εργαλεία που εύχομαι να είχα κατακτήσει πριν από το διδακτορικό μου στη μηχανική μάθηση

Κόμβος πηγής: 1875539

Εννέα εργαλεία που εύχομαι να είχα κατακτήσει πριν από το διδακτορικό μου στη μηχανική μάθηση

Είτε δημιουργείτε μια νεοσύστατη επιχείρηση είτε κάνετε επιστημονικές ανακαλύψεις, αυτά τα εργαλεία θα φέρουν τον αγωγό ML στο επόμενο επίπεδο.


By Αλιάκσεϊ Μιχαηλιούκ, Επιστήμονας AI



Εικόνα από συγγραφέα.

 

Παρά τον μνημειώδη ρόλο του στην προώθηση της τεχνολογίας, η ακαδημαϊκή κοινότητα συχνά αγνοεί τα βιομηχανικά επιτεύγματα. Μέχρι το τέλος του διδακτορικού μου διαπίστωσα ότι υπάρχει μια μυριάδα μεγάλων βοηθητικών εργαλείων, που αγνοούνται στον ακαδημαϊκό χώρο, αλλά υιοθετούνται ευρέως στη βιομηχανία.

Από την προσωπική μου εμπειρία γνωρίζω ότι η εκμάθηση και η ενσωμάτωση νέων εργαλείων μπορεί να είναι βαρετή, τρομακτική, θα μπορούσε να αναβάλει και να αποθαρρύνει, ειδικά όταν η τρέχουσα ρύθμιση είναι τόσο οικεία και λειτουργεί.

Η εγκατάλειψη των κακών συνηθειών μπορεί να είναι δύσκολη. Με κάθε εργαλείο που περιγράφεται παρακάτω, έπρεπε να αποδεχτώ ότι ο τρόπος που έκανα τα πράγματα ήταν μη βέλτιστος. Ωστόσο, κατά τη διάρκεια της διαδικασίας έχω μάθει επίσης ότι μερικές φορές τα αποτελέσματα που δεν παρατηρήθηκαν προς το παρόν αποδίδουν δέκα φορές σε μεταγενέστερο στάδιο.

Παρακάτω μιλάω για τα εργαλεία που έχω βρει πολύ χρήσιμα για την έρευνα και τη δημιουργία εφαρμογών μηχανικής μάθησης, τόσο ως ακαδημαϊκός όσο και ως μηχανικός τεχνητής νοημοσύνης. Ομαδοποιώ τα εργαλεία σε τέσσερις ενότητες με βάση τον σκοπό τους: απομόνωση περιβάλλοντος, παρακολούθηση πειραμάτων, συνεργασία και οπτικοποίηση.

Απομονωτικά περιβάλλοντα

 
 
Η μηχανική μάθηση είναι ένας τομέας με εξαιρετικά γρήγορη ανάπτυξη και ως εκ τούτου τα πακέτα που χρησιμοποιούνται συνήθως ενημερώνονται πολύ συχνά. Παρά τις προσπάθειες προγραμματιστών, οι νεότερες εκδόσεις συχνά δεν είναι συμβατές με τις προηγούμενες. Και αυτό προκαλεί πολύ πόνο!

Ευτυχώς υπάρχουν εργαλεία για την επίλυση αυτού του προβλήματος!

Λιμενεργάτης

 
 



Εικόνα από συγγραφέα.

 

Πόσες φορές σας προκάλεσαν προβλήματα αυτά τα προγράμματα οδήγησης NVIDIA; Κατά τη διάρκεια του διδακτορικού μου είχα μια μηχανή διαχείρισης πανεπιστημίου που ενημερωνόταν τακτικά. Ενημερώθηκε μέσα σε μια νύχτα και χωρίς καμία ειδοποίηση. Φανταστείτε την έκπληξή μου όταν το πρωί μετά την ενημέρωση διαπιστώσω ότι το μεγαλύτερο μέρος της δουλειάς μου δεν είναι πλέον συμβατό με τα πιο πρόσφατα προγράμματα οδήγησης.

Αν και δεν προορίζεται άμεσα για αυτό, το docker σας σώζει από αυτά τα ιδιαίτερα αγχωτικά πριν από την προθεσμία ατυχίες.

Το Docker επιτρέπει την αναδίπλωση λογισμικού σε πακέτα που ονομάζονται δοχεία. Τα δοχεία είναι μεμονωμένες μονάδες που έχουν το δικό τους λογισμικό, βιβλιοθήκες και αρχεία διαμόρφωσης. Σε απλοποιημένη προβολή, ένα κοντέινερ είναι ένα ξεχωριστό, ανεξάρτητο εικονικό λειτουργικό σύστημα που διαθέτει μέσα επικοινωνίας με τον έξω κόσμο.

Το Docker διαθέτει μια πληθώρα έτοιμων δοχείων για χρήση, χωρίς μεγάλη γνώση του πώς να διαμορφώσετε τα πάντα μόνοι σας, είναι πολύ εύκολο να ξεκινήσετε με τα βασικά.

Για όσους θέλουν να ξεκινήσουν γρήγορα, δείτε αυτό φροντιστήριοΤο Επίσης το Amazon AWS έχει κάνει εξαιρετική δουλειά εξηγώντας γιατί και πώς να χρησιμοποιήσετε το docker για μηχανική εκμάθηση εδώ.

Conda

 
 
Η επαναχρησιμοποίηση κάποιου κώδικα έγινε νέος κανόνας σήμερα. Κάποιος δημιουργεί ένα χρήσιμο αποθετήριο στο github, κλωνοποιείτε τον κώδικα, εγκαθιστάτε και λαμβάνετε τη λύση σας χωρίς να χρειάζεται να γράψετε τίποτα μόνοι σας.

Υπάρχει μια μικρή ταλαιπωρία όμως. Όταν χρησιμοποιούνται πολλά έργα μαζί αντιμετωπίζετε πρόβλημα διαχείρισης πακέτων, όπου διαφορετικά έργα απαιτούν διαφορετικές εκδόσεις πακέτων.

Χαίρομαι που ανακάλυψα την Conda όχι τόσο αργά στο διδακτορικό μου. Το Conda είναι ένα σύστημα διαχείρισης πακέτων και περιβάλλοντος. Επιτρέπει τη δημιουργία πολλαπλών περιβαλλόντων και εγκαθιστά γρήγορα, τρέχει και ενημερώνει πακέτα και τις εξαρτήσεις τους. Μπορείτε να αλλάξετε γρήγορα μεταξύ απομονωμένων περιβαλλόντων και να είστε πάντα βέβαιοι ότι το έργο σας αλληλεπιδρά μόνο με τα πακέτα που αναμένετε.

Η Conda παρέχει τη δική τους φροντιστήριο για το πώς να δημιουργήσετε το πρώτο σας περιβάλλον.

Εκτέλεση, παρακολούθηση και καταγραφή πειραμάτων

 
 
Δύο βασικοί πυλώνες, χωρίς τους οποίους η απόκτηση διδακτορικού τίτλου σε εφαρμοσμένο τομέα είναι σχεδόν αδύνατη είναι η αυστηρότητα και η συνέπεια. Και αν έχετε προσπαθήσει ποτέ να εργαστείτε με μοντέλα μηχανικής εκμάθησης, πιθανότατα γνωρίζετε πόσο εύκολο είναι να χαλαρώσετε τις δοκιμασμένες παραμέτρους. Παλιά η παρακολούθηση παραμέτρων γινόταν σε φορητούς υπολογιστές εργαστηρίου, είμαι βέβαιος ότι αυτά εξακολουθούν να είναι πολύ χρήσιμα σε άλλους τομείς, αλλά στην Επιστήμη των Υπολογιστών έχουμε τώρα εργαλεία πολύ πιο ισχυρά από αυτό.

Βάρη και προκαταλήψεις

 
 



Στιγμιότυπο του πίνακα wandb για ένα σύνολο απλών μετρήσεων - απώλεια τρένου, ρυθμός μάθησης και μέση απώλεια επικύρωσης. Παρατηρήστε ότι μπορείτε επίσης να παρακολουθείτε τις παραμέτρους του συστήματος! Εικόνα από Συγγραφέα.

 

experiment_res_1.csv
experiment_res_1_v2.csv
experiment_res_learning_rate_pt_5_v1.csv
...


Φαίνονται οικεία αυτά τα ονόματα; Αν ναι, τότε θα πρέπει να ενισχυθούν οι ικανότητες παρακολούθησης του μοντέλου σας. Wasμουν εγώ τον πρώτο χρόνο του διδακτορικού μου. Ως δικαιολογία, θα πρέπει να πω ότι είχα ένα υπολογιστικό φύλλο όπου θα καταγράφω τις λεπτομέρειες κάθε πειράματος και όλων των σχετικών αρχείων. Ωστόσο, εξακολουθεί να είναι πολύ μπερδεμένο και κάθε αλλαγή στην καταγραφή παραμέτρων θα επηρεάσει αναπόφευκτα τα σενάρια μετά την επεξεργασία.

Τα βάρη και οι προκαταλήψεις (W & B/wandb) είναι ένας από τους πολύτιμους λίθους που βρήκα αρκετά αργά, αλλά τώρα χρησιμοποιείται σε κάθε έργο. Σας επιτρέπει να παρακολουθείτε, να συγκρίνετε, να οπτικοποιήσετε και να βελτιστοποιήσετε πειράματα μηχανικής εκμάθησης με μερικές γραμμές κώδικα. Σας επιτρέπει επίσης να παρακολουθείτε τα σύνολα δεδομένων σας. Παρά τον μεγάλο αριθμό επιλογών, βρήκα το W&B εύκολο στη ρύθμιση και τη χρήση με μια πολύ φιλική διεπαφή ιστού.

Για όσους ενδιαφέρονται, δείτε το σεμινάριο γρήγορης εγκατάστασής τους εδώ.

Ροή ML

 
 



Εικόνα από συγγραφέα.

 

Παρόμοια με το W&B, το MLFlow παρέχει λειτουργικότητα για την καταγραφή κώδικα, μοντέλων και συνόλων δεδομένων στα οποία έχει εκπαιδευτεί το μοντέλο σας. Παρόλο που το έχω χρησιμοποιήσει αποκλειστικά για σκοπούς καταγραφής δεδομένων, μοντέλων και κώδικα, παρέχει λειτουργικότητα πέρα ​​από αυτό. Επιτρέπει τη διαχείριση ολόκληρου του κύκλου ζωής του ML, συμπεριλαμβανομένου του πειραματισμού, της αναπαραγωγιμότητας και της ανάπτυξης.

Αν θέλετε να το ενσωματώσετε γρήγορα στα μοντέλα σας, ελέγξτε το φροντιστήριοΤο Τα Databricks έχουν επίσης μοιραστεί ένα πολύ ωραίο εξήγηση του MLflow.

Οθόνη

 
 
Το να αφήσω τα πειράματα να λειτουργούν όλη τη νύχτα και να ελπίζω ότι το μηχάνημά σας δεν θα κοιμηθεί ήταν η επιλογή μου να πάω στο πρώτο εξάμηνο του διδακτορικού μου. Όταν η εργασία μετακινήθηκε στο τηλεχειριστήριο, ανησυχούσα μήπως σπάσει η συνεδρία ssh - ο κώδικας λειτουργούσε για αρκετές ώρες και σχεδόν συγκλίνει.

Έμαθα για οθόνη λειτουργούσα μάλλον αργά, και έτσι δεν μπορούσα να γλιτώσω από τα μισά υποστηριζόμενα αποτελέσματα το πρωί. Αλλά σε αυτή την περίπτωση είναι πράγματι καλύτερα αργά παρά ποτέ.

Οθόνη σας επιτρέπει να ξεκινήσετε και να χρησιμοποιήσετε πολλαπλές περιόδους κελύφους από μία συνεδρία ssh. Η διαδικασία ξεκίνησε με οθόνη μπορεί να αποσυνδεθεί από τη συνεδρία και στη συνέχεια να επανασυνδεθεί αργότερα. Έτσι, τα πειράματά σας μπορούν να εκτελεστούν στο παρασκήνιο, χωρίς να χρειάζεται να ανησυχείτε για το κλείσιμο της συνεδρίας ή τη διακοπή λειτουργίας του τερματικού.

Η λειτουργικότητα συνοψίζεται εδώ.

Συνεργασία

 
 
Το Academia φημίζεται για το ότι δεν διαθέτει κατάλληλους μηχανισμούς για αποτελεσματική διαχείριση ομάδας. Σε κάποιο βαθμό αυτό δικαιολογείται από πολύ αυστηρές απαιτήσεις για προσωπική συνεισφορά. Ωστόσο, ο ρυθμός με τον οποίο προχωρά η μηχανική μάθηση χρειάζεται κοινή προσπάθεια. Παρακάτω είναι δύο μάλλον βασικά εργαλεία που θα ήταν χρήσιμα για αποτελεσματική επικοινωνία, ειδικά στη νέα σφαίρα της εξ αποστάσεως εργασίας.

GitHub

 
 
Αρκετά βασικό, ε; Αφού είδα όλη τη φρίκη για το πώς οι άνθρωποι παρακολουθούν τον κώδικα τους στο accademia, δεν μπορώ να τονίσω πόσο σημαντικό είναι να γνωρίζεις καλά τον έλεγχο της έκδοσης. Δεν υπάρχουν άλλοι φάκελοι με όνομα code_v1, code_v2.

Το Github παρέχει ένα πολύ χρήσιμο πλαίσιο για την παρακολούθηση, τη συγχώνευση και τον έλεγχο κώδικα. Κάθε φορά που μια ομάδα χτίζει ένα μέτρηση βαθιάς ποιότητας εικόνας κάθε μέλος θα μπορούσε να έχει τον δικό του κλάδο του κώδικα, λειτουργώντας παράλληλα. Στη συνέχεια μπορούν να συγχωνευτούν διαφορετικά μέρη του διαλύματος. Κάθε φορά που κάποιος παρουσιάζει ένα σφάλμα, είναι πολύ εύκολο να επιστρέψει στην έκδοση εργασίας. Συνολικά, κατατάσσω το git ως το πιο σημαντικό από όλα τα εργαλεία που έχω αναφέρει σε αυτό το άρθρο.

Ελέγξτε αυτό βήμα προς βήμα καθοδηγήσει για το πώς να ξεκινήσετε γρήγορα.

Lucidchart

 
 
Το Lucidchart μου παρουσιάστηκε πρόσφατα, πριν από αυτό που χρησιμοποιούσα draw.io - μια πολύ απλή διεπαφή για τη δημιουργία διαγραμμάτων. Το Lucidchart είναι χιλιάδες φορές πιο ισχυρό και έχει πολύ πιο ευέλικτη λειτουργικότητα. Η κύρια δύναμή του είναι ο κοινόχρηστος χώρος συνεργασίας και η ικανότητα σημειώσεων δίπλα στα διαγράμματα. Φανταστείτε έναν τεράστιο διαδικτυακό πίνακα με ένα τεράστιο σύνολο προτύπων.

Για γρήγορη εκκίνηση, ελέγξτε το φροντιστήριο σελίδα του Lucidchart.

Οπτικοποίηση (visualisation)

 
 
Πολυάριθμες υποβολές χαρτιού, ιδιαίτερα ανεπιτυχείς, με δίδαξαν ότι η παρουσίαση είναι συχνά εξίσου σημαντική με τα αποτελέσματα. Εάν ο κριτικός, ο οποίος συνήθως δεν έχει πολύ χρόνο, δεν καταλαβαίνει το κείμενο, το έργο απορρίπτεται αμέσως. Οι εικόνες που έγιναν βιαστικά προκαλούν κακή εντύπωση. Κάποιος μου είπε κάποτε: "Εάν δεν μπορείτε να κάνετε ένα γράφημα, πώς μπορώ να εμπιστευτώ τα αποτελέσματά σας;". Διαφωνώ με αυτή τη δήλωση, ωστόσο, συμφωνώ ότι η εντύπωση έχει σημασία.

Inkscape

 
 
Μια εικόνα αξίζει όσο χίλιες λέξεις (στην πραγματικότητα, διόρθωση 84.1 λέξη).

Το Inkscape είναι ένα ΔΩΡΕΑΝ λογισμικό για διανυσματικά γραφικά. Στην πραγματικότητα διδάχθηκα πώς να το χρησιμοποιώ στο μάθημα ανάπτυξης ιστοσελίδων στο προπτυχιακό μου. Ωστόσο, έμαθα πώς να το απολαμβάνω πλήρως μόνο κατά τη διάρκεια του διδακτορικού μου - δουλεύοντας σε αυτές τις όμορφες εικόνες για τα χαρτιά.

Από όλες τις λειτουργίες που παρέχει το Inkscape ήταν ιδιαίτερα πολύτιμη Κείμενο κειμένου επέκταση. Με αυτό το πακέτο μπορείτε να ενσωματώσετε το δικό σας κόμμι τύπους απλώς σε μια εικόνα.

Υπάρχουν μυριάδες μαθήματα, ωστόσο για τη βασική λειτουργικότητα θα συνιστούσα αυτά που παρέχονται από την ομάδα του Inkscape εδώ.

Ροή

 
 
Χρειάστηκε ποτέ να δημιουργήσετε έναν απλό ιστότοπο για την προβολή των αποτελεσμάτων σας ή μια απλή εφαρμογή μηχανικής εκμάθησης; Σε λίγες μόνο γραμμές κώδικα python είναι δυνατό με το Streamlit.

Το βρήκα ιδιαίτερα χρήσιμο για συμπληρωματικό υλικό από χαρτί, ωστόσο μπορεί να είναι ακόμη πιο χρήσιμο για εύκολη ανάπτυξη και προβολή επιδείξεων έργων σε πελάτες.

Για μια γρήγορη εκκίνηση, δείτε αυτό φροντιστήριο.

Περίληψη και πέρα

 
 
Δεν ήταν εύκολο να τελειώσω το διδακτορικό μου ενώ τοποθετήθηκα στη βιομηχανία. Μου έδωσε όμως πολλά σημαντικά μαθήματα που θα ήθελα να είχα σε προηγούμενο στάδιο του διδακτορικού μου.

Το πιο σημαντικό μάθημα είναι ότι η περιέργεια και η ετοιμότητα για μάθηση και αλλαγή μπορούν να επηρεάσουν σημαντικά την ποιότητα της εργασίας σας.

Παρακάτω είναι η περίληψη των σεμιναρίων που έχω αναφέρει σε κάθε ενότητα:

Λιμενεργάτηςφροντιστήριο
Condaφροντιστήριο
Βάρη και προκαταλήψειςφροντιστήριο
Ροή MLφροντιστήριο
GitHubφροντιστήριο
Οθόνηφροντιστήριο
Inkscapeφροντιστήριο
Ροήφροντιστήριο
Lucidchartφροντιστήριο

Αν σας άρεσε αυτό το άρθρο μοιραστείτε το με ένα φίλο σας! Για να διαβάσετε περισσότερα σχετικά με θέματα μηχανικής μάθησης και επεξεργασίας εικόνας, πατήστε εγγραφή!

Μου έχει λείψει τίποτα; Μη διστάσετε να αφήσετε μια σημείωση, να σχολιάσετε ή να μου στείλετε μήνυμα απευθείας!

 
Bio: Αλιάκσεϊ Μιχαηλιούκ έχει αποδεδειγμένο ιστορικό έρευνας, ανάπτυξης, ανάπτυξης και συντήρησης αλγορίθμων μηχανικής μάθησης στο Computer Vision, Preference Aggregation και Natural Language Processing.

Πρωτότυπο. Αναδημοσιεύτηκε με άδεια.

Συγγενεύων:

Πηγή: https://www.kdnuggets.com/2021/09/nine-tools-mastered-before-phd-machine-learning.html

Σφραγίδα ώρας:

Περισσότερα από KDnuggets