Μοτίβα φιλοξενίας μοντέλων στο SageMaker: Βέλτιστες πρακτικές για τη δοκιμή και την ενημέρωση μοντέλων στο SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Μοτίβα φιλοξενίας μοντέλων στο SageMaker: Βέλτιστες πρακτικές στη δοκιμή και την ενημέρωση μοντέλων στο SageMaker

Amazon Sage Maker είναι μια πλήρως διαχειριζόμενη υπηρεσία που παρέχει στους προγραμματιστές και στους επιστήμονες δεδομένων τη δυνατότητα να δημιουργούν, να εκπαιδεύουν και να αναπτύσσουν γρήγορα μοντέλα μηχανικής μάθησης (ML). Με το SageMaker, μπορείτε να αναπτύξετε τα μοντέλα ML σας σε φιλοξενούμενα τελικά σημεία και να λάβετε αποτελέσματα συμπερασμάτων σε πραγματικό χρόνο. Μπορείτε να δείτε εύκολα τις μετρήσεις απόδοσης για τα τελικά σημεία σας amazoncloudwatch, αυτόματη κλιμάκωση των τελικών σημείων με βάση την επισκεψιμότητα και ενημερώστε τα μοντέλα σας στην παραγωγή χωρίς να χάσετε καμία διαθεσιμότητα. Το SageMaker προσφέρει μια μεγάλη ποικιλία επιλογών για την ανάπτυξη μοντέλων ML για συμπέρασμα με οποιονδήποτε από τους παρακάτω τρόπους, ανάλογα με την περίπτωση χρήσης σας:

  • Για σύγχρονες προβλέψεις που πρέπει να εμφανίζονται με τη σειρά των χιλιοστών του δευτερολέπτου, χρησιμοποιήστε το SageMaker συμπέρασμα σε πραγματικό χρόνο
  • Για φόρτους εργασίας που έχουν περιόδους αδράνειας μεταξύ εκρήξεων κυκλοφορίας και μπορούν να ανεχθούν ψυχρές εκκινήσεις, χρησιμοποιήστε το Συμπεράσματα χωρίς διακομιστή
  • Για αιτήματα με μεγάλα μεγέθη ωφέλιμου φορτίου έως 1 GB, μεγάλους χρόνους επεξεργασίας (έως 15 λεπτά) και απαιτήσεις καθυστέρησης σχεδόν σε πραγματικό χρόνο (δευτερόλεπτα έως λεπτά), χρησιμοποιήστε το SageMaker Ασύγχρονη Επαγωγή
  • Για να λάβετε προβλέψεις για ένα ολόκληρο σύνολο δεδομένων, χρησιμοποιήστε το SageMaker μετασχηματισμός παρτίδας

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

Υπάρχουν ορισμένες περιπτώσεις χρήσης όπου θέλετε να αναπτύξετε πολλές παραλλαγές του ίδιου μοντέλου στην παραγωγή για να μετρήσετε την απόδοσή τους, να μετρήσετε βελτιώσεις ή να εκτελέσετε δοκιμές A/B. Σε τέτοιες περιπτώσεις, τα τελικά σημεία πολλαπλών παραλλαγών του SageMaker είναι χρήσιμα επειδή σας επιτρέπουν να αναπτύξετε πολλές παραλλαγές παραγωγής ενός μοντέλου στο ίδιο τελικό σημείο του SageMaker.

Σε αυτήν την ανάρτηση, συζητάμε τα τελικά σημεία πολλαπλών παραλλαγών του SageMaker και τις βέλτιστες πρακτικές βελτιστοποίησης.

Σύγκριση επιλογών συμπερασμάτων SageMaker σε πραγματικό χρόνο

Το παρακάτω διάγραμμα παρέχει μια γρήγορη επισκόπηση των επιλογών συμπερασμάτων σε πραγματικό χρόνο με το SageMaker.

