Amazon SageMaker JumpStart-এ GPT এবং ব্লুম মডেলের সাথে টেক্সট জেনারেশন চালান

ডিসেম্বর 2020, AWS ঘোষণা করেছে সাধারণ প্রাপ্যতা আমাজন সেজমেকার জাম্পস্টার্ট, একটি ক্ষমতা আমাজন সেজমেকার যা আপনাকে দ্রুত এবং সহজেই মেশিন লার্নিং (ML) দিয়ে শুরু করতে সাহায্য করে। জাম্পস্টার্ট জনপ্রিয় ML টাস্ক জুড়ে এক-ক্লিক ফাইন-টিউনিং এবং বিভিন্ন ধরণের প্রাক-প্রশিক্ষিত মডেলের স্থাপনা প্রদান করে, সেইসাথে সাধারণ ব্যবসায়িক সমস্যাগুলি সমাধান করে এমন এন্ড-টু-এন্ড সমাধানগুলির একটি নির্বাচন। এই বৈশিষ্ট্যগুলি ML প্রক্রিয়ার প্রতিটি ধাপ থেকে ভারী উত্তোলনকে সরিয়ে দেয়, এটি উচ্চ-মানের মডেলগুলি বিকাশ করা সহজ করে এবং স্থাপনার সময় কমিয়ে দেয়।

এই পোস্টটি নির্দিষ্ট ML কাজের জন্য জাম্পস্টার্ট ব্যবহার করার সিরিজের চতুর্থ। মধ্যে প্রথম পোস্ট, আমরা দেখিয়েছি কিভাবে JumpStart-এ ইমেজ ক্লাসিফিকেশন ব্যবহার কেস চালাতে হয়। মধ্যে দ্বিতীয় পোস্ট, আমরা দেখিয়েছি কিভাবে টেক্সট ক্লাসিফিকেশন ব্যবহারের ক্ষেত্রে চালাতে হয়। মধ্যে তৃতীয় পোস্ট, আমরা ইমেজ সেগমেন্টেশন ব্যবহারের ক্ষেত্রে চালাই।

এই পোস্টে, আমরা কীভাবে প্রাক-প্রশিক্ষিত পাঠ্য প্রজন্মের মডেলগুলি স্থাপন করতে হয় সে সম্পর্কে একটি ধাপে ধাপে ওয়াকথ্রু প্রদান করি। আমরা একই ফলাফল পাওয়ার দুটি উপায় অন্বেষণ করি: জাম্পস্টার্টের গ্রাফিক্যাল ইন্টারফেসের মাধ্যমে অ্যামাজন সেজমেকার স্টুডিও, এবং প্রোগ্রামের মাধ্যমে জাম্পস্টার্ট API.

আপনি যদি সরাসরি জাম্পস্টার্ট API কোডে যেতে চান যা আমরা এই পোস্টে দিয়েছি, আপনি নিম্নলিখিত নমুনা জুপিটার নোটবুকটি উল্লেখ করতে পারেন: জাম্পস্টার্টের ভূমিকা - টেক্সট জেনারেশন.

জাম্পস্টার্ট ওভারভিউ

