Βελτιώστε τα μοντέλα Stable Diffusion από κείμενο σε εικόνα με το Amazon SageMaker JumpStart

Βελτιώστε τα μοντέλα Stable Diffusion από κείμενο σε εικόνα με το Amazon SageMaker JumpStart

Κόμβος πηγής: 1968900

Τον Νοέμβριο του 2022, εμείς ανακοίνωσε που οι πελάτες AWS μπορούν να δημιουργήσουν εικόνες από κείμενο Σταθερή Διάχυση μοντέλα σε Amazon SageMaker JumpStart. Το Stable Diffusion είναι ένα μοντέλο βαθιάς εκμάθησης που σας επιτρέπει να δημιουργείτε ρεαλιστικές, υψηλής ποιότητας εικόνες και εκπληκτική τέχνη σε λίγα δευτερόλεπτα. Αν και η δημιουργία εντυπωσιακών εικόνων μπορεί να χρησιμοποιηθεί σε βιομηχανίες που κυμαίνονται από την τέχνη έως τα NFT και όχι μόνο, σήμερα περιμένουμε επίσης ότι η τεχνητή νοημοσύνη θα είναι εξατομικευμένη. Σήμερα, ανακοινώνουμε ότι μπορείτε να εξατομικεύσετε το μοντέλο δημιουργίας εικόνας στην περίπτωση χρήσης σας, ρυθμίζοντας το στο προσαρμοσμένο σύνολο δεδομένων σας στο Amazon SageMaker JumpStart. Αυτό μπορεί να είναι χρήσιμο όταν δημιουργείτε έργα τέχνης, λογότυπα, προσαρμοσμένα σχέδια, NFT και ούτω καθεξής ή διασκεδαστικά πράγματα, όπως η δημιουργία προσαρμοσμένων εικόνων AI των κατοικίδιων σας ή avatar του εαυτού σας.

Σε αυτήν την ανάρτηση, παρέχουμε μια επισκόπηση του τρόπου ρύθμισης του μοντέλου σταθερής διάχυσης με δύο τρόπους: μέσω προγραμματισμού μέσω JumpStart API διαθέσιμο στο SDK SageMaker Pythonκαι τη διεπαφή χρήστη (UI) του JumpStart Στούντιο Amazon SageMaker. Συζητάμε επίσης πώς να κάνουμε επιλογές σχεδίασης, συμπεριλαμβανομένης της ποιότητας δεδομένων, του μεγέθους του συνόλου δεδομένων εκπαίδευσης, της επιλογής τιμών υπερπαραμέτρων και της δυνατότητας εφαρμογής σε πολλαπλά σύνολα δεδομένων. Τέλος, συζητάμε τα περισσότερα από 80 διαθέσιμα στο κοινό βελτιστοποιημένα μοντέλα με διαφορετικές γλώσσες εισαγωγής και στυλ που προστέθηκαν πρόσφατα στο JumpStart.

Σταθερή διάχυση και μεταφορά μάθησης

Το Stable Diffusion είναι ένα μοντέλο κειμένου σε εικόνα που σας δίνει τη δυνατότητα να δημιουργήσετε φωτορεαλιστικές εικόνες μόνο από μια προτροπή κειμένου. Ένα μοντέλο διάχυσης εκπαιδεύεται μαθαίνοντας να αφαιρεί τον θόρυβο που προστέθηκε σε μια πραγματική εικόνα. Αυτή η διαδικασία αφαίρεσης θορύβου δημιουργεί μια ρεαλιστική εικόνα. Αυτά τα μοντέλα μπορούν επίσης να δημιουργήσουν εικόνες μόνο από κείμενο, ρυθμίζοντας τη διαδικασία δημιουργίας στο κείμενο. Για παράδειγμα, το Stable Diffusion είναι μια λανθάνουσα διάχυση όπου το μοντέλο μαθαίνει να αναγνωρίζει σχήματα σε μια εικόνα καθαρού θορύβου και σταδιακά φέρνει αυτά τα σχήματα στο επίκεντρο εάν τα σχήματα ταιριάζουν με τις λέξεις στο κείμενο εισόδου. Το κείμενο πρέπει πρώτα να ενσωματωθεί σε έναν λανθάνοντα χώρο χρησιμοποιώντας ένα γλωσσικό μοντέλο. Στη συνέχεια, μια σειρά λειτουργιών προσθήκης και αφαίρεσης θορύβου εκτελούνται στον λανθάνοντα χώρο με αρχιτεκτονική U-Net. Τέλος, η έξοδος χωρίς θόρυβο αποκωδικοποιείται στο χώρο των pixel.

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

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

Η προσαρμογή μεγάλων μοντέλων όπως το Stable Diffusion συνήθως απαιτεί από εσάς να παρέχετε σενάρια εκπαίδευσης. Υπάρχουν πολλά ζητήματα, όπως ζητήματα εκτός μνήμης, ζητήματα μεγέθους ωφέλιμου φορτίου και πολλά άλλα. Επιπλέον, πρέπει να εκτελέσετε δοκιμές από άκρο σε άκρο για να βεβαιωθείτε ότι το σενάριο, το μοντέλο και το επιθυμητό παράδειγμα συνεργάζονται με αποτελεσματικό τρόπο. Το JumpStart απλοποιεί αυτή τη διαδικασία παρέχοντας έτοιμα προς χρήση σενάρια που έχουν δοκιμαστεί άρτια. Το σενάριο λεπτομέρειας JumpStart για μοντέλα Stable Diffusion βασίζεται στο σενάριο λεπτομέρειας από ονειροπόλος. Μπορείτε να αποκτήσετε πρόσβαση σε αυτά τα σενάρια με ένα μόνο κλικ μέσω της διεπαφής χρήστη του Studio ή με πολύ λίγες γραμμές κώδικα μέσω του JumpStart API.