Ένα τελικό σημείο ενός μοντέλου σάς επιτρέπει να αναπτύξετε ένα μοντέλο σε ένα κοντέινερ που φιλοξενείται σε αποκλειστικές παρουσίες ή χωρίς διακομιστή για χαμηλή καθυστέρηση και υψηλή απόδοση. Μπορείτε να δημιουργήσετε ένα μοντέλο και ανακτήσετε a Εικόνα που υποστηρίζεται από το SageMaker για δημοφιλή πλαίσια όπως TensorFlow, PyTorch, Scikit-learn και άλλα. Εάν εργάζεστε με ένα προσαρμοσμένο πλαίσιο για το μοντέλο σας, μπορείτε επίσης φέρτε το δικό σας δοχείο που εγκαθιστά τις εξαρτήσεις σας.

Το SageMaker υποστηρίζει επίσης πιο προηγμένες επιλογές, όπως τελικά σημεία πολλαπλών μοντέλων (MME) και τελικά σημεία πολλαπλών κοντέινερ (MCE). Τα MME είναι χρήσιμα όταν έχετε να κάνετε με εκατοντάδες έως δεκάδες χιλιάδες μοντέλα και όπου δεν χρειάζεται να αναπτύξετε κάθε μοντέλο ως μεμονωμένο τελικό σημείο. Τα MME σάς επιτρέπουν να φιλοξενείτε πολλά μοντέλα με οικονομικά αποδοτικό, επεκτάσιμο τρόπο στο ίδιο τελικό σημείο, χρησιμοποιώντας ένα κοινόχρηστο κοντέινερ εξυπηρέτησης που φιλοξενείται σε μια παρουσία. Η υποκείμενη υποδομή (κοντέινερ και παράδειγμα) παραμένει η ίδια, αλλά τα μοντέλα φορτώνονται και εκφορτώνονται δυναμικά από μια κοινή θέση S3, ανάλογα με τη χρήση και την ποσότητα της διαθέσιμης μνήμης στο τελικό σημείο. Η εφαρμογή σας πρέπει απλώς να περιλαμβάνει μια κλήση API με το μοντέλο-στόχο σε αυτό το τελικό σημείο για να επιτύχετε συμπέρασμα χαμηλής καθυστέρησης και υψηλής απόδοσης. Αντί να πληρώνετε για ένα ξεχωριστό τελικό σημείο για κάθε μοντέλο, μπορείτε να φιλοξενήσετε πολλά μοντέλα στην τιμή ενός μόνο τερματικού σημείου.

Τα MCE σάς δίνουν τη δυνατότητα να εκτελέσετε έως και 15 διαφορετικά κοντέινερ ML σε ένα μόνο τελικό σημείο και να τα καλέσετε ανεξάρτητα. Μπορείτε να δημιουργήσετε αυτά τα κοντέινερ ML σε διαφορετικές στοίβες εξυπηρέτησης (όπως πλαίσιο ML, διακομιστής μοντέλου και αλγόριθμος), ώστε να εκτελούνται στο ίδιο τελικό σημείο για εξοικονόμηση κόστους. Μπορείτε να ράψετε τα δοχεία μεταξύ τους σε ένα σειριακός αγωγός συμπερασμάτων ή να επικαλεστεί το δοχείο ανεξάρτητα. Αυτό μπορεί να είναι ιδανικό όταν έχετε πολλά διαφορετικά μοντέλα ML που έχουν διαφορετικά μοτίβα επισκεψιμότητας και παρόμοιες ανάγκες σε πόρους. Παραδείγματα για το πότε πρέπει να χρησιμοποιηθούν τα MCE περιλαμβάνουν, αλλά δεν περιορίζονται σε αυτά, τα ακόλουθα:

  • Φιλοξενία μοντέλων σε διαφορετικά πλαίσια (όπως το TensorFlow, το PyTorch και το Scikit-learn) που δεν έχουν επαρκή επισκεψιμότητα για να κορεστεί η πλήρης χωρητικότητα μιας παρουσίας
  • Φιλοξενία μοντέλων από το ίδιο πλαίσιο με διαφορετικούς αλγόριθμους ML (όπως συστάσεις, πρόβλεψη ή ταξινόμηση) και λειτουργίες χειριστή
  • Σύγκριση παρόμοιων αρχιτεκτονικών που εκτελούνται σε διαφορετικές εκδόσεις πλαισίου (όπως το TensorFlow 1.x έναντι του TensorFlow 2.x) για σενάρια όπως η δοκιμή A/B

