ایمیزون سیج میکر جمپ سٹارٹ کے ساتھ ٹیکسٹ ٹو امیج کے مستحکم ڈفیوژن ماڈلز کو ٹھیک کریں

ایمیزون سیج میکر جمپ سٹارٹ کے ساتھ ٹیکسٹ ٹو امیج کے مستحکم ڈفیوژن ماڈلز کو ٹھیک کریں

ماخذ نوڈ: 1968900

نومبر 2022 میں، ہم کا اعلان کیا ہے جس کے ساتھ AWS صارفین متن سے تصاویر بنا سکتے ہیں۔ مستحکم بازی میں ماڈلز ایمیزون سیج میکر جمپ اسٹارٹ. Stable Diffusion ایک گہرا سیکھنے والا ماڈل ہے جو آپ کو صرف چند سیکنڈوں میں حقیقت پسندانہ، اعلیٰ معیار کی تصاویر اور شاندار آرٹ بنانے کی اجازت دیتا ہے۔ اگرچہ متاثر کن تصاویر بنانا آرٹ سے لے کر NFTs اور اس سے آگے کی صنعتوں میں استعمال ہو سکتا ہے، لیکن آج ہم AI کو ذاتی نوعیت کے ہونے کی بھی توقع رکھتے ہیں۔ آج، ہم اعلان کرتے ہیں کہ آپ تصویر بنانے والے ماڈل کو اپنے استعمال کے کیس میں اپنے حسب ضرورت ڈیٹاسیٹ پر ٹھیک ٹیوننگ کر کے ذاتی بنا سکتے ہیں۔ ایمیزون سیج میکر جمپ اسٹارٹ. یہ آرٹ، لوگو، حسب ضرورت ڈیزائن، NFTs، اور اسی طرح کی تخلیق کرتے وقت یا آپ کے پالتو جانوروں یا اپنے آپ کے اوتاروں کی حسب ضرورت AI تصاویر بنانے جیسی تفریحی چیزیں بنانے کے لیے مفید ہو سکتا ہے۔

اس پوسٹ میں، ہم اس بات کا ایک جائزہ فراہم کرتے ہیں کہ کس طرح مستحکم ڈفیوژن ماڈل کو دو طریقوں سے ٹھیک بنایا جائے: پروگرام کے ذریعے جمپ اسٹارٹ APIs میں دستیاب ہے SageMaker Python SDK، اور جمپ اسٹارٹ کا صارف انٹرفیس (UI) میں ایمیزون سیج میکر اسٹوڈیو. ہم ڈیٹاسیٹ کے معیار، تربیتی ڈیٹاسیٹ کا سائز، ہائپر پیرامیٹر اقدار کا انتخاب، اور متعدد ڈیٹاسیٹس پر لاگو ہونے سمیت ڈیزائن کے انتخاب کرنے کے طریقہ پر بھی تبادلہ خیال کرتے ہیں۔ آخر میں، ہم جمپ اسٹارٹ میں حال ہی میں شامل کردہ مختلف ان پٹ زبانوں اور طرزوں کے ساتھ 80 سے زیادہ عوامی طور پر دستیاب فائن ٹیونڈ ماڈلز پر تبادلہ خیال کرتے ہیں۔

مستحکم بازی اور منتقلی سیکھنے

اسٹیبل ڈفیوژن ایک ٹیکسٹ ٹو امیج ماڈل ہے جو آپ کو صرف ٹیکسٹ پرامپٹ سے فوٹو ریئلسٹک امیجز بنانے کے قابل بناتا ہے۔ ایک بازی ماڈل شور کو دور کرنا سیکھ کر تربیت کرتا ہے جسے حقیقی تصویر میں شامل کیا گیا تھا۔ شور کو ختم کرنے کا یہ عمل ایک حقیقت پسندانہ تصویر تیار کرتا ہے۔ یہ ماڈل متن پر جنریشن کے عمل کو کنڈیشنگ کرکے اکیلے متن سے تصاویر بھی تیار کرسکتے ہیں۔ مثال کے طور پر، مستحکم بازی ایک اویکت پھیلاؤ ہے جہاں ماڈل خالص شور والی تصویر میں شکلوں کو پہچاننا سیکھتا ہے اور اگر شکلیں ان پٹ ٹیکسٹ کے الفاظ سے ملتی ہیں تو آہستہ آہستہ ان شکلوں کو فوکس میں لاتا ہے۔ متن کو پہلے زبان کے ماڈل کا استعمال کرتے ہوئے ایک اویکت جگہ میں سرایت کرنا ضروری ہے۔ اس کے بعد، یو-نیٹ فن تعمیر کے ساتھ اویکت جگہ میں شور کے اضافے اور شور کو ہٹانے کی کارروائیوں کا ایک سلسلہ انجام دیا جاتا ہے۔ آخر میں، de-noised آؤٹ پٹ کو پکسل اسپیس میں ڈی کوڈ کیا جاتا ہے۔