জাম্পস্টার্ট আপনাকে কোডের একটি লাইন না লিখে বিভিন্ন কাজের জন্য ML মডেলের সাথে শুরু করতে সহায়তা করে। বর্তমানে, জাম্পস্টার্ট আপনাকে নিম্নলিখিতগুলি করতে সক্ষম করে:

  • সাধারণ ML কাজের জন্য প্রাক-প্রশিক্ষিত মডেল স্থাপন করুন – জাম্পস্টার্ট আপনাকে বৃহৎ, সর্বজনীনভাবে উপলব্ধ ডেটাসেটে প্রাক-প্রশিক্ষিত মডেলগুলির সহজ স্থাপনার মাধ্যমে কোন উন্নয়ন প্রচেষ্টা ছাড়াই সাধারণ ML কাজগুলিকে মোকাবেলা করতে সক্ষম করে। এমএল গবেষণা সম্প্রদায় সাম্প্রতিক বিকশিত বেশিরভাগ মডেলকে সর্বজনীনভাবে ব্যবহারের জন্য উপলব্ধ করার জন্য প্রচুর পরিমাণে প্রচেষ্টা চালিয়েছে। জাম্পস্টার্ট 300 টিরও বেশি মডেলের একটি সংগ্রহ হোস্ট করে, 15টি সর্বাধিক জনপ্রিয় ML কার্য যেমন অবজেক্ট সনাক্তকরণ, পাঠ্য শ্রেণিবিন্যাস এবং পাঠ্য তৈরি করা, নতুনদের জন্য সেগুলি ব্যবহার করা সহজ করে তোলে। এই মডেলগুলি জনপ্রিয় মডেল হাব যেমন TensorFlow, PyTorch, Hugging Face, এবং MXNet থেকে আঁকা হয়েছে।
  • ফাইন-টিউন প্রাক-প্রশিক্ষিত মডেল - জাম্পস্টার্ট আপনাকে আপনার নিজস্ব প্রশিক্ষণ অ্যালগরিদম লেখার প্রয়োজন ছাড়াই প্রাক-প্রশিক্ষিত মডেলগুলিকে সূক্ষ্ম-টিউন করার অনুমতি দেয়। এমএল-এ, এক ডোমেনে শেখা জ্ঞান অন্য ডোমেনে স্থানান্তর করার ক্ষমতা বলা হয় প্রশিক্ষণ স্থানান্তর. আপনি আপনার ছোট ডেটাসেটে সঠিক মডেল তৈরি করতে ট্রান্সফার লার্নিং ব্যবহার করতে পারেন, মূল মডেলের প্রশিক্ষণে জড়িতদের তুলনায় অনেক কম প্রশিক্ষণ খরচ। লাইটজিবিএম, ক্যাটবুস্ট, এক্সজিবিবুস্ট এবং স্কিট-লার্নের উপর ভিত্তি করে জাম্পস্টার্টে জনপ্রিয় প্রশিক্ষণ অ্যালগরিদমও রয়েছে, যা আপনি সারণী রিগ্রেশন এবং শ্রেণীবিভাগের জন্য স্ক্র্যাচ থেকে প্রশিক্ষণ দিতে পারেন।
  • প্রাক-নির্মিত সমাধান ব্যবহার করুন - জাম্পস্টার্ট সাধারণ এমএল ব্যবহারের ক্ষেত্রে 17টি সমাধানের একটি সেট প্রদান করে, যেমন চাহিদা পূর্বাভাস এবং শিল্প ও আর্থিক অ্যাপ্লিকেশন, যা আপনি মাত্র কয়েকটি ক্লিকে স্থাপন করতে পারেন। সমাধান হল এন্ড-টু-এন্ড এমএল অ্যাপ্লিকেশন যা একটি নির্দিষ্ট ব্যবসায়িক ব্যবহারের ক্ষেত্রে সমাধান করতে বিভিন্ন AWS পরিষেবাকে একত্রিত করে। তারা ব্যবহার করে এডাব্লুএস ক্লাউডফর্মেশন দ্রুত স্থাপনার জন্য টেমপ্লেট এবং রেফারেন্স আর্কিটেকচার, যার মানে তারা সম্পূর্ণরূপে কাস্টমাইজযোগ্য।
  • সেজমেকার অ্যালগরিদমের জন্য নোটবুকের উদাহরণ পড়ুন – SageMaker ডেটা বিজ্ঞানীদের এবং ML অনুশীলনকারীদের দ্রুত ML মডেলগুলিকে প্রশিক্ষণ এবং স্থাপন শুরু করতে সাহায্য করার জন্য অন্তর্নির্মিত অ্যালগরিদমের একটি স্যুট প্রদান করে৷ জাম্পস্টার্ট নমুনা নোটবুক সরবরাহ করে যা আপনি এই অ্যালগরিদমগুলি দ্রুত ব্যবহার করতে ব্যবহার করতে পারেন।
  • প্রশিক্ষণ ভিডিও এবং ব্লগ পর্যালোচনা করুন - জাম্পস্টার্ট অসংখ্য ব্লগ পোস্ট এবং ভিডিও সরবরাহ করে যা আপনাকে সেজমেকারের মধ্যে বিভিন্ন কার্যকারিতা কীভাবে ব্যবহার করতে হয় তা শেখায়।