Τα τελικά σημεία πολλαπλών παραλλαγών του SageMaker (MVE) σάς επιτρέπουν να δοκιμάσετε πολλά μοντέλα ή εκδόσεις μοντέλων πίσω από το ίδιο τελικό σημείο χρησιμοποιώντας παραλλαγές παραγωγής. Κάθε παραλλαγή παραγωγής προσδιορίζει ένα μοντέλο ML και τους πόρους που αναπτύσσονται για τη φιλοξενία του μοντέλου, όπως το κοντέινερ και το παράδειγμα εξυπηρέτησης.

Επισκόπηση των τελικών σημείων πολλαπλών παραλλαγών του SageMaker

Στις ροές εργασιών ML παραγωγής, οι επιστήμονες δεδομένων και οι μηχανικοί ML βελτιώνουν τα μοντέλα μέσω ποικίλων μεθόδων, όπως η επανεκπαίδευση βάσει δεδομένων/μοντέλων/εννοιολογική μετατόπιση, συντονισμός υπερπαραμέτρων, επιλογή χαρακτηριστικών, επιλογή πλαισίου και άλλα. Η εκτέλεση δοκιμών A/B μεταξύ ενός νέου μοντέλου και ενός παλιού μοντέλου με κίνηση παραγωγής μπορεί να είναι ένα αποτελεσματικό τελικό βήμα στη διαδικασία επικύρωσης για ένα νέο μοντέλο. Στη δοκιμή A/B, δοκιμάζετε διαφορετικές παραλλαγές των μοντέλων σας και συγκρίνετε την απόδοση κάθε παραλλαγής μεταξύ τους. Στη συνέχεια, επιλέγετε το μοντέλο με τις καλύτερες επιδόσεις για να αντικαταστήσετε το προηγούμενο μοντέλο με μια νέα έκδοση που προσφέρει καλύτερες επιδόσεις από την προηγούμενη έκδοση. Χρησιμοποιώντας παραλλαγές παραγωγής, μπορείτε να δοκιμάσετε αυτά τα μοντέλα ML και διαφορετικές εκδόσεις μοντέλων πίσω από το ίδιο τελικό σημείο. Μπορείτε να εκπαιδεύσετε αυτά τα μοντέλα ML χρησιμοποιώντας διαφορετικά σύνολα δεδομένων, διαφορετικούς αλγόριθμους και πλαίσια ML. να τα αναπτύξουν σε διαφορετικούς τύπους παρουσιών. ή οποιοδήποτε συνδυασμό αυτών των επιλογών. Ο εξισορροπητής φορτίου που είναι συνδεδεμένος στο τελικό σημείο του SageMaker παρέχει τη δυνατότητα διανομής των αιτημάτων επίκλησης σε πολλές παραλλαγές παραγωγής. Για παράδειγμα, μπορείτε να κατανείμετε την κυκλοφορία μεταξύ παραλλαγών παραγωγής καθορίζοντας την κατανομή επισκεψιμότητας για κάθε παραλλαγή ή μπορείτε να επικαλέσετε μια συγκεκριμένη παραλλαγή απευθείας για κάθε αίτημα.

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

Το παρακάτω διάγραμμα δείχνει πώς λειτουργεί το MVE με περισσότερες λεπτομέρειες.

τελικό σημείο πολλαπλών παραλλαγών SageMaker

Η ανάπτυξη ενός MVE είναι επίσης πολύ απλή. Το μόνο που χρειάζεται να κάνετε είναι να ορίσετε αντικείμενα μοντέλου με την εικόνα και τα δεδομένα μοντέλου χρησιμοποιώντας το create_model κατασκευάστε από το SageMaker Python SDK και ορίστε τις διαμορφώσεις τελικού σημείου χρησιμοποιώντας production_variant κατασκευές για τη δημιουργία παραλλαγών παραγωγής, η καθεμία με το δικό της διαφορετικό μοντέλο και τις απαιτήσεις πόρων (τύπος και μετρήσεις παρουσιών). Αυτό σας δίνει τη δυνατότητα να δοκιμάσετε μοντέλα σε διαφορετικούς τύπους παρουσιών. Για να αναπτύξετε, χρησιμοποιήστε το endpoint_from_production_variant κατασκευή για να δημιουργήσετε το τελικό σημείο.

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

