ΙΔΙΩΤΙΚΗ ΥΠΟΔΟΜΗ OFFSHORE
Αποκλειστικοί διακομιστές & GPUΓια προχωρημένους · 6 λεπτά ανάγνωσης

Δημιουργήστε έναν προϋπολογισμό VRAM GPU πριν επιλέξετε υλικό

Λάβετε υπόψη βάρη, ενεργοποιήσεις, caches και προσωρινά buffers, και μετά δοκιμάστε το φορτίο αιχμής αντί μόνο το αρχείο του μοντέλου.

Από SwissOctet Editorial
Η ΑΜΕΣΗ ΑΠΑΝΤΗΣΗ

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

01

Επιλέξτε το φόρτο εργασίας πριν επιλέξετε το GPU

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

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

02

Διαχωρίστε τα μόνιμα δεδομένα από τη μνήμη εργασίας

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

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

Συστατικό μνήμηςΤι το αλλάζειΠώς να το διερευνήσετε
Βάρη ή στοιχεία σκηνήςΜέγεθος μοντέλου, αναπαράσταση και φορτωμένα στοιχείαΕπιθεωρήστε τη μορφή που έχει αναπτυχθεί και την πραγματική φορτωμένη εκχώρηση
Ενδιάμεσα αποτελέσματαΣχήμα εισόδου και μέγεθος παρτίδαςΜετρήστε μια πλήρη αντιπροσωπευτική λειτουργία
Κρυφές μνήμεςΜήκος αιτήματος και παραλληλισμόςΑσκήστε το μέγιστο υποστηριζόμενο φόρτο εργασίας
Χώροι εργασίας και χρόνος εκτέλεσηςΒιβλιοθήκες, πυρήνες και στρατηγική εκτέλεσηςΠαρατηρήστε τη μέγιστη χρήση συσκευής και πλαισίου
03

Μετρήστε τη μέγιστη χρήση μέσω της σωστής προβολής

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

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

04

Αντιμετωπίστε το μέγεθος παρτίδας και την ακρίβεια ως επιλογές σχεδιασμού

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

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

05

Κρατήστε και την υπόλοιπη μηχανή στον προϋπολογισμό

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

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

06

Χρησιμοποιήστε ένα αντιπροσωπευτικό τεστ αποδοχής

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

Το Tensor GPU παρουσιάζει επιλογές σχετικές με GPU στον κατάλογο SwissOctet. Επιβεβαιώστε την ακριβή συσκευή, τη VRAM ανά συσκευή, τη συμβατότητα οδηγών και την επιλεγμένη διαμόρφωση πριν βασιστείτε σε αυτό. Ο ιστότοπος δεν παρέχει εγγύηση καταλληλότητας για συγκεκριμένη εφαρμογή. Ένα τεκμηριωμένο τεστ αποδοχής συνδέει αυτές τις λεπτομέρειες υλικού με την εργασία που χρειάζεστε να εκτελέσει το μηχάνημα.

ΜΕΤΑΤΡΕΨΤΕ ΤΟ ΣΕ ΔΡΑΣΗ

Η πρακτική λίστα ελέγχου σας.

  • Επιβεβαιώστε την υποστηριζόμενη αρχιτεκτονική GPU και τον χρόνο εκτέλεσης.
  • Υπολογίστε βάρη, ενδιάμεσα, κρυφές μνήμες και χώρους εργασίας.
  • Μετρήστε τις κορυφώσεις στη μέγιστη προβλεπόμενη είσοδο και παραλληλισμό.
  • Συγκρίνετε τις προβολές μνήμης του πλαισίου και σε επίπεδο συσκευής.
  • Επικυρώστε την έξοδο μετά από αλλαγές ακρίβειας ή μορφής.
  • Επιβεβαιώστε την ακριβή VRAM ανά συσκευή πριν παραγγείλετε.
ΣΥΧΝΕΣ ΕΡΩΤΗΣΕΙΣ

Οι λεπτομέρειες που έχουν σημασία.

Το αποθηκευμένο μέγεθος του μοντέλου ισούται με τη ζήτηση VRAM;+

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

Η προσθήκη μιας δεύτερης GPU θα διπλασιάσει αυτόματα τη χρησιμοποιήσιμη μνήμη;+

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

Μπορεί η μειωμένη ακρίβεια να λύσει πάντα ένα πρόβλημα εξάντλησης μνήμης;+

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

ΚΥΡΙΕΣ ΑΝΑΦΟΡΕΣ

Πηγαίνετε στην πηγή.

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

  1. NVIDIA: Ξεκινήστε με την απόδοση βαθιάς μάθησης docs.nvidia.com
  2. PyTorch: Κατανόηση της χρήσης μνήμης CUDA docs.pytorch.org
  3. PyTorch: Διαχείριση μνήμης CUDA docs.pytorch.org

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

ΣΥΝΔΕΣΤΕ ΤΗ ΓΝΩΣΗ

Σχετική υποδομή.

ΚΡΑΤΗΣΤΕ ΤΟ ΝΗΜΑ

Οι επόμενες σημειώσεις πεδίου σας.

Εξερευνήστε κάθε οδηγό
ΣΗΜΕΙΩΣΗ ΠΕΔΙΟΥ / 02
Αποθήκευση & ανάκτησηΘεμέλια

Πότε το NVMe κάνει τη διαφορά για την εφαρμογή σας

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

4 λεπτά ανάγνωσηςΔιαβάστε τον οδηγό
ΣΗΜΕΙΩΣΗ ΠΕΔΙΟΥ / 03
Αποκλειστικοί διακομιστές & GPUΕφαρμοσμένο

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

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

6 λεπτά ανάγνωσηςΔιαβάστε τον οδηγό