Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα Amazon SageMaker JumpStart

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα Amazon SageMaker JumpStart

Amazon SageMaker JumpStart είναι ο κόμβος μηχανικής εκμάθησης (ML) του SageMaker που προσφέρει πάνω από 350 ενσωματωμένους αλγόριθμους, προεκπαιδευμένα μοντέλα και προκατασκευασμένα πρότυπα λύσεων για να σας βοηθήσει να ξεκινήσετε γρήγορα με την ML. Το JumpStart παρέχει πρόσβαση με ένα κλικ σε μια μεγάλη ποικιλία προεκπαιδευμένων μοντέλων για κοινές εργασίες ML, όπως ανίχνευση αντικειμένων, ταξινόμηση κειμένου, σύνοψη, δημιουργία κειμένου και πολλά άλλα. Το SageMaker Jumpstart παρέχει επίσης προεκπαιδευμένο μοντέλα θεμελίωσης όπως το μοντέλο Stable Diffusion κειμένου σε εικόνα του Stability AI, το BLOOM, το Cohere's Generate, το AlexaTM της Amazon και άλλα. Μπορείτε να ρυθμίσετε και να αναπτύξετε μοντέλα JumpStart χρησιμοποιώντας το UI in Στούντιο Amazon SageMaker ή χρησιμοποιώντας το SDK SageMaker Python επέκταση για JumpStart API. Τα JumpStart API ξεκλειδώνουν τη χρήση των δυνατοτήτων του JumpStart στις ροές εργασίας σας και ενσωματώνονται με εργαλεία όπως το μητρώο μοντέλων που αποτελούν μέρος των αγωγών MLOps και οπουδήποτε αλλού αλληλεπιδράτε με το SageMaker μέσω SDK.

Αυτή η ανάρτηση εστιάζει στο πώς μπορούμε να εφαρμόσουμε MLOps με μοντέλα JumpStart χρησιμοποιώντας JumpStart API, Αγωγοί Amazon SageMaker, να Έργα Amazon SageMaker. Δείχνουμε πώς να δημιουργήσετε μια σωλήνωση CI/CD από άκρο σε άκρο για προεπεξεργασία δεδομένων και λεπτομέρεια μοντέλων ML, καταγράφοντας τεχνουργήματα μοντέλων στο Μητρώο μοντέλων SageMaker, και αυτοματοποίηση της ανάπτυξης του μοντέλου με μη αυτόματη έγκριση στη σκηνή και την παραγωγή. Παρουσιάζουμε ένα παράδειγμα ταξινόμησης απόκλισης πελατών χρησιμοποιώντας το μοντέλο LightGBM από το Jumpstart.

Μοτίβο MLOps με JumpStart

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

Τα δεδομένα του πραγματικού κόσμου και οι περιπτώσεις επιχειρηματικής χρήσης αλλάζουν γρήγορα και η ρύθμιση μοτίβων MLOP με το Jumpstart σάς επιτρέπει να εκπαιδεύετε, να αξιολογείτε, να εκδίδει και να αναπτύσσετε γρήγορα μοντέλα σε περιβάλλοντα. Στις αρχικές φάσεις του πειραματισμού με μοντέλα Jumpstart, μπορείτε να χρησιμοποιήσετε σημειωματάρια Studio για να ανακτήσετε, να τελειοποιήσετε, να αναπτύξετε και να δοκιμάσετε μοντέλα. Μόλις προσδιορίσετε ότι το μοντέλο, το σύνολο δεδομένων και οι υπερπαράμετροι ταιριάζουν κατάλληλα για την περίπτωση επαγγελματικής χρήσης, το επόμενο βήμα είναι να δημιουργήσετε μια αυτόματη ροή εργασίας για την προεπεξεργασία δεδομένων και τον ακριβή συντονισμό του μοντέλου, την εγγραφή του στο μητρώο μοντέλου και την ανάπτυξη το μοντέλο στη σκηνοθεσία και την παραγωγή. Στην επόμενη ενότητα, δείχνουμε πώς μπορείτε να χρησιμοποιήσετε το SageMaker Pipelines και το SageMaker Projects για να δημιουργήσετε MLO.

Ενσωματώστε το JumpStart με τα SageMaker Pipelines και τα SageMaker Projects