sm_session.create_model(
	name=model_name,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url}
	)

sm_session.create_model(
	name=model_name2,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url2 }
	)

variant1 = production_variant(
	model_name=model_name,
	instance_type="ml.c5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant1",
	initial_weight=1
	)

variant2 = production_variant(
	model_name=model_name2,
	instance_type="ml.m5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant2",
	initial_weight=1
	)

sm_session.endpoint_from_production_variants(
	name=endpoint_name,
	production_variants=[variant1,  variant2]
	)

Στο προηγούμενο παράδειγμα, δημιουργήσαμε δύο παραλλαγές, η καθεμία με το δικό της διαφορετικό μοντέλο (αυτές θα μπορούσαν επίσης να έχουν διαφορετικούς τύπους παρουσιών και μετρήσεις). Ορίσαμε ένα initial_weight από 1 και για τις δύο παραλλαγές: αυτό σημαίνει ότι το 50% των αιτημάτων μας πηγαίνει σε Variant1, και το υπόλοιπο 50% σε Variant2. Το άθροισμα των βαρών και στις δύο παραλλαγές είναι 2 και κάθε παραλλαγή έχει εκχώρηση βάρους 1. Αυτό σημαίνει ότι κάθε παραλλαγή λαμβάνει το 50% της συνολικής επισκεψιμότητας.

Η επίκληση του τελικού σημείου είναι παρόμοια με την κοινή κατασκευή του SageMaker invoke_endpoint; μπορείτε να καλέσετε το τελικό σημείο απευθείας με τα δεδομένα ως ωφέλιμο φορτίο:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload
	)

Το SageMaker εκπέμπει μετρήσεις όπως Latency και Invocations για κάθε παραλλαγή στο CloudWatch. Για μια πλήρη λίστα μετρήσεων που εκπέμπει το SageMaker, βλ Παρακολουθήστε το Amazon SageMaker με το Amazon CloudWatch. Μπορείτε να ρωτήσετε το CloudWatch για να λάβετε τον αριθμό των επικλήσεων ανά παραλλαγή, για να δείτε πώς οι επικλήσεις κατανέμονται σε παραλλαγές από προεπιλογή.

Για να καλέσετε μια συγκεκριμένη έκδοση του μοντέλου, καθορίστε μια παραλλαγή ως το TargetVariant στην κλήση προς invoke_endpoint:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload,
	TargetVariant="Variant1"
	)

Μπορείτε να αξιολογήσετε την απόδοση κάθε παραλλαγής παραγωγής ελέγχοντας μετρήσεις όπως ακρίβεια, ακρίβεια, ανάκληση, βαθμολογία F1 και χαρακτηριστικό/περιοχή λειτουργίας δέκτη κάτω από την καμπύλη για κάθε παραλλαγή χρησιμοποιώντας Παρακολούθηση μοντέλου Amazon SageMaker. Στη συνέχεια, μπορείτε να αποφασίσετε να αυξήσετε την επισκεψιμότητα στο καλύτερο μοντέλο ενημερώνοντας τα βάρη που έχουν εκχωρηθεί σε κάθε παραλλαγή καλώντας UpdateEndpointWeightsAndCapacities. Αυτό αλλάζει την κατανομή επισκεψιμότητας στις παραλλαγές παραγωγής σας χωρίς να απαιτεί ενημερώσεις στο τελικό σημείο σας. Έτσι, αντί για το 50% της επισκεψιμότητας από την αρχική ρύθμιση, μετατοπίζουμε το 75% της επισκεψιμότητας στο Variant2 με την ανάθεση νέων βαρών σε κάθε παραλλαγή χρησιμοποιώντας UpdateEndpointWeightsAndCapacities. Δείτε τον ακόλουθο κώδικα:

sm.update_endpoint_weights_and_capacities(
	EndpointName=endpoint_name,
	DesiredWeightsAndCapacities=[
	{
		"DesiredWeight": 25,
		"VariantName": variant1["VariantName"]
	},
	{
		"DesiredWeight": 75,
		"VariantName": variant2["VariantName"]
	}
] )

