Τίτλος μαθήματος | Συστήματα για Μηχανική Μάθηση Μεγάλης Κλίμακας | |||||||||||||
Κωδικός μαθήματος | CSE 522 | |||||||||||||
Τύπος μαθήματος | Υποχρεωτικό | |||||||||||||
Επίπεδο | Μεταπτυχιακό | |||||||||||||
Έτος / Εξάμηνο | Πρώτο Έτος / Α Εξάμηνο | |||||||||||||
Όνομα διδάσκοντα | Μιχαήλ Σιριβιανός | |||||||||||||
ECTS | 8 | |||||||||||||
Σκοπός και στόχοι μαθήματος | Το μάθημα εμβαθύνει στις αρχές σχεδιασμού και υλοποίησης κατανεμημένων και δικτυωμένων λειτουργικών συστημάτων για Μηχανική Μάθηση. Δίνεται έμφαση σε κλασσικές αρχές σχεδιασμού λειτουργικών συστημάτων και στην περιγραφή της υλοποίησης σύγχρονων συστημάτων που αποτελούν τη βάση της υποδομής επεξεργασίας και αποθήκευσης μεγάλων δεδομένων στο υπολογιστικό νέφος. Η ύλη του μαθήματος περιλαμβάνει τα ακόλουθα. Virtual Memory, Process Management και Inter-process Communication. Το λειτουργικό σύστημα Unix. Log-structured συστήματα αρχείων. Κατανεμημένα συστήματα αρχείων. Virtual Machines. Θέματα που αφορούν τον κύκλο ζωής της ανάλυσης δεδομένων για Μηχανική Μάθηση (ML), περιλαμβανομένων των data sourcing and preparation για ML, προγραμματιστικά μοντέλα ML, συστήματα για κλιμακώσιμη δημιουργία μοντέλων ML, και αναδυόμενα θέματα όπως διακυβέρνηση ML συστημάτων, επεξηγησιμότητα, και ηθική (fairness, transparency, etc.) της Μηχανικής Μάθησης. | |||||||||||||
Μαθησιακά αποτελέσματα | Στο τέλος του μαθήματος οι διδασκόμενοι θα είναι εις θέση να: 1. περιγράψουν τις σημαντικότερες αρχές σχεδιασμού κατανεμημένων συστημάτων. 2. περιγράψουν και χρησιμοποιήσουν βασικές τεχνικές υλοποίησης κατανεμημένων συστημάτων μεγάλης κλίμακας. 3. κατανοήσουν τις αρχές λειτουργίας της υποδομής υπολογιστικού νέφους και Μηχανικής Μάθησης της Google, Amazon, Facebook και άλλων γιγαντιαίων διαδικτυακών υπηρεσιών. 4. διαβάζουν και να κατανοούν ερευνητικές αναφορές της μηχανικής υπολογιστικών συστημάτων. 5. κατανοούν την υλοποίηση ενός περίπλοκου και μεγάλης κλίμακας κατανεμημένου συστήματος για Μηχανική Μάθηση ώστε να μπορούν να το τροποποιήσουν και να αξιολογήσουν την απόδοση του. | |||||||||||||
Προαπαιτούμενα | Προπτυχιακά μαθήματα στους τομείς των Λειτουργικών Συστημάτων, των Υπολογιστικών Δικτύων και της Μηχανικής Μάθησης | |||||||||||||
Περιεχόμενο μαθήματος | Εβδομάδα 1: Process Management. The Unix Time Sharing System Εβδομάδα 2: Memory Management Εβδομάδα 3: File Systems. Virtual Machines: LFS, Xen Εβδομάδα 4: Infrastructures for Big Data (Google): Google Filesystem, Google BigTable, Google Borg Εβδομάδα 5: ML Lifecycle Overview Εβδομάδα 6: Classical ML Training at Scale: Parameter Server, XGBoost Εβδομάδες 7-8: Deep Learning Systems: TensorFlow, TVM Εβδομάδες 9-10: System-assisted Feature Engineering and Model Selection: Cerebro, MSMS Εβδομάδα 11: Data Sourcing and Preparation: TFDV, Snorkel Εβδομάδες 12-13: ML Deployment; Clipper Online Prediction Serving System, Federated Learning | |||||||||||||
Μεθοδολογία διδασκαλίας | Εβδομαδιαίες διαλέξεις με παρουσιάσεις ερευνητικών άρθρων, συνοδευόμενες από διαφάνειες και σημειώσεις που διανέμονται από τον διδάσκοντα. Προφορικές ερωτήσεις επί των άρθρων και απαντήσεις των φοιτητών στην τάξη. Συζητήσεις που ενισχύουν την κριτική σκέψη, αφού ανατεθούν στους φοιτητές εργασίες περίληψης άρθρων σε δύο σελίδες. | |||||||||||||
Βιβλιογραφία | Κύρια βιβλιογραφία του μαθήματος: Ερευνητικά άρθρα που θα γίνονται διαθέσιμα στο Moodle. Προαιρετικά: Operating Systems Concepts (book) by Silberschatz, Galvin, and Gagne Book slides at http://codex.cs.yale.edu/avi/os-book/OS9/slide-dir/ Οι διαλέξεις Data Systems for Machine Learning του Arun Kumar | |||||||||||||
Αξιολόγηση |
Περιλήψεις Ερευνητικών Άρθρων: Πριν από κάθε μάθημα οι φοιτητές/τριες θα πρέπει να παραδίδουν περίληψη του άρθρου προς συζήτηση. Κάθε φοιτητής/τρια θα πρέπει να παραδίδει τη δική του/της περίληψη. Οι περιλήψεις θα βαθμολογούνται με 1-5 βάσει του κατά πόσο ικανοποιούν τις οδηγίες που περιγράφονται στο Moodle. Παρουσιάσεις Ερευνητικών Άρθρων: Σε μερικές διαλέξεις, ομάδες 2 φοιτητών θα ετοιμάσουν μια μονόωρη παρουσίαση για το άρθρο που συζητείται. Η παρουσίαση θα βαθμολογείται ανά ομάδα. Η παρουσίαση θα πρέπει να είναι ενδελεχής (30-40 διαφάνειες) και θα πρέπει να αφήνει περιθώρια για πολλές ερωτήσεις και απαντήσεις από διδάσκοντα και συμφοιτητές. Όλοι οι φοιτητές, συμπεριλαμβανόμενων και αυτών που παρουσιάζουν το άρθρο, θα πρέπει να υποβάλλουν περίληψή του και θα πρέπει να συμμετέχουν κανονικά στη συζήτηση καθώς θα βαθμολογηθούν ως αναφέρεται πιο πάνω. Τελική Εξέταση: Θα γίνει με κλειστά βιβλία και σημειώσεις. Θα περιλαμβάνει ερωτήσεις πάνω σε ερευνητικά άρθρα και σημειώσεις που συμπεριλαμβάνονται στην ύλη του μαθήματος. Η εξέταση θα γίνει με πρόσβαση στο διαδίκτυο αλλά μόνο για να κατεβάσετε τα ερευνητικά άρθρα και τις σημειώσεις. Απαγορεύεται η χρήση Generative AI σε οποιαδήποτε μορφή (περιλαμβανόμενων εργαλείων εξυπνότερης αναζήτησης όπως το Perplexity). Σημείωση: Μεταπτυχιακοί φοιτητές που έχουν διδαχθεί την προπτυχιακή εκδοχή του μαθήματος θα κάνουν παρουσίαση δύο ερευνητικών ερευνητικών άρθρων σε ομάδες των δύο. Κάθε παρουσίαση θα αντιστοιχεί στο 20% του συνολικού βαθμού. Επίσης θα πρέπει να παραδώσουν και να παρουσιάσουν με 10 διαφάνειες μία εξαμηνιαία εργασία χρήσης ή τροποποίησης και μέτρησης ενός υπολογιστικού εργαλείου μεγάλης κλίμακας εξ αυτών που διδάσκονται στο μάθημα. Η εξαμηνιαία εργασία θα αποτελεί το 60% του συνολικού βαθμού. | |||||||||||||