अमेज़ॅन सैजमेकर जम्पस्टार्ट के साथ टेक्स्ट-टू-इमेज स्थिर प्रसार मॉडल को फाइन-ट्यून करें

अमेज़ॅन सैजमेकर जम्पस्टार्ट के साथ टेक्स्ट-टू-इमेज स्थिर प्रसार मॉडल को फाइन-ट्यून करें

स्रोत नोड: 1968900

नवंबर 2022 में, हम की घोषणा कि AWS ग्राहक टेक्स्ट से इमेज जेनरेट कर सकते हैं स्थिर प्रसार में मॉडल अमेज़न SageMaker जम्पस्टार्ट. स्टेबल डिफ्यूजन एक गहन शिक्षण मॉडल है जो आपको कुछ ही सेकंड में यथार्थवादी, उच्च-गुणवत्ता वाली छवियां और आश्चर्यजनक कला उत्पन्न करने की अनुमति देता है। यद्यपि प्रभावशाली चित्र बनाने से कला से लेकर एनएफटी और उससे आगे के उद्योगों में उपयोग मिल सकता है, आज हम यह भी उम्मीद करते हैं कि एआई वैयक्तिकृत हो। आज, हम घोषणा करते हैं कि आप इमेज जनरेशन मॉडल को अपने कस्टम डेटासेट पर फाइन-ट्यूनिंग करके अपने उपयोग के मामले में वैयक्तिकृत कर सकते हैं अमेज़न SageMaker जम्पस्टार्ट. यह कला, लोगो, कस्टम डिज़ाइन, NFTs, इत्यादि बनाते समय उपयोगी हो सकता है, या अपने पालतू जानवरों या अपने अवतारों की कस्टम AI छवियां बनाने जैसी मज़ेदार चीज़ें बना सकता है।

इस पोस्ट में, हम दो तरीकों से स्थिर प्रसार मॉडल को फाइन-ट्यून करने का एक अवलोकन प्रदान करते हैं: प्रोग्रामेटिक रूप से जम्पस्टार्ट एपीआई में उपलब्ध है सेजमेकर पायथन एसडीके, और जम्पस्टार्ट का यूजर इंटरफेस (यूआई) में अमेज़ॅन सैजमेकर स्टूडियो. हम यह भी चर्चा करते हैं कि डेटासेट गुणवत्ता, प्रशिक्षण डेटासेट का आकार, हाइपरपैरामीटर मानों का विकल्प, और एकाधिक डेटासेट के लिए प्रयोज्यता सहित डिज़ाइन विकल्प कैसे बनाएं। अंत में, हम जम्पस्टार्ट में हाल ही में जोड़े गए विभिन्न इनपुट भाषाओं और शैलियों के साथ सार्वजनिक रूप से उपलब्ध फाइन-ट्यून किए गए 80 से अधिक मॉडलों पर चर्चा करते हैं।

स्थिर प्रसार और सीखने को स्थानांतरित करना

स्टेबल डिफ्यूजन एक टेक्स्ट-टू-इमेज मॉडल है जो आपको सिर्फ एक टेक्स्ट प्रॉम्प्ट से फोटोरियलिस्टिक इमेज बनाने में सक्षम बनाता है। एक वास्तविक छवि में जोड़े गए शोर को हटाने के लिए सीखने के द्वारा एक प्रसार मॉडल प्रशिक्षित करता है। यह डी-नॉइज़िंग प्रक्रिया एक यथार्थवादी छवि उत्पन्न करती है। ये मॉडल टेक्स्ट पर जनरेशन प्रोसेस को कंडीशन करके अकेले टेक्स्ट से इमेज भी जेनरेट कर सकते हैं। उदाहरण के लिए, स्थिर प्रसार एक अव्यक्त प्रसार है जहां मॉडल शुद्ध शोर छवि में आकृतियों को पहचानना सीखता है और यदि आकृतियाँ इनपुट पाठ में शब्दों से मेल खाती हैं तो धीरे-धीरे इन आकृतियों को ध्यान में लाता है। पाठ को पहले एक भाषा मॉडल का उपयोग करके एक अव्यक्त स्थान में एम्बेड किया जाना चाहिए। फिर, यू-नेट आर्किटेक्चर के साथ अव्यक्त स्थान में शोर जोड़ने और शोर हटाने के संचालन की एक श्रृंखला की जाती है। अंत में, डी-नॉइज्ड आउटपुट को पिक्सेल स्पेस में डिकोड किया जाता है।