Όταν είστε ικανοποιημένοι με την απόδοση μιας παραλλαγής, μπορείτε να δρομολογήσετε το 100% της επισκεψιμότητας σε αυτήν την παραλλαγή. Για παράδειγμα, μπορείτε να ορίσετε το βάρος για Variant1 στο 0 και το βάρος για Variant2 στο 1. Στη συνέχεια, το SageMaker στέλνει το 100% όλων των αιτημάτων συμπερασμάτων στο Variant2. Στη συνέχεια, μπορείτε να ενημερώσετε με ασφάλεια το τελικό σημείο σας και να το διαγράψετε Variant1 από το τελικό σας σημείο. Μπορείτε επίσης να συνεχίσετε να δοκιμάζετε νέα μοντέλα στην παραγωγή προσθέτοντας νέες παραλλαγές στο τελικό σημείο σας. Μπορείτε επίσης να διαμορφώσετε αυτά τα τελικά σημεία ώστε να κλιμακώνονται αυτόματα με βάση την κίνηση που λαμβάνουν τα τελικά σημεία.

Πλεονεκτήματα των τελικών σημείων πολλαπλών παραλλαγών

Τα SageMaker MVE σας επιτρέπουν να κάνετε τα εξής:

  • Αναπτύξτε και δοκιμάστε πολλές παραλλαγές ενός μοντέλου χρησιμοποιώντας το ίδιο τελικό σημείο του SageMaker. Αυτό είναι χρήσιμο για τη δοκιμή παραλλαγών ενός μοντέλου στην παραγωγή. Για παράδειγμα, ας υποθέσουμε ότι έχετε αναπτύξει ένα μοντέλο στην παραγωγή. Μπορείτε να δοκιμάσετε μια παραλλαγή του μοντέλου κατευθύνοντας μια μικρή επισκεψιμότητα, ας πούμε 5%, στο νέο μοντέλο.
  • Αξιολογήστε την απόδοση του μοντέλου στην παραγωγή χωρίς να διακόπτετε την κυκλοφορία παρακολουθώντας τις λειτουργικές μετρήσεις για κάθε παραλλαγή στο CloudWatch.
  • Ενημερώστε τα μοντέλα στην παραγωγή χωρίς να χάσετε καμία διαθεσιμότητα. Μπορείτε να τροποποιήσετε ένα τελικό σημείο χωρίς να βγάλετε μοντέλα που έχουν ήδη αναπτυχθεί στην παραγωγή εκτός λειτουργίας. Για παράδειγμα, μπορείτε να προσθέσετε νέες παραλλαγές μοντέλων, να ενημερώσετε τις διαμορφώσεις παρουσίας υπολογισμού ML για υπάρχουσες παραλλαγές μοντέλου ή να αλλάξετε την κατανομή της επισκεψιμότητας μεταξύ των παραλλαγών του μοντέλου. Για περισσότερες πληροφορίες, βλ Ενημέρωση Endpoint και UpdateEndpointWeightsAndCapacities.

Προκλήσεις κατά τη χρήση τελικών σημείων πολλαπλών παραλλαγών

