Πρόσφατα παρουσιάσαμε μια νέα δυνατότητα στο Amazon SageMaker Python SDK που επιτρέπει στους επιστήμονες δεδομένων να εκτελούν τον κώδικα μηχανικής εκμάθησης (ML) που έχει δημιουργηθεί στο προτιμώμενο ενσωματωμένο περιβάλλον προγραμματιστή (IDE) και φορητούς υπολογιστές μαζί με τις σχετικές εξαρτήσεις χρόνου εκτέλεσης ως Amazon Sage Maker εργασίες εκπαίδευσης με ελάχιστες αλλαγές κώδικα στον πειραματισμό που γίνεται τοπικά. Οι επιστήμονες δεδομένων συνήθως πραγματοποιούν πολλές επαναλήψεις πειραματισμού σε μοντέλα επεξεργασίας δεδομένων και εκπαίδευσης ενώ εργάζονται σε οποιοδήποτε πρόβλημα ML. Θέλουν να εκτελέσουν αυτόν τον κώδικα ML και να πραγματοποιήσουν τον πειραματισμό με ευκολία στη χρήση και ελάχιστη αλλαγή κώδικα. Εκπαίδευση Amazon SageMaker Model βοηθά τους επιστήμονες δεδομένων να εκτελέσουν πλήρως διαχειριζόμενες εργασίες εκπαίδευσης μεγάλης κλίμακας στην υπολογιστική υποδομή του AWS. Το SageMaker Training βοηθά επίσης τους επιστήμονες δεδομένων με προηγμένα εργαλεία όπως π.χ Debugger Amazon SageMaker και Profiler για εντοπισμό σφαλμάτων και ανάλυση των εργασιών εκπαίδευσης μεγάλης κλίμακας.
Για πελάτες με μικρούς προϋπολογισμούς, μικρές ομάδες και στενά χρονοδιαγράμματα, κάθε νέα ιδέα και γραμμή κώδικα που ξαναγράφεται για εκτέλεση στο SageMaker τους καθιστά λιγότερο παραγωγικούς ως προς τις βασικές τους εργασίες, δηλαδή την επεξεργασία δεδομένων και την εκπαίδευση μοντέλων ML. Θέλουν να γράψουν κώδικα μία φορά στο πλαίσιο της επιλογής τους και να μπορούν να περάσουν απρόσκοπτα από τον τρέχοντα κώδικα στους φορητούς υπολογιστές ή τους φορητούς υπολογιστές τους σε κώδικα εκτέλεσης σε κλίμακα χρησιμοποιώντας τις δυνατότητες του SageMaker.
Με αυτή τη νέα δυνατότητα του SageMaker Python SDK, οι επιστήμονες δεδομένων μπορούν να ενσωματώσουν τον κώδικα ML τους στην πλατφόρμα εκπαίδευσης SageMaker μέσα σε λίγα λεπτά. Απλώς πρέπει να προσθέσετε μία μόνο γραμμή κώδικα στον κώδικα ML σας και το SageMaker κατανοεί έξυπνα τον κώδικά σας μαζί με τα σύνολα δεδομένων και τη ρύθμιση του περιβάλλοντος χώρου εργασίας και τον εκτελεί ως εργασία εκπαίδευσης SageMaker. Στη συνέχεια, μπορείτε να επωφεληθείτε από τις βασικές δυνατότητες της πλατφόρμας SageMaker Training, όπως η δυνατότητα εύκολης κλιμάκωσης των εργασιών και άλλα σχετικά εργαλεία όπως το Debugger και το Profiler. Σε αυτήν την έκδοση, μπορείτε να εκτελέσετε τον τοπικό σας κώδικα Python μηχανικής εκμάθησης (ML) ως εργασία εκπαίδευσης Amazon SageMaker ενός κόμβου ή πολλαπλές παράλληλες εργασίες. Οι κατανεμημένες εργασίες εκπαίδευσης (σε πολλούς κόμβους) δεν υποστηρίζονται από απομακρυσμένες λειτουργίες.
Σε αυτήν την ανάρτηση, σας δείχνουμε πώς να χρησιμοποιήσετε αυτήν τη νέα δυνατότητα για να εκτελέσετε τον τοπικό κώδικα ML ως εργασία εκπαίδευσης SageMaker.
Επισκόπηση λύσεων
Τώρα μπορείτε να εκτελέσετε τον κώδικα ML που είναι γραμμένος στο IDE ή στο σημειωματάριό σας ως εργασία εκπαίδευσης SageMaker, σχολιάζοντας τη λειτουργία, η οποία λειτουργεί ως σημείο εισόδου στη βάση κώδικα του χρήστη, με ένα απλό διακοσμητικό. Κατά την επίκληση, αυτή η δυνατότητα παίρνει αυτόματα ένα στιγμιότυπο όλων των συσχετισμένων μεταβλητών, συναρτήσεων, πακέτων, μεταβλητών περιβάλλοντος και άλλων απαιτήσεων χρόνου εκτέλεσης από τον κώδικα ML, τις σειριοποιεί και τις υποβάλλει ως εργασία Εκπαίδευσης SageMaker. Ενσωματώνεται με το πρόσφατα ανακοινωθέν Δυνατότητα SageMaker Python SDK για τον ορισμό προεπιλεγμένων τιμών για παραμέτρους. Αυτή η δυνατότητα απλοποιεί τις κατασκευές SageMaker που πρέπει να μάθετε για να μπορείτε να εκτελείτε κώδικα χρησιμοποιώντας το SageMaker Training. Οι επιστήμονες δεδομένων μπορούν να γράψουν, να διορθώσουν και να επαναλάβουν τον κώδικά τους σε οποιοδήποτε προτιμώμενο IDE (όπως π.χ. Στούντιο Amazon SageMaker, σημειωματάρια, VS Code ή PyCharm). Όταν είστε έτοιμοι, μπορείτε να σχολιάσετε τη συνάρτηση Python με το @remote
διακοσμητής και εκτελέστε το ως εργασία SageMaker σε κλίμακα.
Αυτή η δυνατότητα λαμβάνει γνωστά αντικείμενα Python ανοιχτού κώδικα ως ορίσματα και εξόδους. Επιπλέον, δεν χρειάζεται να κατανοήσετε τη διαχείριση του κύκλου ζωής του κοντέινερ και μπορείτε απλώς να εκτελέσετε τους φόρτους εργασίας σας σε διαφορετικά περιβάλλοντα υπολογισμού (όπως εργασίες τοπικού IDE, Studio ή εκπαίδευσης) με ελάχιστα γενικά έξοδα διαμόρφωσης. Για την εκτέλεση οποιουδήποτε τοπικού κώδικα ως εργασία SageMaker Training, αυτή η δυνατότητα συνάγει τις διαμορφώσεις που απαιτούνται για την εκτέλεση εργασιών, όπως η Διαχείριση ταυτότητας και πρόσβασης AWS ρόλος (IAM), κλειδί κρυπτογράφησης και διαμόρφωση δικτύου, από τις ρυθμίσεις Studio ή IDE (που μπορεί να είναι προεπιλεγμένες ρυθμίσεις) και τα μεταβιβάζει στην πλατφόρμα από προεπιλογή. Έχετε την ευελιξία να προσαρμόσετε το χρόνο εκτέλεσης στην υποδομή που διαχειρίζεται το SageMaker χρησιμοποιώντας τη συναγόμενη διαμόρφωση ή να τα παρακάμψετε σε επίπεδο SDK μεταβιβάζοντάς τα ως ορίσματα στον διακοσμητή.
Αυτή η νέα δυνατότητα του SageMaker Python SDK μετατρέπει τον κώδικα ML σε ένα υπάρχον περιβάλλον χώρου εργασίας και οποιονδήποτε σχετικό κώδικα επεξεργασίας δεδομένων και σύνολα δεδομένων σε μια εργασία εκπαίδευσης SageMaker. Αυτή η δυνατότητα αναζητά κώδικα ML τυλιγμένο μέσα σε ένα @remote
διακοσμητής και το μεταφράζει αυτόματα σε μια εργασία που εκτελείται είτε στο Studio είτε σε ένα τοπικό IDE όπως το PyCharm.
Στις επόμενες ενότητες, περιγράφουμε τα χαρακτηριστικά αυτής της νέας δυνατότητας και τον τρόπο εκκίνησης των συναρτήσεων python ως θέσεις εργασίας SageMaker Training.
Προϋποθέσεις
Για να χρησιμοποιήσετε αυτήν τη νέα δυνατότητα SageMaker Python SDK και να εκτελέσετε τον κώδικα που σχετίζεται με αυτήν την ανάρτηση, χρειάζεστε τις ακόλουθες προϋποθέσεις:
- Ένας λογαριασμός AWS που θα περιέχει όλους τους πόρους AWS σας
- Ένας ρόλος IAM για πρόσβαση στο SageMaker
- Πρόσβαση στο Studio ή σε μια παρουσία σημειωματάριου SageMaker ή σε ένα IDE όπως το PyCharm
Χρησιμοποιήστε το SDK από τα σημειωματάρια Studio και SageMaker
Μπορείτε να χρησιμοποιήσετε αυτήν τη δυνατότητα από το Studio εκκινώντας ένα σημειωματάριο και τυλίγοντας τον κώδικά σας με ένα @remote
διακοσμητής μέσα στο σημειωματάριο. Πρώτα πρέπει να εισαγάγετε την απομακρυσμένη λειτουργία χρησιμοποιώντας τον ακόλουθο κώδικα:
from sagemaker.remote_function import remote
Όταν χρησιμοποιείτε τη λειτουργία διακοσμητή, αυτή η δυνατότητα θα ερμηνεύσει αυτόματα τη λειτουργία του κώδικά σας και θα την εκτελέσει ως εργασία εκπαίδευσης SageMaker.
Μπορείτε επίσης να χρησιμοποιήσετε αυτήν τη δυνατότητα από μια παρουσία φορητού υπολογιστή SageMaker. Πρώτα πρέπει να ξεκινήσετε μια παρουσία σημειωματάριου, να ανοίξετε το Jupyter ή το Jupyter Lab σε αυτό και να ξεκινήσετε ένα σημειωματάριο. Στη συνέχεια, εισαγάγετε την απομακρυσμένη λειτουργία όπως φαίνεται στον προηγούμενο κώδικα και τυλίξτε τον κωδικό σας με το @remote
διακοσμητής. Περιλαμβάνουμε ένα παράδειγμα για το πώς να χρησιμοποιήσετε τη λειτουργία διακοσμητή και τις σχετικές ρυθμίσεις αργότερα σε αυτήν την ανάρτηση.
Χρησιμοποιήστε το SDK από το τοπικό σας περιβάλλον
Μπορείτε επίσης να χρησιμοποιήσετε αυτήν τη δυνατότητα από το τοπικό σας IDE. Ως προαπαιτούμενο, πρέπει να έχετε το Διεπαφή γραμμής εντολών AWS (AWS CLI), SageMaker Python SDK και AWS SDK για Python (Boto3) εγκατεστημένο στο τοπικό σας περιβάλλον. Πρέπει να εισαγάγετε αυτές τις βιβλιοθήκες στον κώδικά σας, να ορίσετε τη συνεδρία του SageMaker, να καθορίσετε ρυθμίσεις και να διακοσμήσετε τη λειτουργία σας με το @remote
διακοσμητής. Στο ακόλουθο παράδειγμα κώδικα, εκτελούμε μια απλή λειτουργία διαίρεσης ως εργασία εκπαίδευσης SageMaker:
import boto3
import sagemaker
from sagemaker.remote_function import remote sm_session = sagemaker.Session(boto_session=boto3.session.Session(region_name="us-west-2"))
settings = dict(
sagemaker_session=sm_session,
role=<IAM_ROLE_NAME>
instance_type="ml.m5.xlarge",
)
@remote(**settings)
def divide(x, y):
return x / y
if __name__ == "__main__":
print(divide(2, 3.0))
Μπορούμε να χρησιμοποιήσουμε μια παρόμοια μεθοδολογία για να εκτελέσουμε προηγμένες λειτουργίες ως εργασίες εκπαίδευσης, όπως φαίνεται στην επόμενη ενότητα.
Η εκκίνηση της Python λειτουργεί ως εργασίες του SageMaker
Η νέα δυνατότητα SageMaker Python SDK σάς επιτρέπει να εκτελείτε τις λειτουργίες Python ως Εργασίες εκπαίδευσης SageMaker. Οποιοσδήποτε κώδικας Python, κώδικας εκπαίδευσης ML που έχει αναπτυχθεί από επιστήμονες δεδομένων χρησιμοποιώντας τα προτιμώμενα τοπικά IDE (PyCharm, VS Code), σημειωματάρια SageMaker ή σημειωματάρια Studio μπορούν να εκκινηθούν ως διαχειριζόμενη εργασία SageMaker.
Σε φόρτους εργασίας ML που χρησιμοποιούν αυτήν τη δυνατότητα, τα συσχετισμένα σύνολα δεδομένων, οι εξαρτήσεις και οι ρυθμίσεις περιβάλλοντος χώρου εργασίας σειριοποιούνται χρησιμοποιώντας τον κώδικα ML και εκτελούνται ως εργασία SageMaker συγχρονισμένα και ασύγχρονα.
Μπορείτε να προσθέσετε ένα @remote
σχολιασμός διακοσμητή σε οποιονδήποτε κώδικα Python, συμπεριλαμβανομένης μιας τοπικής λειτουργίας επεξεργασίας ή εκπαίδευσης ML για την εκκίνηση του ως διαχειριζόμενης εργασίας Εκπαίδευσης SageMaker, αξιοποιώντας έτσι την κλίμακα, την απόδοση και τα οφέλη του SageMaker. Αυτό μπορεί να επιτευχθεί με ελάχιστες αλλαγές κώδικα προσθέτοντας ένα διακοσμητή στον κώδικα συνάρτησης Python. Η επίκληση στη διακοσμημένη συνάρτηση εκτελείται συγχρονισμένα και η εκτέλεση της συνάρτησης περιμένει μέχρι να ολοκληρωθεί η εργασία του SageMaker.
Στο παρακάτω παράδειγμα, χρησιμοποιούμε το @remote
διακοσμητής για εκκίνηση εργασιών SageMaker σε λειτουργία διακοσμητή χρησιμοποιώντας μια παρουσία ml.m5.large. Το SageMaker χρησιμοποιεί εργασίες εκπαίδευσης για να ξεκινήσει αυτή τη λειτουργία ως διαχειριζόμενη εργασία.
from sagemaker.remote_function import remote
from numpy as np @remote(instance_type="ml.m5.large")
def matrix_multiply(a, b): return np.matmul(a, b) a = np.array([[1, 0], [0, 1]])
b = np.array([1, 2]) assert matrix_multiply(a, b) == np.array([1,2])
Μπορείτε επίσης να χρησιμοποιήσετε τη λειτουργία διακοσμητή για να εκκινήσετε εργασίες SageMaker, πακέτα Python και εξαρτήσεις. Μπορείτε να συμπεριλάβετε μεταβλητές περιβάλλοντος όπως VPC, υποδίκτυα και ομάδες ασφαλείας για να ξεκινήσετε εργασίες εκπαίδευσης του SageMaker στο environment.yml
αρχείο. Αυτό επιτρέπει στους μηχανικούς και τους διαχειριστές ML να διαμορφώσουν αυτές τις μεταβλητές περιβάλλοντος, ώστε οι επιστήμονες δεδομένων να μπορούν να επικεντρωθούν στη δημιουργία μοντέλων ML και να επαναλάβουν γρηγορότερα. Δείτε τον παρακάτω κώδικα:
from sagemaker.remote_function import remote @remote(instance_type="ml.g4dn.xlarge",dependencies = "./environment.yml")
def train_hf_model(
train_input_path,test_input_path,s3_output_path = None,
*,epochs = 1, train_batch_size = 32, eval_batch_size = 64,
warmup_steps = 500,learning_rate = 5e-5
):
model_name = "distilbert-base-uncased"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
... <TRUCNATED>
return os.path.join(s3_output_path, model_dir), eval_result
Μπορείς να χρησιμοποιήσεις RemoteExecutor
για να εκκινήσετε τις λειτουργίες της Python ως εργασίες του SageMaker ασύγχρονα. Ο εκτελεστής ψηφίζει ασύγχρονα τις εργασίες SageMaker Training για να ενημερώσει την κατάσταση της εργασίας. ο RemoteExecutor
η τάξη είναι μια υλοποίηση του ταυτόχρονες.μελλοντικές.Εκτελεστής, το οποίο χρησιμοποιείται για την υποβολή εργασιών SageMaker Training ασύγχρονα. Δείτε τον παρακάτω κώδικα:
from sagemaker.remote_function import RemoteExecutor def train_hf_model(
train_input_path,test_input_path,s3_output_path = None,
*,epochs = 1, train_batch_size = 32, eval_batch_size = 64,
warmup_steps = 500,learning_rate = 5e-5
):
model_name = "distilbert-base-uncased"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
...<TRUNCATED>
return os.path.join(s3_output_path, model_dir), eval_result with RemoteExecutor(instance_type="ml.g4dn.xlarge", dependencies = './requirements.txt') as e:
future = e.submit(train_hf_model, train_input_path,test_input_path,s3_output_path,
epochs, train_batch_size, eval_batch_size,warmup_steps,learning_rate)
Προσαρμόστε το περιβάλλον χρόνου εκτέλεσης
Λειτουργία διακοσμητή και RemoteExecutor
σας επιτρέπει να ορίσετε και να προσαρμόσετε τα περιβάλλοντα χρόνου εκτέλεσης για την εργασία SageMaker. Οι εξαρτήσεις χρόνου εκτέλεσης, συμπεριλαμβανομένων των πακέτων Python και των μεταβλητών περιβάλλοντος για εργασίες του SageMaker, μπορούν να καθοριστούν για την προσαρμογή του χρόνου εκτέλεσης. Για να εκτελεστεί ο τοπικός κώδικας Python ως εργασίες διαχείρισης του SageMaker, το πακέτο Python και οι εξαρτήσεις πρέπει να είναι διαθέσιμα στο SageMaker. Οι μηχανικοί ML ή οι διαχειριστές της επιστήμης δεδομένων μπορούν να διαμορφώσουν διαμορφώσεις δικτύου και ασφάλειας, όπως VPC, υποδίκτυα και ομάδες ασφαλείας για εργασίες SageMaker, ώστε οι επιστήμονες δεδομένων να μπορούν να χρησιμοποιούν αυτές τις διαμορφώσεις κεντρικής διαχείρισης κατά την εκκίνηση εργασιών SageMaker. Μπορείτε να χρησιμοποιήσετε είτε α requirements.txt
αρχείο ή α Conda environment.yaml
αρχείο.
Όταν οι εξαρτήσεις ορίζονται με requirements.txt
, τα πακέτα θα εγκατασταθούν χρησιμοποιώντας pip στο χρόνο εκτέλεσης της εργασίας. Εάν η εικόνα που χρησιμοποιείται για την εκτέλεση της εργασίας συνοδεύεται από περιβάλλοντα Conda, τα πακέτα θα εγκατασταθούν στο περιβάλλον Conda που έχει δηλωθεί ότι χρησιμοποιείται για εργασίες. Ο παρακάτω κώδικας δείχνει ένα παράδειγμα requirements.txt
αρχείο:
datasets
transformers
torch
scikit-learn
s3fs==0.4.2
sagemaker>=2.148.0
Μπορείς να περάσεις το δικό σου Conda environment.yaml
αρχείο για να δημιουργήσετε το περιβάλλον Conda στο οποίο θα θέλατε να εκτελείται ο κωδικός σας κατά τη διάρκεια της εργασίας εκπαίδευσης. Εάν η εικόνα που χρησιμοποιείται για την εκτέλεση της εργασίας δηλώνει ένα περιβάλλον Conda για την εκτέλεση του κώδικα, θα ενημερώσουμε το δηλωμένο περιβάλλον Conda με τη δεδομένη προδιαγραφή. Ο παρακάτω κώδικας είναι ένα παράδειγμα του α Conda environment.yaml
αρχείο:
name: sagemaker_example
channels: - conda-forge
dependencies: - python=3.10 - pandas - pip: - sagemaker
Εναλλακτικά, μπορείτε να ορίσετε dependencies=”auto_capture”
για να επιτρέψετε στο SageMaker Python SDK να καταγράψει τις εγκατεστημένες εξαρτήσεις στο ενεργό περιβάλλον Conda. Πρέπει να έχετε ένα ενεργό περιβάλλον Conda για auto_capture
για να δουλέψω. Σημειώστε ότι υπάρχουν προϋποθέσεις για auto_capture
για να δουλέψω; συνιστούμε να περάσετε στις εξαρτήσεις σας ως α requirement.txt
or Conda environment.yml
αρχείο όπως περιγράφεται στην προηγούμενη ενότητα.
Για περισσότερες λεπτομέρειες, ανατρέξτε στο Εκτελέστε τον τοπικό σας κώδικα ως εργασία SageMaker Training.
Διαμορφώσεις για εργασίες SageMaker
Οι ρυθμίσεις που σχετίζονται με την υποδομή μπορούν να μεταφορτωθούν σε ένα αρχείο διαμόρφωσης που οι διαχειριστές θα μπορούσαν να βοηθήσουν στη ρύθμιση. Χρειάζεται να το ρυθμίσετε μόνο μία φορά. Οι ρυθμίσεις υποδομής καλύπτουν τη διαμόρφωση δικτύου, τους ρόλους IAM, Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) φάκελο για δεδομένα εισόδου, εξόδου και ετικέτες. Αναφέρομαι σε Διαμόρφωση και χρήση προεπιλογών με το SageMaker Python SDK Για περισσότερες πληροφορίες.
SchemaVersion: '1.0'
SageMaker:
PythonSDK:
Modules:
RemoteFunction:
Dependencies: path/to/requirements.txt
EnvironmentVariables: {"EnvVarKey": "EnvVarValue"}
ImageUri: 366666666666.dkr.ecr.us-west-2.amazonaws.com/my-image:latest
InstanceType: ml.m5.large
RoleArn: arn:aws:iam::366666666666:role/MyRole
S3KmsKeyId: somekmskeyid
S3RootUri: s3://my-bucket/my-project
SecurityGroupIds:
- sg123
Subnets:
- subnet-1234
Tags:
- {"Key": "someTagKey", "Value": "someTagValue"}
VolumeKmsKeyId: somekmskeyid
Εκτέλεση
Τα μοντέλα βαθιάς εκμάθησης όπως το PyTorch ή το TensorFlow μπορούν επίσης να εκτελεστούν στο Studio εκτελώντας τον κώδικα ως εργασία εκπαίδευσης μέσα στο σημειωματάριο. Για να επιδείξετε αυτήν τη δυνατότητα στο Studio, μπορείτε να κλωνοποιήσετε αυτό το repo στο Studio σας και να εκτελέσετε το σημειωματάριο που βρίσκεται στο GitHub αποθήκη.
Αυτό το παράδειγμα δείχνει μια περίπτωση χρήσης ταξινόμησης δυαδικού κειμένου από άκρο σε άκρο. Χρησιμοποιούμε τη βιβλιοθήκη μετασχηματιστών Hugging Face και συνόλων δεδομένων για να τελειοποιήσουμε έναν προεκπαιδευμένο μετασχηματιστή για ταξινόμηση δυαδικού κειμένου. Συγκεκριμένα, το προεκπαιδευμένο μοντέλο θα βελτιωθεί με τη χρήση του Δεδομένα IMDb.
Όταν κλωνοποιείτε το αποθετήριο, θα πρέπει να εντοπίσετε τα ακόλουθα αρχεία:
- config.yaml – Τα περισσότερα από τα ορίσματα διακοσμητή μπορούν να μεταφορτωθούν στο αρχείο διαμόρφωσης προκειμένου να διαχωριστούν οι ρυθμίσεις που σχετίζονται με την υποδομή από τη βάση κώδικα
- huggingface.ipynb – Περιέχει τον κώδικα για την εκπαίδευση ενός προεκπαιδευμένου μοντέλου HuggingFace, το οποίο θα ρυθμιστεί με ακρίβεια χρησιμοποιώντας το σύνολο δεδομένων του IMDB
- απαιτήσεις.txt – Αυτό το αρχείο περιέχει όλες τις εξαρτήσεις για την εκτέλεση της συνάρτησης που θα χρησιμοποιηθεί σε αυτό το σημειωματάριο για την εκτέλεση του κώδικα και την απομακρυσμένη εκτέλεση της εκπαίδευσης σε μια παρουσία GPU ως εργασία εκπαίδευσης
Όταν ανοίξετε το σημειωματάριο, θα σας ζητηθεί να ρυθμίσετε το περιβάλλον του σημειωματάριου. Μπορείτε να επιλέξετε την εικόνα Data Science 3.0 με τον πυρήνα Python 3 και το ml.m5.large ως τον τύπο γρήγορης εκκίνησης για την εκτέλεση του κώδικα του σημειωματάριου. Αυτός ο τύπος παρουσίας είναι σημαντικά πιο γρήγορος στην περιστροφή ενός περιβάλλοντος.
Η εργασία εκπαίδευσης θα εκτελεστεί σε μια παρουσία ml.g4dn.xlarge όπως ορίζεται στο config.yaml
αρχείο:
SchemaVersion: '1.0'
SageMaker:
PythonSDK:
Modules:
RemoteFunction:
# role arn is not required if in SageMaker Notebook instance or SageMaker Studio
# Uncomment the following line and replace with the right execution role if in a local IDE
# RoleArn: <IAM_ROLE_ARN>
InstanceType: ml.g4dn.xlarge
Dependencies: ./requirements.txt
Η requirements.txt
Οι εξαρτήσεις αρχείων για την εκτέλεση της συνάρτησης για την εκπαίδευση του μοντέλου Hugging Face περιλαμβάνουν τα εξής:
datasets
transformers
torch
scikit-learn
# lock s3fs to this specific version as more recent ones introduce dependency on aiobotocore, which is not compatible with botocore
s3fs==0.4.2
sagemaker>=2.148.0,<3
Το σημειωματάριο Hugging Face δείχνει πώς να εκτελείτε την προπόνηση εξ αποστάσεως μέσω του @remote
λειτουργία, η οποία εκτελείται συγχρονισμένα. Επομένως, η λειτουργία που εκτελείται για την εκπαίδευση του μοντέλου θα περιμένει μέχρι να ολοκληρωθεί η εργασία SageMaker Training. Η εκπαίδευση θα εκτελεστεί εξ αποστάσεως με μια παρουσία GPU όπου ο τύπος της παρουσίας ορίζεται στο προηγούμενο αρχείο διαμόρφωσης.
Αφού εκτελέσετε την εργασία εκπαίδευσης, μπορείτε να εκτελέσετε τα υπόλοιπα κελιά στο σημειωματάριο για να επιθεωρήσετε τις μετρήσεις αξιολόγησης και να ταξινομήσετε το κείμενο στο εκπαιδευμένο μοντέλο μας.
Μπορείτε επίσης να δείτε την κατάσταση της εργασίας εκπαίδευσης που ενεργοποιήθηκε εξ αποστάσεως στην παρουσία της GPU στον πίνακα εργαλείων του SageMaker, μεταβαίνοντας στην κονσόλα SageMaker.
Μόλις ολοκληρωθεί η εργασία εκπαίδευσης, συνεχίζει να εκτελεί τις οδηγίες στο σημειωματάριο για αξιολόγηση και ταξινόμηση. Παρόμοιες εργασίες μπορούν να εκπαιδευτούν και να εκτελεστούν μέσω της λειτουργίας απομακρυσμένου εκτελεστή που είναι ενσωματωμένη στους φορητούς υπολογιστές Studio για την ασύγχρονη εκτέλεση των εκτελέσεων.
Ενσωμάτωση με πειράματα SageMaker μέσα σε μια @remote συνάρτηση
Μπορείτε να μεταβιβάσετε το όνομα του πειράματός σας, το όνομα εκτέλεσης και άλλες παραμέτρους στην απομακρυσμένη λειτουργία σας για να δημιουργήσετε μια εκτέλεση πειραμάτων SageMaker. Το ακόλουθο παράδειγμα κώδικα εισάγει το όνομα του πειράματος, το όνομα της εκτέλεσης και τις παραμέτρους για καταγραφή για κάθε εκτέλεση:
from sagemaker.remote_function import remote
from sagemaker.experiments.run import Run
# Define your remote function
@remote
def train(value_1, value_2, exp_name, run_name):
...
...
#Creates the experiment
with Run( experiment_name=exp_name, run_name=run_name, sagemaker_session=sagemaker_session
) as run:
...
...
#Define values for the parameters to log
run.log_parameter("param_1", value_1)
run.log_parameter("param_2", value_2)
...
...
#Define metrics to log
run.log_metric("metric_a", 0.5)
run.log_metric("metric_b", 0.1) # Invoke your remote function
train(1.0, 2.0, "my-exp-name", "my-run-name")
Στο προηγούμενο παράδειγμα, οι παράμετροι p1
και p2
καταγράφονται με την πάροδο του χρόνου μέσα σε ένα βρόχο εκπαίδευσης. Οι κοινές παράμετροι μπορεί να περιλαμβάνουν μέγεθος παρτίδας ή εποχές. Στο παράδειγμα, οι μετρήσεις A
και B
καταγράφονται για ένα τρέξιμο με την πάροδο του χρόνου μέσα σε έναν βρόχο εκπαίδευσης. Οι κοινές μετρήσεις μπορεί να περιλαμβάνουν ακρίβεια ή απώλεια. Για περισσότερες πληροφορίες, βλ Δημιουργήστε ένα πείραμα Amazon SageMaker.
Συμπέρασμα
Σε αυτήν την ανάρτηση, παρουσιάσαμε μια νέα δυνατότητα SageMaker Python SDK που επιτρέπει στους επιστήμονες δεδομένων να εκτελούν τον κώδικα ML τους στο IDE που προτιμούν ως εργασίες SageMaker Training. Συζητήσαμε τις προϋποθέσεις που απαιτούνται για τη χρήση αυτής της δυνατότητας μαζί με τα χαρακτηριστικά της. Επίσης, δείξαμε πώς να χρησιμοποιήσετε αυτήν τη δυνατότητα στο Studio, σε περιπτώσεις φορητών υπολογιστών SageMaker και στο τοπικό σας IDE. Επιπλέον, παρέχουμε δείγματα παραδειγμάτων κώδικα για να δείξουμε πώς να χρησιμοποιήσετε αυτήν τη δυνατότητα. Ως επόμενο βήμα, συνιστούμε να δοκιμάσετε αυτήν τη δυνατότητα στο IDE ή στο SageMaker ακολουθώντας το παραδείγματα κώδικα αναφέρεται σε αυτή την ανάρτηση.
Σχετικά με τους Συγγραφείς
Dipankar Patro είναι Μηχανικός Ανάπτυξης Λογισμικού στο AWS SageMaker, καινοτομώντας και δημιουργώντας λύσεις MLOps για να βοηθήσει τους πελάτες να υιοθετήσουν λύσεις AI/ML σε κλίμακα. Έχει μεταπτυχιακό στην Επιστήμη Υπολογιστών και οι τομείς ενδιαφέροντός του είναι η Ασφάλεια Υπολογιστών, τα Κατανεμημένα Συστήματα και η AI/ML.
Φαρούκ Σαμπίρ είναι Ανώτερος Αρχιτέκτονας Λύσεων Ειδικός Τεχνητής Νοημοσύνης και Μηχανικής Μάθησης στο AWS. Είναι κάτοχος διδακτορικού και μεταπτυχιακού τίτλου στον Ηλεκτρολόγο Μηχανικό από το Πανεπιστήμιο του Τέξας στο Ώστιν και μεταπτυχιακό στην Επιστήμη Υπολογιστών από το Ινστιτούτο Τεχνολογίας της Τζόρτζια. Έχει πάνω από 15 χρόνια εργασιακή εμπειρία και επίσης του αρέσει να διδάσκει και να καθοδηγεί φοιτητές. Στην AWS, βοηθά τους πελάτες να διαμορφώσουν και να λύσουν τα επιχειρηματικά τους προβλήματα στην επιστήμη δεδομένων, τη μηχανική μάθηση, την όραση υπολογιστών, την τεχνητή νοημοσύνη, την αριθμητική βελτιστοποίηση και τους σχετικούς τομείς. Με έδρα το Ντάλας του Τέξας, αυτός και η οικογένειά του λατρεύουν να ταξιδεύουν και να κάνουν μακρινά οδικά ταξίδια.
Manoj Ravi είναι Ανώτερος Διευθυντής Προϊόντων για το Amazon SageMaker. Είναι παθιασμένος με την κατασκευή προϊόντων τεχνητής νοημοσύνης επόμενης γενιάς και εργάζεται σε λογισμικό και εργαλεία για να κάνει τη μηχανική εκμάθηση μεγάλης κλίμακας ευκολότερη για τους πελάτες. Είναι κάτοχος MBA από το Haas School of Business και μεταπτυχιακό στη Διαχείριση Πληροφοριακών Συστημάτων από το Πανεπιστήμιο Carnegie Mellon. Στον ελεύθερο χρόνο του, ο Manoj του αρέσει να παίζει τένις και να ασχολείται με τη φωτογραφία τοπίων.
Shikhar Kwatra είναι Αρχιτέκτονας Ειδικών Λύσεων AI/ML στην Amazon Web Services, συνεργαζόμενος με έναν κορυφαίο Global System Integrator. Έχει κερδίσει τον τίτλο ενός από τους νεότερους Ινδούς Master Inventors με περισσότερες από 500 πατέντες στους τομείς AI/ML και IoT. Ο Shikhar βοηθά στην αρχιτεκτονική, την κατασκευή και τη διατήρηση οικονομικά αποδοτικών, κλιμακούμενων περιβαλλόντων cloud για τον οργανισμό και υποστηρίζει τον συνεργάτη GSI στην κατασκευή στρατηγικών βιομηχανικών λύσεων στο AWS. Ο Shikhar απολαμβάνει να παίζει κιθάρα, να συνθέτει μουσική και να ασκεί την προσοχή στον ελεύθερο χρόνο του.
Vikram Elango είναι Sr. AI/ML Specialist Solutions Architect στην AWS, με έδρα τη Βιρτζίνια των ΗΠΑ. Επί του παρόντος, επικεντρώνεται στη δημιουργία τεχνητής νοημοσύνης, τα LLM, την άμεση μηχανική, τη βελτιστοποίηση συμπερασμάτων μεγάλων μοντέλων και την κλιμάκωση της ML σε όλες τις επιχειρήσεις. Η Vikram βοηθά τους πελάτες του χρηματοοικονομικού και ασφαλιστικού κλάδου με ηγετικό σχεδιασμό και σκέψη να δημιουργήσουν και να αναπτύξουν εφαρμογές μηχανικής εκμάθησης σε κλίμακα. Στον ελεύθερο χρόνο του, του αρέσουν τα ταξίδια, η πεζοπορία, η μαγειρική και η κατασκήνωση.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoAiStream. Web3 Data Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- Minting the Future με την Adryenn Ashley. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/machine-learning/run-your-local-machine-learning-code-as-amazon-sagemaker-training-jobs-with-minimal-code-changes/
- :έχει
- :είναι
- :δεν
- $UP
- 1
- 10
- 100
- 15 χρόνια
- 500
- 7
- a
- ικανότητα
- Ικανός
- Σχετικα
- πρόσβαση
- Λογαριασμός
- ακρίβεια
- επιτευχθεί
- απέναντι
- ενεργός
- πράξεις
- προσθέτω
- προσθήκη
- Επιπλέον
- διαχειριστής
- διαχειριστές
- ενστερνίζομαι
- προηγμένες
- Πλεονέκτημα
- AI
- AI / ML
- ενισχύσεων
- Όλα
- επιτρέπει
- κατά μήκος
- Επίσης
- Amazon
- Amazon Sage Maker
- Amazon υπηρεσίες Web
- an
- αναλύσει
- και
- ανακοίνωσε
- κάθε
- εφαρμογές
- ΕΙΝΑΙ
- περιοχές
- επιχειρήματα
- τεχνητός
- τεχνητή νοημοσύνη
- Τεχνητή Νοημοσύνη και Εκμάθηση Μηχανών
- AS
- συσχετισμένη
- At
- austin
- αυτομάτως
- διαθέσιμος
- AWS
- πίσω
- βάση
- βασίζονται
- BE
- οφέλη
- Προϋπολογισμών
- χτίζω
- Κτίριο
- επιχείρηση
- by
- CAN
- δυνατότητες
- πιάνω
- Carnegie Mellon
- κουβαλάω
- περίπτωση
- Κύτταρα
- αλλαγή
- Αλλαγές
- κανάλια
- επιλογή
- τάξη
- ταξινόμηση
- Ταξινόμηση
- Backup
- κωδικός
- βάση κώδικα
- Κολλέγιο
- έρχεται
- Κοινός
- σύμφωνος
- πλήρης
- Υπολογίστε
- υπολογιστή
- Πληροφορική
- Ασφάλεια του υπολογιστή
- Computer Vision
- έννοια
- διαμόρφωση
- πρόξενος
- περιέχουν
- Δοχείο
- Περιέχει
- πλαίσια
- συνεχίζεται
- πυρήνας
- Κόστος
- θα μπορούσε να
- κάλυμμα
- δημιουργία
- Τη στιγμή
- Πελάτες
- προσαρμόσετε
- Ντάλας
- ταμπλό
- ημερομηνία
- επεξεργασία δεδομένων
- επιστημονικά δεδομένα
- σύνολα δεδομένων
- δηλώνει
- Προεπιλογή
- προεπιλογές
- ορίζεται
- αποδεικνύουν
- καταδεικνύει
- Εξάρτηση
- παρατάσσω
- περιγράφεται
- Υπηρεσίες
- καθέκαστα
- αναπτύχθηκε
- Εργολάβος
- Ανάπτυξη
- διαφορετικές
- συζήτηση
- διανέμονται
- κατανεμημένα συστήματα
- κατανεμημένη εκπαίδευση
- domains
- γίνεται
- Μην
- κατά την διάρκεια
- e
- κάθε
- κέρδισε
- ευκολία στη χρήση
- ευκολότερη
- εύκολα
- είτε
- ενσωματωμένο
- δίνει τη δυνατότητα
- κρυπτογράφηση
- από άκρη σε άκρη
- μηχανικός
- Μηχανική
- Μηχανικοί
- επιχειρήσεις
- καταχώριση
- Περιβάλλον
- περιβάλλοντα
- εποχή
- εποχές
- εκτίμηση
- Κάθε
- παράδειγμα
- παραδείγματα
- εκτέλεση
- υφιστάμενα
- εμπειρία
- πείραμα
- Πρόσωπο
- οικείος
- οικογένεια
- FAST
- γρηγορότερα
- Χαρακτηριστικό
- Χαρακτηριστικά
- λίγοι
- Αρχεία
- Αρχεία
- οικονομικός
- Όνομα
- Ευελιξία
- Συγκέντρωση
- επικεντρώθηκε
- Εξής
- Για
- Πλαίσιο
- από
- πλήρως
- λειτουργία
- λειτουργίες
- Επί πλέον
- μελλοντικός
- futures
- γενετική
- Παραγωγική τεχνητή νοημοσύνη
- Γεωργία
- δεδομένου
- Παγκόσμιο
- Go
- GPU
- Ομάδα
- Έχω
- he
- βοήθεια
- βοηθά
- του
- κατέχει
- Πως
- Πώς να
- HTML
- http
- HTTPS
- Πρόσωπο αγκαλιάς
- Ταυτότητα
- if
- εικόνα
- εκτέλεση
- εισαγωγή
- εισαγωγές
- in
- περιλαμβάνουν
- Συμπεριλαμβανομένου
- Ινδός
- βιομηχανία
- πληροφορίες
- Πληροφοριακά συστήματα
- Υποδομή
- καινοτόμος
- εισαγωγή
- εγκατασταθεί
- παράδειγμα
- Ινστιτούτο
- οδηγίες
- ασφάλιση
- ενσωματωθεί
- Ενσωματώνει
- Νοημοσύνη
- τόκος
- σε
- εισαγάγει
- εισήγαγε
- Οι εφευρέτες
- IoT
- IT
- επαναλήψεις
- ΤΟΥ
- Δουλειά
- Θέσεις εργασίας
- jpg
- μόλις
- Κλειδί
- εργαστήριο
- τοπίο
- φορητούς υπολογιστές
- large
- μεγάλης κλίμακας
- αργότερο
- ξεκινήσει
- ξεκίνησε
- δρομολόγηση
- Ηγεσία
- που οδηγεί
- ΜΑΘΑΊΝΩ
- μάθηση
- ας
- Αφήνει
- βιβλιοθήκες
- Βιβλιοθήκη
- κύκλος ζωής
- Μου αρέσει
- συμπαθεί
- γραμμή
- τοπικός
- τοπικά
- που βρίσκεται
- κούτσουρο
- καταγραφεί
- Μακριά
- ΦΑΊΝΕΤΑΙ
- off
- αγάπη
- μηχανή
- μάθηση μηχανής
- που
- Η διατήρηση
- κάνω
- ΚΑΝΕΙ
- διαχειρίζεται
- διαχείριση
- διευθυντής
- κύριος
- Ενδέχεται..
- Μελόν
- Μεθοδολογία
- Metrics
- Mindfulness
- ελάχιστος
- Λεπτ.
- ML
- MLOps
- Τρόπος
- μοντέλο
- μοντέλα
- ενότητες
- περισσότερο
- πλέον
- μετακινήσετε
- MS
- πολλαπλούς
- Μουσική
- όνομα
- και συγκεκριμένα
- πλοήγηση
- Ανάγκη
- που απαιτούνται
- δίκτυο
- δικτύωσης
- Νέα
- επόμενη
- κόμβων
- σημειωματάριο
- τώρα
- πολλοί
- αντικειμένων
- of
- on
- Onboard
- μια φορά
- ONE
- αποκλειστικά
- ανοίξτε
- ανοικτού κώδικα
- βελτιστοποίηση
- or
- τάξη
- επιχειρήσεις
- OS
- ΑΛΛΑ
- δικός μας
- έξω
- παραγωγή
- επί
- καταπατώ
- πακέτο
- Packages
- Πάντα
- Παράλληλο
- παράμετροι
- Ειδικότερα
- εταίρος
- passieren
- περάσματα
- Πέρασμα
- παθιασμένος
- Διπλώματα ευρεσιτεχνίας
- μονοπάτι
- επίδοση
- φωτογραφία
- πλατφόρμες
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- παιχνίδι
- Σημείο
- Θέση
- προτιμάται
- προαπαιτούμενα
- προηγούμενος
- Πρόβλημα
- προβλήματα
- μεταποίηση
- Προϊόν
- υπεύθυνος προϊόντων
- παραγωγικός
- Προϊόντα
- παρέχεται
- Python
- pytorch
- έτοιμος
- πρόσφατος
- πρόσφατα
- συνιστώ
- σχετίζεται με
- απελευθερώνουν
- μακρινός
- αντικαθιστώ
- Αποθήκη
- απαιτείται
- απαιτήσεις
- ΠΕΡΙΦΕΡΕΙΑ
- απόδοση
- δρόμος
- Ρόλος
- ρόλους
- τρέξιμο
- τρέξιμο
- σοφός
- επεκτάσιμη
- Κλίμακα
- απολέπιση
- Σχολείο
- Επιστήμη
- επιστήμονες
- scikit-μάθετε
- SDK
- άψογα
- Τμήμα
- τμήματα
- ασφάλεια
- δείτε
- αρχαιότερος
- ξεχωριστό
- Υπηρεσίες
- Συνεδρίαση
- σειρά
- τον καθορισμό
- ρυθμίσεις
- setup
- διάφοροι
- θα πρέπει να
- δείχνουν
- βιτρίνα
- παρουσιάζεται
- Δείχνει
- σημαντικά
- παρόμοιες
- Απλούς
- απλά
- ενιαίας
- Μέγεθος
- small
- Στιγμιότυπο
- So
- λογισμικό
- ανάπτυξη λογισμικού
- Λύσεις
- SOLVE
- ειδικός
- συγκεκριμένες
- προσδιορισμός
- καθορίζεται
- Εκκίνηση
- Ξεκινήστε
- Κατάσταση
- Βήμα
- χώρος στο δίσκο
- Στρατηγική
- Φοιτητές
- στούντιο
- υποβάλουν
- υποδίκτυα
- τέτοιος
- υποστηριζόνται!
- Υποστηρίζει
- σύστημα
- συστήματα
- Πάρτε
- παίρνει
- λήψη
- εργασίες
- ομάδες
- Τεχνολογία
- tensorflow
- Τέξας
- Ταξινόμηση κειμένου
- ότι
- Η
- τους
- Τους
- τότε
- Εκεί.
- εκ τούτου
- επομένως
- Αυτοί
- αυτοί
- αυτό
- σκέψη
- σκέψη ηγεσία
- Μέσω
- ώρα
- Τίτλος
- προς την
- εργαλεία
- δάδα
- προς
- Τρένο
- εκπαιδευμένο
- Εκπαίδευση
- μετασχηματιστές
- ταξίδι
- Ταξίδια
- ενεργοποιήθηκε
- τύπος
- συνήθως
- υπό
- καταλαβαίνω
- πανεπιστήμιο
- Ενημέρωση
- us
- χρήση
- περίπτωση χρήσης
- μεταχειρισμένος
- Χρήστες
- χρησιμοποιώντας
- αξία
- Αξίες
- εκδοχή
- μέσω
- Δες
- Βιργινία
- όραμα
- vs
- έναντι κώδικα
- περιμένετε
- θέλω
- we
- ιστός
- διαδικτυακές υπηρεσίες
- πότε
- Ποιό
- ενώ
- θα
- με
- εντός
- Εργασία
- εργαζόμενος
- λειτουργεί
- θα
- τυλίξτε
- Τυλιγμένο
- γράφω
- γράψτε κώδικα
- γραπτή
- X
- χρόνια
- Εσείς
- Νεότερος
- Σας
- zephyrnet