Σημειώστε ότι χρησιμοποιώντας το μοντέλο σταθερής διάχυσης, συμφωνείτε με το Άδεια CreativeML Open RAIL++-M.

Χρησιμοποιήστε το JumpStart μέσω προγραμματισμού με το SageMaker SDK

Αυτή η ενότητα περιγράφει πώς να εκπαιδεύσετε και να αναπτύξετε το μοντέλο με το SDK SageMaker Python. Επιλέγουμε ένα κατάλληλο προεκπαιδευμένο μοντέλο στο JumpStart, εκπαιδεύουμε αυτό το μοντέλο με μια εργασία εκπαίδευσης SageMaker και αναπτύσσουμε το εκπαιδευμένο μοντέλο σε ένα τελικό σημείο SageMaker. Επιπλέον, εκτελούμε συμπεράσματα στο αναπτυγμένο τελικό σημείο, χρησιμοποιώντας το SageMaker Python SDK. Τα ακόλουθα παραδείγματα περιέχουν αποσπάσματα κώδικα. Για τον πλήρη κώδικα με όλα τα βήματα σε αυτήν την επίδειξη, ανατρέξτε στο Εισαγωγή στο JumpStart – Κείμενο σε εικόνα παράδειγμα σημειωματάριο.

Εκπαιδεύστε και ρυθμίστε το μοντέλο Stable Diffusion

Κάθε μοντέλο προσδιορίζεται από ένα μοναδικό model_id. Ο παρακάτω κώδικας δείχνει πώς να ρυθμίσετε με ακρίβεια ένα βασικό μοντέλο Stable Diffusion 2.1 που προσδιορίζεται από model_id model-txt2img-stabilityai-stable-diffusion-v2-1-base σε ένα προσαρμοσμένο σύνολο δεδομένων εκπαίδευσης. Για μια πλήρη λίστα με model_id ανατρέξτε στις τιμές και σε ποια μοντέλα μπορούν να συντονιστούν με ακρίβεια Ενσωματωμένοι αλγόριθμοι με προεκπαιδευμένο πίνακα μοντέλων. Για κάθε model_id, προκειμένου να ξεκινήσει μια εργασία εκπαίδευσης SageMaker μέσω του Εκτιμητής κλάση του SageMaker Python SDK, πρέπει να λάβετε το URI εικόνας Docker, το URI σεναρίου εκπαίδευσης και το προεκπαιδευμένο URI μοντέλου μέσω των βοηθητικών λειτουργιών που παρέχονται στο SageMaker. Το εκπαιδευτικό σενάριο URI περιέχει όλο τον απαραίτητο κώδικα για την επεξεργασία δεδομένων, τη φόρτωση του προεκπαιδευμένου μοντέλου, την εκπαίδευση του μοντέλου και την αποθήκευση του εκπαιδευμένου μοντέλου για συμπέρασμα. Το προεκπαιδευμένο μοντέλο URI περιέχει τον προεκπαιδευμένο ορισμό της αρχιτεκτονικής του μοντέλου και τις παραμέτρους του μοντέλου. Το προεκπαιδευμένο μοντέλο URI είναι συγκεκριμένο για το συγκεκριμένο μοντέλο. Τα προ-εκπαιδευμένα μοντέλα tarballs έχουν προκαταλεχθεί από το Hugging Face και έχουν αποθηκευτεί με την κατάλληλη υπογραφή μοντέλου στο Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) κάδοι, έτσι ώστε η εργασία εκπαίδευσης να εκτελείται σε απομόνωση δικτύου. Δείτε τον παρακάτω κώδικα:

from sagemaker import image_uris, model_uris, script_uris # Currently, not all the stable diffusion models in jumpstart support finetuning. Thus, we manually select a model
# which supports finetuning.
train_model_id, train_model_version, train_scope = ( "model-txt2img-stabilityai-stable-diffusion-v2-1-base", "*", "training",
) # Tested with ml.g4dn.2xlarge (16GB GPU memory) and ml.g5.2xlarge (24GB GPU memory) instances. Other instances may work as well.
# If ml.g5.2xlarge instance type is available, please change the following instance type to speed up training.
training_instance_type = "ml.g4dn.2xlarge" # Retrieve the docker image
train_image_uri = image_uris.retrieve(
region=None,
framework=None, # automatically inferred from model_id
model_id=train_model_id,
model_version=train_model_version,
image_scope=train_scope,
instance_type=training_instance_type,
) # Retrieve the training script. This contains all the necessary files including data processing, model training etc.
train_source_uri = script_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, script_scope=train_scope
) # Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, model_scope=train_scope
)

Με αυτά τα τεχνουργήματα εκπαίδευσης για συγκεκριμένο μοντέλο, μπορείτε να κατασκευάσετε ένα αντικείμενο του Εκτιμητής τάξη:

# Create SageMaker Estimator instance
sd_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", # Entry-point file in source_dir and present in train_source_uri. instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location, base_job_name=training_job_name,
) # Launch a SageMaker Training job by passing s3 path of the training data
sd_estimator.fit({"training": training_dataset_s3_path}, logs=True)