मशीन लर्निंग (एमएल) में, एक डोमेन में सीखे गए ज्ञान को दूसरे डोमेन में स्थानांतरित करने की क्षमता कहलाती है सीखने का स्थानांतरण. आप अपने छोटे डेटासेट पर सटीक मॉडल बनाने के लिए ट्रांसफर लर्निंग का उपयोग कर सकते हैं, मूल मॉडल को प्रशिक्षित करने की तुलना में बहुत कम प्रशिक्षण लागत के साथ। ट्रांसफर लर्निंग के साथ, आप अपने स्वयं के डेटासेट पर पांच छवियों के साथ स्थिर प्रसार मॉडल को ठीक कर सकते हैं। उदाहरण के लिए, बाईं ओर डॉपलर नाम के एक कुत्ते की प्रशिक्षण छवियां हैं जिनका उपयोग मॉडल को फ़ाइन-ट्यून करने के लिए किया जाता है, मध्य और दाईं ओर फ़ाइन-ट्यून किए गए मॉडल द्वारा बनाई गई छवियां हैं जब समुद्र तट पर डॉपलर की छवि की भविष्यवाणी करने के लिए कहा जाता है और एक पेंसिल स्केच होता है।

बाईं ओर मॉडल को फाइन-ट्यून करने के लिए उपयोग की जाने वाली सफेद कुर्सी की छवियां हैं और फाइन-ट्यून किए गए मॉडल द्वारा उत्पन्न लाल रंग में कुर्सी की छवि है। दाईं ओर एक ऊदबिलाव की छवियां हैं जिनका उपयोग मॉडल को ठीक करने के लिए किया जाता है और एक ऊदबिलाव पर बैठी बिल्ली की छवि होती है।

स्टेबल डिफ्यूजन जैसे बड़े मॉडल को फाइन-ट्यूनिंग करने के लिए आमतौर पर आपको प्रशिक्षण स्क्रिप्ट प्रदान करने की आवश्यकता होती है। मेमोरी की समस्या, पेलोड आकार की समस्या, और बहुत कुछ सहित कई मुद्दे हैं। इसके अलावा, आपको यह सुनिश्चित करने के लिए एंड-टू-एंड टेस्ट चलाने होंगे कि स्क्रिप्ट, मॉडल और वांछित उदाहरण एक कुशल तरीके से एक साथ काम करते हैं। जम्पस्टार्ट उपयोग के लिए तैयार स्क्रिप्ट प्रदान करके इस प्रक्रिया को सरल बनाता है जिनका मजबूत परीक्षण किया गया है। स्थिर प्रसार मॉडल के लिए जम्पस्टार्ट फाइन-ट्यूनिंग स्क्रिप्ट फाइन-ट्यूनिंग स्क्रिप्ट पर बनाता है ड्रीम बूथ. आप स्टूडियो यूआई के माध्यम से या कोड की बहुत कम पंक्तियों के माध्यम से एक क्लिक के साथ इन स्क्रिप्ट तक पहुंच सकते हैं जम्पस्टार्ट एपीआई.

ध्यान दें कि स्थिर प्रसार मॉडल का उपयोग करके, आप इससे सहमत हैं क्रिएटिवएमएल ओपन रेल++-एम लाइसेंस.

सेजमेकर एसडीके के साथ प्रोग्रामेटिक रूप से जम्पस्टार्ट का उपयोग करें

यह खंड बताता है कि मॉडल को कैसे प्रशिक्षित और तैनात किया जाए सेजमेकर पायथन एसडीके. हम जम्पस्टार्ट में एक उपयुक्त पूर्व-प्रशिक्षित मॉडल चुनते हैं, इस मॉडल को SageMaker प्रशिक्षण कार्य के साथ प्रशिक्षित करते हैं, और प्रशिक्षित मॉडल को SageMaker समापन बिंदु पर परिनियोजित करते हैं। इसके अलावा, हम सैजमेकर पायथन एसडीके का उपयोग करते हुए, परिनियोजित एंडपॉइंट पर अनुमान लगाते हैं। निम्नलिखित उदाहरणों में कोड स्निपेट हैं। इस डेमो में सभी चरणों के साथ पूर्ण कोड के लिए, देखें जम्पस्टार्ट का परिचय - छवि का पाठ उदाहरण नोटबुक।

स्थिर प्रसार मॉडल को प्रशिक्षित और फाइन-ट्यून करें