مشین لرننگ (ML) میں، ایک ڈومین میں سیکھے گئے علم کو دوسرے ڈومین میں منتقل کرنے کی صلاحیت کو کہا جاتا ہے۔ منتقلی سیکھنے. آپ اپنے چھوٹے ڈیٹا سیٹس پر درست ماڈل تیار کرنے کے لیے ٹرانسفر لرننگ کا استعمال کر سکتے ہیں، جس میں اصل ماڈل کی تربیت میں شامل افراد کی نسبت بہت کم تربیتی لاگت آتی ہے۔ ٹرانسفر لرننگ کے ساتھ، آپ اپنے ڈیٹا سیٹ پر کم از کم پانچ امیجز کے ساتھ مستحکم ڈفیوژن ماڈل کو ٹھیک کر سکتے ہیں۔ مثال کے طور پر، بائیں جانب ڈوپلر نامی کتے کی تربیتی تصاویر ہیں جو ماڈل کو ٹھیک کرنے کے لیے استعمال ہوتی ہیں، درمیان اور دائیں جانب وہ تصاویر ہیں جو ٹھیک ٹیون والے ماڈل کے ذریعے تیار کی گئی ہیں جب ساحل سمندر پر ڈوپلر کی تصویر اور ایک پنسل اسکیچ کی پیش گوئی کرنے کے لیے کہا جاتا ہے۔

بائیں طرف ایک سفید کرسی کی تصاویر ہیں جو ماڈل کو ٹھیک کرنے کے لیے استعمال ہوتی ہیں اور سرخ رنگ میں کرسی کی ایک تصویر جو ٹھیک ٹیون والے ماڈل کے ذریعے تیار کی گئی ہے۔ دائیں طرف ایک عثمانی کی تصاویر ہیں جو ماڈل کو ٹھیک کرنے کے لیے استعمال ہوتی ہیں اور عثمانی پر بیٹھی بلی کی تصویر۔

سٹیبل ڈفیوژن جیسے بڑے ماڈلز کو ٹھیک کرنے کے لیے عام طور پر آپ کو تربیتی اسکرپٹ فراہم کرنے کی ضرورت ہوتی ہے۔ بہت سارے مسائل ہیں، بشمول میموری کے مسائل، پے لوڈ سائز کے مسائل، اور بہت کچھ۔ مزید برآں، آپ کو اس بات کو یقینی بنانے کے لیے آخری سے آخر تک ٹیسٹ چلانے ہوں گے کہ اسکرپٹ، ماڈل، اور مطلوبہ مثال ایک ساتھ موثر انداز میں کام کریں۔ جمپ اسٹارٹ استعمال کے لیے تیار اسکرپٹ فراہم کرکے اس عمل کو آسان بناتا ہے جن کا مضبوطی سے تجربہ کیا گیا ہے۔ جمپ سٹارٹ فائن ٹیوننگ اسکرپٹ اسٹیبل ڈفیوژن ماڈلز کے فائن ٹیوننگ اسکرپٹ پر بناتا ہے ڈریم بوتھ. آپ اسٹوڈیو UI کے ذریعے یا کوڈ کی بہت کم لائنوں کے ساتھ ان اسکرپٹس تک رسائی حاصل کر سکتے ہیں۔ جمپ اسٹارٹ APIs.

نوٹ کریں کہ Stable Diffusion ماڈل کا استعمال کرتے ہوئے، آپ اس سے اتفاق کرتے ہیں۔ CreativeML اوپن RAIL++-M لائسنس.