Τα μοντέλα Jumpstart μπορούν να ενσωματωθούν με το SageMaker Pipelines και το SageMaker Projects για τη δημιουργία της υποδομής CI/CD και την αυτοματοποίηση όλων των βημάτων που εμπλέκονται στον κύκλο ζωής ανάπτυξης μοντέλων. Αγωγοί SageMaker είναι ένα εγγενές εργαλείο ενορχήστρωσης ροής εργασιών για την κατασκευή αγωγών ML που εκμεταλλεύονται την άμεση ενσωμάτωση του SageMaker. SageMaker Projects παρέχει πρότυπα MLOps που παρέχουν αυτόματα τους υποκείμενους πόρους που απαιτούνται για την ενεργοποίηση των δυνατοτήτων CI/CD για τον κύκλο ζωής ανάπτυξης ML.

Η κατασκευή, η εκπαίδευση, ο συντονισμός και η ανάπτυξη μοντέλων Jumpstart με το SageMaker Pipelines και το SageMaker Projects σάς επιτρέπουν να επαναλαμβάνετε ταχύτερα και να δημιουργείτε επαναλαμβανόμενους μηχανισμούς. Κάθε βήμα στη διοχέτευση μπορεί να παρακολουθεί τη γενεαλογία και τα ενδιάμεσα βήματα μπορούν να αποθηκευτούν προσωρινά για γρήγορη επανεκτέλεση του αγωγού. Με τα έργα, η διαχείριση εξαρτήσεων, η διαχείριση αποθετηρίου κώδικα, η αναπαραγωγιμότητα της κατασκευής και η κοινή χρήση τεχνουργημάτων είναι απλή στη ρύθμιση. Μπορείτε να χρησιμοποιήσετε έναν αριθμό από ενσωματωμένα πρότυπα or δημιουργήστε το δικό σας προσαρμοσμένο πρότυπο. Τα έργα SageMaker παρέχονται χρησιμοποιώντας Κατάλογος υπηρεσιών AWS προϊόντα.

Επισκόπηση λύσεων

Σε αυτήν την ενότητα, δημιουργούμε πρώτα ένα αρχείο pipeline.yaml για το παράδειγμα ανατροπής πελάτη με όλα τα βήματα για την προεπεξεργασία των δεδομένων και την ανάκτηση, τη λεπτομέρεια και την εγγραφή του μοντέλου στο μητρώο μοντέλου. Στη συνέχεια χρησιμοποιούμε ένα προκατασκευασμένο πρότυπο MLOps για να εκκινήσουμε τη ροή εργασίας ML και να παρέχουμε μια διοχέτευση CI/CD με δείγμα κώδικα. Αφού δημιουργήσουμε το πρότυπο, τροποποιούμε το δείγμα κώδικα που δημιουργήθηκε από το πρότυπο για να χρησιμοποιήσουμε το pipeline.yaml που δημιουργήθηκε για την περίπτωση χρήσης μας. Τα δείγματα κώδικα για αυτό το παράδειγμα είναι διαθέσιμα στο GitHub.

Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεων.

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ο αγωγός περιλαμβάνει τα ακόλουθα βήματα:

  1. Προεπεξεργαστείτε τα σύνολα δεδομένων στη μορφή που απαιτείται από το JumpStart με βάση τον τύπο του προβλήματος ML και διαχωρίστε τα δεδομένα σε σύνολα δεδομένων εκπαίδευσης και επικύρωσης.
  2. Εκτελέστε το βήμα εκπαίδευσης για να ρυθμίσετε με ακρίβεια το προεκπαιδευμένο μοντέλο χρησιμοποιώντας εκμάθηση μεταφοράς.
  3. Δημιουργήστε το μοντέλο.
  4. Καταχωρήστε το μοντέλο.

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

Προϋποθέσεις

Για να εφαρμόσετε αυτήν τη λύση, πρέπει να έχετε ένα Διαχείριση ταυτότητας και πρόσβασης AWS (IAM) ρόλος που επιτρέπει τη σύνδεση με το SageMaker και το Amazon S3. Για περισσότερες πληροφορίες σχετικά με τα δικαιώματα ρόλου IAM, βλ Πολιτικές και άδειες στο IAM.

Εισαγωγή δηλώσεων και δήλωση παραμέτρων και σταθερών

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