प्रत्येक मॉडल की पहचान एक अद्वितीय द्वारा की जाती है model_id. निम्नलिखित कोड दिखाता है कि कैसे एक स्थिर प्रसार 2.1 आधार मॉडल को ठीक से ट्यून किया जाए model_id model-txt2img-stabilityai-stable-diffusion-v2-1-base एक कस्टम प्रशिक्षण डेटासेट पर। पूरी सूची के लिए model_id मान और कौन से मॉडल फ़ाइन-ट्यून करने योग्य हैं, देखें पूर्व-प्रशिक्षित मॉडल टेबल के साथ बिल्ट-इन एल्गोरिदम। प्रत्येक के लिए model_id, के माध्यम से एक सेजमेकर प्रशिक्षण कार्य शुरू करने के लिए क़ीमत लगानेवाला SageMaker Python SDK की कक्षा, आपको SageMaker में प्रदान किए गए उपयोगिता कार्यों के माध्यम से Docker छवि URI, प्रशिक्षण स्क्रिप्ट URI, और पूर्व-प्रशिक्षित मॉडल URI लाने की आवश्यकता है। प्रशिक्षण स्क्रिप्ट URI में डेटा प्रोसेसिंग, पूर्व-प्रशिक्षित मॉडल को लोड करने, मॉडल प्रशिक्षण और अनुमान के लिए प्रशिक्षित मॉडल को सहेजने के लिए सभी आवश्यक कोड शामिल हैं। पूर्व-प्रशिक्षित मॉडल यूआरआई में पूर्व-प्रशिक्षित मॉडल आर्किटेक्चर परिभाषा और मॉडल पैरामीटर शामिल हैं। पूर्व-प्रशिक्षित मॉडल यूआरआई विशिष्ट मॉडल के लिए विशिष्ट है। पूर्व-प्रशिक्षित मॉडल टारबॉल को हगिंग फेस से पूर्व-डाउनलोड किया गया है और उपयुक्त मॉडल हस्ताक्षर के साथ सहेजा गया है अमेज़न सरल भंडारण सेवा (अमेज़ॅन 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 प्रारूप की हो सकती हैं
    • RSI 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 बिल्ली की तस्वीर" का प्रयास करें।

लाइसेंस: एमआईटी.

हाइपरपैरामीटर

अगला, अपने कस्टम डेटासेट पर सीखने के हस्तांतरण के लिए, आपको प्रशिक्षण हाइपरपरमेटर्स के डिफ़ॉल्ट मानों को बदलने की आवश्यकता हो सकती है। आप कॉल करके इन हाइपरपरमेटर्स का एक पायथन डिक्शनरी उनके डिफ़ॉल्ट मानों के साथ प्राप्त कर सकते हैं 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.)
  • मैक्स_स्टेप्स - प्रदर्शन करने के लिए प्रशिक्षण चरणों की कुल संख्या। अगर नहीं None, युगों को ओवरराइड करता है। (मान: “None” या पूर्णांक की एक स्ट्रिंग, डिफ़ॉल्ट: “None”.)
  • बैच का आकार -: मॉडल वेट अपडेट होने से पहले प्रशिक्षण के उदाहरणों की संख्या पर काम किया जाता है। वर्ग छवियों के निर्माण के दौरान बैच आकार के समान यदि with_prior_preservation = True. (मान: धनात्मक पूर्णांक, डिफ़ॉल्ट: 1.)
  • सीखने की दर - वह दर जिस पर प्रशिक्षण उदाहरणों के प्रत्येक बैच के माध्यम से कार्य करने के बाद मॉडल भार अद्यतन किए जाते हैं। (मान: धनात्मक फ़्लोट, डिफ़ॉल्ट: 2e-06.)
  • पहले_नुकसान_वजन - पूर्व संरक्षण हानि का वजन। (मान: धनात्मक फ़्लोट, डिफ़ॉल्ट: 1.0.)
  • केंद्र_फसल – वांछित रिजोल्यूशन में आकार बदलने से पहले छवियों को क्रॉप करना है या नहीं। (विकल्प: [“True”/“False”], गलती करना: “False”.)
  • lr_अनुसूचक - सीखने की दर अनुसूचक का प्रकार। (विकल्प: ["linear", "cosine", "cosine_with_restarts", "polynomial", "constant", "constant_with_warmup"], गलती करना: "constant"।) अधिक जानकारी के लिए देखें सीखने की दर अनुसूचक.
  • एडम_वेट_डेके - सभी पूर्वाग्रहों को छोड़कर सभी परतों पर (यदि शून्य नहीं) लागू करने के लिए वजन घटता है LayerNorm में वजन AdamW अनुकूलक। (मान: फ़्लोट, डिफ़ॉल्ट: 1e-2.)
  • एडम_बीटा1 - के लिए बीटा1 हाइपरपरमीटर (पहले क्षण के अनुमान के लिए घातीय क्षय दर)। AdamW अनुकूलक। (मान: फ़्लोट, डिफ़ॉल्ट: 0.9.)
  • एडम_बीटा2 - के लिए बीटा2 हाइपरपरमीटर (पहले क्षण के अनुमान के लिए घातीय क्षय दर)। AdamW अनुकूलक। (मान: फ़्लोट, डिफ़ॉल्ट: 0.999.)
  • एडम_एप्सिलॉन - epsilon के लिए हाइपरपैरामीटर AdamW अनुकूलक। यह आमतौर पर 0. से विभाजन से बचने के लिए एक छोटे मूल्य पर सेट होता है। (मान: फ्लोट, डिफ़ॉल्ट: 1e-8।)
  • ग्रेडिएंट_एक्यूमुलेशन_स्टेप्स - बैकवर्ड/अपडेट पास करने से पहले जमा करने के लिए अद्यतन चरणों की संख्या। (मान: पूर्णांक, डिफ़ॉल्ट: 1.)
  • max_grad_norm - अधिकतम ग्रेडिएंट मानदंड (ग्रेडिएंट क्लिपिंग के लिए)। (मान: फ़्लोट, डिफ़ॉल्ट: 1.0.)
  • बीज - प्रशिक्षण में प्रतिलिपि प्रस्तुत करने योग्य परिणाम प्राप्त करने के लिए यादृच्छिक स्थिति को ठीक करें। (मान: पूर्णांक, डिफ़ॉल्ट: 0.)