Τα SageMaker MVE συνοδεύονται από τις ακόλουθες προκλήσεις:

  • Δοκιμαστική προσπάθεια φορτίου – Πρέπει να καταβάλετε αρκετή προσπάθεια και πόρους για δοκιμές και συγκρίσεις μήτρας μοντέλων για κάθε παραλλαγή. Για να θεωρηθεί επιτυχής μια δοκιμή A/B, πρέπει να εκτελέσετε μια στατιστική ανάλυση των μετρήσεων που συγκεντρώθηκαν από τη δοκιμή για να προσδιορίσετε εάν υπάρχει στατιστικά σημαντικό αποτέλεσμα. Θα μπορούσε να γίνει δύσκολο να ελαχιστοποιηθεί η εξερεύνηση παραλλαγών με κακή απόδοση. Θα μπορούσατε ενδεχομένως να χρησιμοποιήσετε ο πολύοπλος ληστής τεχνική βελτιστοποίησης για να αποφύγετε την αποστολή επισκεψιμότητας σε πειράματα που δεν λειτουργούν και βελτιστοποιήστε την απόδοση καθώς δοκιμάζετε. Για τη δοκιμή φορτίου, θα μπορούσατε επίσης να εξερευνήσετε Amazon SageMaker Inference Recommender για τη διεξαγωγή εκτεταμένων σημείων αναφοράς με βάση τις απαιτήσεις παραγωγής για καθυστέρηση και απόδοση, προσαρμοσμένα μοτίβα κυκλοφορίας και παρουσίες (έως 10) που επιλέγετε.
  • Σφιχτή σύζευξη μεταξύ παραλλαγής μοντέλου και τελικού σημείου – Θα μπορούσε να γίνει δύσκολο ανάλογα με τη συχνότητα ανάπτυξης του μοντέλου, επειδή το τελικό σημείο μπορεί να καταλήξει μέσα updating κατάσταση για κάθε παραλλαγή παραγωγής που ενημερώνεται. Το SageMaker υποστηρίζει επίσης προστατευτικά κιγκλιδώματα ανάπτυξης, το οποίο μπορείτε να χρησιμοποιήσετε για να μεταβείτε εύκολα από το τρέχον μοντέλο παραγωγής σε ένα νέο με ελεγχόμενο τρόπο. Αυτή η επιλογή εισάγει καναρίνι και γραμμικός λειτουργίες μετατόπισης κυκλοφορίας, ώστε να μπορείτε να έχετε λεπτομερή έλεγχο της μετατόπισης της κυκλοφορίας από το τρέχον μοντέλο σας στο νέο κατά τη διάρκεια της ενημέρωσης. Με ενσωματωμένες διασφαλίσεις, όπως η αυτόματη επαναφορά, μπορείτε να εντοπίσετε προβλήματα νωρίς και να προβείτε αυτόματα σε διορθωτικές ενέργειες προτού προκαλέσουν σημαντικό αντίκτυπο στην παραγωγή.

Βέλτιστες πρακτικές για τελικά σημεία πολλαπλών παραλλαγών