জাম্পস্টার্ট কাস্টম VPC সেটিংস গ্রহণ করে এবং AWS কী ব্যবস্থাপনা পরিষেবা (AWS KMS) এনক্রিপশন কী, যাতে আপনি আপনার এন্টারপ্রাইজ পরিবেশের মধ্যে নিরাপদে উপলব্ধ মডেল এবং সমাধানগুলি ব্যবহার করতে পারেন৷ আপনি স্টুডিওর মধ্যে বা SageMaker Python SDK-এর মাধ্যমে আপনার নিরাপত্তা সেটিংস জাম্পস্টার্টে পাস করতে পারেন।

টেক্সট জেনারেশন, GPT-2 এবং ব্লুম

টেক্সট জেনারেশন হল এমন টেক্সট তৈরি করা যা সাবলীল এবং মানুষের লিখিত টেক্সট থেকে আলাদা করা যায় না। এটি নামেও পরিচিত প্রাকৃতিক ভাষা প্রজন্ম.

GPT-2 একটি জনপ্রিয় ট্রান্সফরমার-ভিত্তিক পাঠ্য প্রজন্মের মডেল। এটি কোনো মানবিক লেবেল ছাড়াই কাঁচা ইংরেজি পাঠ্যের একটি বৃহৎ অংশে প্রাক-প্রশিক্ষিত। এটি সেই টাস্কের উপর প্রশিক্ষিত যেখানে, একটি আংশিক ক্রম (বাক্য বা পাঠ্যের অংশ) দেওয়া হলে, মডেলটিকে অনুক্রমের পরবর্তী শব্দ বা টোকেনটির পূর্বাভাস দিতে হবে।

ব্লুম একটি ট্রান্সফরমার-ভিত্তিক টেক্সট জেনারেশন মডেল এবং GPT-2 এর অনুরূপ প্রশিক্ষিত। যাইহোক, ব্লুম 46টি ভিন্ন ভাষা এবং 13টি প্রোগ্রামিং ভাষায় প্রাক-প্রশিক্ষিত। নীচে ব্লুম মডেলের সাথে পাঠ্য প্রজন্ম চালানোর একটি উদাহরণ:

Input: "Some people like dogs, some people like cats"
Output: "Some people like dogs, some people like cats some people like birds, some people like fish,"

সমাধান ওভারভিউ

নিম্নলিখিত বিভাগগুলি স্টুডিও UI এবং জাম্পস্টার্ট API-এর মাধ্যমে অনুমান করার জন্য একটি ধাপে ধাপে ডেমো প্রদান করে। আমরা নিম্নলিখিত ধাপগুলি দিয়ে হাঁটছি:

  1. স্টুডিও UI-এর মাধ্যমে জাম্পস্টার্ট অ্যাক্সেস করুন এবং প্রাক-প্রশিক্ষিত মডেলে অনুমান স্থাপন করুন।
  2. পূর্ব-প্রশিক্ষিত মডেল স্থাপন এবং অনুমান চালানোর জন্য SageMaker Python SDK-এর সাথে প্রোগ্রাম্যাটিকভাবে জাম্পস্টার্ট ব্যবহার করুন।

স্টুডিও UI এর মাধ্যমে জাম্পস্টার্ট অ্যাক্সেস করুন এবং একটি প্রাক-প্রশিক্ষিত মডেলের সাথে অনুমান চালান

এই বিভাগে, আমরা স্টুডিও UI-এর মাধ্যমে জাম্পস্টার্ট মডেলগুলিকে কীভাবে প্রশিক্ষণ ও স্থাপন করতে হয় তা প্রদর্শন করি।