SageMaker SDK کے ساتھ JumpStart پروگرام کے مطابق استعمال کریں۔

یہ سیکشن بیان کرتا ہے کہ ماڈل کو کس طرح تربیت اور تعینات کیا جائے۔ SageMaker Python SDK. ہم جمپ اسٹارٹ میں ایک مناسب پہلے سے تربیت یافتہ ماڈل کا انتخاب کرتے ہیں، اس ماڈل کو سیج میکر ٹریننگ جاب کے ساتھ تربیت دیتے ہیں، اور تربیت یافتہ ماڈل کو سیج میکر اینڈ پوائنٹ پر تعینات کرتے ہیں۔ مزید برآں، ہم سیج میکر پائتھون SDK کا استعمال کرتے ہوئے، تعینات کردہ اختتامی نقطہ پر تخمینہ چلاتے ہیں۔ درج ذیل مثالیں کوڈ کے ٹکڑوں پر مشتمل ہیں۔ اس ڈیمو میں تمام مراحل کے ساتھ مکمل کوڈ کے لیے، دیکھیں جمپ اسٹارٹ کا تعارف - تصویر سے متن مثال کے طور پر نوٹ بک.

Stable Diffusion ماڈل کو تربیت دیں اور اسے ٹھیک بنائیں

ہر ماڈل کی شناخت ایک منفرد سے ہوتی ہے۔ 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 میں ڈیٹا پروسیسنگ، پہلے سے تربیت یافتہ ماڈل لوڈ کرنے، ماڈل ٹریننگ، اور تربیت یافتہ ماڈل کو اندازہ کے لیے محفوظ کرنے کے لیے تمام ضروری کوڈ شامل ہیں۔ پہلے سے تربیت یافتہ ماڈل 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 فارمیٹ کی ہو سکتی ہیں۔
    • ۔ 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 کے. اگر ڈیفالٹ ڈیٹاسیٹ استعمال کر رہے ہیں، تو ڈیمو نوٹ بک میں اندازہ لگاتے ہوئے "ریوبگر بلی کی تصویر" کو آزمائیں۔

اجازت نامے: ایم ائی ٹی.

ہائپرپیرامیٹر

اس کے بعد، اپنے حسب ضرورت ڈیٹا سیٹ پر سیکھنے کی منتقلی کے لیے، آپ کو ٹریننگ ہائپر پیرامیٹر کی ڈیفالٹ اقدار کو تبدیل کرنے کی ضرورت پڑ سکتی ہے۔ آپ کال کر کے ان ہائپر پیرامیٹر کی ڈیفالٹ اقدار کے ساتھ ازگر کی لغت حاصل کر سکتے ہیں۔ 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_scheduler - سیکھنے کی شرح شیڈولر کی قسم۔ (انتخابات: ["linear", "cosine", "cosine_with_restarts", "polynomial", "constant", "constant_with_warmup"]ڈیفالٹ: "constant".) مزید معلومات کے لیے دیکھیں سیکھنے کی شرح کے شیڈولرز.
  • adam_weight_decay - تمام پرتوں پر لاگو ہونے والا وزن میں کمی (اگر صفر نہیں) سوائے تمام تعصبات اور LayerNorm میں وزن AdamW اصلاح کرنے والا (قدر: فلوٹ، ڈیفالٹ: 1e-2۔)
  • adam_beta1 - beta1 ہائپر پیرامیٹر (پہلے لمحے کے تخمینے کے لیے تیزی سے زوال کی شرح) کے لیے AdamW اصلاح کرنے والا (قدر: فلوٹ، ڈیفالٹ: 0.9۔)
  • adam_beta2 - beta2 ہائپر پیرامیٹر (پہلے لمحے کے تخمینے کے لیے تیزی سے زوال کی شرح) کے لیے AdamW اصلاح کرنے والا (قدر: فلوٹ، ڈیفالٹ: 0.999۔)
  • adam_epsilon - دی epsilon کے لئے hyperparameter AdamW اصلاح کرنے والا یہ عام طور پر 0 سے تقسیم سے بچنے کے لیے ایک چھوٹی قدر پر سیٹ کی جاتی ہے۔ (قدر: فلوٹ، ڈیفالٹ: 1e-8۔)
  • gradient_accumulation_steps - پسماندہ/اپ ڈیٹ پاس کرنے سے پہلے جمع ہونے والے اپڈیٹس کے مراحل کی تعداد۔ (قدر: عدد، ڈیفالٹ: 1۔)
  • max_grad_norm - زیادہ سے زیادہ میلان کا معمول (گریڈینٹ کلپنگ کے لیے)۔ (قدر: فلوٹ، ڈیفالٹ: 1.0۔)
  • بیج - تربیت میں تولیدی نتائج حاصل کرنے کے لیے بے ترتیب حالت کو درست کریں۔ (ویلیو: انٹیجر، ڈیفالٹ: 0۔)