Δεδομένα εκπαίδευσης

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

  • Εισαγωγή – Ένας κατάλογος που περιέχει τις εικόνες του στιγμιότυπου, dataset_info.json, με την ακόλουθη διαμόρφωση:
    • Οι εικόνες μπορεί να έχουν μορφή .png, .jpg ή .jpeg
    • Η dataset_info.json το αρχείο πρέπει να είναι της μορφής {'instance_prompt':<<instance_prompt>>}
  • Παραγωγή – Ένα εκπαιδευμένο μοντέλο που μπορεί να αναπτυχθεί για συμπεράσματα

Η διαδρομή S3 θα πρέπει να μοιάζει s3://bucket_name/input_directory/. Σημειώστε το ίχνος / απαιτείται.

Ακολουθεί ένα παράδειγμα μορφής των δεδομένων εκπαίδευσης:

input_directory |---instance_image_1.png |---instance_image_2.png |---instance_image_3.png |---instance_image_4.png |---instance_image_5.png |---dataset_info.json

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

Παρέχουμε ένα προεπιλεγμένο σύνολο εικόνων γάτας. Αποτελείται από οκτώ εικόνες (εικόνες παραδείγματος που αντιστοιχούν σε στιγμιότυπο προτροπής) μιας μονής γάτας χωρίς εικόνες κατηγορίας. Μπορεί να γίνει λήψη από GitHub. Εάν χρησιμοποιείτε το προεπιλεγμένο σύνολο δεδομένων, δοκιμάστε την ερώτηση "μια φωτογραφία μιας γάτας riobugger" ενώ κάνετε συμπέρασμα στο σημειωματάριο επίδειξης.

Άδεια: MIT.

Υπερπαραμέτρους

Στη συνέχεια, για μεταφορά εκμάθησης στο προσαρμοσμένο σύνολο δεδομένων σας, ίσως χρειαστεί να αλλάξετε τις προεπιλεγμένες τιμές των υπερπαραμέτρων εκπαίδευσης. Μπορείτε να ανακτήσετε ένα λεξικό Python αυτών των υπερπαραμέτρων με τις προεπιλεγμένες τιμές τους καλώντας hyperparameters.retrieve_default, ενημερώστε τα όπως απαιτείται και μετά περάστε τα στην κλάση Εκτιμητής. Δείτε τον παρακάτω κώδικα:

from sagemaker import hyperparameters
# Retrieve the default hyper-parameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(
model_id=train_model_id, model_version=train_model_version
) # [Optional] Override default hyperparameters with custom values
hyperparameters["max_steps"] = "400"

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

  • με_προηγούμενη_διατήρηση – Σημαία για προσθήκη προηγούμενης απώλειας διατήρησης. Η εκ των προτέρων συντήρηση είναι ένας κανονικοποιητής που αποφεύγει την υπερβολική εφαρμογή. (Επιλογές: [“True”,“False”], Προκαθορισμένο: “False”.)
  • num_class_images – Οι ελάχιστες εικόνες κλάσης για προηγούμενη απώλεια διατήρησης. Αν with_prior_preservation = True και δεν υπάρχουν ήδη αρκετές εικόνες class_data_dir, θα γίνει δειγματοληψία επιπλέον εικόνων class_prompt. (Τιμές: θετικός ακέραιος, προεπιλογή: 100.)
  • Εποχές – Ο αριθμός των περασμάτων που πραγματοποιεί ο αλγόριθμος μικρορύθμισης μέσω του συνόλου δεδομένων εκπαίδευσης. (Τιμές: θετικός ακέραιος, προεπιλογή: 20.)
  • Max_steps – Ο συνολικός αριθμός των βημάτων εκπαίδευσης που πρέπει να εκτελέσετε. Αν όχι None, υπερισχύει των εποχών. (Αξίες: “None” ή μια συμβολοσειρά ακέραιου αριθμού, προεπιλογή: “None”.)
  • Μέγεθος παρτίδας –: Ο αριθμός των παραδειγμάτων εκπαίδευσης που έχουν επεξεργαστεί πριν από την ενημέρωση των βαρών του μοντέλου. Ίδιο με το μέγεθος παρτίδας κατά τη δημιουργία εικόνων τάξης if with_prior_preservation = True. (Τιμές: θετικός ακέραιος, προεπιλογή: 1.)
  • βαθμός μάθησης – Ο ρυθμός με τον οποίο ενημερώνονται τα βάρη του μοντέλου μετά την επεξεργασία κάθε παρτίδας παραδειγμάτων εκπαίδευσης. (Τιμές: θετική διακύμανση, προεπιλογή: 2e-06.)
  • προηγούμενη_απώλεια_βάρους – Το βάρος της προηγούμενης απώλειας συντήρησης. (Τιμές: θετική διακύμανση, προεπιλογή: 1.0.)
  • κέντρο_καλλιέργεια – Εάν θα περικοπούν οι εικόνες πριν αλλάξετε το μέγεθος στην επιθυμητή ανάλυση. (Επιλογές: [“True”/“False”], Προκαθορισμένο: “False”.)
  • lr_scheduler – Το είδος του χρονοπρογραμματιστή ρυθμού εκμάθησης. (Επιλογές: ["linear", "cosine", "cosine_with_restarts", "polynomial", "constant", "constant_with_warmup"], Προκαθορισμένο: "constant".) Για περισσότερες πληροφορίες, βλ Προγραμματιστές ποσοστού μάθησης.
  • adam_weight_decay – Η μείωση βάρους που εφαρμόζεται (αν όχι μηδενική) σε όλες τις στρώσεις εκτός από όλες τις προκαταλήψεις και LayerNorm βάρη σε AdamW βελτιστοποιητής. (Τιμή: float, προεπιλογή: 1e-2.)
  • adam_beta1 – Η υπερπαράμετρος βήτα1 (εκθετικός ρυθμός αποσύνθεσης για τις εκτιμήσεις της πρώτης στιγμής) για το AdamW βελτιστοποιητής. (Τιμή: float, προεπιλογή: 0.9.)
  • adam_beta2 – Η υπερπαράμετρος βήτα2 (εκθετικός ρυθμός αποσύνθεσης για τις εκτιμήσεις της πρώτης στιγμής) για το AdamW βελτιστοποιητής. (Τιμή: float, προεπιλογή: 0.999.)
  • adam_epsilon - Η epsilon υπερπαράμετρος για το AdamW βελτιστοποιητής. Συνήθως ορίζεται σε μια μικρή τιμή για να αποφευχθεί η διαίρεση με το 0. (Τιμή: float, προεπιλογή: 1e-8.)
  • gradient_accumulation_steps – Ο αριθμός των βημάτων ενημερώσεων που πρέπει να συγκεντρωθούν πριν από την εκτέλεση του πάσου προς τα πίσω/ενημέρωση. (Τιμή: ακέραιος, προεπιλογή: 1.)
  • max_grad_norm – Ο μέγιστος κανόνας κλίσης (για αποκοπή κλίσης). (Τιμή: float, προεπιλογή: 1.0.)
  • σπόρος – Διορθώστε την τυχαία κατάσταση για να επιτύχετε αναπαραγώγιμα αποτελέσματα στην προπόνηση. (Τιμή: ακέραιος, προεπιλογή: 0.)