নিচের ভিডিওটি আপনাকে দেখায় কিভাবে জাম্পস্টার্টে একটি প্রাক-প্রশিক্ষিত পাঠ্য প্রজন্মের মডেল খুঁজে বের করতে হয় এবং এটি স্থাপন করতে হয়। মডেল পৃষ্ঠায় মডেল সম্পর্কে মূল্যবান তথ্য রয়েছে এবং এটি কীভাবে ব্যবহার করবেন। আপনি JumpStart-এ উপলব্ধ যে কোনো প্রাক-প্রশিক্ষিত মডেল স্থাপন করতে পারেন। অনুমানের জন্য, আমরা ml.p3.2xlarge ইন্সট্যান্স টাইপ বেছে নিই, কারণ এটি কম মূল্যের পয়েন্টে কম অনুমান বিলম্বের জন্য প্রয়োজনীয় GPU ত্বরণ প্রদান করে। আপনি SageMaker হোস্টিং উদাহরণ কনফিগার করার পরে, নির্বাচন করুন স্থাপন করুন. আপনার ক্রমাগত এন্ডপয়েন্ট চালু হওয়া পর্যন্ত 20-25 মিনিট সময় লাগতে পারে।

একবার আপনার এন্ডপয়েন্ট চালু হয়ে গেলে, এটি অনুমানের অনুরোধে সাড়া দিতে প্রস্তুত!

অনুমান করার জন্য আপনার সময়কে ত্বরান্বিত করতে, জাম্পস্টার্ট একটি নমুনা নোটবুক সরবরাহ করে যা আপনাকে দেখায় কিভাবে আপনার সদ্য স্থাপন করা শেষ পয়েন্টে অনুমান চালাতে হয়। পছন্দ করা নোটবুক খুলুন অধীনে স্টুডিও থেকে এন্ডপয়েন্ট ব্যবহার করুন.

SageMaker SDK-এর সাথে প্রোগ্রাম্যাটিকভাবে জাম্পস্টার্ট ব্যবহার করুন

পূর্ববর্তী বিভাগে, আমরা দেখিয়েছি কিভাবে আপনি কয়েকটি ক্লিকের মধ্যে একটি প্রাক-প্রশিক্ষিত মডেলকে ইন্টারেক্টিভভাবে স্থাপন করতে JumpStart UI ব্যবহার করতে পারেন। যাইহোক, আপনি SageMaker SDK-তে একীভূত API ব্যবহার করে প্রোগ্রাম্যাটিকভাবে জাম্পস্টার্টের মডেলগুলিও ব্যবহার করতে পারেন।

এই বিভাগে, আমরা SageMaker SDK-এর সাথে আপনি কীভাবে পূর্ববর্তী প্রক্রিয়াটি প্রতিলিপি করতে পারেন তার একটি দ্রুত উদাহরণ দিয়েছি। আমরা জাম্পস্টার্টে একটি উপযুক্ত প্রাক-প্রশিক্ষিত মডেল বেছে নিই, এই মডেলটিকে একটি সেজমেকার এন্ডপয়েন্টে স্থাপন করি এবং স্থাপন করা শেষ পয়েন্টে অনুমান চালাই। এই ডেমোর সমস্ত ধাপগুলি সহগামী নোটবুকে উপলব্ধ জাম্পস্টার্টের ভূমিকা - টেক্সট জেনারেশন.

প্রাক-প্রশিক্ষিত মডেল স্থাপন করুন

