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

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

جنریٹیو لینگویج ماڈلز نے منطقی اور تجزیاتی نیچرل لینگویج پروسیسنگ (NLP) کے کاموں کو حل کرنے میں نمایاں طور پر ہنر مند ثابت کیا ہے۔ اس کے علاوہ، کا استعمال فوری انجینئرنگ ان کی کارکردگی کو نمایاں طور پر بڑھا سکتے ہیں۔ مثال کے طور پر، سوچ کا سلسلہ (CoT) پیچیدہ کثیر مرحلہ مسائل کے لیے ماڈل کی صلاحیت کو بہتر بنانے کے لیے جانا جاتا ہے۔ اضافی طور پر ان کاموں کی درستگی کو بڑھانے کے لیے جن میں استدلال شامل ہوتا ہے، a خود مستقل مزاجی پرامپٹنگ اپروچ تجویز کیا گیا ہے، جو زبان کی تخلیق کے دوران لالچی کو اسٹاکسٹک ڈی کوڈنگ سے بدل دیتا ہے۔

ایمیزون بیڈرک ایک مکمل طور پر منظم سروس ہے جو ایک ہی API کے ذریعے سرکردہ AI کمپنیوں اور Amazon سے اعلیٰ کارکردگی کا مظاہرہ کرنے والے فاؤنڈیشن ماڈلز کا انتخاب پیش کرتی ہے، اس کے ساتھ تعمیر کرنے کی صلاحیتوں کے وسیع سیٹ کے ساتھ۔ پیدا کرنے والا AI سیکیورٹی، رازداری اور ذمہ دار AI کے ساتھ ایپلی کیشنز۔ کے ساتہ بیچ کا اندازہ API، آپ بیچوں میں فاؤنڈیشن ماڈلز کے ساتھ تخمینہ چلانے کے لیے Amazon Bedrock کا استعمال کر سکتے ہیں اور زیادہ مؤثر طریقے سے جوابات حاصل کر سکتے ہیں۔ یہ پوسٹ دکھاتی ہے کہ ریاضی اور متعدد انتخابی استدلال کے کاموں پر ماڈل کی کارکردگی کو بڑھانے کے لیے ایمیزون بیڈرک پر بیچ انفرنس کے ذریعے خود مستقل مزاجی کو کیسے نافذ کیا جائے۔

حل کا جائزہ

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

مندرجہ ذیل اعداد و شمار سے پتہ چلتا ہے کہ خود مستقل مزاجی لالچی CoT سے کس طرح مختلف ہے کہ یہ استدلال کے مختلف راستوں کو تیار کرتا ہے اور حتمی جواب پیدا کرنے کے لیے ان کو جمع کرتا ہے۔

خود مستقل مزاجی اور CoT پرامپٹنگ کے درمیان فرق۔

ٹیکسٹ جنریشن کے لیے ضابطہ کشائی کی حکمت عملی

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

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

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

حوصلہ افزائی کی تکنیک: CoT اور خود مستقل مزاجی۔

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

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

  1. استدلال کو ظاہر کرنے کے لیے CoT مثالوں کے ساتھ زبان کے ماڈل کا اشارہ کریں۔
  2. لالچی ضابطہ کشائی کو نمونے لینے کی حکمت عملی سے تبدیل کریں تاکہ استدلال کے متنوع سیٹ تیار کریں۔
  3. جوابی سیٹ میں سب سے زیادہ مستقل جواب تلاش کرنے کے لیے نتائج کو جمع کریں۔

خود مستقل مزاجی کو مقبول ریاضی اور کامن سینس استدلال کے معیارات پر CoT پرامپٹنگ کو پیچھے چھوڑنے کے لیے دکھایا گیا ہے۔ نقطہ نظر کی ایک حد اس کی بڑی کمپیوٹیشنل لاگت ہے۔

