کوڈ Llama 70B اب Amazon SageMaker JumpStart | میں دستیاب ہے۔ ایمیزون ویب سروسز

کوڈ Llama 70B اب Amazon SageMaker JumpStart | میں دستیاب ہے۔ ایمیزون ویب سروسز

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

کوڈ لاما

کوڈ لاما کی طرف سے جاری کردہ ایک ماڈل ہے۔ میٹا جو کہ Llama 2 کے اوپر بنایا گیا ہے۔ یہ جدید ترین ماڈل ڈویلپرز کے لیے پروگرامنگ کے کاموں کے لیے پیداواری صلاحیت کو بہتر بنانے کے لیے ڈیزائن کیا گیا ہے تاکہ انھیں اعلیٰ معیار کا، اچھی طرح سے دستاویزی کوڈ بنانے میں مدد مل سکے۔ ماڈلز Python، C++، Java، PHP، C#، TypeScript اور Bash میں بہترین ہیں، اور ان میں ڈویلپرز کا وقت بچانے اور سافٹ ویئر ورک فلو کو زیادہ موثر بنانے کی صلاحیت ہے۔

یہ تین قسموں میں آتا ہے، جس میں وسیع اقسام کی ایپلی کیشنز کا احاطہ کرنے کے لیے انجنیئر کیا گیا ہے: فاؤنڈیشنل ماڈل (کوڈ لاما)، ایک ازگر کا خصوصی ماڈل (کوڈ لامہ ازگر)، اور قدرتی زبان کی ہدایات کو سمجھنے کے لیے ہدایات کے بعد ایک ماڈل (کوڈ لاما انسٹرکٹ)۔ تمام کوڈ لاما ویریئنٹس چار سائز میں آتے ہیں: 7B، 13B، 34B، اور 70B پیرامیٹرز۔ 7B اور 13B بیس اور انسٹرکٹ ویریئنٹس آس پاس کے مواد کی بنیاد پر انفللنگ کو سپورٹ کرتے ہیں، انہیں کوڈ اسسٹنٹ ایپلی کیشنز کے لیے مثالی بناتے ہیں۔ ماڈلز کو Llama 2 کو بنیاد کے طور پر استعمال کرتے ہوئے ڈیزائن کیا گیا تھا اور پھر کوڈ ڈیٹا کے 500 بلین ٹوکنز پر تربیت دی گئی تھی، جس میں Python کے خصوصی ورژن کو 100 بلین ٹوکنز پر تربیت دی گئی تھی۔ کوڈ لاما ماڈلز مستحکم نسلوں کو سیاق و سباق کے 100,000 ٹوکن تک فراہم کرتے ہیں۔ تمام ماڈلز کو 16,000 ٹوکنز کی ترتیب پر تربیت دی جاتی ہے اور 100,000 ٹوکنز تک کے ان پٹ پر بہتری دکھاتے ہیں۔

ماڈل اسی کے تحت دستیاب کرایا گیا ہے۔ لاما 2 کے بطور کمیونٹی لائسنس۔

سیج میکر میں فاؤنڈیشن ماڈل

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

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

سیج میکر جمپ اسٹارٹ میں کوڈ لاما ماڈل دریافت کریں۔

کوڈ Llama 70B ماڈل کو تعینات کرنے کے لیے، درج ذیل مراحل کو مکمل کریں۔ ایمیزون سیج میکر اسٹوڈیو:

  1. سیج میکر اسٹوڈیو ہوم پیج پر، منتخب کریں۔ جمپ اسٹارٹ نیوی گیشن پین میں.

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  2. کوڈ لاما ماڈلز تلاش کریں اور دکھائے گئے ماڈلز کی فہرست میں سے کوڈ لاما 70B ماڈل منتخب کریں۔

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    آپ کوڈ لاما 70B ماڈل کارڈ پر ماڈل کے بارے میں مزید معلومات حاصل کر سکتے ہیں۔

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    مندرجہ ذیل اسکرین شاٹ اختتامی نقطہ کی ترتیبات کو ظاہر کرتا ہے۔ آپ اختیارات کو تبدیل کر سکتے ہیں یا پہلے سے طے شدہ کو استعمال کر سکتے ہیں۔

  3. اینڈ یوزر لائسنس ایگریمنٹ (EULA) کو قبول کریں اور منتخب کریں۔ تعینات.
    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

    یہ اختتامی نقطہ کی تعیناتی کا عمل شروع کر دے گا، جیسا کہ درج ذیل اسکرین شاٹ میں دکھایا گیا ہے۔

    Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