عمدہ تربیت یافتہ ماڈل تعینات کریں۔

ماڈل ٹریننگ ختم ہونے کے بعد، آپ ماڈل کو براہ راست ایک مستقل، ریئل ٹائم اینڈ پوائنٹ پر تعینات کر سکتے ہیں۔ ہم مطلوبہ ڈاکر امیج URIs اور اسکرپٹ URIs لاتے ہیں اور ماڈل کو تعینات کرتے ہیں۔ درج ذیل کوڈ دیکھیں:

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 پر مستحکم ڈفیوژن ماڈل کے ساتھ متن سے تصاویر بنائیں.

اسٹوڈیو UI کے ذریعے جمپ اسٹارٹ تک رسائی حاصل کریں۔

اس سیکشن میں، ہم اسٹوڈیو UI کے ذریعے جمپ سٹارٹ ماڈلز کو تربیت اور تعینات کرنے کا طریقہ دکھاتے ہیں۔ درج ذیل ویڈیو میں دکھایا گیا ہے کہ جمپ سٹارٹ پر پہلے سے تربیت یافتہ اسٹیبل ڈفیوژن ماڈل کو کیسے تلاش کیا جائے، اس کی تربیت کی جائے، اور پھر اسے کیسے لگایا جائے۔ ماڈل صفحہ ماڈل کے بارے میں قیمتی معلومات اور اسے استعمال کرنے کے طریقہ پر مشتمل ہے۔ سیج میکر ٹریننگ مثال کو ترتیب دینے کے بعد، منتخب کریں۔ ٹرین. ماڈل کی تربیت کے بعد، آپ تربیت یافتہ ماڈل کو منتخب کر کے تعینات کر سکتے ہیں۔ تعینات. اختتامی نقطہ "سروس میں" کے مرحلے میں آنے کے بعد، یہ تخمینہ کی درخواستوں کا جواب دینے کے لیے تیار ہے۔

اندازہ لگانے کے وقت کو تیز کرنے کے لیے، جمپ سٹارٹ ایک نمونہ نوٹ بک فراہم کرتا ہے جو یہ دکھاتا ہے کہ نئے بنائے گئے اختتامی نقطہ پر اندازہ کیسے چلایا جائے۔ اسٹوڈیو میں نوٹ بک تک رسائی کے لیے، منتخب کریں۔ نوٹ بک کھولیں۔ میں اسٹوڈیو سے اینڈ پوائنٹ کا استعمال کریں۔ ماڈل اینڈ پوائنٹ پیج کا سیکشن۔

جمپ سٹارٹ ایک سادہ نوٹ بک بھی فراہم کرتا ہے جسے آپ مستحکم ڈفیوژن ماڈل کو ٹھیک کرنے کے لیے استعمال کر سکتے ہیں اور نتیجے میں فائن ٹیونڈ ماڈل کو تعینات کر سکتے ہیں۔ آپ اسے اپنے کتے کی تفریحی تصاویر بنانے کے لیے استعمال کر سکتے ہیں۔ نوٹ بک تک رسائی کے لیے، جمپ اسٹارٹ سرچ بار میں "اپنے کتے کی تفریحی تصاویر بنائیں" تلاش کریں۔ نوٹ بک کو چلانے کے لیے، آپ کم از کم پانچ تربیتی تصاویر استعمال کر سکتے ہیں اور مقامی سٹوڈیو فولڈر میں اپ لوڈ کر سکتے ہیں۔ اگر آپ کے پاس پانچ سے زیادہ تصاویر ہیں تو آپ انہیں بھی اپ لوڈ کر سکتے ہیں۔ نوٹ بک تربیتی تصاویر کو 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. سبجیکٹ B کے لیے مرحلہ 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۔