sm_client = boto3.client("sagemaker")
sess = sagemaker.Session()
region = boto3.Session().region_name
bucket = sess.default_bucket()
BASE_DIR = os.path.dirname(os.path.realpath(__file__))
local_path = "churn.txt"
s3 = boto3.client("s3")
s3.download_file(f"sagemaker-sample-files", "datasets/tabular/synthetic/churn.txt", local_path)
base_uri = f"s3://{bucket}/churn"
input_data_uri = sagemaker.s3.S3Uploader.upload( local_path=local_path, desired_s3_uri=base_uri,
)

Καθορίστε το σενάριο επεξεργασίας δεδομένων και το βήμα επεξεργασίας

Εδώ, παρέχουμε ένα σενάριο Python για την επεξεργασία δεδομένων στα προσαρμοσμένα σύνολα δεδομένων και την επιμέλεια των διαχωρισμών εκπαίδευσης, επικύρωσης και δοκιμής που θα χρησιμοποιηθούν για τη λεπτομερή ρύθμιση του μοντέλου. ο preprocessing.py Το αρχείο που χρησιμοποιήθηκε για το παράδειγμά μας βρίσκεται στο GitHub.

Σε αυτό το βήμα, εγκαινιάζουμε τον επεξεργαστή. Επειδή το σενάριο επεξεργασίας είναι γραμμένο σε Pandas, χρησιμοποιούμε a SKLearnProcessor. Οι Αγωγοί ProcessingStep Η συνάρτηση λαμβάνει τα ακόλουθα ορίσματα: τον επεξεργαστή, τις θέσεις εισόδου S3 για μη επεξεργασμένα σύνολα δεδομένων και τις θέσεις S3 εξόδου για την αποθήκευση επεξεργασμένων συνόλων δεδομένων. Δείτε τον παρακάτω κώδικα:

# Processing step for feature engineering
framework_version = "0.23-1"
sklearn_processor = SKLearnProcessor( framework_version=framework_version, instance_type="ml.m5.xlarge", instance_count=1, base_job_name="sklearn-churn-process", role=role, sagemaker_session=sagemaker_session,
) step_process = ProcessingStep( name="JumpstartDataProcessing", # choose any name processor=sklearn_processor, inputs=[ ProcessingInput(source=input_data_uri, destination="/opt/ml/processing/input"), ], outputs=[ ProcessingOutput(output_name="train", source="/opt/ml/processing/train", destination=f"s3://{bucket}/output/train"), ProcessingOutput(output_name="validation", source="/opt/ml/processing/validation",destination=f"s3://{bucket}/output/validation"), ProcessingOutput(output_name="test", source="/opt/ml/processing/test",destination=f"s3://{bucket}/output/test"), ], code=os.path.join(BASE_DIR, "preprocessing.py"),
) 

Καθορίστε το βήμα του αγωγού για λεπτομέρεια

Στη συνέχεια, παρέχουμε τα βήματα διοχέτευσης για την ανάκτηση του μοντέλου και το σενάριο εκπαίδευσης για την ανάπτυξη του βελτιστοποιημένου μοντέλου. Τα τεχνουργήματα μοντέλων για το Jumpstart αποθηκεύονται ως tarballs σε ένα Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδος. Κάθε μοντέλο έχει έκδοση και περιέχει ένα μοναδικό αναγνωριστικό που μπορεί να χρησιμοποιηθεί για την ανάκτηση του URI του μοντέλου. Χρειάζεστε τα ακόλουθα για να ανακτήσετε το URI:

  • μοντέλο_αναγνωριστικό – Ένα μοναδικό αναγνωριστικό για το μοντέλο JumpStart.
  • model_version – Η έκδοση των προδιαγραφών για το μοντέλο. Για να χρησιμοποιήσετε την πιο πρόσφατη έκδοση, πληκτρολογήστε *. Αυτή είναι μια απαιτούμενη παράμετρος.

Επιλέξτε model_id και version από το πίνακας προεκπαιδευμένων μοντέλων, καθώς και ένα μοντέλο εμβέλειας. Σε αυτήν την περίπτωση, ξεκινάτε χρησιμοποιώντας την «εκπαίδευση» ως το εύρος του μοντέλου. Χρησιμοποιήστε τις βοηθητικές λειτουργίες για να ανακτήσετε το URI καθενός από τα τρία στοιχεία που χρειάζεστε για να συνεχίσετε. Επιλέξτε τον τύπο παρουσίας. για αυτό το μοντέλο μπορούμε να χρησιμοποιήσουμε ένα στιγμιότυπο GPU ή μη GPU. Το μοντέλο σε αυτό το παράδειγμα χρησιμοποιεί έναν τύπο παρουσίας ml.m5.4xlarge. Δείτε τον παρακάτω κώδικα:

# Estimator Instance count and instance type.
instance_count = 1
instance_type = "ml.m5.4xlarge"
model_id, model_version = "lightgbm-classification-model", "*"
training_instance_type = "ml.m5.4xlarge"
# Retrieve the docker image
train_image_uri = image_uris.retrieve( region=None, framework=None, model_id=model_id, model_version=model_version, image_scope="training", instance_type=training_instance_type,
)
# Retrieve the training script
train_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="training")
# Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="training") #Set S3 URIs
training_dataset_s3_path = f"s3://{bucket}/output/"
output_prefix = "jumpstart-example-tabular-training"
s3_output_location = f"s3://{bucket}/{output_prefix}/output" # Get the default JumpStart hyperparameters
default_hyperparameters = hyperparameters.retrieve_default( model_id=model_id, model_version=model_version,
)

Στη συνέχεια, χρησιμοποιήστε τα URI πόρων μοντέλου για να δημιουργήσετε ένα Estimator και εκπαιδεύστε το σε ένα προσαρμοσμένο σύνολο δεδομένων εκπαίδευσης. Πρέπει να καθορίσετε τη διαδρομή S3 του προσαρμοσμένου συνόλου εκπαίδευσης. ο Estimator η τάξη απαιτεί ένα entry_point παράμετρος. Χρήσεις JumpStart transfer_learning.py. Η εργασία εκπαίδευσης αποτυγχάνει να εκτελεστεί εάν δεν οριστεί αυτή η τιμή. Ενώ το μοντέλο ταιριάζει στο σύνολο δεδομένων εκπαίδευσης, μπορείτε να δείτε την έξοδο της κονσόλας που αντικατοπτρίζει την πρόοδο που σημειώνει η εργασία εκπαίδευσης. Αυτό δίνει περισσότερο πλαίσιο για την εργασία κατάρτισης, συμπεριλαμβανομένου του transfer_learning.py γραφή. Στη συνέχεια, εγκαινιάζουμε το βήμα μικρορύθμισης χρησιμοποιώντας έναν εκτιμητή ταξινόμησης SageMaker LightGBM και τη συνάρτηση Pipelines TrainingStep.

ic_estimator = Estimator( role=role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=default_hyperparameters, output_path=s3_output_location, sagemaker_session=sagemaker_session, training=training_dataset_s3_path,
)
xgb_input_content_type = None training_step = TrainingStep( name="JumpStartFineTraining", estimator=ic_estimator, inputs={ "train": TrainingInput( s3_data=step_process.properties.ProcessingOutputConfig.Outputs["train"].S3Output.S3Uri, content_type="text/csv", ), "validation": TrainingInput( s3_data=step_process.properties.ProcessingOutputConfig.Outputs["validation"].S3Output.S3Uri, content_type="text/csv", ), }
)

Καθορίστε το βήμα διοχέτευσης για να ανακτήσετε το κοντέινερ συμπερασμάτων και το σενάριο για το μοντέλο

Για να αναπτύξουμε τα τελειοποιημένα τεχνουργήματα του μοντέλου σε ένα τελικό σημείο του SageMaker, χρειαζόμαστε ένα σενάριο συμπερασμάτων και ένα κοντέινερ συμπερασμάτων. Στη συνέχεια αρχικοποιούμε ένα SageMaker Model που μπορεί να αναπτυχθεί σε ένα Endpoint. Περνάμε το σενάριο συμπερασμάτων ως σημείο εισόδου για το μοντέλο μας.

deploy_image_uri = image_uris.retrieve( region=None, framework=None, image_scope="inference", model_id=model_id, model_version=model_version, instance_type=inference_instance_type,
)
model = Model( image_uri=deploy_image_uri, entry_point="inference.py", source_dir= Inference_dir, model_data=training_step.properties.ModelArtifacts.S3ModelArtifacts, sagemaker_session=sagemaker_session, name="JumpStartRegisterModel", role=role,
)

Καθορίστε τα βήματα διοχέτευσης για το μητρώο μοντέλων

Ο ακόλουθος κώδικας καταχωρεί το μοντέλο στο μητρώο μοντέλου SageMaker χρησιμοποιώντας το βήμα μοντέλου Pipelines. Μπορείτε να ορίσετε την κατάσταση έγκρισης σε Approved or PendingManualApproval. PendingManualApproval απαιτεί μη αυτόματη έγκριση στο Studio IDE.