یہ پوسٹ دکھاتی ہے کہ کس طرح خود مستقل مزاجی سے دو NLP استدلال کے کاموں پر جنریٹیو لینگویج ماڈلز کی کارکردگی میں اضافہ ہوتا ہے: ریاضی کا مسئلہ حل کرنا اور ایک سے زیادہ انتخاب والے ڈومین سے متعلق سوال کا جواب دینا۔ ہم Amazon Bedrock پر بیچ تخمینہ کا استعمال کرتے ہوئے نقطہ نظر کا مظاہرہ کرتے ہیں:

  • ہم ایک پر JupyterLab میں Amazon Bedrock Python SDK تک رسائی حاصل کرتے ہیں۔ ایمیزون سیج میکر نوٹ بک مثال.
  • ریاضی کے استدلال کے لیے، ہم اشارہ کرتے ہیں۔ کوہیر کمانڈ گریڈ اسکول کے ریاضی کے مسائل کے GSM8K ڈیٹاسیٹ پر۔
  • متعدد انتخابی استدلال کے لیے، ہم اشارہ کرتے ہیں۔ AI21 Labs Jurassic-2 Mid AWS سرٹیفائیڈ سولیوشنز آرکیٹیکٹ - ایسوسی ایٹ امتحان کے سوالات کے ایک چھوٹے سے نمونے پر۔

شرائط

یہ واک تھرو مندرجہ ذیل شرائط کو فرض کرتا ہے:

ایمیزون بیڈرک پر ماڈل تک رسائی کا نظم کریں۔

اس پوسٹ میں دکھائے گئے کوڈ کو چلانے کی تخمینی لاگت $100 ہے، یہ فرض کرتے ہوئے کہ آپ درجہ حرارت پر مبنی نمونے لینے کے لیے ایک قدر کا استعمال کرتے ہوئے 30 استدلال کے راستوں کے ساتھ ایک بار خود مستقل مزاجی کو چلاتے ہیں۔

ریاضی کی استدلال کی صلاحیتوں کی جانچ کے لیے ڈیٹا سیٹ

GSM8K انسانی اسمبل گریڈ اسکول کے ریاضی کے مسائل کا ڈیٹاسیٹ ہے جس میں ایک اعلی لسانی تنوع ہے۔ ہر مسئلہ کو حل کرنے کے لیے 2-8 اقدامات ہوتے ہیں اور اس کے لیے بنیادی ریاضی کی کارروائیوں کے ساتھ ابتدائی حسابات کی ترتیب کی ضرورت ہوتی ہے۔ یہ ڈیٹا عام طور پر جنریٹیو لینگویج ماڈلز کی کثیر مرحلہ ریاضی کی استدلال کی صلاحیتوں کو بینچ مارک کرنے کے لیے استعمال کیا جاتا ہے۔ دی GSM8K ٹرین سیٹ 7,473 ریکارڈز پر مشتمل ہے۔ مندرجہ ذیل ایک مثال ہے:

{"question": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May?", "answer": "Natalia sold 48/2 = <<48/2=24>>24 clips in May.nNatalia sold 48+24 = <<48+24=72>>72 clips altogether in April and May.n#### 72"}

Amazon Bedrock کے ساتھ بیچ کا اندازہ چلانے کے لیے سیٹ اپ کریں۔

بیچ کا تخمینہ آپ کو ایمیزون بیڈروک کو متضاد طور پر متعدد انفرنس کالز چلانے اور بڑے ڈیٹا سیٹس پر ماڈل انفرنس کی کارکردگی کو بہتر بنانے کی اجازت دیتا ہے۔ سروس اس تحریر کے پیش نظر ہے اور صرف API کے ذریعے دستیاب ہے۔ کا حوالہ دیتے ہیں بیچ کا اندازہ چلائیں۔ کسٹم SDKs کے ذریعے بیچ انفرنس APIs تک رسائی حاصل کرنے کے لیے۔

ڈاؤن لوڈ اور ان زپ کرنے کے بعد ازگر ایس ڈی کے سیج میکر نوٹ بک مثال میں، آپ اسے Jupyter نوٹ بک سیل میں درج ذیل کوڈ کو چلا کر انسٹال کر سکتے ہیں۔

# Install preview SDK packages
!pip install -q $(ls ./bedrock-python-sdk-reinvent/botocore-*.whl | head -1)
!pip install -q $(ls ./bedrock-python-sdk-reinvent/boto3-*.whl | head -1)

Amazon S3 پر ان پٹ ڈیٹا کو فارمیٹ اور اپ لوڈ کریں۔

بیچ کے تخمینہ کے لیے ان پٹ ڈیٹا کو JSONL فارمیٹ میں تیار کرنے کی ضرورت ہے۔ recordId اور modelInput چابیاں مؤخر الذکر کو ایمیزون بیڈرک پر طلب کیے جانے والے ماڈل کے باڈی فیلڈ سے مماثل ہونا چاہئے۔ خاص طور پر، کچھ کوہیر کمانڈ کے لیے معاون انفرنس پیرامیٹرز ہیں temperature بے ترتیبی کے لیے، max_tokens آؤٹ پٹ کی لمبائی کے لیے، اور num_generations ایک سے زیادہ جوابات پیدا کرنے کے لیے، جن میں سے سبھی کو ایک ساتھ پاس کیا جاتا ہے۔ prompt as modelInput:

data = [
    {
        "recordId": "1",
        "modelInput": {
            "prompt": prompt,
            "temperature": temperature,
            "max_tokens": max_tokens,
            "num_generations": n,
        },
    },
    ...,
]

ملاحظہ کریں فاؤنڈیشن ماڈلز کے لیے انفرنس پیرامیٹرز مزید تفصیلات کے لیے، بشمول دیگر ماڈل فراہم کنندگان۔

ریاضی کے استدلال پر ہمارے تجربات کوہیر کمانڈ کو حسب ضرورت یا ٹھیک ٹیوننگ کیے بغیر چند شاٹ سیٹنگ میں کیے جاتے ہیں۔ ہم چین آف تھاٹ سے آٹھ چند شاٹ مثالوں کا ایک ہی سیٹ استعمال کرتے ہیں (ٹیبل 20) اور خود مستقل مزاجی (ٹیبل 17) کاغذات۔ GSM8K ٹرین سیٹ سے ہر سوال کے ساتھ مثالوں کو جوڑ کر پرامپٹس بنائے جاتے ہیں۔

ہم نے طے کیا max_tokens 512 اور num_generations 5 تک، کوہیر کمانڈ کے ذریعہ زیادہ سے زیادہ اجازت دی گئی ہے۔ لالچی ضابطہ کشائی کے لیے، ہم سیٹ کرتے ہیں۔ temperature 0 تک اور خود مستقل مزاجی کے لیے، ہم درجہ حرارت 0.5، 0.7 اور 1 پر تین تجربات کرتے ہیں۔ ہر ترتیب درجہ حرارت کی متعلقہ اقدار کے مطابق مختلف ان پٹ ڈیٹا حاصل کرتی ہے۔ ڈیٹا کو JSONL کے طور پر فارمیٹ کیا جاتا ہے اور Amazon S3 میں اسٹور کیا جاتا ہے۔

# Set up S3 client
session = boto3.Session()
s3 = session.client("s3")

# Create S3 bucket with unique name to store input/output data
suffix = str(uuid.uuid4())[:8]
bucket = f"bedrock-self-consistency-{suffix}"
s3.create_bucket(
    Bucket=bucket, CreateBucketConfiguration={"LocationConstraint": session.region_name}
)

# Process data and output to new lines as JSONL
input_key = f"gsm8k/T{temperature}/input.jsonl"
s3_data = ""
for row in data:
    s3_data += json.dumps(row) + "n"
s3.put_object(Body=s3_data, Bucket=bucket, Key=input_key)

ایمیزون بیڈرک میں بیچ انفرنس جابز بنائیں اور چلائیں۔

بیچ انفرنس ملازمت کی تخلیق کے لیے ایمیزون بیڈرک کلائنٹ کی ضرورت ہوتی ہے۔ ہم S3 ان پٹ اور آؤٹ پٹ کے راستے بتاتے ہیں اور ہر درخواست کے کام کو ایک منفرد نام دیتے ہیں:

# Create Bedrock client							    
bedrock = boto3.client("bedrock")

# Input and output config						     
input_config = {"s3InputDataConfig": {"s3Uri": f"s3://{bucket}/{input_key}"}}
output_config = {"s3OutputDataConfig": {"s3Uri": f"s3://{bucket}/{output_key}"}}

# Create a unique job name
suffix = str(uuid.uuid4())[:8] 
job_name = f"command-batch-T{temperature}-{suffix}"

نوکریاں ہیں۔ بنائی IAM رول، ماڈل ID، جاب کا نام، اور ان پٹ/آؤٹ پٹ کنفیگریشن کو پیرامیٹرز کے طور پر Amazon Bedrock API کو پاس کر کے:

response = bedrock.create_model_invocation_job(
    roleArn=f"arn:aws:iam::{account_id}:role/BedrockBatchInferenceRole",
    modelId="cohere.command-text-v14",
    jobName=job_name,
    inputDataConfig=input_config,
    outputDataConfig=output_config,
)
job_arn = response["jobArn"]

فہرست سازی, نگرانی، اور روکنا بیچ انفرنس جابز کو ان کے متعلقہ API کالز کے ذریعے سپورٹ کیا جاتا ہے۔ تخلیق پر، ملازمتیں سب سے پہلے ظاہر ہوتی ہیں۔ Submitted، پھر کے طور پر InProgress، اور آخر میں کے طور پر Stopped, Failed، یا Completed.

# Get job details
job_details = bedrock.get_model_invocation_job(jobIdentifier=job_arn)

اگر کام کامیابی کے ساتھ مکمل ہو جاتے ہیں، تو تیار کردہ مواد کو اس کے منفرد آؤٹ پٹ لوکیشن کا استعمال کرتے ہوئے Amazon S3 سے بازیافت کیا جا سکتا ہے۔

# Get the output file key
s3_prefix = f"s3://{bucket}/"
output_path = job_details["outputDataConfig"]["s3OutputDataConfig"]["s3Uri"].replace(
    s3_prefix, ""
)
output_folder = job_details["jobArn"].split("/")[1]
output_file = (
    f'{job_details["inputDataConfig"]["s3InputDataConfig"]["s3Uri"].split("/")[-1]}.out'
)
result_key = f"{output_path}{output_folder}/{output_file}"

# Get output data
obj = s3.get_object(Bucket=bucket, Key=result_key)
content = obj["Body"].read().decode("utf-8").strip().split("n")

# Show answer to the first question
print(json.loads(content[0])["modelOutput"]["generations"][0]["text"])

[Out]: 'Natalia sold 48 * 1/2 = 24 clips less in May. This means she sold 48 + 24 = 72 clips in April and May. The answer is 72.'

خود مستقل مزاجی ریاضی کے کاموں پر ماڈل کی درستگی کو بڑھاتی ہے۔

Cohere کمانڈ کی خود مستقل مزاجی GSM8K ڈیٹاسیٹ پر درستگی کے لحاظ سے ایک لالچی CoT بیس لائن کو پیچھے چھوڑ دیتی ہے۔ خود مستقل مزاجی کے لیے، ہم تین مختلف درجہ حرارت پر 30 آزاد استدلال کے راستوں کا نمونہ لیتے ہیں۔ topP اور topK ان کے لئے مقرر پہلے سے طے شدہ اقدار. حتمی حل اکثریتی ووٹنگ کے ذریعے سب سے زیادہ مستقل وقوعہ کو منتخب کرکے جمع کیے جاتے ہیں۔ ٹائی ہونے کی صورت میں، ہم تصادفی طور پر اکثریتی جوابات میں سے ایک کا انتخاب کرتے ہیں۔ ہم درستگی کی گنتی کرتے ہیں اور معیاری انحراف کی قدریں 100 رنز سے زیادہ اوسط ہیں۔

مندرجہ ذیل اعداد و شمار کوہیر کمانڈ سے GSM8K ڈیٹاسیٹ کی درستگی کو ظاہر کرتا ہے جس میں لالچی CoT (نیلے) اور درجہ حرارت کی اقدار 0.5 (پیلا)، 0.7 (سبز) اور 1.0 (نارنجی) کے ساتھ نمونے کی تعداد کے فنکشن کے طور پر خود مستقل مزاجی کا اشارہ کیا گیا ہے۔ استدلال کے راستے

Cohere کمانڈ کی درستگی خود مستقل مزاجی بمقابلہ CoT پرامپٹ کا استعمال کرتے ہوئے۔

پچھلے اعداد و شمار سے پتہ چلتا ہے کہ جب نمونے والے راستوں کی تعداد تین سے کم ہوتی ہے تو خودمستقل مزاجی کو لالچی CoT پر ریاضی کی درستگی میں اضافہ کرتا ہے۔ مزید استدلال کے راستوں کے ساتھ کارکردگی میں مسلسل اضافہ ہوتا ہے، فکر کی نسل میں تنوع کو متعارف کرانے کی اہمیت کی تصدیق کرتا ہے۔ Cohere کمانڈ GSM8K سوال سیٹ کو 51.7% درستگی کے ساتھ حل کرتی ہے جب CoT بمقابلہ 68% کے ساتھ 30 خود ساختہ استدلال کے راستوں کے ساتھ T=1.0 پر اشارہ کیا جاتا ہے۔ تینوں سروے شدہ درجہ حرارت کی قدریں ایک جیسے نتائج دیتی ہیں، کم نمونے والے راستوں پر کم درجہ حرارت نسبتاً زیادہ کارکردگی کا مظاہرہ کرتا ہے۔

کارکردگی اور لاگت پر عملی تحفظات

فی پرامپٹ متعدد آؤٹ پٹ پیدا کرنے پر ردعمل کے بڑھتے ہوئے وقت اور لاگت سے خود مستقل مزاجی محدود ہے۔ ایک عملی مثال کے طور پر، 7,473 GSM8K ریکارڈز پر Cohere کمانڈ کے ساتھ لالچی نسل کے لیے بیچ کا تخمینہ 20 منٹ سے بھی کم وقت میں مکمل ہوا۔ اس کام نے 5.5 ملین ٹوکن بطور ان پٹ لیے اور 630,000 آؤٹ پٹ ٹوکن بنائے۔ فی الحال ایمیزون بیڈرک انفرنس کی قیمتیں۔, کل لاگت $9.50 کے لگ بھگ تھی۔

Cohere کمانڈ کے ساتھ خود کی مطابقت کے لیے، ہم انفرنس پیرامیٹر استعمال کرتے ہیں۔ num_generations فی پرامپٹ متعدد تکمیلات تخلیق کرنے کے لیے۔ اس تحریر کے مطابق، ایمیزون بیڈرک زیادہ سے زیادہ پانچ نسلوں اور تین ہم آہنگی کی اجازت دیتا ہے۔ Submitted بیچ کا اندازہ لگانے والی نوکریاں۔ ملازمتیں آگے بڑھیں۔ InProgress درجہ ترتیب کے مطابق، اس لیے پانچ سے زیادہ راستوں کے نمونے لینے کے لیے متعدد درخواستوں کی ضرورت ہوتی ہے۔

مندرجہ ذیل اعداد و شمار GSM8K ڈیٹاسیٹ پر Cohere کمانڈ کے رن ٹائمز کو ظاہر کرتا ہے۔ کل رن ٹائم x محور پر دکھایا گیا ہے اور رن ٹائم فی نمونہ شدہ استدلال راستہ y محور پر دکھایا گیا ہے۔ لالچی نسل سب سے کم وقت میں چلتی ہے لیکن فی نمونہ راستے پر زیادہ وقت خرچ ہوتا ہے۔

Cohere کمانڈ کے لیے رن ٹائمز

لالچی نسل مکمل GSM20K سیٹ کے لیے 8 منٹ سے بھی کم وقت میں مکمل ہو جاتی ہے اور ایک منفرد استدلال کے راستے کا نمونہ پیش کرتی ہے۔ پانچ نمونوں کے ساتھ خود مستقل مزاجی کو مکمل ہونے میں تقریباً 50% زیادہ وقت درکار ہوتا ہے اور اس کی قیمت لگ بھگ $14.50 ہوتی ہے، لیکن اس وقت میں پانچ راستے (500% سے زیادہ) پیدا کرتا ہے۔ کل رن ٹائم اور لاگت میں ہر اضافی پانچ نمونے والے راستوں کے ساتھ مرحلہ وار اضافہ ہوتا ہے۔ لاگت کے فائدہ کے تجزیہ سے پتہ چلتا ہے کہ 1-2 نمونے والے راستوں کے ساتھ 5–10 بیچ کی انفرنس نوکریاں خود مستقل مزاجی کے عملی نفاذ کے لیے تجویز کردہ ترتیب ہے۔ یہ لاگت اور تاخیر کو کم رکھتے ہوئے ماڈل کی بہتر کارکردگی کو حاصل کرتا ہے۔

خود مستقل مزاجی ریاضی کے استدلال سے آگے ماڈل کی کارکردگی کو بڑھاتی ہے۔

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

ہم سے ڈیٹاسیٹ تیار کرتے ہیں۔ SAA-C01 اور SAA-C03 نمونہ امتحان کے سوالات 20 دستیاب سوالات میں سے، ہم پہلے 4 کو چند شاٹ نمونے کے طور پر استعمال کرتے ہیں اور باقی 16 کا جواب دینے کے لیے ماڈل کو اشارہ کرتے ہیں۔ اس بار، ہم AI21 Labs Jurassic-2 مڈ ماڈل کے ساتھ اندازہ لگاتے ہیں اور زیادہ سے زیادہ 10 استدلال کے راستے تیار کرتے ہیں۔ درجہ حرارت 0.7 نتائج ظاہر کرتے ہیں کہ خود مستقل مزاجی کارکردگی کو بڑھاتی ہے: اگرچہ لالچی CoT 11 درست جوابات دیتا ہے، لیکن خود مستقل مزاجی مزید 2 پر کامیاب ہوتی ہے۔

مندرجہ ذیل جدول 5 اور 10 نمونے کے راستوں کے درست نتائج دکھاتا ہے جس کی اوسط 100 رنز سے زیادہ ہے۔

. لالچی ضابطہ کشائی ٹی = 0.7
# نمونے کے راستے: 5 68.6 74.1 0.7 ±
# نمونے کے راستے: 10 68.6 78.9 . 0.3

مندرجہ ذیل جدول میں، ہم دو امتحانی سوالات پیش کرتے ہیں جن کا لالچی CoT نے غلط جواب دیا ہے جبکہ خود مستقل مزاجی کامیاب ہوتی ہے، ہر معاملے میں درست (سبز) یا غلط (سرخ) استدلال کے نشانات کو اجاگر کرتے ہیں جس کی وجہ سے ماڈل درست یا غلط جوابات پیش کرتا ہے۔ اگرچہ خود مستقل مزاجی سے تیار کردہ ہر نمونہ والا راستہ درست نہیں ہے، لیکن نمونے کے راستوں کی تعداد بڑھنے کے ساتھ ہی اکثریت صحیح جواب پر اکتفا کرتی ہے۔ ہم مشاہدہ کرتے ہیں کہ 5-10 راستے عام طور پر لالچی نتائج کو بہتر بنانے کے لیے کافی ہوتے ہیں، ان اقدار سے پہلے کارکردگی کے لحاظ سے کم ہوتے منافع کے ساتھ۔

س

ایک ویب ایپلیکیشن صارفین کو S3 بالٹی میں آرڈر اپ لوڈ کرنے کی اجازت دیتی ہے۔ نتیجے میں Amazon S3 واقعات ایک Lambda فنکشن کو متحرک کرتے ہیں جو SQS قطار میں ایک پیغام داخل کرتا ہے۔ ایک واحد EC2 مثال قطار سے پیغامات پڑھتی ہے، ان پر کارروائی کرتی ہے، اور انہیں منفرد آرڈر ID کے ذریعے تقسیم کردہ DynamoDB ٹیبل میں محفوظ کرتی ہے۔ اگلے مہینے ٹریفک میں 10 کے فیکٹر سے اضافہ متوقع ہے اور ایک سولیوشن آرکیٹیکٹ اسکیلنگ کے ممکنہ مسائل کے لیے فن تعمیر کا جائزہ لے رہا ہے۔

نئے ٹریفک کو ایڈجسٹ کرنے کے لیے اسکیل کرنے کے قابل ہونے کے لیے کس جز کو دوبارہ آرکیٹیکٹنگ کی ضرورت کا سب سے زیادہ امکان ہے؟

A. لیمبڈا فنکشن
B. SQS قطار
C. EC2 مثال
D. DynamoDB ٹیبل

AWS پر چلنے والی ایپلیکیشن اپنے ڈیٹا بیس کے لیے Amazon Aurora Multi-AZ DB کلسٹر تعیناتی کا استعمال کرتی ہے۔ پرفارمنس میٹرکس کا جائزہ لیتے وقت، ایک حل آرکیٹیکٹ نے دریافت کیا کہ ڈیٹا بیس ریڈز زیادہ I/O کا باعث بن رہے ہیں اور ڈیٹا بیس کے خلاف تحریری درخواستوں میں تاخیر کا اضافہ کر رہے ہیں۔

پڑھنے کی درخواستوں کو لکھنے کی درخواستوں سے الگ کرنے کے لیے حل معمار کو کیا کرنا چاہیے؟

A. Aurora ڈیٹا بیس پر ریڈ تھرو کیشنگ کو فعال کریں۔
B. ملٹی AZ اسٹینڈ بائی مثال سے پڑھنے کے لیے ایپلیکیشن کو اپ ڈیٹ کریں۔
C. Aurora کی نقل بنائیں اور مناسب اختتامی نکات استعمال کرنے کے لیے ایپلیکیشن میں ترمیم کریں۔
D. ایک دوسرا Aurora ڈیٹا بیس بنائیں اور اسے پرائمری ڈیٹا بیس سے بطور ریڈ ریپلیکا لنک کریں۔

درست جواب C - ایک واحد EC2 مثال پیمانہ نہیں کرے گا اور فن تعمیر میں ناکامی کا واحد نقطہ ہے۔ ایک بہت بہتر حل یہ ہوگا کہ EC2 مثالیں آٹو اسکیلنگ گروپ میں 2 دستیابی زونز میں قطار سے پیغامات پڑھیں۔ دوسرے جوابات وہ تمام انتظامی خدمات ہیں جنہیں پیمانے پر ترتیب دیا جا سکتا ہے یا خود بخود پیمانہ ہو جائے گا۔ C - Aurora نقلیں پڑھنے والی ٹریفک کو آف لوڈ کرنے کا ایک طریقہ فراہم کرتی ہیں۔ Aurora Replicas مرکزی ڈیٹا بیس کی طرح بنیادی اسٹوریج کا اشتراک کرتے ہیں، لہذا وقفہ کا وقت عام طور پر بہت کم ہوتا ہے۔ Aurora Replicas کے اپنے اختتامی نقطے ہوتے ہیں، اس لیے ایپلیکیشن کو پڑھنے والے ٹریفک کو نئے اختتامی پوائنٹس پر بھیجنے کے لیے ترتیب دینے کی ضرورت ہوگی۔
لالچی ضابطہ کشائی EC2 مثال کو براہ راست اسکیل کرنا ممکن نہیں ہے، کیونکہ مثال کا سائز تبدیل کرنا ممکن نہیں ہے۔ لیمبڈا فنکشن کو اسکیل کرنا کافی نہیں ہوسکتا ہے۔، جیسا کہ Lambda فنکشنز میں میموری مختص کرنے کی حد 6 GB ہوتی ہے۔ SQS قطار کو پیمانہ کرنا کافی نہیں ہو سکتاجیسا کہ SQS میں پیغام کی حد 10,000 ہے۔ DynamoDB ٹیبلز کو زیادہ صلاحیت والے یونٹس کی فراہمی کے ذریعے پیمانہ کیا جا سکتا ہے۔ درست جواب ہے ڈی۔ ملٹی AZ اسٹینڈ بائی مثال سے پڑھنے کے لیے ایپلیکیشن میں ترمیم کرنا (آپشن بی) بہترین طریقہ ہے۔. اسٹینڈ بائی مثال کو پرائمری مثال سے متضاد طور پر نقل کیا جاتا ہے، لہذا پڑھنے کی کارروائیاں تحریری کارروائیوں میں مداخلت نہیں کریں گی۔ پڑھنے کے ذریعے کیشنگ کو فعال کرنا (آپشن A) یا Aurora ریپلیکا (آپشن C) بنانے سے I/O تنازعہ کا مسئلہ حل نہیں ہوگا۔. دوسرا Aurora ڈیٹا بیس بنانا اور اسے پڑھنے کی نقل (آپشن D) کے طور پر لنک کرنے سے I/O تنازعہ کا مسئلہ بھی حل نہیں ہوگا۔ صحیح جواب ہے B۔
نمونہ شدہ راستہ #1 قیمت یا کارکردگی کے نقطہ نظر سے، EC2 مثال کو اس کے موجودہ سائز سے 10 گنا تک بڑھانا ممکن نہیں ہے۔ اس کے لیے ایک بڑی مثال کی ضرورت ہوگی، جو مہنگی ہو سکتی ہے۔ ایک زیادہ سرمایہ کاری مؤثر طریقہ یہ ہو سکتا ہے کہ بوجھ کو بانٹنے کے لیے چھوٹی مثالوں (مثلاً آٹو سکیلنگ گروپ) کا استعمال کیا جائے۔ اس صورت میں، EC2 مثال کو دوبارہ تعمیر کرنے کی ضرورت ہوگی۔ درست جواب C ہے۔ مناسب اینڈ پوائنٹس استعمال کرنے کے لیے ایپلیکیشن میں ترمیم کرنا کوئی عملی حل نہیں ہے کیونکہ اس کے لیے ایپلیکیشن کوڈ میں تبدیلی کی ضرورت ہوگی۔ درست جواب ہے C: Aurora کی نقل بنائیں اور مناسب اختتامی نکات استعمال کرنے کے لیے ایپلیکیشن میں ترمیم کریں۔
نمونہ شدہ راستہ #2 کسی ایک EC2 مثال کو اسکیل کرنا دوسرے سروس کے اجزاء کو اسکیل کرنے سے زیادہ مشکل اور پریشانی کا باعث ہے۔ Amazon SQS، Lambda، اور DynamoDB سبھی خود بخود پیمانے کر سکتے ہیں۔ بڑھتے ہوئے بوجھ سے نمٹنے کے لیے۔ درست جواب C ہے۔

(C) Aurora کی نقل بنائیں اور مناسب اختتامی نقطوں کو استعمال کرنے کے لیے ایپلیکیشن میں ترمیم کریں۔

Aurora Replica کو ترتیب دے کر، آپ پڑھنے والی ٹریفک کو تحریری ٹریفک سے الگ کر سکتے ہیں۔ Aurora Replicas مختلف اینڈ پوائنٹ یو آر ایل استعمال کرتی ہیں۔، آپ کو پرائمری ڈیٹا بیس کے بجائے ریپلیکا پر پڑھنے والے ٹریفک کو براہ راست کرنے کی اجازت دیتا ہے۔ نقل بنیادی ڈیٹا بیس میں لکھنے کی درخواستوں کے متوازی طور پر پڑھنے کی درخواستوں پر کارروائی کر سکتی ہے۔، I/O اور تاخیر کو کم کرنا۔

صاف کرو

ایمیزون بیڈرک میں بیچ کا تخمینہ چلانے پر ایمیزون بیڈرک کی قیمتوں کے مطابق چارجز عائد ہوتے ہیں۔ جب آپ واک تھرو مکمل کر لیتے ہیں، تو اپنی SageMaker نوٹ بک مثال کو حذف کر دیں اور مستقبل کے چارجز سے بچنے کے لیے اپنی S3 بالٹیوں سے تمام ڈیٹا ہٹا دیں۔

خیال

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

  • غیر مجاز استعمال کو روکنے کے لیے APIs اور ڈیٹا بیس تک رسائی کی پابندی۔
  • IAM رول تک رسائی اور سیکیورٹی گروپس کے حوالے سے AWS سیکیورٹی کے بہترین طریقوں کی پابندی۔
  • فوری انجیکشن حملوں کو روکنے کے لیے صارف کے ان پٹ کی توثیق اور سینیٹائزیشن۔
  • جانچ اور آڈیٹنگ کو قابل بنانے کے لیے متحرک عمل کی نگرانی اور لاگنگ۔

نتیجہ

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

Amazon Bedrock بیچ کے تخمینے کے ساتھ، زبان کے ماڈل Cohere Command کو ریاضی کے مسائل کے ایک سیٹ کے لیے خود ساختہ جوابات پیدا کرنے کے لیے کہا جاتا ہے۔ درستگی لالچی ڈی کوڈنگ کے ساتھ 51.7% سے بہتر ہو کر 68% ہو جاتی ہے اور خود مستقل مزاجی کے نمونے لینے کے ساتھ T=30 پر 1.0 استدلال کے راستے۔ پانچ راستوں کے نمونے لینے سے پہلے ہی 7.5 فیصد پوائنٹس کی درستگی بڑھ جاتی ہے۔ یہ نقطہ نظر دوسرے زبان کے ماڈلز اور استدلال کے کاموں کے لیے قابل منتقلی ہے، جیسا کہ AWS سرٹیفیکیشن امتحان میں AI21 Labs Jurassic-2 مڈ ماڈل کے نتائج سے ظاہر ہوتا ہے۔ چھوٹے سائز کے سوالوں کے سیٹ میں، پانچ نمونے والے راستوں کے ساتھ خود مستقل مزاجی لالچی CoT کے مقابلے میں 5 فیصد پوائنٹس کی درستگی کو بڑھاتی ہے۔

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

منظوریاں

مصنف نے مفید آراء کے لیے تکنیکی مبصرین امین تاجگردون اور پیٹرک میک سوینی کا شکریہ ادا کیا۔


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

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

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

ٹائم اسٹیمپ:

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