پیشگی تحفظ

پیشگی تحفظ ایک تکنیک ہے جو اسی کلاس کی اضافی تصاویر کا استعمال کرتی ہے جسے ہم تربیت دینے کی کوشش کر رہے ہیں۔ مثال کے طور پر، اگر تربیتی ڈیٹا کسی خاص کتے کی تصاویر پر مشتمل ہے، جس میں پیشگی تحفظ ہے، تو ہم عام کتوں کی کلاسیکی تصاویر شامل کرتے ہیں۔ یہ کسی خاص کتے کی تربیت کے دوران مختلف کتوں کی تصاویر دکھا کر اوور فٹنگ سے بچنے کی کوشش کرتا ہے۔ مثال کے طور پر پرامپٹ میں موجود مخصوص کتے کی نشاندہی کرنے والا ٹیگ کلاس پرامپٹ میں غائب ہے۔ مثال کے طور پر، مثال کا اشارہ "ریوبگر بلی کی تصویر" ہو سکتا ہے اور کلاس پرامپٹ "بلی کی تصویر" ہو سکتا ہے۔ آپ ہائپر پیرامیٹر ترتیب دے کر پیشگی تحفظ کو فعال کر سکتے ہیں۔ 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.

بلیوں اور کتوں جیسے ڈیٹا سیٹس کے لیے، پہلے سے محفوظ کرنے سے عمدہ ماڈل کی کارکردگی پر کوئی خاص اثر نہیں پڑتا اور اس لیے اس سے بچا جا سکتا ہے۔ تاہم، چہرے پر تربیت کرتے وقت، یہ ضروری ہے. مزید معلومات کے لیے رجوع کریں۔ ڈفیوزر کا استعمال کرتے ہوئے ڈریم بوتھ کے ساتھ مستحکم بازی کی تربیت.

مثال کی اقسام۔

فائن ٹیوننگ اسٹیبل ڈفیوژن ماڈلز کے لیے GPU سے تعاون یافتہ مثالوں کے ذریعے فراہم کردہ تیز رفتار حساب کی ضرورت ہوتی ہے۔ ہم ml.g4dn.2xlarge (16 GB CUDA میموری، 1 GPU) اور ml.g5.2xlarge (24 GB CUDA میموری، 1 GPU) مثالوں کے ساتھ اپنی فائن ٹیوننگ کا تجربہ کرتے ہیں۔ کلاس امیجز تیار کرتے وقت میموری کی ضرورت زیادہ ہوتی ہے۔ لہذا، اگر ترتیب with_prior_preservation=True، ml.g5.2xlarge مثال کی قسم کا استعمال کریں، کیونکہ تربیت ML.g4dn.2xlarge مثال پر میموری کے مسئلے سے باہر CUDA میں چلتی ہے۔ جمپ سٹارٹ فائن ٹیوننگ اسکرپٹ فی الحال سنگل GPU استعمال کرتی ہے اور اس وجہ سے ملٹی-GPU مثالوں پر فائن ٹیوننگ کارکردگی کا فائدہ نہیں دے گی۔ مختلف مثالوں کی اقسام کے بارے میں مزید معلومات کے لیے رجوع کریں۔ ایمیزون EC2 مثال کی اقسام.

حدود اور تعصب

اگرچہ Stable Diffusion کی تصاویر بنانے میں متاثر کن کارکردگی ہے، لیکن یہ کئی حدود اور تعصبات کا شکار ہے۔ ان میں شامل ہیں لیکن ان تک محدود نہیں ہیں:

  • ماڈل درست چہرے یا اعضاء نہیں بنا سکتا کیونکہ تربیتی ڈیٹا میں ان خصوصیات کے ساتھ کافی تصاویر شامل نہیں ہوتی ہیں۔
  • ماڈل کو تربیت دی گئی۔ LAION-5B ڈیٹاسیٹ، جس میں بالغوں کا مواد ہے اور ہو سکتا ہے کہ مزید غور و فکر کے بغیر پروڈکٹ کے استعمال کے لیے موزوں نہ ہو۔
  • ہو سکتا ہے کہ ماڈل غیر انگریزی زبانوں کے ساتھ اچھی طرح کام نہ کرے کیونکہ ماڈل کو انگریزی زبان کے متن پر تربیت دی گئی تھی۔
  • ماڈل تصاویر کے اندر اچھا متن نہیں بنا سکتا