approval_status="Approved"
step_register = RegisterModel(
name="JumpStartRegisterModel",
model=model,
content_types=["text/csv"],
response_types=["text/csv"],
inference_instances=["ml.t2.medium", "ml.m5.4xlarge"],
transform_instances=["ml.m5.4xlarge"],
model_package_group_name=model_package_group_name,
approval_status=approval_status,
model_metrics=model_metrics,
)

Καθορίστε τον αγωγό

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

# Create a unique pipeline name with flow export name
pipeline_name = "sm-jumpstart-churn-prediction-pipeline" # Combine pipeline steps
pipeline_steps = [step_process,training_step,step_register] pipeline = Pipeline(
name=pipeline_name,
parameters=[processing_instance_count,instance_type, instance_count,input_data],
steps=pipeline_steps,
sagemaker_session=sess
)

Εκκινήστε ένα πρότυπο ανάπτυξης με το SageMaker Projects

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

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Στη σελίδα έργων, μπορείτε να εκκινήσετε ένα προρυθμισμένο πρότυπο MLOps του SageMaker. Για αυτό το παράδειγμα, επιλέγουμε Πρότυπο MLOps για κατασκευή μοντέλων, εκπαίδευση και ανάπτυξη.

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Αυτό το πρότυπο δημιουργεί την ακόλουθη αρχιτεκτονική.

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Δημιουργούνται οι ακόλουθες υπηρεσίες και πόροι AWS:

  • Δύο αποθετήρια προστίθενται στο AWS CodeCommit:
    • Το πρώτο αποθετήριο παρέχει τον κώδικα για τη δημιουργία ενός αγωγού κτιρίου μοντέλου πολλαπλών βημάτων μαζί με ένα build αρχείο προδιαγραφών, χρησιμοποιηθηκε απο Αγωγός κώδικα AWS και AWS CodeBuild για αυτόματη εκτέλεση του αγωγού.
    • Το δεύτερο αποθετήριο περιέχει κώδικα και αρχεία ρυθμίσεων για την ανάπτυξη του μοντέλου. Αυτό το repo χρησιμοποιεί επίσης CodePipeline και CodeBuild, τα οποία εκτελούν ένα AWS CloudFormation πρότυπο για τη δημιουργία μοντέλων τελικών σημείων για σταδιοποίηση και παραγωγή.
  • Δύο αγωγοί CodePipeline:
    • Η ModelBuild Ο αγωγός ενεργοποιεί αυτόματα και εκτελεί τον αγωγό από άκρο σε άκρο κάθε φορά που γίνεται νέα δέσμευση στο ModelBuild Αποθήκη CodeCommit.
    • Η ModelDeploy η διοχέτευση ενεργοποιείται αυτόματα κάθε φορά που προστίθεται μια νέα έκδοση μοντέλου στο μητρώο μοντέλων του SageMaker και η κατάσταση επισημαίνεται ως Approved. Μοντέλα που έχουν εγγραφεί στο Pending or Rejected οι καταστάσεις δεν αναπτύσσονται.
  • Δημιουργείται ένας κάδος S3 για τεχνουργήματα μοντέλων εξόδου που παράγονται από τον αγωγό.

Τροποποιήστε το δείγμα κώδικα για μια προσαρμοσμένη περίπτωση χρήσης

Για να τροποποιήσουμε το δείγμα κώδικα από το εκκινημένο πρότυπο, πρέπει πρώτα να κλωνοποιήσουμε τα αποθετήρια CodeCommit στην τοπική μας παρουσία του Studio. Από τη λίστα των έργων, επιλέξτε αυτό που μόλις δημιουργήθηκε. Στο Αποθετήρια καρτέλα, μπορείτε να επιλέξετε τους υπερσυνδέσμους για να κλωνοποιήσετε τοπικά τα αποθετήρια CodeCommit.

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Αφού κλωνοποιήσετε τα αποθετήρια στο προηγούμενο βήμα, μπορείτε να τροποποιήσετε τον αρχικό κώδικα που δημιουργήθηκε από το πρότυπο. Μπορείτε να δημιουργήσετε ένα προσαρμοσμένο pipeline.yaml αρχείο με τα απαιτούμενα βήματα. Για αυτό το παράδειγμα, μπορούμε να προσαρμόσουμε τη διοχέτευση μεταβαίνοντας στο pipelines στο φάκελο ModelBuild αποθήκη. Στο pipelines κατάλογο, μπορείτε να βρείτε το abalone φάκελο που περιέχει τον κωδικό του αγωγού σπόρων. Αντικαταστήστε τα περιεχόμενα του καταλόγου abalone με τα σενάρια που υπάρχουν στο φάκελο GitHub. Μετονομάστε το abalone στον κατάλογο customer_churn.