SageMaker Python SDK کے ساتھ ماڈل کو متعین کریں۔

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

نوٹ بک کا استعمال کرتے ہوئے تعینات کرنے کے لیے، ہم ایک مناسب ماڈل کو منتخب کرکے شروع کرتے ہیں، جس کی وضاحت کی گئی ہے۔ model_id. آپ مندرجہ ذیل کوڈ کے ساتھ SageMaker پر کسی بھی منتخب ماڈل کو تعینات کر سکتے ہیں:

from sagemaker.jumpstart.model import JumpStartModel model = JumpStartModel(model_id="meta-textgeneration-llama-codellama-70b")
predictor = model.deploy(accept_eula=False) # Change EULA acceptance to True

یہ ماڈل کو ڈیفالٹ کنفیگریشنز کے ساتھ SageMaker پر تعینات کرتا ہے، بشمول ڈیفالٹ مثال کی قسم اور ڈیفالٹ VPC کنفیگریشنز۔ آپ ان کنفیگریشنز کو غیر ڈیفالٹ ویلیوز بتا کر تبدیل کر سکتے ہیں۔ جمپ اسٹارٹ ماڈل. نوٹ کریں کہ بطور ڈیفالٹ، accept_eula کرنے کے لئے مقرر کیا گیا ہے False. آپ کو سیٹ کرنے کی ضرورت ہے۔ accept_eula=True اختتامی نقطہ کو کامیابی سے تعینات کرنے کے لیے۔ ایسا کرنے سے، آپ صارف کے لائسنس کے معاہدے اور قابل قبول استعمال کی پالیسی کو قبول کرتے ہیں جیسا کہ پہلے ذکر کیا گیا ہے۔ آپ بھی ڈاؤن لوڈ، اتارنا لائسنس کا معاہدہ.

سیج میکر اینڈ پوائنٹ کو طلب کریں۔

اختتامی نقطہ کے تعینات ہونے کے بعد، آپ Boto3 یا SageMaker Python SDK کا استعمال کر کے اندازہ لگا سکتے ہیں۔ مندرجہ ذیل کوڈ میں، ہم SageMaker Python SDK کا استعمال کرتے ہیں تاکہ ماڈل کو اندازہ کے لیے کال کریں اور جواب پرنٹ کریں:

def print_response(payload, response): print(payload["inputs"]) print(f"> {response[0]['generated_text']}") print("n==================================n")