حدود اور تعصب کے بارے میں مزید معلومات کے لیے، دیکھیں مستحکم بازی v2-1-بیس ماڈل کارڈ. پہلے سے تربیت یافتہ ماڈل کے لیے یہ حدود ٹھیک ٹیونڈ ماڈلز تک بھی پہنچ سکتی ہیں۔

صاف کرو

نوٹ بک چلانے کے بعد، اس بات کو یقینی بنانے کے لیے کہ بلنگ روک دی گئی ہے اس عمل میں بنائے گئے تمام وسائل کو حذف کرنا یقینی بنائیں۔ اختتامی نقطہ کو صاف کرنے کا کوڈ متعلقہ میں فراہم کیا گیا ہے۔ جمپ اسٹارٹ کا تعارف - تصویر سے متن مثال کے طور پر نوٹ بک.

جمپ سٹارٹ میں عوامی طور پر دستیاب فائن ٹیونڈ ماڈل

اگرچہ اسٹیبل ڈفیوژن ماڈلز کی طرف سے جاری کیا گیا ہے۔ استحکام اے آئی متاثر کن کارکردگی رکھتے ہیں، ان کی اس زبان یا ڈومین کے لحاظ سے حدود ہیں جس پر اسے تربیت دی گئی تھی۔ مثال کے طور پر، Stable Diffusion ماڈلز کو انگریزی متن پر تربیت دی گئی تھی، لیکن آپ کو غیر انگریزی متن سے تصاویر بنانے کی ضرورت پڑ سکتی ہے۔ متبادل کے طور پر، مستحکم ڈفیوژن ماڈلز کو فوٹو ریئلسٹک امیجز بنانے کے لیے تربیت دی گئی تھی، لیکن آپ کو اینیمیٹڈ یا آرٹسٹک امیجز بنانے کی ضرورت پڑ سکتی ہے۔

جمپ اسٹارٹ مختلف زبانوں اور تھیمز کے ساتھ 80 سے زیادہ عوامی طور پر دستیاب ماڈلز فراہم کرتا ہے۔ یہ ماڈلز اکثر StableAI کی طرف سے جاری کردہ Stable Diffusion ماڈلز کے فائن ٹیونڈ ورژن ہوتے ہیں۔ اگر آپ کے استعمال کا کیس ٹھیک ٹیون شدہ ماڈلز میں سے کسی ایک سے ملتا ہے، تو آپ کو اپنا ڈیٹا سیٹ جمع کرنے اور اسے ٹھیک کرنے کی ضرورت نہیں ہے۔ آپ ان ماڈلز میں سے ایک کو سٹوڈیو UI کے ذریعے یا استعمال میں آسان JumpStart APIs کا استعمال کر سکتے ہیں۔ جمپ سٹارٹ میں پہلے سے تربیت یافتہ اسٹیبل ڈفیوژن ماڈل کو تعینات کرنے کے لیے، رجوع کریں۔ Amazon SageMaker JumpStart پر مستحکم ڈفیوژن ماڈل کے ساتھ متن سے تصاویر بنائیں.

جمپ سٹارٹ میں دستیاب مختلف ماڈلز کے ذریعے تیار کردہ تصاویر کی کچھ مثالیں درج ذیل ہیں۔

نوٹ کریں کہ یہ ماڈل جمپ اسٹارٹ اسکرپٹس یا ڈریم بوتھ اسکرپٹس کا استعمال کرتے ہوئے ٹھیک نہیں ہیں۔ آپ عوامی طور پر دستیاب فائن ٹیونڈ ماڈلز کی مکمل فہرست کو مثال کے اشارے کے ساتھ ڈاؤن لوڈ کر سکتے ہیں۔ یہاں.

مزید مثال کے لیے ان ماڈلز سے تیار کردہ تصاویر، براہ کرم سیکشن دیکھیں اوپن سورسڈ فائن ٹیونڈ ماڈلز ضمیمہ میں