Όταν φιλοξενείτε μοντέλα που χρησιμοποιούν SageMaker MVE, λάβετε υπόψη τα εξής:

  • Το SageMaker είναι εξαιρετικό για τη δοκιμή νέων μοντέλων επειδή μπορείτε εύκολα να τα αναπτύξετε σε περιβάλλον δοκιμών A/B και πληρώνετε μόνο για ό,τι χρησιμοποιείτε. Χρεώνεστε ανά παρουσία-ώρα που καταναλώνεται για κάθε παρουσία ενώ εκτελείται το τελικό σημείο. Όταν τελειώσετε με τις δοκιμές σας και δεν χρησιμοποιείτε πλέον εκτενώς το τελικό σημείο ή τις παραλλαγές, θα πρέπει να το διαγράψετε για να εξοικονομήσετε κόστος. Μπορείτε πάντα να το αναδημιουργήσετε όταν το χρειάζεστε ξανά, επειδή το μοντέλο είναι αποθηκευμένο Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3).
  • Θα πρέπει να χρησιμοποιήσετε τον βέλτιστο τύπο και μέγεθος παρουσίας για την ανάπτυξη μοντέλων. Το SageMaker προσφέρει αυτήν τη στιγμή ML υπολογιστικές παρουσίες σε διάφορες οικογένειες. Μια παρουσία τελικού σημείου εκτελείται συνεχώς (ενώ η παρουσία είναι σε υπηρεσία). Επομένως, η επιλογή του σωστού τύπου παρουσίασης μπορεί να έχει σημαντικό αντίκτυπο στο συνολικό κόστος και την απόδοση των μοντέλων ML. Δοκιμή φόρτωσης είναι η καλύτερη πρακτική για τον προσδιορισμό του κατάλληλου τύπου εμφάνισης και του μεγέθους του στόλου, με ή χωρίς αυτόματη κλιμάκωση για το ζωντανό τελικό σας σημείο, ώστε να αποφευχθεί η υπερβολική παροχή και η επιπλέον πληρωμή για χωρητικότητα που δεν χρειάζεστε.
  • Μπορείτε να παρακολουθείτε την απόδοση του μοντέλου και τη χρήση πόρων στο CloudWatch. Μπορείτε να διαμορφώσετε ένα ProductionVariant να χρησιμοποιήσουν Αυτόματη κλιμάκωση εφαρμογής. Για να καθορίσετε τις μετρήσεις και τις τιμές στόχου για μια πολιτική κλιμάκωσης, διαμορφώνετε μια πολιτική κλιμάκωσης παρακολούθησης στόχου. Μπορείτε να χρησιμοποιήσετε είτε μια προκαθορισμένη μέτρηση είτε μια προσαρμοσμένη μέτρηση. Για περισσότερες πληροφορίες σχετικά με τη σύνταξη διαμόρφωσης πολιτικής, βλ TargetTrackingScalingPolicyConfiguration. Για πληροφορίες σχετικά με τη διαμόρφωση της αυτόματης κλιμάκωσης, βλ Αυτόματη κλίμακα μοντέλων Amazon SageMaker. Για να ορίσετε γρήγορα μια πολιτική κλιμάκωσης παρακολούθησης στόχου για μια παραλλαγή, μπορείτε να επιλέξετε μια συγκεκριμένη μέτρηση CloudWatch και να ορίσετε τιμές κατωφλίου. Για παράδειγμα, χρησιμοποιήστε τη μέτρηση SageMakerVariantInvocationsPerInstance για παρακολούθηση του μέσου αριθμού φορών ανά λεπτό που γίνεται επίκληση κάθε παρουσίας για μια παραλλαγή ή χρήση μετρικής CPUUtilization να παρακολουθεί το άθροισμα της εργασίας που χειρίζεται μια CPU. Το παρακάτω παράδειγμα χρησιμοποιεί το SageMakerVariantInvocationsPerInstance προκαθορισμένη μέτρηση για να προσαρμόσετε τον αριθμό των παρουσιών παραλλαγής έτσι ώστε κάθε παρουσία να έχει ένα InvocationsPerInstance μέτρηση 70:
{
	"TargetValue": 70.0,
	"PredefinedMetricSpecification":
	{
		"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
	}
}

  • Η αλλαγή ή η διαγραφή τεχνουργημάτων του μοντέλου ή η αλλαγή του κώδικα συμπερασμάτων μετά την ανάπτυξη ενός μοντέλου παράγει απρόβλεπτα αποτελέσματα. Πριν από την ανάπτυξη μοντέλων στην παραγωγή, είναι καλή πρακτική να ελέγχετε εάν το μοντέλο που φιλοξενεί σε τοπική λειτουργία είναι επιτυχές μετά από επαρκή εντοπισμό σφαλμάτων των αποσπασμάτων κώδικα συμπερασμάτων (όπως model_fn, input_fn, predict_fn, να output_fn) στο περιβάλλον τοπικής ανάπτυξης, όπως μια παρουσία φορητού υπολογιστή SageMaker ή τοπικός διακομιστής. Εάν πρέπει να αλλάξετε ή να διαγράψετε τεχνουργήματα μοντέλων ή να αλλάξετε τον κώδικα συμπερασμάτων, τροποποιήστε το τελικό σημείο παρέχοντας μια νέα διαμόρφωση παραμέτρων τελικού σημείου. Αφού παρέχετε τη νέα διαμόρφωση τελικού σημείου, μπορείτε να αλλάξετε ή να διαγράψετε τα τεχνουργήματα του μοντέλου που αντιστοιχούν στην παλιά διαμόρφωση τελικού σημείου.
  • Μπορείτε να χρησιμοποιήσετε το SageMaker μετασχηματισμός παρτίδας για τη δοκιμή παραλλαγών παραγωγής. Ο μετασχηματισμός παρτίδας είναι ιδανικός για τη λήψη συμπερασμάτων από μεγάλα σύνολα δεδομένων. Μπορείτε να δημιουργήσετε μια ξεχωριστή εργασία μετασχηματισμού για κάθε νέα παραλλαγή μοντέλου και να χρησιμοποιήσετε ένα σύνολο δεδομένων επικύρωσης για δοκιμή. Για κάθε εργασία μετασχηματισμού, καθορίστε ένα μοναδικό όνομα μοντέλου και τοποθεσία στο Amazon S3 για το αρχείο εξόδου. Για να αναλύσετε τα αποτελέσματα, χρησιμοποιήστε αρχεία καταγραφής και μετρήσεις αγωγών συμπερασμάτων.

Συμπέρασμα

