Βασικές αρχές της AI

Μέτρηση και Μείωση του Αποτυπώματος Άνθρακα της Τεχνητής Νοημοσύνης με το CodeCarbon

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google

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

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

Βασικά σημεία

  • Η κατανάλωση ενέργειας και οι εκπομπές άνθρακα σχετίζονται, αλλά δεν είναι ταυτόσημες· η ένταση άνθρακα του δικτύου διαφέρει ανά περιοχή και χρόνο.
  • Το CodeCarbon εκτιμά την ενέργεια CPU, GPU και μνήμης, και στη συνέχεια εφαρμόζει παράγοντες εκπομπών που εξαρτώνται από την τοποθεσία.
  • Η αξιοποίηση του υλικού, η διάρκεια εκτέλεσης, το κόστος λειτουργίας του κέντρου δεδομένων και η πηγή μέτρησης επηρεάζουν την ακρίβεια.
  • Ο πρακτικός στόχος είναι η συγκρίσιμη αναφορά και μείωση, όχι ψεύτικη ακρίβεια.
Measuring and Reducing AI’s Carbon Footprint with CodeCarbon diagram showing workload, power telemetry, energy, grid intensity, co₂e estimate, reduce + report
Καθορίστε τα όρια και την αβεβαιότητα· χρησιμοποιήστε τις εκτιμήσεις για σύγκριση και μείωση.

Ενέργεια, ισχύς και ένταση άνθρακα

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

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

Τι μετρά το CodeCarbon

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

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

Επιλέξτε όριο αναφοράς

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

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

Μειώστε πριν την αντιστάθμιση

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

Προγραμματίστε ευέλικτη εργασία σε περιοχές ή χρόνους με χαμηλότερο άνθρακα, όπου είναι νομικά και λειτουργικά πρακτικό. Συμπιέστε τα μοντέλα και επιλέξτε αποδοτικό υλικό εξυπηρέτησης· η edge AI μπορεί να μειώσει τη μεταφορά δεδομένων, αλλά μπορεί επίσης να διπλασιάσει αχρησιμοποίητο υλικό, γι’ αυτό μετρήστε ολόκληρο το σύστημα.

Αναφέρετε την αβεβαιότητα και συγκρίνετε δίκαια

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

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

Τι εκτιμά το CodeCarbon

Το CodeCarbon εκτιμά την κατανάλωση ενέργειας και τις εκπομπές άνθρακα που σχετίζονται με έναν υπολογισμό. Ανάλογα με το περιβάλλον και τη διαθέσιμη τηλεμετρία, μπορεί να διαβάσει την ισχύ CPU, GPU, RAM ή του συστήματος, να ενσωματώσει την ενέργεια με την πάροδο του χρόνου και να πολλαπλασιάσει με μια εκτίμηση έντασης άνθρακα για την περιοχή του ηλεκτρικού ρεύματος. Τα αποτελέσματα είναι εκτιμήσεις που διαμορφώνονται από την κάλυψη υλικού, το διάστημα δειγματοληψίας, την ανάθεση διαδικασίας, τα μοντέλα ισχύος, την τοποθεσία και τα δεδομένα του δικτύου. Θα πρέπει να περιλαμβάνουν μονάδες, έκδοση, μεθοδολογία και αβεβαιότητα, αντί να αναφέρονται ως ακριβείς φυσικές μετρήσεις.

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

Σχεδίαση ενός ουσιαστικού πειράματος μέτρησης

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

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

Αναφορά και διακυβέρνηση

Δημοσιεύστε τη μεθοδολογία, την έκδοση λογισμικού, το υλικό, την γεωγραφική υπόθεση, το μέτρο ποιότητας και την αβεβαιότητα μαζί με την εκτίμηση. Αποφύγετε τη σύγκριση οργανισμών που χρησιμοποιούν διαφορετικά όρια. Ορίστε προϋπολογισμούς και ελέγξτε τα μεγάλα πειράματα πριν εκτελεστούν, αλλά μην ανταμείψετε τις ομάδες για την απόκρυψη υπολογισμών εκτός των μετρημένων περιβαλλόντων. Διασφαλίστε τα μεταδεδομένα του πειράματος και αποφύγετε την καταγραφή ιδιωτικών προτροπών ή δεδομένων. Το CodeCarbon καθιστά το περιβαλλοντικό κόστος ορατό και συγκρίσιμο μέσα σε μια πειθαρχημένη μέθοδο· δεν μπορεί να παρέχει πλήρη εκτίμηση κύκλου ζωής ή να αντικαταστήσει ανεξάρτητα επαληθευμένους λογαριασμούς ενέργειας και άνθρακα.

Παραδείγματος χάρη: σύγκριση δύο εκτελέσεων εκπαίδευσης μοντέλου

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

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

Απόδειξη υλοποίησης και ετοιμότητα λειτουργίας

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

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

Συχνές ερωτήσεις

Το CodeCarbon μετρά άμεσα το CO₂ που προέρχεται από έναν υπολογιστή;

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

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

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

Κύριες αναφορές

Blogger και προγραμματιστής με ειδικότητες στα Machine Learning και Deep Learning θέματα. Ο Daniel ελπίζει να βοηθήσει τους άλλους να χρησιμοποιήσουν τη δύναμη του AI για κοινωνικό καλό.