সেজমেকার একটি প্ল্যাটফর্ম যা বিল্ড এবং রানটাইম কাজের জন্য ডকার কন্টেইনারগুলির ব্যাপক ব্যবহার করে। জাম্পস্টার্ট উপলব্ধ ফ্রেমওয়ার্ক-নির্দিষ্ট ব্যবহার করে সেজমেকার গভীর শিক্ষার পাত্রে (DLCs)। আমরা প্রথমে কোনো অতিরিক্ত প্যাকেজ, সেইসাথে নির্বাচিত কাজের জন্য প্রশিক্ষণ এবং অনুমান পরিচালনা করার জন্য স্ক্রিপ্ট নিয়ে আসি। সবশেষে, প্রাক-প্রশিক্ষিত মডেলের নিদর্শনগুলো আলাদাভাবে নিয়ে আসা হয় model_uris, যা প্ল্যাটফর্মে নমনীয়তা প্রদান করে। আপনি একটি একক অনুমান স্ক্রিপ্টের সাথে একই টাস্কে প্রাক-প্রশিক্ষিত যেকোন সংখ্যক মডেল ব্যবহার করতে পারেন। নিম্নলিখিত কোড দেখুন:

model_id, model_version = "huggingface-textgeneration-bloom-560m", "*"

# 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=model_id,
    model_version=model_version,
    instance_type=inference_instance_type,
)

# Retrieve the inference script uri
deploy_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="inference")

base_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="inference")

ব্লুম একটি খুব বড় মডেল এবং এটি স্থাপন করতে 20-25 মিনিট পর্যন্ত সময় নিতে পারে। আপনি একটি ছোট মডেল যেমন GPT-2 ব্যবহার করতে পারেন। একটি প্রাক-প্রশিক্ষিত GPT-2 মডেল স্থাপন করতে, আপনি সেট করতে পারেন model_id = huggingface-textgeneration-gpt2. জাম্পস্টার্টে অন্যান্য উপলব্ধ মডেলগুলির একটি তালিকার জন্য, পড়ুন জাম্পস্টার্ট উপলব্ধ মডেল টেবিল.

এর পরে, আমরা সংস্থানগুলিকে a-এ ফিড করি সেজমেকার মডেল উদাহরণ এবং একটি শেষ পয়েন্ট স্থাপন করুন:

# Create the SageMaker model instance
model = Model(
    image_uri=deploy_image_uri,
    source_dir=deploy_source_uri,
    model_data=base_model_uri,
    entry_point="inference.py",  # entry point file in source_dir and present in deploy_source_uri
    role=aws_role,
    predictor_cls=Predictor,
    name=endpoint_name,
)

# deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class,
# for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(
    initial_instance_count=1,
    instance_type=inference_instance_type,
    predictor_cls=Predictor,
    endpoint_name=endpoint_name,
)

আমাদের মডেল স্থাপন করার পরে, আমরা বাস্তব সময়ে এটি থেকে ভবিষ্যদ্বাণী পেতে পারি!

অনুমান চালান

নিম্নলিখিত কোড স্নিপেট আপনাকে আউটপুটগুলি কেমন দেখাচ্ছে তার একটি আভাস দেয়। একটি স্থাপন করা মডেলে অনুরোধ পাঠাতে, ইনপুট পাঠ্য সরবরাহ করা প্রয়োজন a utf-8 এনকোডেড বিন্যাস।

def query(model_predictor, text):
    """Query the model predictor."""

    encoded_text = json.dumps(text).encode("utf-8")

    query_response = model_predictor.predict(
        encoded_text,
        {
            "ContentType": "application/x-text",
            "Accept": "application/json",
        },
    )
    return query_response

এন্ডপয়েন্ট রেসপন্স হল একটি JSON অবজেক্ট যাতে ইনপুট টেক্সট থাকে যার পরে জেনারেট করা টেক্সট থাকে:

def parse_response(query_response):
    """Parse response and return the generated text."""

    model_predictions = json.loads(query_response)
    generated_text = model_predictions["generated_text"]
    return generated_text
    
text = "Some people like dogs, some people like cats"
query_response = query(model_predictor, text)
parse_response(query_response)

আমাদের আউটপুট নিম্নরূপ:

"Some people like dogs, some people like cats some people like birds, some people like fish,"

উপসংহার