Αναπτύξτε το καλά εκπαιδευμένο μοντέλο

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

inference_instance_type = "ml.g4dn.2xlarge" # Retrieve the inference docker container uri
deploy_image_uri = image_uris.retrieve( region=None, framework=None, # automatically inferred from model_id image_scope="inference", model_id=train_model_id, model_version=train_model_version, instance_type=inference_instance_type,
) # Retrieve the inference script uri. This includes scripts for model loading, inference handling etc.
deploy_source_uri = script_uris.retrieve( model_id=train_model_id, model_version=train_model_version, script_scope="inference"
) # Use the estimator from the previous step to deploy to a SageMaker endpoint
finetuned_predictor = sd_estimator.deploy( initial_instance_count=1, instance_type=inference_instance_type, entry_point="inference.py", # entry point file in source_dir and present in deploy_source_uri image_uri=deploy_image_uri, source_dir=deploy_source_uri, endpoint_name=endpoint_name,
)

Στα αριστερά είναι οι εικόνες εκπαίδευσης μιας γάτας με το όνομα riobugger που χρησιμοποιείται για τον ακριβή συντονισμό του μοντέλου (προεπιλεγμένες παράμετροι εκτός max_steps = 400). Στη μέση και δεξιά είναι οι εικόνες που δημιουργούνται από το βελτιωμένο μοντέλο όταν του ζητήθηκε να προβλέψει την εικόνα του riobugger στην παραλία και ένα σκίτσο με μολύβι.

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

Αποκτήστε πρόσβαση στο JumpStart μέσω της διεπαφής χρήστη του Studio

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

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

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

Σκέψεις για τη λεπτομερή ρύθμιση

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

συστάσεις

Λάβετε υπόψη τις ακόλουθες συστάσεις:

  • Ξεκινήστε με εικόνες προπόνησης καλής ποιότητας (4–20). Εάν εκπαιδεύεστε σε ανθρώπινα πρόσωπα, ίσως χρειαστείτε περισσότερες εικόνες.
  • Εκπαιδευτείτε για 200–400 βήματα όταν εκπαιδεύεστε σε σκύλους ή γάτες και σε άλλα μη ανθρώπινα θέματα. Εάν εκπαιδεύεστε σε ανθρώπινα πρόσωπα, μπορεί να χρειαστείτε περισσότερα βήματα. Εάν συμβεί υπερβολική τοποθέτηση, μειώστε τον αριθμό των βημάτων. Εάν συμβεί ελλιπής προσαρμογή (το βελτιωμένο μοντέλο δεν μπορεί να δημιουργήσει την εικόνα του θέματος-στόχου), αυξήστε τον αριθμό των βημάτων.
  • Εάν εκπαιδεύεστε σε μη ανθρώπινα πρόσωπα, μπορείτε να ορίσετε with_prior_preservation = False γιατί δεν επηρεάζει σημαντικά την απόδοση. Σε ανθρώπινα πρόσωπα, ίσως χρειαστεί να ορίσετε with_prior_preservation=True.
  • Εάν η ρύθμιση with_prior_preservation=True, χρησιμοποιήστε τον τύπο παρουσίας ml.g5.2xlarge.
  • Όταν εκπαιδεύεστε σε πολλά θέματα διαδοχικά, εάν τα θέματα είναι πολύ παρόμοια (για παράδειγμα, όλα τα σκυλιά), το μοντέλο διατηρεί το τελευταίο θέμα και ξεχνά τα προηγούμενα θέματα. Εάν τα θέματα είναι διαφορετικά (για παράδειγμα, πρώτα μια γάτα και μετά ένας σκύλος), το μοντέλο διατηρεί και τα δύο θέματα.
  • Συνιστούμε να χρησιμοποιείτε χαμηλό ρυθμό εκμάθησης και να αυξάνετε σταδιακά τον αριθμό των βημάτων μέχρι τα αποτελέσματα να είναι ικανοποιητικά.