نتیجہ

اس پوسٹ میں، ہم نے دکھایا کہ ٹیکسٹ ٹو امیج کے لیے اسٹیبل ڈفیوژن ماڈل کو کیسے ٹھیک کیا جائے اور پھر جمپ اسٹارٹ کا استعمال کرتے ہوئے اسے تعینات کیا جائے۔ مزید برآں، ہم نے اس بات پر تبادلہ خیال کیا کہ ماڈل کو ٹھیک کرنے کے دوران آپ کو جو کچھ غور کرنا چاہیے اور یہ کیسے ٹھیک ٹیون شدہ ماڈل کی کارکردگی کو متاثر کر سکتا ہے۔ ہم نے جمپ اسٹارٹ میں دستیاب 80 سے زیادہ استعمال کے لیے تیار فائن ٹیونڈ ماڈلز پر بھی تبادلہ خیال کیا۔ ہم نے اس پوسٹ میں کوڈ کے ٹکڑوں کو دکھایا- اس ڈیمو کے تمام مراحل کے ساتھ مکمل کوڈ کے لیے، دیکھیں جمپ اسٹارٹ کا تعارف - تصویر سے متن مثال کے طور پر نوٹ بک. خود ہی حل آزمائیں اور ہمیں اپنی رائے بھیجیں۔

ماڈل اور ڈریم بوتھ فائن ٹیوننگ کے بارے میں مزید جاننے کے لیے، درج ذیل وسائل دیکھیں:

جمپ اسٹارٹ کے بارے میں مزید جاننے کے لیے، مندرجہ ذیل بلاگ پوسٹس کو دیکھیں:


مصنفین کے بارے میں

ڈاکٹر وویک مدن Amazon SageMaker جمپ سٹارٹ ٹیم کے ساتھ ایک اپلائیڈ سائنٹسٹ ہے۔ انہوں نے Urbana-Champaign میں یونیورسٹی آف الینوائے سے پی ایچ ڈی کی اور جارجیا ٹیک میں پوسٹ ڈاکٹریٹ ریسرچر تھے۔ وہ مشین لرننگ اور الگورتھم ڈیزائن میں ایک فعال محقق ہے اور اس نے EMNLP، ICLR، COLT، FOCS، اور SODA کانفرنسوں میں مقالے شائع کیے ہیں۔

ہیکو ہوٹز قدرتی لینگویج پروسیسنگ (NLP)، بڑے لینگویج ماڈلز (LLMs) اور جنریٹیو AI پر خصوصی توجہ کے ساتھ AI اور مشین لرننگ کے لیے ایک سینئر سولیوشن آرکیٹیکٹ ہے۔ اس کردار سے پہلے، وہ ایمیزون کی EU کسٹمر سروس کے ڈیٹا سائنس کے سربراہ تھے۔ Heiko ہمارے صارفین کو AWS پر ان کے AI/ML سفر میں کامیاب ہونے میں مدد کرتا ہے اور اس نے بیمہ، مالیاتی خدمات، میڈیا اور تفریح، صحت کی دیکھ بھال، افادیت اور مینوفیکچرنگ سمیت کئی صنعتوں میں تنظیموں کے ساتھ کام کیا ہے۔ اپنے فارغ وقت میں، Heiko زیادہ سے زیادہ سفر کرتا ہے۔


ضمیمہ: تجرباتی ڈیٹاسیٹس

اس سیکشن میں اس پوسٹ میں تجربات میں استعمال ہونے والے ڈیٹا سیٹس شامل ہیں۔

کتا 1-8

کتا 1-16

کتا 2-4

کتا 3-8

ضمیمہ: اوپن سورسڈ فائن ٹیونڈ ماڈلز

جمپ سٹارٹ میں دستیاب مختلف ماڈلز کے ذریعے تیار کردہ تصاویر کی کچھ مثالیں درج ذیل ہیں۔ ہر تصویر کو a کے ساتھ کیپشن دیا گیا ہے۔ model_id ایک سابقہ ​​سے شروع ہو رہا ہے۔ huggingface-txt2img- اس کے بعد اگلی لائن میں تصویر بنانے کے لیے استعمال ہونے والا پرامپٹ۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