ठीक प्रशिक्षित मॉडल तैनात करें

मॉडल प्रशिक्षण समाप्त होने के बाद, आप सीधे मॉडल को एक सतत, रीयल-टाइम एंडपॉइंट पर तैनात कर सकते हैं। हम आवश्यक डॉकर इमेज यूआरआई और स्क्रिप्ट यूआरआई लाते हैं और मॉडल को तैनात करते हैं। निम्नलिखित कोड देखें:

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,
)

बाईं ओर रीओबगर नाम की एक बिल्ली की प्रशिक्षण छवियां हैं जिनका उपयोग मॉडल को फ़ाइन-ट्यून करने के लिए किया जाता है (डिफ़ॉल्ट पैरामीटर को छोड़कर max_steps = 400)। मध्य और दाईं ओर समुद्र तट पर रिओबगर की छवि और एक पेंसिल स्केच की भविष्यवाणी करने के लिए कहे जाने पर ठीक-ठाक मॉडल द्वारा उत्पन्न छवियां हैं।

अनुमान पर अधिक जानकारी के लिए, समर्थित पैरामीटर, प्रतिक्रिया प्रारूप, और इसी तरह, देखें Amazon SageMaker JumpStart पर स्थिर डिफ्यूजन मॉडल के साथ टेक्स्ट से इमेज जेनरेट करें.

Studio UI के माध्यम से जम्पस्टार्ट तक पहुँचें

इस खंड में, हम प्रदर्शित करते हैं कि स्टूडियो यूआई के माध्यम से जम्पस्टार्ट मॉडलों को कैसे प्रशिक्षित और परिनियोजित किया जाए। निम्नलिखित वीडियो दिखाता है कि जम्पस्टार्ट पर पूर्व-प्रशिक्षित स्थिर प्रसार मॉडल को कैसे खोजा जाए, इसे प्रशिक्षित किया जाए, और फिर इसे कैसे परिनियोजित किया जाए। मॉडल पृष्ठ में मॉडल और उसके उपयोग के तरीके के बारे में बहुमूल्य जानकारी होती है। SageMaker प्रशिक्षण उदाहरण को कॉन्फ़िगर करने के बाद, चुनें रेलगाड़ी. मॉडल के प्रशिक्षित होने के बाद, आप चुनकर प्रशिक्षित मॉडल को परिनियोजित कर सकते हैं तैनाती. समापन बिंदु "सेवा में" चरण में होने के बाद, यह अनुमान अनुरोधों का जवाब देने के लिए तैयार है।

अनुमान लगाने के समय में तेजी लाने के लिए, जम्पस्टार्ट एक नमूना नोटबुक प्रदान करता है जो दिखाता है कि नए बनाए गए समापन बिंदु पर अनुमान कैसे चलाया जाए। स्टूडियो में नोटबुक तक पहुँचने के लिए, चुनें नोटबुक खोलें में Studio से एंडपॉइंट का इस्तेमाल करें मॉडल समापन बिंदु पृष्ठ का अनुभाग।

जम्पस्टार्ट एक साधारण नोटबुक भी प्रदान करता है जिसका उपयोग आप स्थिर प्रसार मॉडल को फ़ाइन-ट्यून करने और परिणामी फ़ाइन-ट्यून किए गए मॉडल को लागू करने के लिए कर सकते हैं। आप इसका उपयोग अपने कुत्ते की मजेदार छवियां बनाने के लिए कर सकते हैं। नोटबुक तक पहुँचने के लिए, जम्पस्टार्ट सर्च बार में "जेनरेट फन इमेजेज़ ऑफ़ योर डॉग" खोजें। नोटबुक को निष्पादित करने के लिए, आप कम से कम पाँच प्रशिक्षण छवियों का उपयोग कर सकते हैं और स्थानीय स्टूडियो फ़ोल्डर में अपलोड कर सकते हैं। यदि आपके पास पाँच से अधिक चित्र हैं, तो आप उन्हें भी अपलोड कर सकते हैं। नोटबुक प्रशिक्षण छवियों को S3 पर अपलोड करता है, आपके डेटासेट पर मॉडल को प्रशिक्षित करता है और परिणामी मॉडल को परिनियोजित करता है। प्रशिक्षण समाप्त होने में 20 मिनट लग सकते हैं। आप प्रशिक्षण को गति देने के लिए चरणों की संख्या बदल सकते हैं। नोटबुक नियोजित मॉडल के साथ प्रयास करने के लिए कुछ नमूना संकेत प्रदान करता है लेकिन आप अपनी पसंद के किसी भी संकेत को आज़मा सकते हैं। आप अपने या अपने पालतू जानवरों के अवतार बनाने के लिए नोटबुक को भी अनुकूलित कर सकते हैं। उदाहरण के लिए, अपने कुत्ते के बजाय, आप पहले चरण में अपनी बिल्ली की तस्वीरें अपलोड कर सकते हैं और फिर संकेतों को कुत्तों से बिल्लियों में बदल सकते हैं और मॉडल आपकी बिल्ली की छवियां उत्पन्न करेगा।