Δεδομένα εκπαίδευσης

Η ποιότητα του βελτιστοποιημένου μοντέλου επηρεάζεται άμεσα από την ποιότητα των εικόνων εκπαίδευσης. Επομένως, πρέπει να συλλέγετε εικόνες υψηλής ποιότητας για να έχετε καλά αποτελέσματα. Οι θολές ή χαμηλής ανάλυσης εικόνες θα επηρεάσουν την ποιότητα του βελτιστοποιημένου μοντέλου. Λάβετε υπόψη τις ακόλουθες πρόσθετες παραμέτρους:

  • Αριθμός εικόνων προπόνησης – Μπορείτε να ρυθμίσετε το μοντέλο σε μόλις τέσσερις εικόνες εκπαίδευσης. Πειραματιστήκαμε με εκπαιδευτικά σύνολα δεδομένων μεγέθους μόλις 4 εικόνων και έως και 16 εικόνων. Και στις δύο περιπτώσεις, η λεπτή ρύθμιση κατάφερε να προσαρμόσει το μοντέλο στο θέμα.
  • Μορφές συνόλου δεδομένων – Δοκιμάσαμε τον αλγόριθμο λεπτομέρειας σε εικόνες μορφής .png, .jpg και .jpeg. Άλλες μορφές μπορεί επίσης να λειτουργήσουν.
  • Η ανάλυση της εικόνας – Οι εικόνες προπόνησης μπορεί να έχουν οποιαδήποτε ανάλυση. Ο αλγόριθμος λεπτομέρειας θα αλλάξει το μέγεθος όλων των προπονητικών εικόνων πριν από την έναρξη του μικροσυντονισμού. Τούτου λεχθέντος, εάν θέλετε να έχετε περισσότερο έλεγχο στην περικοπή και την αλλαγή μεγέθους των εικόνων εκπαίδευσης, συνιστούμε να αλλάξετε το μέγεθος των εικόνων μόνοι σας στη βασική ανάλυση του μοντέλου (σε αυτό το παράδειγμα, 512×512 pixel).

Ρυθμίσεις πειράματος

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

  • Σκύλος 1-8 – Σκύλος 1 με 8 εικόνες
  • Σκύλος 1-16 – Σκύλος 1 με 16 εικόνες
  • Σκύλος 2-4 – Σκύλος 2 με τέσσερις εικόνες
  • Γάτα-8 – Γάτα με 8 εικόνες

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

Υπερβολική τοποθέτηση

Τα μοντέλα Stable Diffusion τείνουν να προσαρμόζονται υπερβολικά κατά τη λεπτή ρύθμιση σε μερικές εικόνες. Επομένως, πρέπει να επιλέξετε τις παραμέτρους όπως π.χ epochs, max_epochs, και βαθμολογήστε προσεκτικά τη μάθηση. Σε αυτήν την ενότητα, χρησιμοποιήσαμε το σύνολο δεδομένων Dog1-16.

Για να αξιολογήσουμε την απόδοση του μοντέλου, αξιολογούμε το τελειοποιημένο μοντέλο για τέσσερις εργασίες:

  • Μπορεί το βελτιστοποιημένο μοντέλο να δημιουργήσει εικόνες του θέματος (σκύλος Doppler) στο ίδιο περιβάλλον με το οποίο εκπαιδεύτηκε;
    • Παρατήρηση - Ναι μπορεί. Αξίζει να σημειωθεί ότι η απόδοση του μοντέλου αυξάνεται με τον αριθμό των βημάτων εκπαίδευσης.
  • Μπορεί το τελειοποιημένο μοντέλο να δημιουργήσει εικόνες του θέματος σε διαφορετικό περιβάλλον από αυτό στο οποίο είχε εκπαιδευτεί; Για παράδειγμα, μπορεί να δημιουργήσει εικόνες Doppler σε μια παραλία;
    • Παρατήρηση - Ναι μπορεί. Αξίζει να σημειωθεί ότι η απόδοση του μοντέλου αυξάνεται με τον αριθμό των βημάτων εκπαίδευσης μέχρι ένα ορισμένο σημείο. Ωστόσο, εάν το μοντέλο εκπαιδεύεται για πολύ μεγάλο χρονικό διάστημα, η απόδοση του μοντέλου υποβαθμίζεται καθώς το μοντέλο τείνει να προσαρμόζεται υπερβολικά.
  • Μπορεί το βελτιωμένο μοντέλο να δημιουργήσει εικόνες μιας τάξης στην οποία ανήκει το εκπαιδευτικό αντικείμενο; Για παράδειγμα, μπορεί να δημιουργήσει μια εικόνα ενός γενόσημου σκύλου;
    • Παρατήρηση – Καθώς αυξάνουμε τον αριθμό των βημάτων εκπαίδευσης, το μοντέλο αρχίζει να υπερπροσαρμόζεται. Ως αποτέλεσμα, ξεχνά τη γενική κατηγορία ενός σκύλου και θα παράγει μόνο εικόνες που σχετίζονται με το θέμα.
  • Μπορεί το βελτιωμένο μοντέλο να δημιουργήσει εικόνες μιας τάξης ή ενός θέματος που δεν είναι στο σύνολο δεδομένων εκπαίδευσης; Για παράδειγμα, μπορεί να δημιουργήσει μια εικόνα μιας γάτας;
    • Παρατήρηση – Καθώς αυξάνουμε τον αριθμό των βημάτων εκπαίδευσης, το μοντέλο αρχίζει να υπερπροσαρμόζεται. Ως αποτέλεσμα, θα παράγει μόνο εικόνες που σχετίζονται με το θέμα, ανεξάρτητα από την κατηγορία που έχει καθοριστεί.