Πρέπει επίσης να τροποποιήσουμε τη διαδρομή μέσα codebuild-buildspec.yml, όπως φαίνεται στο αποθετήριο δειγμάτων:

run-pipeline --module-name pipelines.customer_churn.pipeline 

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

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

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

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

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

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

εκκαθάριση

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

Συμπέρασμα

Το Jumpstart παρέχει εκατοντάδες προεκπαιδευμένα μοντέλα για κοινές εργασίες ML, συμπεριλαμβανομένων περιπτώσεων χρήσης υπολογιστών και επεξεργασίας φυσικής γλώσσας. Σε αυτήν την ανάρτηση, δείξαμε πώς μπορείτε να παράγετε τις δυνατότητες του JumpStart με CI/CD από άκρο σε άκρο χρησιμοποιώντας το SageMaker Pipelines και το SageMaker Projects. Δείξαμε πώς μπορείτε να δημιουργήσετε μια διοχέτευση με βήματα για την προεπεξεργασία δεδομένων και την εκπαίδευση και την καταχώρηση ενός μοντέλου. Έχουμε επίσης δείξει πώς οι αλλαγές στον πηγαίο κώδικα μπορούν να ενεργοποιήσουν μια ολόκληρη διαδικασία κατασκευής και ανάπτυξης μοντέλου με την απαραίτητη διαδικασία έγκρισης. Αυτό το μοτίβο μπορεί να επεκταθεί σε οποιαδήποτε άλλα μοντέλα και λύσεις JumpStart.


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

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται. Vivek Gangasani είναι ανώτερος αρχιτέκτονας λύσεων μηχανικής μάθησης στο Amazon Web Services. Συνεργάζεται με εκκινήσεις μηχανικής εκμάθησης για τη δημιουργία και την ανάπτυξη εφαρμογών AI/ML στο AWS. Επί του παρόντος επικεντρώνεται στην παροχή λύσεων για MLOps, ML Inference και ML χαμηλού κώδικα. Έχει εργαστεί σε έργα σε διαφορετικούς τομείς, συμπεριλαμβανομένης της Επεξεργασίας Φυσικής Γλώσσας και του Computer Vision.

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Ραχούλ Σουρέκα είναι Αρχιτέκτονας Enterprise Solution στην AWS με έδρα την Ινδία. Η Rahul έχει περισσότερα από 22 χρόνια εμπειρίας στην αρχιτεκτονική και την ηγεσία μεγάλων προγραμμάτων μετασχηματισμού επιχειρήσεων σε πολλούς τομείς της βιομηχανίας. Οι τομείς των ενδιαφερόντων του είναι τα δεδομένα και η ανάλυση, η ροή και οι εφαρμογές AI/ML.

Εφαρμογή πρακτικών MLOps με προεκπαιδευμένα μοντέλα του Amazon SageMaker JumpStart, PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Davide Gallitelli είναι Ειδικός Αρχιτέκτονας Λύσεων για AI/ML στην περιοχή EMEA. Εδρεύει στις Βρυξέλλες και συνεργάζεται στενά με πελάτες σε όλη τη Μπενελούξ. Είναι προγραμματιστής από πολύ μικρός, ξεκινώντας να κωδικοποιεί σε ηλικία 7 ετών. Άρχισε να μαθαίνει AI/ML στο πανεπιστήμιο και από τότε το ερωτεύτηκε.

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

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

Χρησιμοποιήστε τη μηχανική εκμάθηση χωρίς κώδικα για να αντλήσετε γνώσεις από κριτικές προϊόντων χρησιμοποιώντας μοντέλα ανάλυσης συναισθήματος και ανάλυσης κειμένου Amazon SageMaker Canvas | Υπηρεσίες Ιστού της Amazon

Κόμβος πηγής: 1899999
Σφραγίδα ώρας: 9 Οκτωβρίου 2023