फाइन-ट्यूनिंग विचार

प्रशिक्षण स्थिर प्रसार मॉडल जल्दी से ओवरफिट हो जाते हैं। अच्छी-गुणवत्ता वाली छवियां प्राप्त करने के लिए, हमें उपलब्ध प्रशिक्षण हाइपरपैरामीटर जैसे प्रशिक्षण चरणों की संख्या और सीखने की दर के बीच एक अच्छा संतुलन खोजना होगा। इस खंड में, हम कुछ प्रायोगिक परिणाम दिखाते हैं और इन मापदंडों को सेट करने के तरीके पर मार्गदर्शन प्रदान करते हैं।

अनुशंसाएँ

निम्नलिखित अनुशंसाओं पर विचार करें:

  • प्रशिक्षण छवियों की अच्छी गुणवत्ता के साथ प्रारंभ करें (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 पिक्सेल) में स्वयं बदलें।

प्रयोग सेटिंग्स

इस पोस्ट के प्रयोग में, फ़ाइन-ट्यूनिंग करते समय हम हाइपरपैरामीटर के डिफ़ॉल्ट मानों का उपयोग करते हैं जब तक कि निर्दिष्ट न किया गया हो। इसके अलावा, हम चार डेटासेट में से एक का उपयोग करते हैं:

  • कुत्ता1-8 - कुत्ता 1 8 छवियों के साथ
  • कुत्ता1-16 - कुत्ता 1 16 छवियों के साथ
  • कुत्ता2-4 - कुत्ता 2 चार छवियों के साथ
  • बिल्ली -8 - 8 छवियों वाली बिल्ली

अव्यवस्था को कम करने के लिए, हम प्रत्येक अनुभाग में डेटासेट नाम के साथ डेटासेट की केवल एक प्रतिनिधि छवि दिखाते हैं। आप अनुभाग में पूरा प्रशिक्षण सेट पा सकते हैं प्रयोग डेटासेट इस पोस्ट में।

ओवरफिटिंग

कुछ छवियों पर ठीक ट्यूनिंग करते समय स्थिर प्रसार मॉडल ओवरफिट हो जाते हैं। इसलिए, आपको पैरामीटर जैसे चुनने की आवश्यकता है epochs, max_epochs, और सीखने की दर ध्यान से। इस सेक्शन में, हमने Dog1-16 डेटासेट का इस्तेमाल किया।

मॉडल के प्रदर्शन का मूल्यांकन करने के लिए, हम चार कार्यों के लिए ठीक-ठीक मॉडल का मूल्यांकन करते हैं:

  • क्या ठीक-ठीक मॉडल विषय (डॉपलर कुत्ते) की छवियों को उसी सेटिंग में उत्पन्न कर सकता है जिस पर इसे प्रशिक्षित किया गया था?
    • अवलोकन - हाँ, यह कर सकते हैं। यह ध्यान देने योग्य है कि प्रशिक्षण चरणों की संख्या के साथ मॉडल का प्रदर्शन बढ़ता है।
  • क्या फाइन-ट्यून किया गया मॉडल उस विषय की छवियों को एक अलग सेटिंग में उत्पन्न कर सकता है जिस पर उसे प्रशिक्षित किया गया था? उदाहरण के लिए, क्या यह समुद्र तट पर डॉपलर की छवियां उत्पन्न कर सकता है?
    • अवलोकन - हाँ, यह कर सकते हैं। यह ध्यान देने योग्य है कि एक निश्चित बिंदु तक प्रशिक्षण चरणों की संख्या के साथ मॉडल का प्रदर्शन बढ़ता है। यदि मॉडल को बहुत लंबे समय तक प्रशिक्षित किया जा रहा है, हालांकि, मॉडल का प्रदर्शन कम हो जाता है क्योंकि मॉडल ओवरफिट हो जाता है।
  • क्या फाइन-ट्यून मॉडल उस वर्ग की छवियां उत्पन्न कर सकता है जो प्रशिक्षण विषय से संबंधित है? उदाहरण के लिए, क्या यह एक सामान्य कुत्ते की छवि उत्पन्न कर सकता है?
    • अवलोकन - जैसे ही हम प्रशिक्षण चरणों की संख्या बढ़ाते हैं, मॉडल ओवरफिट होने लगता है। नतीजतन, यह कुत्ते के सामान्य वर्ग को भूल जाता है और केवल विषय से संबंधित छवियों का उत्पादन करेगा।
  • क्या फाइन-ट्यून किया गया मॉडल उस वर्ग या विषय की छवियां उत्पन्न कर सकता है जो प्रशिक्षण डेटासेट में नहीं है? उदाहरण के लिए, क्या यह बिल्ली की छवि उत्पन्न कर सकता है?
    • अवलोकन - जैसे ही हम प्रशिक्षण चरणों की संख्या बढ़ाते हैं, मॉडल ओवरफिट होने लगता है। नतीजतन, यह निर्दिष्ट वर्ग की परवाह किए बिना, केवल विषय से संबंधित छवियों का उत्पादन करेगा।