Το SageMaker σάς δίνει τη δυνατότητα να δοκιμάζετε εύκολα A/B μοντέλα ML στην παραγωγή εκτελώντας πολλές παραλλαγές παραγωγής σε ένα τελικό σημείο. Μπορείτε να χρησιμοποιήσετε τις δυνατότητες του SageMaker για να δοκιμάσετε μοντέλα που έχουν εκπαιδευτεί χρησιμοποιώντας διαφορετικά σύνολα δεδομένων εκπαίδευσης, υπερπαραμέτρους, αλγόριθμους ή πλαίσια ML. πώς αποδίδουν σε διαφορετικούς τύπους παρουσιών. ή συνδυασμό όλων των παραπάνω. Μπορείτε να παρέχετε την κατανομή επισκεψιμότητας μεταξύ των παραλλαγών σε ένα τελικό σημείο και το SageMaker διαχωρίζει την κίνηση συμπερασμάτων στις παραλλαγές με βάση την καθορισμένη κατανομή. Εναλλακτικά, εάν θέλετε να δοκιμάσετε μοντέλα για συγκεκριμένα τμήματα πελατών, μπορείτε να καθορίσετε την παραλλαγή που θα πρέπει να επεξεργαστεί ένα αίτημα συμπερασμάτων παρέχοντας το TargetVariant κεφαλίδα και το SageMaker θα δρομολογήσει το αίτημα στην παραλλαγή που καθορίσατε. Για περισσότερες πληροφορίες σχετικά με τη δοκιμή A/B, βλ Ενημερώστε με ασφάλεια τα μοντέλα στην παραγωγή.

αναφορές


Σχετικά με τους συγγραφείς

Μοτίβα φιλοξενίας μοντέλων στο SageMaker: Βέλτιστες πρακτικές για τη δοκιμή και την ενημέρωση μοντέλων στο SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Deepali Rajale είναι Ειδικός Τεχνικός Λογαριασμός AI/ML στο Amazon Web Services. Συνεργάζεται με εταιρικούς πελάτες παρέχοντας τεχνική καθοδήγηση σχετικά με την εφαρμογή λύσεων μηχανικής εκμάθησης με βέλτιστες πρακτικές. Στον ελεύθερο χρόνο της, της αρέσει η πεζοπορία, οι ταινίες και οι παρέες με την οικογένεια και τους φίλους της.

Μοτίβα φιλοξενίας μοντέλων στο SageMaker: Βέλτιστες πρακτικές για τη δοκιμή και την ενημέρωση μοντέλων στο SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Dhawal Patel είναι Κύριος Αρχιτέκτονας Μηχανικής Μάθησης στο AWS. Έχει συνεργαστεί με οργανισμούς που κυμαίνονται από μεγάλες επιχειρήσεις έως νεοφυείς επιχειρήσεις μεσαίου μεγέθους για προβλήματα που σχετίζονται με τους κατανεμημένους υπολογιστές και την Τεχνητή Νοημοσύνη. Εστιάζεται στη Deep Learning, συμπεριλαμβανομένων των τομέων NLP και Computer Vision. Βοηθά τους πελάτες να επιτύχουν συμπεράσματα μοντέλων υψηλής απόδοσης στο SageMaker.

Μοτίβα φιλοξενίας μοντέλων στο SageMaker: Βέλτιστες πρακτικές για τη δοκιμή και την ενημέρωση μοντέλων στο SageMaker PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Saurabh Trikande είναι Ανώτερος Διευθυντής Προϊόντων για το Amazon SageMaker Inference. Είναι παθιασμένος με τη συνεργασία με πελάτες και παρακινείται από τον στόχο του εκδημοκρατισμού της μηχανικής μάθησης. Εστιάζει στις βασικές προκλήσεις που σχετίζονται με την ανάπτυξη πολύπλοκων εφαρμογών ML, μοντέλων ML πολλαπλών μισθωτών, βελτιστοποιήσεις κόστους και καθιστώντας την ανάπτυξη μοντέλων βαθιάς μάθησης πιο προσιτή. Στον ελεύθερο χρόνο του, ο Saurabh απολαμβάνει την πεζοπορία, μαθαίνει για καινοτόμες τεχνολογίες, ακολουθεί το TechCrunch και περνά χρόνο με την οικογένειά του.

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

Περισσότερα από Μηχανική εκμάθηση AWS