Μερικές φορές μπορεί να είναι πολύ ωφέλιμο να χρησιμοποιείτε εργαλεία όπως μεταγλωττιστές που μπορούν να τροποποιήσουν και να μεταγλωττίσουν τα μοντέλα σας για βέλτιστη απόδοση συμπερασμάτων. Σε αυτήν την ανάρτηση, εξερευνούμε το TensorRT και πώς να το χρησιμοποιήσετε Amazon Sage Maker συμπεράσματα χρησιμοποιώντας NVIDIA Triton Inference Server. Εξερευνούμε πώς λειτουργεί το TensorRT και πώς να φιλοξενήσουμε και να βελτιστοποιήσουμε αυτά τα μοντέλα για απόδοση και αποδοτικότητα στο SageMaker. Το SageMaker παρέχει μεμονωμένα τελικά σημεία μοντέλου (ΜΜΕ), που σας επιτρέπουν να αναπτύξετε ένα μόνο μοντέλο ML, ή τελικά σημεία πολλαπλών μοντέλων (MME), τα οποία σας επιτρέπουν να καθορίσετε πολλά μοντέλα για φιλοξενία πίσω από ένα λογικό τελικό σημείο για υψηλότερη χρήση πόρων.
Για την εξυπηρέτηση μοντέλων, το Triton υποστηρίζει διάφορα backends ως μηχανές για την υποστήριξη της λειτουργίας και της εξυπηρέτησης διαφόρων μοντέλων ML για συμπεράσματα. Για οποιαδήποτε ανάπτυξη Triton, είναι σημαντικό να γνωρίζετε πώς η συμπεριφορά του backend επηρεάζει τους φόρτους εργασίας σας και τι να περιμένετε, ώστε να είστε επιτυχημένοι. Σε αυτήν την ανάρτηση, σας βοηθάμε να κατανοήσετε το Backend TensorRT που υποστηρίζεται από το Triton στο SageMaker, ώστε να μπορείτε να λαμβάνετε μια τεκμηριωμένη απόφαση για τον φόρτο εργασίας σας και να έχετε εξαιρετικά αποτελέσματα.
Βαθιά βουτιά στο backend του TensorRT
Το TensorRT σάς δίνει τη δυνατότητα να βελτιστοποιήσετε τα συμπεράσματα χρησιμοποιώντας τεχνικές όπως η κβαντοποίηση, η σύντηξη επιπέδων και τανυστών, ο συντονισμός πυρήνα και άλλες σε GPU της NVIDIA. Με την υιοθέτηση και τη μεταγλώττιση μοντέλων για χρήση του TensorRT, μπορείτε να βελτιστοποιήσετε την απόδοση και τη χρήση για τους φόρτους εργασίας εξαγωγής συμπερασμάτων. Σε ορισμένες περιπτώσεις, υπάρχουν αντισταθμίσεις, κάτι που είναι τυπικό για τεχνικές όπως η κβαντοποίηση, αλλά τα αποτελέσματα μπορεί να είναι δραματικά όσον αφορά την απόδοση, την αντιμετώπιση του λανθάνοντος χρόνου και τον αριθμό των συναλλαγών που μπορούν να υποβληθούν σε επεξεργασία.
Το backend TensorRT χρησιμοποιείται για την εκτέλεση μοντέλων TensorRT. Το TensorRT είναι ένα SDK που αναπτύχθηκε από τη NVIDIA που παρέχει μια βιβλιοθήκη συμπερασμάτων βαθιάς μάθησης υψηλής απόδοσης. Είναι βελτιστοποιημένο για GPU της NVIDIA και παρέχει έναν τρόπο επιτάχυνσης των συμπερασμάτων βαθιάς μάθησης σε περιβάλλοντα παραγωγής. Το TensorRT υποστηρίζει μεγάλα πλαίσια βαθιάς μάθησης και περιλαμβάνει έναν βελτιστοποιητή συμπερασμάτων βαθιάς μάθησης υψηλής απόδοσης και χρόνο εκτέλεσης που παρέχει συμπεράσματα χαμηλής καθυστέρησης και υψηλής απόδοσης για εφαρμογές τεχνητής νοημοσύνης.
Το TensorRT είναι σε θέση να επιταχύνει την απόδοση του μοντέλου χρησιμοποιώντας μια τεχνική που ονομάζεται βελτιστοποίηση γραφήματος για τη βελτιστοποίηση του γραφήματος υπολογισμού που δημιουργείται από ένα μοντέλο βαθιάς μάθησης. Βελτιστοποιεί το γράφημα για να ελαχιστοποιήσει το αποτύπωμα της μνήμης ελευθερώνοντας την περιττή μνήμη και επαναχρησιμοποιώντας την αποτελεσματικά. Η μεταγλώττιση TensorRT συγχωνεύει τις αραιές λειτουργίες μέσα στο γράφημα του μοντέλου για να σχηματίσει έναν μεγαλύτερο πυρήνα για να αποφύγει την επιβάρυνση πολλαπλών εκκινήσεων μικρών πυρήνων. Με τον αυτόματο συντονισμό πυρήνα, ο κινητήρας επιλέγει τον καλύτερο αλγόριθμο για την GPU-στόχο, μεγιστοποιώντας τη χρήση υλικού. Επιπλέον, το TensorRT χρησιμοποιεί ροές CUDA για να επιτρέψει την παράλληλη επεξεργασία μοντέλων, βελτιώνοντας περαιτέρω τη χρήση και την απόδοση της GPU. Τέλος, μέσω της κβαντοποίησης, το TensorRT μπορεί να χρησιμοποιήσει επιτάχυνση μικτής ακρίβειας των πυρήνων Tensor, επιτρέποντας στο μοντέλο να λειτουργεί με ακρίβεια FP32, TF32, FP16 και INT8 για την καλύτερη απόδοση συμπερασμάτων. Ωστόσο, αν και η μειωμένη ακρίβεια μπορεί γενικά να βελτιώσει την απόδοση του λανθάνοντος χρόνου, μπορεί να συνοδεύεται από πιθανή αστάθεια και υποβάθμιση της ακρίβειας του μοντέλου. Συνολικά, ο συνδυασμός τεχνικών του TensorRT οδηγεί σε ταχύτερη εξαγωγή συμπερασμάτων και χαμηλότερο λανθάνοντα χρόνο σε σύγκριση με άλλους κινητήρες συμπερασμάτων.
Το backend TensorRT για τον Triton Inference Server έχει σχεδιαστεί για να εκμεταλλεύεται τις ισχυρές δυνατότητες εξαγωγής συμπερασμάτων των GPU της NVIDIA. Για να χρησιμοποιήσετε το TensorRT ως backend για τον Triton Inference Server, πρέπει να δημιουργήσετε μια μηχανή TensorRT από το εκπαιδευμένο μοντέλο σας χρησιμοποιώντας το TensorRT API. Αυτός ο κινητήρας στη συνέχεια φορτώνεται στον διακομιστή συμπερασμάτων Triton και χρησιμοποιείται για την εκτέλεση συμπερασμάτων σε εισερχόμενα αιτήματα. Τα παρακάτω είναι τα βασικά βήματα για να χρησιμοποιήσετε το TensorRT ως backend για τον διακομιστή συμπερασμάτων Triton:
- Μετατρέψτε το εκπαιδευμένο μοντέλο σας στο ONNX μορφή. Ο διακομιστής Triton Inference υποστηρίζει το ONNX ως μορφή μοντέλου. Το ONNX είναι ένα πρότυπο για την αναπαράσταση μοντέλων βαθιάς μάθησης, επιτρέποντάς τους να μεταφέρονται μεταξύ πλαισίων. Εάν το μοντέλο σας δεν είναι ήδη σε μορφή ONNX, πρέπει να το μετατρέψετε χρησιμοποιώντας το κατάλληλο εργαλείο για συγκεκριμένο πλαίσιο. Για παράδειγμα, στο PyTorch, αυτό μπορεί να γίνει χρησιμοποιώντας το
torch.onnx.export
μέθοδος. - Εισαγάγετε το μοντέλο ONNX στο TensorRT και δημιουργήστε τον κινητήρα TensorRT. Για το TensorRT, υπάρχουν διάφοροι τρόποι για να δημιουργήσετε ένα TensorRT από το μοντέλο ONNX σας. Για αυτήν την ανάρτηση, χρησιμοποιούμε το
trtexec
Εργαλείο CLI.trtexec
είναι ένα εργαλείο για γρήγορη χρήση του TensorRT χωρίς να χρειάζεται να αναπτύξετε τη δική σας εφαρμογή. οtrtexec
Το εργαλείο έχει τρεις κύριους σκοπούς:- Συγκριτική αξιολόγηση δικτύων σε τυχαία ή δεδομένα εισόδου που παρέχονται από τον χρήστη.
- Δημιουργία σειριακών κινητήρων από μοντέλα.
- Δημιουργία σειριακής κρυφής μνήμης χρονισμού από το πρόγραμμα δημιουργίας.
- Φορτώστε τον κινητήρα TensorRT στον διακομιστή συμπερασμάτων Triton. Αφού δημιουργηθεί ο κινητήρας TensorRT, μπορεί να φορτωθεί στον διακομιστή συμπερασμάτων Triton δημιουργώντας ένα διαμόρφωση μοντέλου αρχείο. Η διαμόρφωση του μοντέλου (
config.pbtxt
) το αρχείο πρέπει να περιλαμβάνει τη διαδρομή προς το αρχείο κινητήρα TensorRT και τα σχήματα εισόδου και εξόδου του μοντέλου.
Κάθε μοντέλο σε ένα αποθετήριο μοντέλων πρέπει να περιλαμβάνει μια διαμόρφωση μοντέλου που παρέχει απαιτούμενες και προαιρετικές πληροφορίες σχετικά με το μοντέλο. Συνήθως, αυτή η διαμόρφωση παρέχεται στο α config.pbtxt
αρχείο που ορίζεται ως ModelConfig protobuf. Υπάρχουν πολλά βασικά σημεία που πρέπει να σημειώσετε σε αυτό το αρχείο διαμόρφωσης:
- όνομα – Αυτό το πεδίο ορίζει το όνομα του μοντέλου και πρέπει να είναι μοναδικό στο χώρο αποθήκευσης του μοντέλου.
- πλατφόρμες – Αυτό το πεδίο ορίζει τον τύπο του μοντέλου: μηχανή TensorRT, PyTorch ή κάτι άλλο.
- μέγιστο_μέγεθος_παρτίδας – Αυτό καθορίζει το μέγιστο μέγεθος παρτίδας που μπορεί να μεταβιβαστεί σε αυτό το μοντέλο. Εάν η διάσταση παρτίδας του μοντέλου είναι η πρώτη διάσταση και όλες οι είσοδοι και έξοδοι στο μοντέλο έχουν αυτήν τη διάσταση παρτίδας, τότε το Triton μπορεί να χρησιμοποιήσει δυναμική παρτίδα or ακολουθία παρτίδα για αυτόματη χρήση παρτίδας με το μοντέλο. Σε αυτήν την περίπτωση,
max_batch_size
θα πρέπει να οριστεί σε τιμή μεγαλύτερη ή ίση με 1, η οποία υποδεικνύει το μέγιστο μέγεθος παρτίδας που πρέπει να χρησιμοποιήσει το Triton με το μοντέλο. Για μοντέλα που δεν υποστηρίζουν παρτίδες ή δεν υποστηρίζουν τη δέσμευση με τους συγκεκριμένους τρόπους που περιγράψαμε,max_batch_size
πρέπει να ρυθμιστεί στο 0. - Εισόδου και εξόδου – Αυτά τα πεδία είναι απαραίτητα επειδή η NVIDIA Triton χρειάζεται μεταδεδομένα για το μοντέλο. Ουσιαστικά, απαιτεί τα ονόματα των επιπέδων εισόδου και εξόδου του δικτύου σας και το σχήμα των εν λόγω εισόδων και εξόδων.
- instance_group – Αυτό καθορίζει πόσες παρουσίες αυτού του μοντέλου θα δημιουργηθούν και αν θα χρησιμοποιήσουν την GPU ή την CPU.
- δυναμική_παρτίδα - Δυναμική παρτίδα είναι ένα χαρακτηριστικό του Triton που επιτρέπει τον συνδυασμό αιτημάτων συμπερασμάτων από τον διακομιστή, έτσι ώστε μια παρτίδα να δημιουργείται δυναμικά. ο
preferred_batch_size
Η ιδιότητα υποδεικνύει τα μεγέθη παρτίδας που πρέπει να επιχειρήσει να δημιουργήσει ο δυναμικός παρτίδας. Για τα περισσότερα μοντέλα,preferred_batch_size
δεν πρέπει να προσδιορίζεται, όπως περιγράφεται στο Συνιστώμενη διαδικασία διαμόρφωσης. Εξαίρεση αποτελούν τα μοντέλα TensorRT που καθορίζουν πολλαπλά προφίλ βελτιστοποίησης για διαφορετικά μεγέθη παρτίδων. Σε αυτήν την περίπτωση, επειδή ορισμένα προφίλ βελτιστοποίησης μπορεί να προσφέρουν σημαντική βελτίωση της απόδοσης σε σύγκριση με άλλα, μπορεί να είναι λογικό να χρησιμοποιηθούνpreferred_batch_size
για τα μεγέθη παρτίδων που υποστηρίζονται από αυτά τα προφίλ βελτιστοποίησης υψηλότερης απόδοσης. Μπορείτε επίσης να αναφέρετε το μέγεθος παρτίδας που χρησιμοποιήθηκε προηγουμένως κατά την εκτέλεσηtrtexec
. Μπορείτε επίσης να διαμορφώσετε τον χρόνο καθυστέρησης ώστε να επιτρέπεται η καθυστέρηση των αιτημάτων για περιορισμένο χρονικό διάστημα στον προγραμματιστή, ώστε να επιτρέπεται σε άλλα αιτήματα να ενταχθούν στη δυναμική παρτίδα.
Το backend TensorRT έχει βελτιωθεί για να έχει σημαντικά καλύτερη απόδοση. Οι βελτιώσεις περιλαμβάνουν τη μείωση της διαμάχης νημάτων, τη χρήση καρφιτσωμένης μνήμης για ταχύτερες μεταφορές μεταξύ της CPU και της GPU και την αύξηση της επικάλυψης υπολογιστών και αντιγράφων μνήμης στις GPU. Μειώνει επίσης τη χρήση μνήμης των μοντέλων TensorRT σε πολλές περιπτώσεις μοιράζοντας τα βάρη σε πολλαπλές παρουσίες μοντέλων. Συνολικά, το backend TensorRT για τον διακομιστή συμπερασμάτων Triton παρέχει έναν ισχυρό και ευέλικτο τρόπο εξυπηρέτησης μοντέλων βαθιάς εκμάθησης με βελτιστοποιημένη συμπερασματικότητα TensorRT. Προσαρμόζοντας τις επιλογές διαμόρφωσης, μπορείτε να βελτιστοποιήσετε την απόδοση και να ελέγξετε τη συμπεριφορά για να ταιριάζει στη συγκεκριμένη περίπτωση χρήσης σας.
Το SageMaker παρέχει το Triton μέσω ΜΜΕ και ΜΜΕ
Το SageMaker σάς δίνει τη δυνατότητα να αναπτύξετε και οι δύο ενιαίας και πολυμοντέλο τελικά σημεία με τον Triton Inference Server. Το Triton υποστηρίζει ένα ετερογενές σύμπλεγμα με GPU και CPU, το οποίο βοηθά στην τυποποίηση των συμπερασμάτων σε όλες τις πλατφόρμες και κλιμακώνεται δυναμικά σε οποιαδήποτε CPU ή GPU για τη διαχείριση φορτίων αιχμής. Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική του Triton Inference Server. Τα αιτήματα συμπερασμάτων φτάνουν στον διακομιστή μέσω οποιασδήποτε από τις δύο HTTP/REST ή από το C API, και στη συνέχεια δρομολογούνται στον κατάλληλο προγραμματιστή ανά μοντέλο. Triton εργαλεία πολλαπλούς αλγόριθμους προγραμματισμού και ομαδοποίησης που μπορεί να διαμορφωθεί ανά μοντέλο. Ο προγραμματιστής κάθε μοντέλου εκτελεί προαιρετικά ομαδοποίηση αιτημάτων συμπερασμάτων και στη συνέχεια μεταβιβάζει τα αιτήματα στο backend που αντιστοιχεί στον τύπο του μοντέλου. Το backend πλαισίου εκτελεί εξαγωγή συμπερασμάτων χρησιμοποιώντας τις εισόδους που παρέχονται στις ομαδοποιημένες αιτήσεις για την παραγωγή των ζητούμενων εξόδων. Στη συνέχεια, οι έξοδοι μορφοποιούνται και επιστρέφονται στην απόκριση. ο αποθετήριο μοντέλων είναι ένα αποθετήριο βασισμένο σε σύστημα αρχείων των μοντέλων που θα διαθέσει το Triton για εξαγωγή συμπερασμάτων.
Το SageMaker φροντίζει για τη διαμόρφωση της κυκλοφορίας στο τελικό σημείο MME και διατηρεί βέλτιστα αντίγραφα μοντέλων σε παρουσίες GPU για καλύτερη απόδοση τιμής. Συνεχίζει να δρομολογεί την κυκλοφορία στο στιγμιότυπο όπου φορτώνεται το μοντέλο. Εάν οι πόροι της παρουσίας φτάσουν σε χωρητικότητα λόγω υψηλής χρήσης, το SageMaker ξεφορτώνει τα λιγότερο χρησιμοποιούμενα μοντέλα από το κοντέινερ για να ελευθερώσει πόρους για τη φόρτωση μοντέλων που χρησιμοποιούνται πιο συχνά. Τα SageMaker MME προσφέρουν δυνατότητες εκτέλεσης πολλαπλών μοντέλων βαθιάς εκμάθησης ή ML στην GPU, ταυτόχρονα, με τον Triton Inference Server, ο οποίος έχει επεκταθεί για την υλοποίηση του Συμβόλαιο MME API. Τα MME επιτρέπουν την κοινή χρήση παρουσιών GPU πίσω από ένα τελικό σημείο σε πολλά μοντέλα και τη δυναμική φόρτωση και εκφόρτωση μοντέλων με βάση την εισερχόμενη κίνηση. Με αυτό, μπορείτε εύκολα να επιτύχετε τη βέλτιστη απόδοση τιμής.
Όταν ένα SageMaker MME λαμβάνει ένα αίτημα επίκλησης HTTP για ένα συγκεκριμένο μοντέλο χρησιμοποιώντας TargetModel
στο αίτημα μαζί με το ωφέλιμο φορτίο, δρομολογεί την κυκλοφορία στη δεξιά εμφάνιση πίσω από το τελικό σημείο όπου φορτώνεται το μοντέλο-στόχος. Το SageMaker φροντίζει για τη διαχείριση του μοντέλου πίσω από το τελικό σημείο. Κατεβάζει δυναμικά μοντέλα από Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) στον τόμο αποθήκευσης της παρουσίας, εάν το μοντέλο που καλείται δεν είναι διαθέσιμο στον τόμο αποθήκευσης της παρουσίας. Στη συνέχεια, το SageMaker φορτώνει το μοντέλο στη μνήμη του κοντέινερ NVIDIA Triton σε μια παρουσία με επιτάχυνση GPU και εξυπηρετεί το αίτημα συμπερασμάτων. Ο πυρήνας της GPU είναι κοινός σε όλα τα μοντέλα σε μια περίπτωση. Για περισσότερες πληροφορίες σχετικά με τα MME SageMaker σε GPU, βλ Εκτελέστε πολλά μοντέλα βαθιάς εκμάθησης σε GPU με τερματικά σημεία πολλαπλών μοντέλων του Amazon SageMaker.
Τα MME του SageMaker μπορούν να κλιμακωθούν οριζόντια χρησιμοποιώντας μια πολιτική αυτόματης κλίμακας και να παρέχουν πρόσθετες παρουσίες υπολογισμού GPU με βάση καθορισμένες μετρήσεις. Κατά τη διαμόρφωση των ομάδων αυτόματης κλιμάκωσης για τα τελικά σημεία του SageMaker, ίσως θελήσετε να το λάβετε υπόψη SageMakerVariantInvocationsPerInstance
ως τα κύρια κριτήρια για τον προσδιορισμό των χαρακτηριστικών κλιμάκωσης των ομάδων αυτόματης κλιμάκωσης. Επιπλέον, ανάλογα με το αν τα μοντέλα σας εκτελούνται σε GPU ή CPU, μπορείτε επίσης να εξετάσετε το ενδεχόμενο χρήσης CPUUtilization
or GPUUtilization
ως πρόσθετα κριτήρια. Για τα τελικά σημεία μεμονωμένων μοντέλων, επειδή τα μοντέλα που αναπτύσσονται είναι όλα τα ίδια, είναι αρκετά απλό να ορίσετε κατάλληλες πολιτικές για να ανταποκρίνονται στα SLA σας. Για τα τελικά σημεία πολλών μοντέλων, συνιστούμε την ανάπτυξη παρόμοιων μοντέλων πίσω από ένα δεδομένο τελικό σημείο για να έχετε πιο σταθερή, προβλέψιμη απόδοση. Σε περιπτώσεις χρήσης όπου χρησιμοποιούνται μοντέλα διαφορετικών μεγεθών και απαιτήσεων, μπορεί να θέλετε να διαχωρίσετε αυτούς τους φόρτους εργασίας σε πολλά τελικά σημεία πολλαπλών μοντέλων ή να αφιερώσετε λίγο χρόνο για να βελτιώσετε την πολιτική της ομάδας αυτόματης κλιμάκωσης για να επιτύχετε την καλύτερη ισορροπία κόστους και απόδοσης.
Επισκόπηση λύσεων
Με την NVIDIA Triton εικόνα κοντέινερ στο SageMaker, μπορείτε πλέον να χρησιμοποιήσετε το backend του Triton's TensorRT, το οποίο σας επιτρέπει να αναπτύξετε μοντέλα TensorRT. ο TensorRT_backend Το repo περιέχει την τεκμηρίωση και την πηγή για το backend. Στις επόμενες ενότητες, σας καθοδηγούμε παράδειγμα σημειωματάριο που δείχνει τον τρόπο χρήσης του NVIDIA Triton Inference Server σε SageMaker MME με τη δυνατότητα GPU για την ανάπτυξη ενός μοντέλου επεξεργασίας φυσικής γλώσσας BERT (NLP).
Ρυθμίστε το περιβάλλον
Ξεκινάμε ρυθμίζοντας το απαιτούμενο περιβάλλον. Εγκαθιστούμε τις εξαρτήσεις που απαιτούνται για τη συσκευασία του αγωγού μοντέλων μας και την εκτέλεση συμπερασμάτων χρησιμοποιώντας τον διακομιστή συμπερασμάτων Triton. Ορίζουμε επίσης το Διαχείριση ταυτότητας και πρόσβασης AWS ρόλος (IAM) που δίνει στο SageMaker πρόσβαση στα τεχνουργήματα του μοντέλου και στο NVIDIA Triton Μητρώο εμπορευματοκιβωτίων Amazon Elastic εικόνα (Amazon ECR). Μπορείτε να χρησιμοποιήσετε το ακόλουθο παράδειγμα κώδικα για να ανακτήσετε την προκατασκευασμένη εικόνα Triton ECR:
Προσθέστε βοηθητικές μεθόδους για την προετοιμασία του ωφέλιμου φορτίου αιτήματος
Δημιουργούμε τις συναρτήσεις για να μετατρέψουμε το δείγμα κειμένου που χρησιμοποιούμε για συμπέρασμα στο ωφέλιμο φορτίο που μπορεί να σταλεί για συμπέρασμα στον Triton Inference Server. ο tritonclient
Το πακέτο, το οποίο εγκαταστάθηκε στην αρχή, παρέχει βοηθητικές μεθόδους για τη δημιουργία του ωφέλιμου φορτίου χωρίς να χρειάζεται να γνωρίζετε τις λεπτομέρειες της προδιαγραφής. Χρησιμοποιούμε τις μεθόδους που δημιουργήθηκαν για να μετατρέψουμε το αίτημα συμπερασμάτων μας σε δυαδική μορφή, η οποία παρέχει χαμηλότερους χρόνους καθυστέρησης για εξαγωγή συμπερασμάτων. Αυτές οι συναρτήσεις χρησιμοποιούνται κατά τη διάρκεια του βήματος συμπερασμάτων.
Προετοιμάστε το μοντέλο TensorRT
Σε αυτό το βήμα, φορτώνουμε το προεκπαιδευμένο μοντέλο BERT και μετατρέψτε σε αναπαράσταση ONNX χρησιμοποιώντας τον εξαγωγέα φακού ONNX και το onnx_exporter.py
γραφή. Αφού δημιουργηθεί το μοντέλο ONNX, χρησιμοποιούμε το TensorRT trtexec
εντολή για τη δημιουργία του σχεδίου μοντέλου που θα φιλοξενηθεί με το Triton. Αυτό εκτελείται ως μέρος του generate_model.sh
σενάριο από το παρακάτω κελί. Σημειώστε ότι το κελί χρειάζεται περίπου 30 λεπτά για να ολοκληρωθεί.
Ενώ περιμένετε να ολοκληρωθεί η εκτέλεση της εντολής, μπορείτε να ελέγξετε τα σενάρια που χρησιμοποιούνται σε αυτό το βήμα. Στο onnx_exporter.py
σενάριο, χρησιμοποιούμε το torch.onnx.export
λειτουργία για τη δημιουργία μοντέλου ONNX:
Η γραμμή εντολών στο αρχείο generate_model.sh δημιουργεί το σχέδιο μοντέλου TensorRT. Για περισσότερες πληροφορίες, ανατρέξτε στο εργαλείο γραμμής εντολών trtexec.
Δημιουργήστε ένα αποθετήριο μοντέλων TensorRT NLP BERT
Η χρήση του Triton στο SageMaker απαιτεί πρώτα να ρυθμίσουμε ένα αποθετήριο μοντέλων φάκελο που περιέχει τα μοντέλα που θέλουμε να εξυπηρετήσουμε. Για κάθε μοντέλο, πρέπει να δημιουργήσουμε έναν κατάλογο μοντέλου που αποτελείται από το τεχνούργημα του μοντέλου και να ορίσουμε το config.pbtxt
αρχείο για να καθορίσετε τη διαμόρφωση μοντέλου που χρησιμοποιεί το Triton για τη φόρτωση και την εξυπηρέτηση του μοντέλου. Για να μάθετε περισσότερα σχετικά με τις ρυθμίσεις παραμέτρων, ανατρέξτε στο Μοντέλο Διαμόρφωση. Η δομή του αποθετηρίου μοντέλων για το μοντέλο BERT είναι η εξής:
Σημειώστε ότι το Triton έχει συγκεκριμένες απαιτήσεις για τη διάταξη του αποθετηρίου μοντέλων. Μέσα στον κατάλογο αποθήκης μοντέλων ανώτατου επιπέδου, κάθε μοντέλο έχει τον δικό του υποκατάλογο που περιέχει τις πληροφορίες για το αντίστοιχο μοντέλο. Κάθε κατάλογος μοντέλου στο Triton πρέπει να έχει τουλάχιστον έναν αριθμητικό υποκατάλογο που αντιπροσωπεύει μια έκδοση του μοντέλου. Εδώ, ο φάκελος 1 αντιπροσωπεύει την έκδοση 1 του μοντέλου BERT. Κάθε μοντέλο εκτελείται από ένα συγκεκριμένο backend, επομένως σε κάθε υποκατάλογο έκδοσης πρέπει να υπάρχουν τα τεχνουργήματα του μοντέλου που απαιτούνται από αυτό το backend. Εδώ, χρησιμοποιούμε το backend TensorRT, το οποίο απαιτεί το αρχείο σχεδίου TensorRT που χρησιμοποιείται για την προβολή (για αυτό το παράδειγμα, model.plan
). Εάν χρησιμοποιούσαμε ένα backend PyTorch, α model.pt
θα απαιτούνταν αρχείο. Για περισσότερες λεπτομέρειες σχετικά με τις συμβάσεις ονομασίας για αρχεία μοντέλων, ανατρέξτε στο Αρχεία Μοντέλων.
Κάθε μοντέλο TensorRT πρέπει να παρέχει ένα config.pbtxt
αρχείο που περιγράφει τη διαμόρφωση του μοντέλου. Για να χρησιμοποιήσετε αυτό το backend, πρέπει να ορίσετε το backend
πεδίο του μοντέλου σας config.pbtxt
αρχείο στο tensorrt_plan
. Η ακόλουθη ενότητα κώδικα δείχνει ένα παράδειγμα του τρόπου ορισμού του αρχείου διαμόρφωσης για το μοντέλο BERT που εξυπηρετείται μέσω του συστήματος υποστήριξης TensorRT του Triton:
Το SageMaker αναμένει ότι ένα αρχείο .tar.gz που περιέχει κάθε αποθετήριο μοντέλου Triton θα φιλοξενηθεί στο τελικό σημείο πολλαπλών μοντέλων. Για να προσομοιώσετε πολλά παρόμοια μοντέλα που φιλοξενούνται, μπορεί να σκεφτείτε ότι το μόνο που χρειάζεται είναι να κάνετε tar στο αποθετήριο μοντέλων που έχουμε ήδη δημιουργήσει και στη συνέχεια να το αντιγράψετε με διαφορετικά ονόματα αρχείων. Ωστόσο, το Triton απαιτεί μοναδικά ονόματα μοντέλων. Επομένως, αντιγράφουμε πρώτα το model repo N φορές, αλλάζοντας τα ονόματα καταλόγου μοντέλων και τα αντίστοιχα config.pbtxt
αρχεία. Μπορείτε να αλλάξετε τον αριθμό των N για να έχετε περισσότερα αντίγραφα του μοντέλου που μπορούν να φορτωθούν δυναμικά στο τελικό σημείο φιλοξενίας για την προσομοίωση της ενέργειας φόρτωσης/εκφόρτωσης μοντέλου που διαχειρίζεται το SageMaker. Δείτε τον παρακάτω κώδικα:
Δημιουργήστε ένα τελικό σημείο του SageMaker
Τώρα που έχουμε ανεβάσει τα τεχνουργήματα του μοντέλου στο Amazon S3, μπορούμε να δημιουργήσουμε το αντικείμενο μοντέλου SageMaker, τη διαμόρφωση τελικού σημείου και το τελικό σημείο.
Αρχικά, πρέπει να ορίσουμε το δοχείο σερβιρίσματος. Στον ορισμό του κοντέινερ, ορίστε το ModelDataUrl
για να καθορίσετε τον κατάλογο S3 που περιέχει όλα τα μοντέλα που θα χρησιμοποιήσει το τελικό σημείο πολλαπλών μοντέλων SageMaker για τη φόρτωση και την προβολή προβλέψεων. Σειρά Mode
προς την MultiModel
για να υποδείξετε ότι το SageMaker θα δημιουργήσει το τελικό σημείο με προδιαγραφές κοντέινερ MME. Δείτε τον παρακάτω κώδικα:
Στη συνέχεια δημιουργούμε το αντικείμενο μοντέλου SageMaker χρησιμοποιώντας το create_model
boto3 API καθορίζοντας το ModelName
και ορισμός κοντέινερ:
Χρησιμοποιούμε αυτό το μοντέλο για να δημιουργήσουμε ένα διαμόρφωση τελικού σημείου όπου μπορούμε να καθορίσουμε τον τύπο και τον αριθμό των παρουσιών που θέλουμε στο τελικό σημείο. Εδώ αναπτύσσουμε σε μια παρουσία GPU της G5.xlarge NVIDIA:
Με αυτήν τη διαμόρφωση τερματικού σημείου, δημιουργούμε ένα νέο τελικό σημείο του SageMaker και περιμένουμε να ολοκληρωθεί η ανάπτυξη. Η κατάσταση θα αλλάξει σε InService
όταν η ανάπτυξη είναι επιτυχής.
Επικαλέστε το μοντέλο σας που φιλοξενείται στο τελικό σημείο του SageMaker
Όταν εκτελείται το τελικό σημείο, μπορούμε να χρησιμοποιήσουμε ορισμένα δείγματα μη επεξεργασμένων δεδομένων για να εκτελέσουμε συμπέρασμα χρησιμοποιώντας είτε JSON είτε δυαδικό+JSON ως μορφή ωφέλιμου φορτίου. Για τη μορφή αιτήματος συμπερασμάτων, το Triton χρησιμοποιεί το πρότυπο κοινότητας KFServing πρωτόκολλα συμπερασμάτων. Μπορούμε να στείλουμε το αίτημα συμπερασμάτων στο τελικό σημείο πολλαπλών μοντέλων χρησιμοποιώντας το invoke_enpoint
API. Καθορίζουμε το TargetModel
στην κλήση επίκλησης και περάστε στο ωφέλιμο φορτίο για κάθε τύπο μοντέλου. Εδώ καλούμε το τελικό σημείο σε έναν βρόχο for για να ζητήσουμε το τελικό σημείο δυναμική φόρτωση ή εκφόρτωση μοντέλων με βάση τα αιτήματα:
Μπορείτε να παρακολουθείτε την κατάσταση φόρτωσης και εκφόρτωσης του μοντέλου χρησιμοποιώντας amazoncloudwatch μετρήσεις και αρχεία καταγραφής. Τα τελικά σημεία πολλαπλών μοντέλων SageMaker παρέχουν μετρήσεις σε επίπεδο παρουσίας για παρακολούθηση. για περισσότερες λεπτομέρειες, ανατρέξτε στο Παρακολουθήστε το Amazon SageMaker με το Amazon CloudWatch. ο LoadedModelCount
Η μέτρηση δείχνει τον αριθμό των μοντέλων που έχουν φορτωθεί στα κοντέινερ. ο ModelCacheHit
Η μέτρηση δείχνει τον αριθμό των επικλήσεων για το μοντέλο που έχουν ήδη φορτωθεί στο κοντέινερ για να σας βοηθήσει να λάβετε πληροφορίες σε επίπεδο προσκλήσεων μοντέλου. Για να ελέγξετε εάν τα μοντέλα έχουν εκφορτωθεί από τη μνήμη, μπορείτε να αναζητήσετε τις επιτυχείς καταχωρήσεις καταγραφής χωρίς φόρτωση στα αρχεία καταγραφής CloudWatch του τελικού σημείου.
Το σημειωματάριο βρίσκεται στο Αποθετήριο GitHub.
Βέλτιστες πρακτικές
Πριν ξεκινήσετε οποιαδήποτε προσπάθεια βελτιστοποίησης με το TensorRT, είναι σημαντικό να καθορίσετε τι πρέπει να μετρηθεί. Χωρίς μετρήσεις, είναι αδύνατο να σημειωθεί αξιόπιστη πρόοδος ή να μετρηθεί εάν έχει επιτευχθεί επιτυχία. Ακολουθούν ορισμένες βέλτιστες πρακτικές που πρέπει να λάβετε υπόψη όταν χρησιμοποιείτε το backend TensorRT για τον διακομιστή συμπερασμάτων Triton:
- Βελτιστοποιήστε το μοντέλο TensorRT – Πριν αναπτύξετε ένα μοντέλο στο Triton με το backend TensorRT, βεβαιωθείτε ότι έχετε βελτιστοποιήσει το μοντέλο ακολουθώντας το TensorRT βέλτιστες πρακτικές οδηγός. Αυτό θα σας βοηθήσει να επιτύχετε καλύτερη απόδοση μειώνοντας τον χρόνο συμπερασμάτων και την κατανάλωση μνήμης.
- Χρησιμοποιήστε το TensorRT αντί για άλλα backends Triton όταν είναι δυνατόν – Το TensorRT έχει σχεδιαστεί για τη βελτιστοποίηση μοντέλων βαθιάς εκμάθησης για ανάπτυξη σε GPU της NVIDIA, επομένως η χρήση του μπορεί να βελτιώσει σημαντικά την απόδοση συμπερασμάτων σε σύγκριση με τη χρήση άλλων υποστηριζόμενων backend Triton.
- Χρησιμοποιήστε τη σωστή ακρίβεια – Το TensorRT υποστηρίζει πολλαπλές ακρίβεια (FP32, FP16, INT8) και η επιλογή της σωστής ακρίβειας για το μοντέλο σας μπορεί να έχει σημαντικό αντίκτυπο στην απόδοση. Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε χαμηλότερη ακρίβεια όταν είναι δυνατόν.
- Χρησιμοποιήστε μεγέθη παρτίδων που ταιριάζουν στο υλικό σας – Βεβαιωθείτε ότι έχετε επιλέξει μεγέθη παρτίδας που ταιριάζουν στη μνήμη και τις υπολογιστικές δυνατότητες της GPU σας. Η χρήση μεγεθών παρτίδων που είναι πολύ μεγάλα ή πολύ μικρά μπορεί να επηρεάσει αρνητικά την απόδοση.
Συμπέρασμα
Σε αυτήν την ανάρτηση, μπαίνουμε βαθιά στο backend του TensorRT που υποστηρίζει ο Triton Inference Server στο SageMaker. Αυτό το backend παρέχει επιτάχυνση τόσο της CPU όσο και της GPU των μοντέλων σας TensorRT. Υπάρχουν πολλές επιλογές που πρέπει να λάβετε υπόψη για να έχετε την καλύτερη απόδοση για συμπεράσματα, όπως μεγέθη παρτίδας, μορφές εισαγωγής δεδομένων και άλλους παράγοντες που μπορούν να ρυθμιστούν ώστε να καλύπτουν τις ανάγκες σας. Το SageMaker σάς επιτρέπει να επωφεληθείτε από αυτή τη δυνατότητα χρησιμοποιώντας τελικά σημεία μεμονωμένων μοντέλων για εγγυημένη απόδοση και τερματικά πολλαπλών μοντέλων για να έχετε καλύτερη ισορροπία απόδοσης και εξοικονόμησης κόστους. Για να ξεκινήσετε με την υποστήριξη MME για GPU, βλ Υποστηριζόμενοι αλγόριθμοι, πλαίσια και παρουσίες.
Σας προσκαλούμε να δοκιμάσετε τα κοντέινερ του Triton Inference Server στο SageMaker και να μοιραστείτε τα σχόλιά σας και τις ερωτήσεις σας στα σχόλια.
Σχετικά με τους Συγγραφείς
Μέλανι Λι είναι Ανώτερος Ειδικός AI/ML TAM στο AWS με έδρα το Σίδνεϊ της Αυστραλίας. Βοηθά τους εταιρικούς πελάτες να δημιουργήσουν λύσεις αξιοποιώντας τα υπερσύγχρονα εργαλεία AI/ML στο AWS και παρέχει καθοδήγηση σχετικά με την αρχιτεκτονική και την εφαρμογή λύσεων μηχανικής μάθησης με βέλτιστες πρακτικές. Στον ελεύθερο χρόνο της, της αρέσει να εξερευνά τη φύση σε εξωτερικούς χώρους και να περνά χρόνο με την οικογένεια και τους φίλους.
Τζέιμς Παρκ είναι αρχιτέκτονας λύσεων στο Amazon Web Services. Συνεργάζεται με την Amazon για το σχεδιασμό, την κατασκευή και την ανάπτυξη τεχνολογικών λύσεων στο AWS και έχει ιδιαίτερο ενδιαφέρον για την τεχνητή νοημοσύνη και τη μηχανική μάθηση. Στον ελεύθερο χρόνο του απολαμβάνει να αναζητά νέους πολιτισμούς, νέες εμπειρίες και να ενημερώνεται για τις τελευταίες τάσεις της τεχνολογίας.
Τζιαόνγκ Λιου είναι αρχιτέκτονας λύσεων στην ομάδα του Cloud Service Provider της NVIDIA. Βοηθά τους πελάτες στην υιοθέτηση λύσεων μηχανικής μάθησης και τεχνητής νοημοσύνης που αξιοποιούν την επιτάχυνση της NVIDIA για την αντιμετώπιση των προκλήσεων εκπαίδευσης και συμπερασμάτων τους. Στον ελεύθερο χρόνο του, του αρέσει το origami, τα DIY projects και το μπάσκετ.
Kshitiz Gupta είναι αρχιτέκτονας λύσεων στην NVIDIA. Του αρέσει να εκπαιδεύει τους πελάτες cloud σχετικά με τις τεχνολογίες GPU AI που έχει να προσφέρει η NVIDIA και να τους βοηθά να επιταχύνουν τις εφαρμογές μηχανικής εκμάθησης και βαθιάς εκμάθησης. Εκτός δουλειάς, του αρέσει το τρέξιμο, η πεζοπορία και η παρακολούθηση της άγριας ζωής.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoAiStream. Web3 Data Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- Minting the Future με την Adryenn Ashley. Πρόσβαση εδώ.
- Αγορά και πώληση μετοχών σε εταιρείες PRE-IPO με το PREIPO®. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/machine-learning/host-ml-models-on-amazon-sagemaker-using-triton-tensorrt-models/
- :έχει
- :είναι
- :δεν
- :που
- $UP
- 1
- 10
- 100
- 11
- 12
- 13
- 23
- 30
- 7
- 8
- a
- Ικανός
- Σχετικα
- επιταχύνουν
- επιτάχυνση
- επιταχύνοντας
- πρόσβαση
- ακρίβεια
- Κατορθώνω
- επιτευχθεί
- απέναντι
- Ενέργειες
- Επιπλέον
- Πρόσθετος
- Επιπλέον
- διεύθυνση
- διευθυνσιοδότηση
- υιοθετώντας
- Πλεονέκτημα
- Μετά το
- AI
- AI / ML
- αλγόριθμος
- αλγόριθμοι
- Όλα
- επιτρέπουν
- επιτρέπει
- κατά μήκος
- ήδη
- Επίσης
- Αν και
- Amazon
- Amazon Sage Maker
- Amazon υπηρεσίες Web
- an
- και
- κάθε
- api
- Εφαρμογή
- εφαρμογές
- κατάλληλος
- αρχιτεκτονική
- ΕΙΝΑΙ
- γύρω
- AS
- βοηθάει
- At
- Australia
- αυτόματη
- αυτομάτως
- διαθέσιμος
- αποφύγετε
- AWS
- Backend
- Υπόλοιπο
- βάση
- βασίζονται
- βασικός
- βάση
- Μπάσκετ
- BE
- επειδή
- ήταν
- πριν
- αρχίζουν
- Αρχή
- πίσω
- είναι
- ευεργετική
- ωφελώντας
- ΚΑΛΎΤΕΡΟΣ
- βέλτιστες πρακτικές
- Καλύτερα
- μεταξύ
- σώμα
- και οι δύο
- χτίζω
- Builder
- χτισμένο
- αλλά
- by
- κρύπτη
- κλήση
- που ονομάζεται
- CAN
- δυνατότητες
- Χωρητικότητα
- ο οποίος
- περίπτωση
- περιπτώσεις
- προκλήσεις
- αλλαγή
- αλλαγή
- χαρακτηριστικά
- έλεγχος
- Επιλέξτε
- πελάτης
- πελάτες
- Backup
- συστάδα
- κωδικός
- COM
- συνδυασμός
- σε συνδυασμό
- Ελάτε
- σχόλια
- κοινότητα
- σύγκριση
- πλήρης
- υπολογισμός
- Υπολογίστε
- χρήση υπολογιστή
- διαμόρφωση
- Εξετάστε
- Αποτελείται από
- κατανάλωση
- Δοχείο
- Εμπορευματοκιβώτια
- Περιέχει
- συνεχίζεται
- έλεγχος
- μετατρέψετε
- πυρήνας
- Αντίστοιχος
- Κόστος
- εξοικονόμηση κόστους
- δημιουργία
- δημιουργήθηκε
- δημιουργεί
- δημιουργία
- δημιουργία
- κριτήρια
- κρίσιμος
- Πελάτες
- ημερομηνία
- Ημερομηνία
- απόφαση
- βαθύς
- βαθιά μάθηση
- Ορίζει
- delay
- Καθυστέρηση
- παραδίδει
- καταδεικνύει
- παρατάσσω
- αναπτυχθεί
- ανάπτυξη
- ανάπτυξη
- περιγράφεται
- Υπηρεσίες
- σχεδιασμένα
- καθέκαστα
- Προσδιορίστε
- καθορίζει
- ανάπτυξη
- αναπτύχθηκε
- διαφορετικές
- Διάσταση
- Diy
- τεκμηρίωση
- γίνεται
- Μην
- περιστέρι
- λήψεις
- δραματικά
- δυο
- κατά την διάρκεια
- δυναμικός
- δυναμικά
- κάθε
- εύκολα
- άκρη
- εκπαίδευση
- αποδοτικότητα
- αποτελεσματικά
- προσπάθεια
- είτε
- απασχολεί
- ενεργοποιήσετε
- δίνει τη δυνατότητα
- ενεργοποίηση
- Τελικό σημείο
- Κινητήρας
- Κινητήρες
- Εταιρεία
- Περιβάλλον
- περιβάλλοντα
- ίσος
- ουσιώδης
- κατ 'ουσίαν,
- παράδειγμα
- εξαίρεση
- αναμένω
- αναμένει
- Δραστηριοτητες
- διερευνήσει
- παράγοντες
- αρκετά
- οικογένεια
- γρηγορότερα
- Χαρακτηριστικό
- ανατροφοδότηση
- πεδίο
- Πεδία
- Αρχεία
- Αρχεία
- πτερύγιο
- Τελικά
- φινίρισμα
- Όνομα
- ταιριάζουν
- εύκαμπτος
- Εξής
- εξής
- Ίχνος
- Για
- μορφή
- μορφή
- Βρέθηκαν
- Πλαίσιο
- πλαισίων
- Δωρεάν
- συχνά
- φίλους
- από
- λειτουργία
- λειτουργίες
- περαιτέρω
- συγχώνευση
- γενικά
- παράγουν
- παράγεται
- παίρνω
- Δώστε
- δεδομένου
- δίνει
- GPU
- GPU
- γραφική παράσταση
- εξαιρετική
- μεγαλύτερη
- Group
- Ομάδα
- εγγυημένη
- καθοδήγηση
- καθοδηγήσει
- λαβή
- υλικού
- Έχω
- που έχει
- he
- βοήθεια
- βοηθά
- αυτήν
- εδώ
- Ψηλά
- υψηλή απόδοση
- υψηλότερο
- του
- Οριζόντια
- οικοδεσπότης
- φιλοξενείται
- φιλοξενία
- Πως
- Πώς να
- Ωστόσο
- HTML
- http
- HTTPS
- i
- ID
- Ταυτότητα
- if
- απεικονίζει
- εικόνα
- Επίπτωση
- Επιπτώσεις
- εφαρμογή
- εκτελεστικών
- υλοποιεί
- εισαγωγή
- αδύνατος
- βελτίωση
- βελτιωθεί
- βελτίωση
- βελτιώσεις
- βελτίωση
- in
- περιλαμβάνουν
- περιλαμβάνει
- Εισερχόμενος
- αύξηση
- αύξηση
- υποδεικνύω
- υποδηλώνει
- πληροφορίες
- ενημερώνεται
- εισαγωγή
- είσοδοι
- ιδέες
- αστάθεια
- εγκαθιστώ
- εγκατασταθεί
- παράδειγμα
- αντί
- τόκος
- σε
- προσκαλούν
- επικαλείται
- IT
- ΤΟΥ
- ενταχθούν
- jpg
- json
- Κλειδί
- Είδος
- Ξέρω
- Γλώσσα
- large
- μεγαλύτερος
- Αφάνεια
- αργότερο
- ξεκινάει
- στρώμα
- στρώματα
- σχέδιο
- ΜΑΘΑΊΝΩ
- μάθηση
- ελάχιστα
- Μόχλευση
- μόχλευσης
- Βιβλιοθήκη
- Περιωρισμένος
- γραμμή
- φορτίο
- φόρτωση
- φορτία
- κούτσουρο
- λογικός
- ματιά
- Χαμηλός
- χαμηλότερα
- μηχανή
- μάθηση μηχανής
- Κυρίως
- διατηρεί
- μεγάλες
- κάνω
- διαχειρίζεται
- διαχείριση
- πολοί
- Ταίριασμα
- μεγιστοποιώντας
- ανώτατο όριο
- Ενδέχεται..
- μέτρο
- μετρήσεις
- Γνωρίστε
- Μνήμη
- Μεταδεδομένα
- μέθοδος
- μέθοδοι
- μετρικός
- Metrics
- ενδέχεται να
- Λεπτ.
- ML
- Τρόπος
- μοντέλο
- μοντέλα
- τροποποιήσει
- Παρακολούθηση
- περισσότερο
- πλέον
- Τελικό σημείο πολλαπλών μοντέλων
- πολλαπλούς
- πρέπει
- όνομα
- ονόματα
- ονοματοδοσία
- Φυσικό
- Επεξεργασία φυσικής γλώσσας
- Φύση
- Ανάγκη
- ανάγκες
- αρνητικά
- δίκτυα
- Νέα
- nlp
- σημειωματάριο
- τώρα
- αριθμός
- Nvidia
- αντικείμενο
- αποκτήσει
- of
- προσφορά
- on
- ONE
- ανοίξτε
- λειτουργίες
- βέλτιστη
- βελτιστοποίηση
- Βελτιστοποίηση
- βελτιστοποιημένη
- Βελτιστοποιεί
- Επιλογές
- or
- τάξη
- OS
- ΑΛΛΑ
- Άλλα
- δικός μας
- έξω
- ύπαιθρο
- παραγωγή
- εκτός
- φόρμες
- δική
- πακέτο
- Παράλληλο
- μέρος
- Ειδικότερα
- passieren
- πέρασε
- περάσματα
- μονοπάτι
- Κορυφή
- Εκτελέστε
- επίδοση
- εκτελεί
- αγωγού
- σχέδιο
- πλατφόρμες
- Πλατφόρμες
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- παιχνίδι
- σημεία
- Πολιτικές
- πολιτική
- δυνατός
- Θέση
- ισχυρός
- πρακτικές
- Ακρίβεια
- Αναμενόμενος
- Προβλέψεις
- προετοιμασία
- προηγούμενος
- προηγουμένως
- τιμή
- πρωταρχικός
- Επεξεργασμένο
- μεταποίηση
- παράγει
- παραγωγή
- προφίλ
- Πρόοδος
- έργα
- κατάλληλος
- περιουσία
- Πρωτο
- παρέχουν
- παρέχεται
- προμηθευτής
- παρέχει
- πρόβλεψη
- σκοποί
- pytorch
- Ερωτήσεις
- γρήγορα
- αύξηση
- τυχαίος
- Ακατέργαστος
- φθάσουν
- λαμβάνει
- συνιστώ
- Μειωμένος
- μειώνει
- μείωση
- περιοχή
- αξιόπιστος
- Αποθήκη
- αντιπροσώπευση
- εκπροσωπούν
- αντιπροσωπεύει
- ζητήσει
- αιτήματα
- απαιτείται
- απαιτήσεις
- Απαιτεί
- πόρος
- Υποστηρικτικό υλικό
- απάντησης
- Αποτελέσματα
- Ρόλος
- Διαδρομή
- δρομολόγια
- rt
- τρέξιμο
- τρέξιμο
- s
- σοφός
- Είπε
- ίδιο
- Αποθήκευση
- Οικονομίες
- Κλίμακα
- Ζυγός
- απολέπιση
- προγραμματισμός
- Εφαρμογές
- SDK
- Τμήμα
- τμήματα
- δείτε
- αναζήτηση
- επιλογή
- στείλετε
- αρχαιότερος
- αίσθηση
- ξεχωριστό
- εξυπηρετούν
- εξυπηρετεί
- υπηρεσία
- Πάροχος υπηρεσιών
- Υπηρεσίες
- εξυπηρετούν
- σειρά
- τον καθορισμό
- ρυθμίσεις
- διάφοροι
- Shape
- σχήματα
- διάπλαση
- Κοινοποίηση
- Shared
- μοιράζονται
- αυτή
- θα πρέπει να
- Δείχνει
- σημαντικός
- σημαντικά
- παρόμοιες
- Απλούς
- ενιαίας
- Μέγεθος
- μεγέθη
- small
- ΜΜΕ
- So
- λύση
- Λύσεις
- μερικοί
- κάτι
- Πηγή
- ειδικός
- συγκεκριμένες
- προσδιορισμός
- προδιαγραφές
- καθορίζεται
- δαπανήσει
- πρότυπο
- ξεκίνησε
- Ξεκινήστε
- state-of-the-art
- Κατάσταση
- σταθερός
- Βήμα
- Βήματα
- χώρος στο δίσκο
- ειλικρινής
- ροές
- δομή
- επιτυχία
- επιτυχής
- τέτοιος
- κοστούμι
- υποστήριξη
- υποστηριζόνται!
- Υποστηρίζει
- sydney
- Πάρτε
- παίρνει
- στόχος
- τεχνικές
- Τεχνολογίες
- Τεχνολογία
- από
- ότι
- Η
- Το γράφημα
- οι πληροφορίες
- τους
- Τους
- τότε
- Εκεί.
- επομένως
- Αυτοί
- αυτοί
- νομίζω
- αυτό
- εκείνοι
- τρία
- Μέσω
- ώρα
- φορές
- συγχρονισμός
- προς την
- πολύ
- εργαλείο
- εργαλεία
- κορυφαίο επίπεδο
- δάδα
- ΚΙΝΗΣΗ στους ΔΡΟΜΟΥΣ
- εκπαιδευμένο
- Εκπαίδευση
- Συναλλαγές
- μεταφέρονται
- μεταβιβάσεις
- Μεταμορφώστε
- μετασχηματιστές
- Τάσεις
- Τρίτωνος
- τύπος
- τυπικός
- συνήθως
- καταλαβαίνω
- μοναδικός
- Φορτώθηκε
- us
- Χρήση
- χρήση
- περίπτωση χρήσης
- μεταχειρισμένος
- χρησιμοποιώντας
- χρησιμότητα
- χρησιμοποιώ
- αξία
- διάφορα
- εκδοχή
- πολύ
- μέσω
- τόμος
- περιμένετε
- Αναμονή
- θέλω
- ήταν
- παρακολουθείτε
- Τρόπος..
- τρόπους
- we
- ιστός
- διαδικτυακές υπηρεσίες
- ήταν
- Τι
- πότε
- αν
- Ποιό
- θα
- με
- εντός
- χωρίς
- Εργασία
- λειτουργεί
- θα
- Εσείς
- Σας
- zephyrnet