हम विभिन्न चरणों के लिए मॉडल को फ़ाइन-ट्यून करते हैं (सेटिंग द्वारा max_steps hyperparameters) और प्रत्येक फाइन-ट्यून किए गए मॉडल के लिए, हम निम्नलिखित चार संकेतों में से प्रत्येक पर छवियां उत्पन्न करते हैं (नीचे दिए गए उदाहरणों में बाएं से दाएं दिखाए गए हैं:

  • "डॉपलर कुत्ते की एक तस्वीर"
  • “समुद्र तट पर डॉपलर कुत्ते की तस्वीर”
  • "एक कुत्ते की तस्वीर"
  • "एक बिल्ली की तस्वीर"

निम्नलिखित चित्र 50 चरणों के साथ प्रशिक्षित मॉडल के हैं।

निम्नलिखित मॉडल को 100 चरणों के साथ प्रशिक्षित किया गया था।

हमने निम्नलिखित मॉडल को 200 चरणों के साथ प्रशिक्षित किया।

निम्नलिखित चित्र 400 चरणों से प्रशिक्षित एक मॉडल के हैं।

अंत में, निम्नलिखित चित्र 800 चरणों के परिणाम हैं।

कई डेटासेट पर ट्रेन करें

फाइन-ट्यूनिंग करते समय, आप कई विषयों पर फाइन-ट्यून करना चाह सकते हैं और फाइन-ट्यून किए गए मॉडल को सभी विषयों की छवियों को उत्पन्न करने में सक्षम होना चाहिए। दुर्भाग्य से, जम्पस्टार्ट वर्तमान में एक ही विषय पर प्रशिक्षण तक सीमित है। आप एक ही समय में कई विषयों पर मॉडल को फ़ाइन-ट्यून नहीं कर सकते। इसके अलावा, विभिन्न विषयों के लिए मॉडल को क्रमिक रूप से फ़ाइन-ट्यूनिंग करने से मॉडल पहले विषय को भूल जाता है यदि विषय समान हैं।

हम इस खंड में निम्नलिखित प्रयोग पर विचार करते हैं:

  1. विषय A के लिए मॉडल को फ़ाइन-ट्यून करें।
  2. विषय बी के लिए चरण 1 से परिणामी मॉडल को फाइन-ट्यून करें।
  3. चरण 2 से आउटपुट मॉडल का उपयोग करके विषय A और विषय B की छवियां बनाएं।

निम्नलिखित प्रयोगों में, हम देखते हैं कि:

  • यदि A कुत्ता 1 है और B कुत्ता 2 है, तो चरण 3 में उत्पन्न सभी छवियां कुत्ते 2 से मिलती-जुलती हैं
  • यदि A कुत्ता 2 है और B कुत्ता 1 है, तो चरण 3 में उत्पन्न सभी छवियां कुत्ते 1 से मिलती-जुलती हैं
  • यदि A कुत्ता 1 है और B बिल्ली है, तो कुत्ते के संकेतों से उत्पन्न छवियां कुत्ते 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 प्रारूप की हो सकती हैं।
    • RSI dataset_info.json फ़ाइल प्रारूप की होनी चाहिए {'instance_prompt':<<instance_prompt>>,'class_prompt':<<class_prompt>>}.
    • RSI class_data_dir निर्देशिका में वर्ग चित्र होने चाहिए। अगर class_data_dir मौजूद नहीं है या पहले से पर्याप्त इमेज मौजूद नहीं हैं class_data_dir, अतिरिक्त छवियों का नमूना लिया जाएगा class_prompt.

बिल्लियों और कुत्तों जैसे डेटासेट के लिए, पूर्व संरक्षण ठीक-ट्यून किए गए मॉडल के प्रदर्शन को महत्वपूर्ण रूप से प्रभावित नहीं करता है और इसलिए इससे बचा जा सकता है। हालांकि, चेहरे पर प्रशिक्षण के दौरान यह आवश्यक है। अधिक जानकारी के लिए, देखें डिफ्यूज़र का उपयोग करके ड्रीमबूथ के साथ स्थिर प्रसार का प्रशिक्षण.

उदाहरण प्रकार

फाइन-ट्यूनिंग स्टेबल डिफ्यूजन मॉडल को जीपीयू-समर्थित उदाहरणों द्वारा प्रदान की गई त्वरित संगणना की आवश्यकता होती है। हम 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 उदाहरण पर स्मृति समस्या से बाहर चलता है। जम्पस्टार्ट फाइन-ट्यूनिंग स्क्रिप्ट वर्तमान में एकल जीपीयू का उपयोग करती है और इसलिए, मल्टी-जीपीयू इंस्टेंसेस पर फाइन-ट्यूनिंग प्रदर्शन लाभ नहीं देगी। विभिन्न उदाहरण प्रकारों के बारे में अधिक जानकारी के लिए देखें अमेज़ॅन EC2 इंस्टेंस प्रकार.

सीमाएं और पूर्वाग्रह

हालांकि छवियों को उत्पन्न करने में स्थिर प्रसार का प्रभावशाली प्रदर्शन है, यह कई सीमाओं और पूर्वाग्रहों से ग्रस्त है। इनमें शामिल हैं लेकिन इन तक सीमित नहीं हैं:

  • मॉडल सटीक चेहरे या अंग उत्पन्न नहीं कर सकता है क्योंकि प्रशिक्षण डेटा में इन सुविधाओं के साथ पर्याप्त चित्र शामिल नहीं हैं
  • मॉडल को प्रशिक्षित किया गया था LAION-5B डेटासेट, जिसमें वयस्क सामग्री है और बिना किसी और विचार के उत्पाद के उपयोग के लिए उपयुक्त नहीं हो सकता है
  • मॉडल गैर-अंग्रेजी भाषाओं के साथ अच्छी तरह से काम नहीं कर सकता क्योंकि मॉडल को अंग्रेजी भाषा के पाठ पर प्रशिक्षित किया गया था
  • मॉडल छवियों के भीतर अच्छा पाठ उत्पन्न नहीं कर सकता

सीमाओं और पक्षपात के बारे में अधिक जानकारी के लिए देखें स्थिर प्रसार v2-1-आधार मॉडल कार्ड. पूर्व-प्रशिक्षित मॉडल के लिए ये सीमाएँ ठीक-ठीक मॉडल पर भी लागू हो सकती हैं।

क्लीन अप

नोटबुक चलाने के बाद, यह सुनिश्चित करने के लिए कि बिलिंग बंद हो गई है, प्रक्रिया में बनाए गए सभी संसाधनों को हटाना सुनिश्चित करें। संबंधित में एंडपॉइंट को साफ करने के लिए कोड प्रदान किया गया है जम्पस्टार्ट का परिचय - छवि का पाठ उदाहरण नोटबुक।

जम्पस्टार्ट में सार्वजनिक रूप से उपलब्ध परिष्कृत मॉडल

भले ही स्टेबल डिफ्यूजन मॉडल द्वारा जारी किया गया हो स्थिरताएआई प्रभावशाली प्रदर्शन है, जिस भाषा या डोमेन पर इसे प्रशिक्षित किया गया था, उसके संदर्भ में उनकी सीमाएँ हैं। उदाहरण के लिए, स्थिर प्रसार मॉडल को अंग्रेजी पाठ पर प्रशिक्षित किया गया था, लेकिन आपको गैर-अंग्रेज़ी पाठ से चित्र बनाने की आवश्यकता हो सकती है। वैकल्पिक रूप से, स्थिर प्रसार मॉडल को फोटोयथार्थवादी छवियां उत्पन्न करने के लिए प्रशिक्षित किया गया था, लेकिन आपको एनिमेटेड या कलात्मक छवियां उत्पन्न करने की आवश्यकता हो सकती है।

जम्पस्टार्ट विभिन्न भाषाओं और विषयों के साथ 80 से अधिक सार्वजनिक रूप से उपलब्ध मॉडल प्रदान करता है। ये मॉडल अक्सर StabilityAI द्वारा जारी किए गए Stable Diffusion मॉडल के फाइन-ट्यून संस्करण होते हैं। यदि आपका उपयोग मामला ठीक-ठीक मॉडल में से किसी एक के साथ मेल खाता है, तो आपको अपना स्वयं का डेटासेट एकत्र करने और उसे ठीक करने की आवश्यकता नहीं है। आप इन मॉडलों में से किसी एक को स्टूडियो यूआई के माध्यम से या उपयोग में आसान जम्पस्टार्ट एपीआई का उपयोग करके तैनात कर सकते हैं। जम्पस्टार्ट में एक पूर्व-प्रशिक्षित स्थिर प्रसार मॉडल को परिनियोजित करने के लिए, देखें Amazon SageMaker JumpStart पर स्थिर डिफ्यूजन मॉडल के साथ टेक्स्ट से इमेज जेनरेट करें.

जम्पस्टार्ट में उपलब्ध विभिन्न मॉडलों द्वारा निर्मित छवियों के कुछ उदाहरण निम्नलिखित हैं।

ध्यान दें कि ये मॉडल जम्पस्टार्ट स्क्रिप्ट या ड्रीमबुथ स्क्रिप्ट का उपयोग करके ठीक-ठीक नहीं हैं। आप उदाहरण के संकेतों के साथ सार्वजनिक रूप से उपलब्ध फ़ाइन-ट्यून मॉडल की पूरी सूची डाउनलोड कर सकते हैं यहाँ उत्पन्न करें.

इन मॉडलों से उत्पन्न छवियों के अधिक उदाहरण के लिए, कृपया अनुभाग देखें ओपन सोर्स फ़ाइन-ट्यून मॉडल परिशिष्ट में।

निष्कर्ष

इस पोस्ट में, हमने दिखाया कि टेक्स्ट-टू-इमेज के लिए स्टेबल डिफ्यूजन मॉडल को कैसे फाइन-ट्यून किया जाए और फिर जम्पस्टार्ट का उपयोग करके इसे तैनात किया जाए। इसके अलावा, हमने उन कुछ बातों पर चर्चा की जिन्हें आपको मॉडल को फ़ाइन-ट्यूनिंग करते समय रखना चाहिए और यह फ़ाइन-ट्यून किए गए मॉडल के प्रदर्शन को कैसे प्रभावित कर सकता है। हमने जम्पस्टार्ट में उपलब्ध 80 से अधिक रेडी-टू-यूज़ फ़ाइन-ट्यून मॉडलों पर भी चर्चा की। हमने इस पोस्ट में कोड स्निपेट दिखाए हैं—इस डेमो में सभी चरणों के साथ पूर्ण कोड के लिए, देखें जम्पस्टार्ट का परिचय - छवि का पाठ उदाहरण नोटबुक। अपने आप समाधान का प्रयास करें और हमें अपनी टिप्पणियां भेजें।

मॉडल और ड्रीमबूथ फाइन-ट्यूनिंग के बारे में अधिक जानने के लिए, निम्नलिखित संसाधन देखें:

जम्पस्टार्ट के बारे में अधिक जानने के लिए, निम्नलिखित ब्लॉग पोस्ट देखें:


लेखक के बारे में

डॉ विवेक मदनी अमेज़ॅन सेजमेकर जम्पस्टार्ट टीम के साथ एक अनुप्रयुक्त वैज्ञानिक है। उन्होंने अर्बाना-शैंपेन में इलिनोइस विश्वविद्यालय से पीएचडी प्राप्त की और जॉर्जिया टेक में पोस्ट डॉक्टरेट शोधकर्ता थे। वह मशीन लर्निंग और एल्गोरिथम डिज़ाइन में एक सक्रिय शोधकर्ता हैं और उन्होंने EMNLP, ICLR, COLT, FOCS और SODA सम्मेलनों में पेपर प्रकाशित किए हैं।

हाइको हॉट्ज़ो प्राकृतिक भाषा प्रसंस्करण (एनएलपी), बड़े भाषा मॉडल (एलएलएम), और जनरेटिव एआई पर विशेष ध्यान देने के साथ एआई और मशीन लर्निंग के लिए एक वरिष्ठ समाधान वास्तुकार है। इस भूमिका से पहले, वह Amazon की EU ग्राहक सेवा के लिए डेटा साइंस के प्रमुख थे। Heiko हमारे ग्राहकों को AWS पर उनकी AI/ML यात्रा में सफल होने में मदद करता है और बीमा, वित्तीय सेवाओं, मीडिया और मनोरंजन, स्वास्थ्य सेवा, उपयोगिताओं और विनिर्माण सहित कई उद्योगों में संगठनों के साथ काम किया है। अपने खाली समय में, हेइको जितना संभव हो उतना यात्रा करता है।


परिशिष्ट: प्रयोग डेटासेट

इस अनुभाग में इस पोस्ट के प्रयोगों में उपयोग किए गए डेटासेट शामिल हैं।

कुत्ता1-8

कुत्ता1-16

कुत्ता2-4

कुत्ता3-8

परिशिष्ट: ओपन सोर्स फ़ाइन-ट्यून मॉडल

जम्पस्टार्ट में उपलब्ध विभिन्न मॉडलों द्वारा निर्मित छवियों के कुछ उदाहरण निम्नलिखित हैं। प्रत्येक छवि को एक के साथ कैप्शन दिया गया है model_id एक उपसर्ग के साथ शुरू huggingface-txt2img- इसके बाद अगली लाइन में इमेज जेनरेट करने के लिए इस्तेमाल किया जाने वाला प्रॉम्प्ट।

समय टिकट:

से अधिक AWS मशीन लर्निंग