تقریب print_response پے لوڈ اور ماڈل ردعمل پر مشتمل ایک پے لوڈ لیتا ہے اور آؤٹ پٹ کو پرنٹ کرتا ہے۔ کوڈ لاما اندازہ لگاتے ہوئے بہت سے پیرامیٹرز کی حمایت کرتا ہے:

  • زیادہ سے زیادہ طوالت - ماڈل اس وقت تک متن تیار کرتا ہے جب تک کہ آؤٹ پٹ کی لمبائی (جس میں ان پٹ سیاق و سباق کی لمبائی شامل ہے) تک نہ پہنچ جائے۔ max_length. اگر بیان کیا جائے تو یہ ایک مثبت عدد ہونا چاہیے۔
  • max_new_tokens - ماڈل اس وقت تک متن تیار کرتا ہے جب تک کہ آؤٹ پٹ کی لمبائی (ان پٹ سیاق و سباق کی لمبائی کو چھوڑ کر) تک نہ پہنچ جائے۔ max_new_tokens. اگر بیان کیا جائے تو یہ ایک مثبت عدد ہونا چاہیے۔
  • num_beams - یہ لالچی تلاش میں استعمال ہونے والے شہتیروں کی تعداد کی وضاحت کرتا ہے۔ اگر متعین کیا جائے تو یہ اس سے بڑا یا اس کے برابر کا عدد ہونا چاہیے۔ num_return_sequences.
  • no_repeat_ngram_size - ماڈل اس بات کو یقینی بناتا ہے کہ الفاظ کی ترتیب no_repeat_ngram_size آؤٹ پٹ ترتیب میں دہرایا نہیں جاتا ہے۔ اگر بیان کیا جائے تو یہ 1 سے بڑا مثبت عدد ہونا چاہیے۔
  • درجہ حرارت - یہ آؤٹ پٹ میں بے ترتیب پن کو کنٹرول کرتا ہے۔ اعلی temperature کم امکان والے الفاظ کے ساتھ آؤٹ پٹ کی ترتیب کا نتیجہ، اور کم temperature زیادہ امکان والے الفاظ کے ساتھ آؤٹ پٹ کی ترتیب کا نتیجہ۔ اگر temperature 0 ہے، اس کے نتیجے میں لالچی ضابطہ کشائی ہوتی ہے۔ اگر بیان کیا گیا ہے، تو یہ ایک مثبت فلوٹ ہونا چاہیے۔
  • جلدی_روکنا - اگر Trueجب تمام بیم مفروضے جملے کے ٹوکن کے اختتام پر پہنچ جاتے ہیں تو ٹیکسٹ جنریشن ختم ہو جاتی ہے۔ اگر بیان کیا گیا ہے، تو یہ بولین ہونا چاہیے۔
  • do_sample - اگر True، ماڈل امکان کے مطابق اگلے لفظ کا نمونہ کرتا ہے۔ اگر بیان کیا گیا ہے، تو یہ بولین ہونا چاہیے۔
  • top_k - ٹیکسٹ جنریشن کے ہر مرحلے میں، ماڈل کے نمونے صرف سے top_k سب سے زیادہ امکان الفاظ. اگر بیان کیا جائے تو یہ ایک مثبت عدد ہونا چاہیے۔
  • ٹاپ_پی - ٹیکسٹ جنریشن کے ہر مرحلے میں، مجموعی امکان کے ساتھ الفاظ کے سب سے چھوٹے ممکنہ سیٹ سے ماڈل کے نمونے top_p. اگر متعین کیا جائے تو یہ 0 اور 1 کے درمیان فلوٹ ہونا چاہیے۔
  • واپسی_مکمل_متن - اگر True، ان پٹ ٹیکسٹ آؤٹ پٹ جنریٹڈ ٹیکسٹ کا حصہ ہوگا۔ اگر بیان کیا گیا ہے، تو یہ بولین ہونا چاہیے۔ اس کی ڈیفالٹ قدر ہے۔ False.
  • روک - اگر بیان کیا گیا ہے، تو یہ تاروں کی فہرست ہونی چاہیے۔ ٹیکسٹ جنریشن رک جاتا ہے اگر مخصوص سٹرنگز میں سے کوئی ایک تیار ہو جاتی ہے۔

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

کوڈ کی تکمیل۔

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

ہم پہلے درج ذیل کوڈ کو چلاتے ہیں:

prompt = """
import socket def ping_exponential_backoff(host: str): """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9},
}
response = predictor.predict(payload)
print_response(payload, response)

ہمیں درج ذیل آؤٹ پٹ ملتا ہے:

""" Pings the given host with exponential backoff. """ timeout = 1 while True: try: socket.create_connection((host, 80), timeout=timeout) return except socket.error: timeout *= 2

ہماری اگلی مثال کے لیے، ہم درج ذیل کوڈ چلاتے ہیں:

prompt = """
import argparse
def main(string: str): print(string) print(string[::-1])
if __name__ == "__main__": """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9},
}
predictor.predict(payload)

ہمیں درج ذیل آؤٹ پٹ ملتا ہے:

parser = argparse.ArgumentParser(description='Reverse a string') parser.add_argument('string', type=str, help='String to reverse') args = parser.parse_args() main(args.string)

کوڈ جنریشن

درج ذیل مثالیں کوڈ لاما کا استعمال کرتے ہوئے Python کوڈ جنریشن دکھاتی ہیں۔

ہم پہلے درج ذیل کوڈ کو چلاتے ہیں:

prompt = """
Write a python function to traverse a list in reverse. """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.2, "top_p": 0.9},
}
response = predictor.predict(payload)
print_response(payload, response)

ہمیں درج ذیل آؤٹ پٹ ملتا ہے:

def reverse(list1): for i in range(len(list1)-1,-1,-1): print(list1[i]) list1 = [1,2,3,4,5]
reverse(list1)

ہماری اگلی مثال کے لیے، ہم درج ذیل کوڈ چلاتے ہیں:

prompt = """
Write a python function to to carry out bubble sort. """ payload = { "inputs": prompt, "parameters": {"max_new_tokens": 256, "temperature": 0.1, "top_p": 0.9},
}
response = predictor.predict(payload)
print_response(payload, response)

ہمیں درج ذیل آؤٹ پٹ ملتا ہے:

def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr arr = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(arr))

یہ Code Llama 70B کا استعمال کرتے ہوئے کوڈ سے متعلق کاموں کی کچھ مثالیں ہیں۔ آپ اس سے بھی زیادہ پیچیدہ کوڈ بنانے کے لیے ماڈل کا استعمال کر سکتے ہیں۔ ہم آپ کو اپنے کوڈ سے متعلق استعمال کے کیسز اور مثالوں کا استعمال کرتے ہوئے اسے آزمانے کی ترغیب دیتے ہیں!

صاف کرو

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

predictor.delete_endpoint()

نتیجہ

اس پوسٹ میں، ہم نے SageMaker JumpStart پر Code Llama 70B متعارف کرایا ہے۔ کوڈ Llama 70B قدرتی زبان کے اشارے کے ساتھ ساتھ کوڈ سے کوڈ بنانے کا ایک جدید ترین ماڈل ہے۔ آپ SageMaker JumpStart میں چند آسان مراحل کے ساتھ ماڈل کو تعینات کر سکتے ہیں اور پھر اسے کوڈ سے متعلقہ کاموں کو انجام دینے کے لیے استعمال کر سکتے ہیں جیسے کوڈ جنریشن اور کوڈ انفلنگ۔ اگلے مرحلے کے طور پر، اپنے کوڈ سے متعلق استعمال کے کیسز اور ڈیٹا کے ساتھ ماڈل استعمال کرنے کی کوشش کریں۔


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

Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.ڈاکٹر کائل الریچ Amazon SageMaker جمپ سٹارٹ ٹیم کے ساتھ ایک اپلائیڈ سائنٹسٹ ہے۔ اس کی تحقیقی دلچسپیوں میں توسیع پذیر مشین لرننگ الگورتھم، کمپیوٹر ویژن، ٹائم سیریز، بایسیئن نان پیرامیٹرکس، اور گاوسی عمل شامل ہیں۔ اس کی پی ایچ ڈی ڈیوک یونیورسٹی سے ہے اور اس نے نیور آئی پی ایس، سیل اور نیوران میں مقالے شائع کیے ہیں۔

Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.ڈاکٹر فاروق صابر AWS میں ایک سینئر مصنوعی ذہانت اور مشین لرننگ اسپیشلسٹ سولیوشن آرکیٹیکٹ ہیں۔ انہوں نے آسٹن کی یونیورسٹی آف ٹیکساس سے الیکٹریکل انجینئرنگ میں پی ایچ ڈی اور ایم ایس کی ڈگریاں اور جارجیا انسٹی ٹیوٹ آف ٹیکنالوجی سے کمپیوٹر سائنس میں ایم ایس کی ڈگریاں حاصل کیں۔ اس کے پاس 15 سال سے زیادہ کام کا تجربہ ہے اور وہ کالج کے طلباء کو پڑھانا اور ان کی رہنمائی کرنا بھی پسند کرتا ہے۔ AWS میں، وہ صارفین کو ڈیٹا سائنس، مشین لرننگ، کمپیوٹر ویژن، مصنوعی ذہانت، عددی اصلاح، اور متعلقہ ڈومینز میں اپنے کاروباری مسائل کی تشکیل اور حل کرنے میں مدد کرتا ہے۔ ڈیلاس، ٹیکساس میں مقیم، وہ اور اس کا خاندان سفر کرنا اور طویل سڑک کے سفر پر جانا پسند کرتا ہے۔

Code Llama 70B is now available in Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.جون جیت گیا۔ سیج میکر جمپ اسٹارٹ کے ساتھ پروڈکٹ مینیجر ہے۔ وہ فاؤنڈیشن ماڈلز کو آسانی سے قابل دریافت اور قابل استعمال بنانے پر توجہ مرکوز کرتا ہے تاکہ صارفین کو تخلیقی AI ایپلی کیشنز بنانے میں مدد مل سکے۔ ایمیزون پر اس کے تجربے میں موبائل شاپنگ ایپلی کیشن اور آخری میل کی ترسیل بھی شامل ہے۔

ٹائم اسٹیمپ:

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