এই পোস্টে, আমরা দেখিয়েছি কিভাবে জাম্পস্টার্ট ব্যবহার করে একটি প্রাক-প্রশিক্ষিত পাঠ্য প্রজন্মের মডেল স্থাপন করা যায়। আপনি কোড লেখার প্রয়োজন ছাড়াই এটি সম্পন্ন করতে পারেন। আপনার নিজের সমাধান চেষ্টা করুন এবং আমাদের আপনার মন্তব্য পাঠান. জাম্পস্টার্ট সম্পর্কে আরও জানতে এবং আপনি কীভাবে ওপেন-সোর্স প্রাক-প্রশিক্ষিত মডেলগুলিকে অন্যান্য বিভিন্ন এমএল কাজের জন্য ব্যবহার করতে পারেন, নিম্নলিখিতগুলি দেখুন AWS re: উদ্ভাবন 2020 ভিডিও.


লেখক সম্পর্কে

Amazon SageMaker JumpStart PlatoBlockchain ডেটা ইন্টেলিজেন্সে GPT এবং ব্লুম মডেলের সাথে টেক্সট জেনারেশন চালান। উল্লম্ব অনুসন্ধান. আ.বিবেক মদন ড অ্যামাজন সেজমেকার জাম্পস্টার্ট দলের একজন ফলিত বিজ্ঞানী। তিনি আরবানা-চ্যাম্পেইনের ইলিনয় বিশ্ববিদ্যালয় থেকে তার পিএইচডি পেয়েছিলেন এবং জর্জিয়া টেকের পোস্ট ডক্টরাল গবেষক ছিলেন। তিনি মেশিন লার্নিং এবং অ্যালগরিদম ডিজাইনের একজন সক্রিয় গবেষক এবং EMNLP, ICLR, COLT, FOCS এবং SODA কনফারেন্সে গবেষণাপত্র প্রকাশ করেছেন।

Amazon SageMaker JumpStart PlatoBlockchain ডেটা ইন্টেলিজেন্সে GPT এবং ব্লুম মডেলের সাথে টেক্সট জেনারেশন চালান। উল্লম্ব অনুসন্ধান. আ.সন্তোষ কুলকার্নি অ্যামাজন ওয়েব সার্ভিসেসের একজন এন্টারপ্রাইজ সলিউশন আর্কিটেক্ট যিনি অস্ট্রেলিয়ার ক্রীড়া গ্রাহকদের সাথে কাজ করেন। তিনি এআই/এমএল, বিগ ডেটা এবং সফ্টওয়্যার ডেভেলপমেন্টে তার জ্ঞান ব্যবহার করে ব্যবসায়িক সমস্যা সমাধানের জন্য বৃহৎ আকারে বিতরণ করা অ্যাপ্লিকেশন তৈরি করার বিষয়ে উত্সাহী।

Amazon SageMaker JumpStart PlatoBlockchain ডেটা ইন্টেলিজেন্সে GPT এবং ব্লুম মডেলের সাথে টেক্সট জেনারেশন চালান। উল্লম্ব অনুসন্ধান. আ.আশিস খেতান ড অ্যামাজন সেজমেকার বিল্ট-ইন অ্যালগরিদম সহ একজন সিনিয়র ফলিত বিজ্ঞানী এবং মেশিন লার্নিং অ্যালগরিদম বিকাশে সহায়তা করে। তিনি ইউনিভার্সিটি অফ ইলিনয় আরবানা চ্যাম্পেইন থেকে পিএইচডি লাভ করেন। তিনি মেশিন লার্নিং এবং পরিসংখ্যানগত অনুমানের একজন সক্রিয় গবেষক এবং NeurIPS, ICML, ICLR, JMLR, ACL, এবং EMNLP সম্মেলনে অনেক গবেষণাপত্র প্রকাশ করেছেন।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং

AWS এবং Mistral AI একটি শক্তিশালী সহযোগিতার সাথে জেনারেটিভ এআইকে গণতান্ত্রিক করতে প্রতিশ্রুতিবদ্ধ | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1961711
সময় স্ট্যাম্প: এপ্রিল 3, 2024