Ρυθμίζουμε το μοντέλο για διαφορετικό αριθμό βημάτων (με ρύθμιση max_steps υπερπαράμετροι) και για κάθε βελτιωμένο μοντέλο, δημιουργούμε εικόνες σε καθεμία από τις ακόλουθες τέσσερις προτροπές (που εμφανίζονται στα ακόλουθα παραδείγματα από αριστερά προς τα δεξιά:

  • “Μια φωτογραφία ενός σκύλου Doppler”
  • “Μια φωτογραφία ενός σκύλου Doppler σε μια παραλία”
  • “Μια φωτογραφία ενός σκύλου”
  • “Μια φωτογραφία μιας γάτας”

Οι παρακάτω εικόνες είναι από το μοντέλο που εκπαιδεύτηκε με 50 βήματα.

Το παρακάτω μοντέλο εκπαιδεύτηκε με 100 βήματα.

Εκπαιδεύσαμε το παρακάτω μοντέλο με 200 βήματα.

Οι παρακάτω εικόνες είναι από ένα μοντέλο εκπαιδευμένο με 400 βήματα.

Τέλος, οι παρακάτω εικόνες είναι το αποτέλεσμα 800 βημάτων.

Εκπαίδευση σε πολλαπλά σύνολα δεδομένων

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

Σε αυτή την ενότητα εξετάζουμε τον ακόλουθο πειραματισμό:

  1. Βελτιστοποιήστε το μοντέλο για το Θέμα Α.
  2. Ρυθμίστε με ακρίβεια το μοντέλο που προκύπτει από το Βήμα 1 για το Θέμα Β.
  3. Δημιουργήστε εικόνες του θέματος Α και του θέματος Β χρησιμοποιώντας το μοντέλο εξόδου από το Βήμα 2.

Στα παρακάτω πειράματα παρατηρούμε ότι:

  • Εάν το Α είναι ο σκύλος 1 και ο Β είναι ο σκύλος 2, τότε όλες οι εικόνες που δημιουργούνται στο Βήμα 3 μοιάζουν με τον σκύλο 2
  • Εάν το Α είναι ο σκύλος 2 και ο Β είναι ο σκύλος 1, τότε όλες οι εικόνες που δημιουργούνται στο Βήμα 3 μοιάζουν με τον σκύλο 1
  • Εάν το Α είναι ο σκύλος 1 και το Β είναι η γάτα, τότε οι εικόνες που δημιουργούνται με προτροπές για σκύλους μοιάζουν με το σκύλο 1 και οι εικόνες που δημιουργούνται με προτροπές γάτας μοιάζουν με τη γάτα

Εκπαιδεύστε στον σκύλο 1 και μετά στον σκύλο 2

Στο Βήμα 1, βελτιστοποιούμε το μοντέλο για 200 βήματα σε οκτώ εικόνες του σκύλου 1. Στο Βήμα 2, ρυθμίζουμε περαιτέρω το μοντέλο για 200 βήματα σε τέσσερις εικόνες του σκύλου 2.

Ακολουθούν οι εικόνες που δημιουργούνται από το τελειοποιημένο μοντέλο στο τέλος του Βήματος 2 για διαφορετικά μηνύματα.

Εκπαιδεύστε στον σκύλο 2 και μετά στον σκύλο 1

Στο Βήμα 1, βελτιστοποιούμε το μοντέλο για 200 βήματα σε τέσσερις εικόνες του σκύλου 2. Στο Βήμα 2, ρυθμίζουμε περαιτέρω το μοντέλο για 200 βήματα σε οκτώ εικόνες του σκύλου 1.

Ακολουθούν οι εικόνες που δημιουργούνται από το τελειοποιημένο μοντέλο στο τέλος του Βήματος 2 με διαφορετικές προτροπές.

Τρένο σε σκύλους και γάτες

Στο Βήμα 1, βελτιστοποιούμε το μοντέλο για 200 βήματα σε οκτώ εικόνες μιας γάτας. Στη συνέχεια, ρυθμίζουμε περαιτέρω το μοντέλο για 200 βήματα σε οκτώ εικόνες του σκύλου 1.

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

Προγενέστερη συντήρηση

Η εκ των προτέρων διατήρηση είναι μια τεχνική που χρησιμοποιεί πρόσθετες εικόνες της ίδιας κατηγορίας στις οποίες προσπαθούμε να εκπαιδευτούμε. Για παράδειγμα, εάν τα δεδομένα εκπαίδευσης αποτελούνται από εικόνες ενός συγκεκριμένου σκύλου, με προηγούμενη διατήρηση, ενσωματώνουμε εικόνες κατηγορίας σκύλων γενικής χρήσης. Προσπαθεί να αποφύγει την υπερβολική εφαρμογή δείχνοντας εικόνες διαφορετικών σκύλων ενώ εκπαιδεύει έναν συγκεκριμένο σκύλο. Μια ετικέτα που υποδεικνύει τον συγκεκριμένο σκύλο που υπάρχει στην προτροπή παρουσίασης λείπει από το μήνυμα κλάσης. Για παράδειγμα, η προτροπή για παράδειγμα μπορεί να είναι "μια φωτογραφία μιας γάτας riobugger" και η προτροπή της τάξης μπορεί να είναι "μια φωτογραφία μιας γάτας". Μπορείτε να ενεργοποιήσετε την προηγούμενη διατήρηση ρυθμίζοντας την υπερπαράμετρο with_prior_preservation = True. Εάν η ρύθμιση with_prior_preservation = True, πρέπει να συμπεριλάβετε class_prompt in dataset_info.json και μπορεί να περιλαμβάνει οποιεσδήποτε εικόνες τάξης είναι διαθέσιμες σε εσάς. Ακολουθεί η μορφή δεδομένων εκπαίδευσης κατά τη ρύθμιση with_prior_preservation = True:

  • Εισαγωγή – Ένας κατάλογος που περιέχει τις εικόνες του στιγμιότυπου, dataset_info.json και (προαιρετικό) κατάλογο class_data_dir. Σημειώστε τα εξής:
    • Οι εικόνες μπορεί να έχουν μορφή .png, .jpg, .jpeg.
    • Η dataset_info.json το αρχείο πρέπει να είναι της μορφής {'instance_prompt':<<instance_prompt>>,'class_prompt':<<class_prompt>>}.
    • Η class_data_dir ο κατάλογος πρέπει να έχει εικόνες κλάσης. Αν class_data_dir δεν υπάρχει ή δεν υπάρχουν ήδη αρκετές εικόνες class_data_dir, θα γίνει δειγματοληψία επιπλέον εικόνων class_prompt.

Για σύνολα δεδομένων όπως γάτες και σκύλοι, η προηγούμενη συντήρηση δεν επηρεάζει σημαντικά την απόδοση του βελτιστοποιημένου μοντέλου και επομένως μπορεί να αποφευχθεί. Ωστόσο, κατά την προπόνηση σε πρόσωπα, αυτό είναι απαραίτητο. Για περισσότερες πληροφορίες, ανατρέξτε στο Training Stable Diffusion με Dreambooth με χρήση Diffusers.

Τύποι παρουσίας

Τα μοντέλα σταθερής διάχυσης λεπτής ρύθμισης απαιτούν επιταχυνόμενους υπολογισμούς που παρέχονται από παρουσίες που υποστηρίζονται από GPU. Πειραματιζόμαστε τη λεπτομέρεια με τις περιπτώσεις ml.g4dn.2xlarge (16 GB μνήμη CUDA, 1 GPU) και ml.g5.2xlarge (24 GB μνήμη CUDA, 1 GPU). Η απαίτηση μνήμης είναι μεγαλύτερη κατά τη δημιουργία εικόνων κλάσης. Επομένως, εάν ρυθμίσετε with_prior_preservation=True, χρησιμοποιήστε τον τύπο παρουσίας ml.g5.2xlarge, επειδή η προπόνηση αντιμετωπίζει πρόβλημα μνήμης CUDA στην παρουσία ml.g4dn.2xlarge. Το σενάριο λεπτομέρειας JumpStart χρησιμοποιεί αυτήν τη στιγμή μία GPU και, επομένως, η λεπτομέρεια σε παρουσίες πολλαπλών GPU δεν θα αποφέρει κέρδη απόδοσης. Για περισσότερες πληροφορίες σχετικά με διαφορετικούς τύπους παρουσιών, ανατρέξτε στο Τύποι περιπτώσεων Amazon EC2.

Περιορισμοί και προκατάληψη

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

  • Το μοντέλο ενδέχεται να μην δημιουργεί ακριβή πρόσωπα ή άκρα επειδή τα δεδομένα εκπαίδευσης δεν περιλαμβάνουν επαρκείς εικόνες με αυτά τα χαρακτηριστικά
  • Το μοντέλο εκπαιδεύτηκε στο Δεδομένα LAION-5B, το οποίο έχει περιεχόμενο για ενήλικες και ενδέχεται να μην είναι κατάλληλο για χρήση προϊόντος χωρίς περαιτέρω σκέψεις
  • Το μοντέλο ενδέχεται να μην λειτουργεί καλά με μη αγγλικές γλώσσες, επειδή το μοντέλο εκπαιδεύτηκε σε κείμενο στην αγγλική γλώσσα
  • Το μοντέλο δεν μπορεί να δημιουργήσει καλό κείμενο μέσα στις εικόνες

Για περισσότερες πληροφορίες σχετικά με τους περιορισμούς και την προκατάληψη, βλ Κάρτα Μοντέλου Stable Diffusion v2-1-base. Αυτοί οι περιορισμοί για το προεκπαιδευμένο μοντέλο μπορούν να μεταφερθούν και στα βελτιωμένα μοντέλα.

εκκαθάριση

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

Διαθέσιμα στο κοινό βελτιστοποιημένα μοντέλα στο JumpStart

Παρόλο που τα μοντέλα Stable Diffusion κυκλοφόρησαν από StabilityAI έχουν εντυπωσιακές επιδόσεις, έχουν περιορισμούς όσον αφορά τη γλώσσα ή τον τομέα στον οποίο εκπαιδεύτηκε. Για παράδειγμα, τα μοντέλα Stable Diffusion εκπαιδεύτηκαν σε αγγλικό κείμενο, αλλά μπορεί να χρειαστεί να δημιουργήσετε εικόνες από μη αγγλικό κείμενο. Εναλλακτικά, τα μοντέλα Stable Diffusion εκπαιδεύτηκαν για τη δημιουργία φωτορεαλιστικών εικόνων, αλλά μπορεί να χρειαστεί να δημιουργήσετε κινούμενες ή καλλιτεχνικές εικόνες.

Το JumpStart παρέχει πάνω από 80 διαθέσιμα στο κοινό μοντέλα με διάφορες γλώσσες και θέματα. Αυτά τα μοντέλα είναι συχνά βελτιωμένες εκδόσεις από μοντέλα Stable Diffusion που κυκλοφορούν από τη StabilityAI. Εάν η περίπτωση χρήσης σας ταιριάζει με ένα από τα βελτιστοποιημένα μοντέλα, δεν χρειάζεται να συλλέξετε το δικό σας σύνολο δεδομένων και να το ρυθμίσετε με ακρίβεια. Μπορείτε απλά να αναπτύξετε ένα από αυτά τα μοντέλα μέσω της διεπαφής χρήστη του Studio ή χρησιμοποιώντας εύχρηστα JumpStart API. Για να αναπτύξετε ένα προεκπαιδευμένο μοντέλο Stable Diffusion στο JumpStart, ανατρέξτε στο Δημιουργήστε εικόνες από κείμενο με το μοντέλο σταθερής διάχυσης στο Amazon SageMaker JumpStart.

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

Σημειώστε ότι αυτά τα μοντέλα δεν ρυθμίζονται με ακρίβεια χρησιμοποιώντας σενάρια JumpStart ή σενάρια DreamBooth. Μπορείτε να κάνετε λήψη της πλήρους λίστας των δημοσίως διαθέσιμων βελτιστοποιημένων μοντέλων με παραδείγματα προτροπών από εδώ.

Για περισσότερα παραδείγματα που δημιουργούνται εικόνες από αυτά τα μοντέλα, ανατρέξτε στην ενότητα Προσαρμοσμένα μοντέλα ανοιχτού κώδικα στο Παράρτημα.

Συμπέρασμα

Σε αυτήν την ανάρτηση, δείξαμε πώς να ρυθμίσετε το μοντέλο Stable Diffusion για κείμενο σε εικόνα και στη συνέχεια να το αναπτύξετε χρησιμοποιώντας το JumpStart. Επιπλέον, συζητήσαμε μερικά από τα ζητήματα που πρέπει να λάβετε κατά τη λεπτομερή ρύθμιση του μοντέλου και πώς μπορεί να επηρεάσει την απόδοση του βελτιωμένου μοντέλου. Συζητήσαμε επίσης τα περισσότερα από 80 έτοιμα προς χρήση βελτιωμένα μοντέλα που είναι διαθέσιμα στο JumpStart. Δείξαμε αποσπάσματα κώδικα σε αυτήν την ανάρτηση—για τον πλήρη κώδικα με όλα τα βήματα σε αυτήν την επίδειξη, ανατρέξτε στο Εισαγωγή στο JumpStart – Κείμενο σε εικόνα παράδειγμα σημειωματάριο. Δοκιμάστε τη λύση μόνοι σας και στείλτε μας τα σχόλιά σας.

Για να μάθετε περισσότερα σχετικά με το μοντέλο και τη βελτίωση του DreamBooth, ανατρέξτε στους ακόλουθους πόρους:

Για να μάθετε περισσότερα σχετικά με το JumpStart, ανατρέξτε στις ακόλουθες αναρτήσεις ιστολογίου:


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

Δρ Vivek Madan είναι Εφαρμοσμένος Επιστήμονας με την ομάδα Amazon SageMaker JumpStart. Πήρε το διδακτορικό του από το Πανεπιστήμιο του Ιλινόις στο Urbana-Champaign και ήταν μεταδιδακτορικός ερευνητής στο Georgia Tech. Είναι ενεργός ερευνητής στη μηχανική μάθηση και στο σχεδιασμό αλγορίθμων και έχει δημοσιεύσει εργασίες σε συνέδρια EMNLP, ICLR, COLT, FOCS και SODA.

Heiko Hotz είναι Senior Solutions Architect για AI & Machine Learning με ιδιαίτερη εστίαση στην επεξεργασία φυσικής γλώσσας (NLP), στα μεγάλα γλωσσικά μοντέλα (LLM) και στη γενετική τεχνητή νοημοσύνη. Πριν από αυτόν τον ρόλο, ήταν επικεφαλής της Επιστήμης Δεδομένων για την Εξυπηρέτηση Πελατών στην ΕΕ της Amazon. Η Heiko βοηθά τους πελάτες μας να είναι επιτυχημένοι στο ταξίδι τους AI/ML στο AWS και έχει συνεργαστεί με οργανισμούς σε πολλούς κλάδους, συμπεριλαμβανομένων των ασφαλίσεων, των χρηματοοικονομικών υπηρεσιών, των μέσων ενημέρωσης και της ψυχαγωγίας, της υγειονομικής περίθαλψης, των υπηρεσιών κοινής ωφελείας και της κατασκευής. Στον ελεύθερο χρόνο του, ο Heiko ταξιδεύει όσο περισσότερο μπορεί.


Παράρτημα: Σύνολα δεδομένων πειράματος

Αυτή η ενότητα περιέχει τα σύνολα δεδομένων που χρησιμοποιούνται στα πειράματα αυτής της ανάρτησης.

Σκύλος 1-8

Σκύλος 1-16

Σκύλος 2-4

Σκύλος 3-8

Παράρτημα: Μοντέλα με λεπτομέρεια ανοιχτού κώδικα

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

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

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