অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিসেস

অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিসেস

আজ, আমরা মেটা ব্যবহার করে কোড লামা মডেলগুলিকে সূক্ষ্ম-টিউন করার ক্ষমতা ঘোষণা করতে পেরে আনন্দিত আমাজন সেজমেকার জাম্পস্টার্ট. কোড লামা ফ্যামিলি অফ লার্জ ল্যাঙ্গুয়েজ মডেল (LLMs) হল প্রাক-প্রশিক্ষিত এবং সূক্ষ্ম-টিউনড কোড জেনারেশন মডেলের একটি সংগ্রহ যার স্কেলে 7 বিলিয়ন থেকে 70 বিলিয়ন প্যারামিটার। ফাইন-টিউনড কোড লামা মডেলগুলি বেস কোড লামা মডেলগুলির তুলনায় আরও ভাল নির্ভুলতা এবং ব্যাখ্যাযোগ্যতা প্রদান করে, যা এর বিরুদ্ধে পরীক্ষায় স্পষ্ট হিউম্যান ইভাল এবং MBPP ডেটাসেট। আপনি সেজমেকার জাম্পস্টার্ট ব্যবহার করে কোড লামা মডেলগুলিকে ফাইন-টিউন এবং স্থাপন করতে পারেন অ্যামাজন সেজমেকার স্টুডিও কয়েক ক্লিকে বা SageMaker Python SDK ব্যবহার করে UI। লামা মডেলের ফাইন-টিউনিং এ দেওয়া স্ক্রিপ্টের উপর ভিত্তি করে llama-রেসিপি GitHub রেপো PyTorch FSDP, PEFT/LoRA, এবং Int8 কোয়ান্টাইজেশন কৌশল ব্যবহার করে মেটা থেকে।

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

সেজমেকার জাম্পস্টার্ট কি

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

কোড লামা কি

কোড লামা এর একটি কোড-বিশেষ সংস্করণ লামা 2 যেটি লামা 2 কে এর কোড-নির্দিষ্ট ডেটাসেটগুলিতে আরও প্রশিক্ষণের মাধ্যমে এবং সেই একই ডেটাসেট থেকে আরও বেশি ডেটার নমুনা তৈরি করে তৈরি করা হয়েছিল৷ কোড লামা উন্নত কোডিং ক্ষমতা বৈশিষ্ট্য. এটি কোড এবং ন্যাচারাল ল্যাঙ্গুয়েজ প্রম্পট উভয় থেকেই কোড সম্পর্কে কোড এবং প্রাকৃতিক ভাষা তৈরি করতে পারে (উদাহরণস্বরূপ, "আমাকে একটি ফাংশন লিখুন যা ফিবোনাচি সিকোয়েন্সকে আউটপুট করে")। আপনি কোড সমাপ্তি এবং ডিবাগিং এর জন্য এটি ব্যবহার করতে পারেন। এটি Python, C++, Java, PHP, Typescript (JavaScript), C#, Bash এবং আরও অনেক কিছু সহ বর্তমানে ব্যবহৃত অনেক জনপ্রিয় প্রোগ্রামিং ভাষা সমর্থন করে।

কেন ফাইন-টিউন কোড লামা মডেল

মেটা প্রকাশিত কোড লামা পারফরম্যান্স বেঞ্চমার্ক অন হিউম্যান ইভাল এবং এমবিপিপি পাইথন, জাভা এবং জাভাস্ক্রিপ্টের মতো সাধারণ কোডিং ভাষার জন্য। HumanEval-এ কোড লামা পাইথন মডেলগুলির কার্যকারিতা বিভিন্ন কোডিং ভাষা এবং 38B পাইথন মডেলের 7% থেকে 57B পাইথন মডেলগুলিতে 70% পর্যন্ত বিভিন্ন কার্যকারিতা প্রদর্শন করেছে। এছাড়াও, এসকিউএল প্রোগ্রামিং ভাষার সূক্ষ্ম-সংযুক্ত কোড লামা মডেলগুলি আরও ভাল ফলাফল দেখিয়েছে, যেমনটি SQL মূল্যায়ন বেঞ্চমার্কে স্পষ্ট। এই প্রকাশিত বেঞ্চমার্কগুলি সূক্ষ্ম-টিউনিং কোড লামা মডেলগুলির সম্ভাব্য সুবিধাগুলিকে হাইলাইট করে, আরও ভাল কর্মক্ষমতা, কাস্টমাইজেশন এবং নির্দিষ্ট কোডিং ডোমেন এবং কাজগুলির সাথে অভিযোজন সক্ষম করে৷

SageMaker স্টুডিও UI এর মাধ্যমে নো-কোড ফাইন-টিউনিং

সেজমেকার স্টুডিও ব্যবহার করে আপনার লামা মডেলগুলিকে ফাইন-টিউন করা শুরু করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. সেজমেকার স্টুডিও কনসোলে, নির্বাচন করুন লাফ শুরু নেভিগেশন ফলকে।

আপনি ওপেন সোর্স এবং মালিকানাধীন মডেল থেকে শুরু করে 350 টিরও বেশি মডেলের তালিকা পাবেন।

  1. কোড লামা মডেলের জন্য অনুসন্ধান করুন.
    অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিস প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আই.

আপনি যদি কোড লামা মডেলগুলি দেখতে না পান তবে আপনি বন্ধ করে এবং পুনরায় চালু করে আপনার সেজমেকার স্টুডিও সংস্করণ আপডেট করতে পারেন। সংস্করণ আপডেট সম্পর্কে আরও তথ্যের জন্য, পড়ুন বন্ধ করুন এবং স্টুডিও অ্যাপ আপডেট করুন. এছাড়াও আপনি চয়ন করে অন্যান্য মডেল বৈকল্পিক খুঁজে পেতে পারেন সমস্ত কোড জেনারেশন মডেল অন্বেষণ করুন অথবা অনুসন্ধান বাক্সে কোড লামা অনুসন্ধান করুন৷

অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিস প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আই.

সেজমেকার জাম্পস্টার্ট বর্তমানে কোড লামা মডেলের জন্য নির্দেশনা ফাইন-টিউনিং সমর্থন করে। নিম্নলিখিত স্ক্রিনশট কোড লামা 2 70B মডেলের জন্য ফাইন-টিউনিং পৃষ্ঠা দেখায়।

  1. জন্য প্রশিক্ষণ ডেটাসেট অবস্থান, আপনি নির্দেশ করতে পারেন আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3) ফাইন-টিউনিংয়ের জন্য প্রশিক্ষণ এবং বৈধতা ডেটাসেট ধারণকারী বালতি।
  2. ফাইন-টিউনিংয়ের জন্য আপনার স্থাপনার কনফিগারেশন, হাইপারপ্যারামিটার এবং নিরাপত্তা সেটিংস সেট করুন।
  3. বেছে নিন রেলগাড়ি একটি SageMaker ML উদাহরণে ফাইন-টিউনিং কাজ শুরু করতে।
    অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিস প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আই.

পরবর্তী বিভাগে নির্দেশনা ফাইন-টিউনিংয়ের জন্য আপনার যে ডেটাসেট ফর্ম্যাটটি প্রস্তুত করতে হবে তা আমরা আলোচনা করব।

  1. মডেলটি সূক্ষ্মভাবে তৈরি হওয়ার পরে, আপনি SageMaker JumpStart-এ মডেল পৃষ্ঠা ব্যবহার করে এটি স্থাপন করতে পারেন।

ফাইন-টিউনিং সম্পন্ন হলে ফাইন-টিউনড মডেল স্থাপন করার বিকল্পটি প্রদর্শিত হবে, যেমনটি নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে।

অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিস প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আই.

SageMaker Python SDK-এর মাধ্যমে ফাইন-টিউন

এই বিভাগে, আমরা প্রদর্শন করি কিভাবে একটি নির্দেশ-ফরম্যাটেড ডেটাসেটে সেজমেকার পাইথন SDK ব্যবহার করে কোড LIama মডেলগুলিকে সূক্ষ্ম-টিউন করতে হয়। বিশেষত, নির্দেশাবলী ব্যবহার করে বর্ণিত প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (এনএলপি) কাজের একটি সেটের জন্য মডেলটি সূক্ষ্মভাবে তৈরি করা হয়েছে। এটি জিরো-শট প্রম্পট সহ অদেখা কাজগুলির জন্য মডেলের কর্মক্ষমতা উন্নত করতে সহায়তা করে।

আপনার ফাইন-টিউনিং কাজটি সম্পূর্ণ করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন৷ আপনি থেকে সম্পূর্ণ ফাইন-টিউনিং কোড পেতে পারেন GitHub সংগ্রহস্থল.

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

{
	'system_prompt': 'a chat',
	'question': 'Please focus on the efficiency of this problem and provide code in python:nYou are given two strings `s` and `t` consisting of only lowercase English letters.nnReturn _the minimum number of characters that need to be appended to the end of_ `s` _so that_ `t` _becomes a **subsequence** of_ `s`.nnA **subsequence** is a string that can be derived from another string by deleting some or no characters without changing the order of the remaining characters.nn**Example 1:**nn**Input:** s = "coaching ", t = "coding "n**Output:** 4n**Explanation:** Append the characters "ding " to the end of s so that s = "coachingding ".nNow, t is a subsequence of s ( "**co**aching**ding** ").nIt can be shown that appending any 3 characters to the end of s will never make t a subsequence.nn**Example 2:**nn**Input:** s = "abcde ", t = "a "n**Output:** 0n**Explanation:** t is already a subsequence of s ( "**a**bcde ").nn**Example 3:**nn**Input:** s = "z ", t = "abcde "n**Output:** 5n**Explanation:** Append the characters "abcde " to the end of s so that s = "zabcde ".nNow, t is a subsequence of s ( "z**abcde** ").nIt can be shown that appending any 4 characters to the end of s will never make t a subsequence.nn**Constraints:**nn* `1 <= s.length, t.length <= 105`n* `s` and `t` consist only of lowercase English letters.',
	'response': '### Explanationn The algorithm maintains two pointers, `i` and `j`, to iterate through the given strings `s` and `t`. The pointer `i` iterates through the string `s` and the pointer `j` iterates through the string `t`. While iterating through `s`, if we find a character that matches the current character in `t`, we increment the `j` pointer. This is because the matched character can be a part of the subsequence we are looking for. The iteration stops when either `i` reaches the end of `s` or `j` reaches the end of `t`.nnAt the end, we subtract the index `j` from the length of `t`. This gives us the minimum number of characters that need to be appended to the end of `s` so that `t` becomes a subsequence of `s`.nn### Pseudocode:n```nMIN-ADDITION(s, t)n s_len = LENGTH(s)n t_len = LENGTH(t)n i = 1n j = 1n WHILE i <= s_len AND j <= t_lenn IF s[i] == t[j]n j = j + 1n ENDIFn i = i + 1n ENDWHILEn RETURN t_len - j + 1nENDMIN-ADDITIONn```nn### Coden```pythonndef min_addition(s: str, t: str) -> int:n s_len = len(s)n t_len = len(t)n i, j = 0, 0n while i < s_len and j < t_len:n if s[i] == t[j]:n j += 1n i += 1n return t_len - jn```n'
}

প্রশিক্ষণ ফোল্ডার একটি ধারণ করতে পারে template.json ফাইল ইনপুট এবং আউটপুট বিন্যাস বর্ণনা. নিম্নলিখিত একটি উদাহরণ টেমপ্লেট:

{
    "prompt": "{system_prompt} ### Input: {question}",
    "completion": "{response}"
}

টেমপ্লেট মেলে, JSON লাইন ফাইলের প্রতিটি নমুনা অন্তর্ভুক্ত করা আবশ্যক system_prompt, question, এবং response ক্ষেত্র এই প্রদর্শনীতে, আমরা ব্যবহার করি ডলফিন কোডার ডেটাসেট আলিঙ্গন মুখ থেকে.

আপনি ডেটাসেট প্রস্তুত করার পরে এবং এটি S3 বালতিতে আপলোড করার পরে, আপনি নিম্নলিখিত কোডটি ব্যবহার করে ফাইন-টিউনিং শুরু করতে পারেন:

from sagemaker.jumpstart.estimator import JumpStartEstimator

model_id = "meta-textgeneration-llama-codellama-7b" 
model_version = "*"
train_data_location = f"s3://{your_own_bucket_hosting_training_data}/" # training data in s3 bucket

estimator = JumpStartEstimator(
    model_id=model_id,
    model_version=model_version,
    hyperparameters= hyperparameters,
    environment={
        "accept_eula": "false"
    },  # please change `accept_eula` to be `true` to accept EULA.
)

estimator.fit({"training": train_data_location})

আপনি অনুমানকারী থেকে সরাসরি ফাইন-টিউনড মডেল স্থাপন করতে পারেন, যেমনটি নিম্নলিখিত কোডে দেখানো হয়েছে। বিস্তারিত জানার জন্য, নোটবুক দেখুন GitHub সংগ্রহস্থল.

finetuned_predictor = estimator.deploy()

ফাইন-টিউনিং কৌশল

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

  • নিম্ন-র্যাঙ্ক অভিযোজন (LoRA) - এটি বড় মডেলের দক্ষ ফাইন-টিউনিং এর জন্য এক ধরণের প্যারামিটার দক্ষ ফাইন-টিউনিং (PEFT)। এই পদ্ধতির সাহায্যে, আপনি পুরো মডেলটি হিমায়িত করুন এবং মডেলটিতে সামঞ্জস্যযোগ্য পরামিতি বা স্তরগুলির একটি ছোট সেট যোগ করুন। উদাহরণস্বরূপ, Llama 7 2B-এর জন্য সমস্ত 7 বিলিয়ন প্যারামিটার প্রশিক্ষণের পরিবর্তে, আপনি প্যারামিটারের 1% এরও কম সূক্ষ্ম-টিউন করতে পারেন। এটি মেমরির প্রয়োজনীয়তা উল্লেখযোগ্যভাবে হ্রাস করতে সহায়তা করে কারণ আপনাকে শুধুমাত্র 1% প্যারামিটারের জন্য গ্রেডিয়েন্ট, অপ্টিমাইজার স্টেট এবং অন্যান্য প্রশিক্ষণ-সম্পর্কিত তথ্য সংরক্ষণ করতে হবে। তদ্ব্যতীত, এটি প্রশিক্ষণের সময় এবং খরচ কমাতে সহায়তা করে। এই পদ্ধতি সম্পর্কে আরো বিস্তারিত জানার জন্য, পড়ুন LoRA: বড় ভাষার মডেলের নিম্ন-র্যাঙ্ক অভিযোজন.
  • Int8 কোয়ান্টাইজেশন - এমনকি LoRA এর মতো অপ্টিমাইজেশনের সাথেও, Llama 70B-এর মতো মডেলগুলি এখনও প্রশিক্ষণের জন্য অনেক বড়৷ প্রশিক্ষণের সময় মেমরির পদচিহ্ন হ্রাস করতে, আপনি প্রশিক্ষণের সময় Int8 কোয়ান্টাইজেশন ব্যবহার করতে পারেন। কোয়ান্টাইজেশন সাধারণত ফ্লোটিং পয়েন্ট ডেটা প্রকারের নির্ভুলতা হ্রাস করে। যদিও এটি মডেলের ওজন সঞ্চয় করার জন্য প্রয়োজনীয় মেমরি হ্রাস করে, তথ্য হারানোর কারণে এটি কর্মক্ষমতা হ্রাস করে। Int8 কোয়ান্টাইজেশন শুধুমাত্র এক চতুর্থাংশ নির্ভুলতা ব্যবহার করে কিন্তু কার্যক্ষমতার অবনতি ঘটায় না কারণ এটি কেবল বিটগুলিকে ড্রপ করে না। এটি ডেটাকে এক প্রকার থেকে অন্য প্রকারে বৃত্তাকার করে। Int8 কোয়ান্টাইজেশন সম্পর্কে জানতে, পড়ুন LLM.int8(): স্কেলে ট্রান্সফরমারের জন্য 8-বিট ম্যাট্রিক্স গুণন.
  • সম্পূর্ণরূপে শার্ডেড ডেটা প্যারালাল (FSDP) – এটি এক ধরনের ডেটা-সমান্তরাল প্রশিক্ষণ অ্যালগরিদম যা ডেটা সমান্তরাল কর্মীদের জুড়ে মডেলের প্যারামিটারগুলিকে শার্ড করে এবং ঐচ্ছিকভাবে CPU-তে প্রশিক্ষণ গণনার অংশ অফলোড করতে পারে। যদিও প্যারামিটারগুলি বিভিন্ন জিপিইউ জুড়ে শার্ড করা হয়েছে, প্রতিটি মাইক্রোব্যাচের গণনা GPU কর্মীর কাছে স্থানীয়। এটি পরামিতিগুলিকে আরও সমানভাবে শার্ড করে এবং প্রশিক্ষণের সময় যোগাযোগ এবং গণনার ওভারল্যাপিংয়ের মাধ্যমে অপ্টিমাইজ করা কর্মক্ষমতা অর্জন করে।

নিম্নলিখিত সারণীতে বিভিন্ন সেটিংস সহ প্রতিটি মডেলের বিশদ বিবরণ সংক্ষিপ্ত করা হয়েছে।

মডেল পূর্বনির্ধারিত সেটিং LORA + FSDP LORA + FSDP নেই Int8 কোয়ান্টাইজেশন + LORA + FSDP নেই
কোড লামা 2 7B LORA + FSDP হাঁ হাঁ হাঁ
কোড লামা 2 13B LORA + FSDP হাঁ হাঁ হাঁ
কোড লামা 2 34B INT8 + LORA + NO FSDP না না হাঁ
কোড লামা 2 70B INT8 + LORA + NO FSDP না না হাঁ

লামা মডেলগুলির ফাইন-টিউনিং নিম্নলিখিত দ্বারা প্রদত্ত স্ক্রিপ্টগুলির উপর ভিত্তি করে গিটহুব রেপো.

প্রশিক্ষণের জন্য সমর্থিত হাইপারপ্যারামিটার

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

  • কাল - প্রশিক্ষণ ডেটাসেটের মাধ্যমে ফাইন-টিউনিং অ্যালগরিদম যে পাসগুলি নেয়। 1 এর থেকে বড় একটি পূর্ণসংখ্যা হতে হবে। ডিফল্ট হল 5।
  • শেখার_হার - প্রশিক্ষণ উদাহরণের প্রতিটি ব্যাচের মাধ্যমে কাজ করার পরে মডেলের ওজনগুলি যে হারে আপডেট করা হয়। 0-এর চেয়ে বড় একটি ধনাত্মক ফ্লোট হতে হবে। ডিফল্ট হল 1e-4।
  • instruction_tuned - মডেলটিকে নির্দেশনা-প্রশিক্ষণ দিতে হবে কি না। অবশ্যই True or False. ডিফল্ট হয় False.
  • প্রতি_ডিভাইস_ট্রেন_ব্যাচ_সাইজ - প্রশিক্ষণের জন্য GPU কোর/CPU প্রতি ব্যাচের আকার। একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে। ডিফল্ট হল 4।
  • per_device_eval_batch_size - মূল্যায়নের জন্য GPU কোর/CPU প্রতি ব্যাচের আকার। একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে। ডিফল্ট হল 1।
  • max_train_samples – ডিবাগিং উদ্দেশ্যে বা দ্রুত প্রশিক্ষণের জন্য, প্রশিক্ষণের উদাহরণের সংখ্যা এই মান থেকে ছেঁটে দিন। মান -1 মানে প্রশিক্ষণের সমস্ত নমুনা ব্যবহার করা। একটি ধনাত্মক পূর্ণসংখ্যা বা -1 হতে হবে। ডিফল্ট হল -1।
  • সর্বোচ্চ_ভাল_নমুনা - ডিবাগিং উদ্দেশ্যে বা দ্রুত প্রশিক্ষণের জন্য, এই মানটিতে বৈধকরণ উদাহরণের সংখ্যা ছেঁটে দিন। মান -1 মানে সমস্ত বৈধকরণ নমুনা ব্যবহার করা। একটি ধনাত্মক পূর্ণসংখ্যা বা -1 হতে হবে। ডিফল্ট হল -1।
  • সর্বাধিক_ইনপুট_দৈর্ঘ্য - টোকেনাইজেশনের পরে সর্বাধিক মোট ইনপুট ক্রম দৈর্ঘ্য। এর থেকে দীর্ঘ ক্রমগুলি কাটা হবে৷ যদি -1, max_input_length টোকেনাইজার দ্বারা সংজ্ঞায়িত সর্বনিম্ন 1024 এবং সর্বাধিক মডেল দৈর্ঘ্য সেট করা হয়। যদি একটি ইতিবাচক মান সেট করা হয়, max_input_length প্রদত্ত মানের সর্বনিম্ন সেট করা হয় এবং model_max_length টোকেনাইজার দ্বারা সংজ্ঞায়িত। একটি ধনাত্মক পূর্ণসংখ্যা বা -1 হতে হবে। ডিফল্ট হল -1।
  • বৈধতা_বিভাজন_অনুপাত - যদি বৈধতা চ্যানেল হয় none, ট্রেন ডেটা থেকে ট্রেন-ভ্যালিডেশন স্প্লিটের অনুপাত 0-1 এর মধ্যে হতে হবে। ডিফল্ট 0.2।
  • ট্রেন_ডেটা_বিভক্ত_বীজ - যদি বৈধতা ডেটা উপস্থিত না থাকে, তাহলে এটি অ্যালগরিদম দ্বারা ব্যবহৃত প্রশিক্ষণ এবং বৈধতা ডেটাতে ইনপুট প্রশিক্ষণ ডেটার এলোমেলো বিভাজন ঠিক করে৷ একটি পূর্ণসংখ্যা হতে হবে. ডিফল্ট 0।
  • প্রিপ্রসেসিং_সংখ্যা_কর্মী - প্রিপ্রসেসিংয়ের জন্য ব্যবহার করার জন্য প্রসেসের সংখ্যা। যদি None, প্রধান প্রক্রিয়া preprocessing জন্য ব্যবহৃত হয়. ডিফল্ট হয় None.
  • lora_r - Lora R. একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে। ডিফল্ট 8।
  • lora_alpha - লোরা আলফা। একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে। ডিফল্ট হল 32
  • lora_dropout - লোরা ড্রপআউট। 0 এবং 1 এর মধ্যে একটি ইতিবাচক ফ্লোট হওয়া আবশ্যক। ডিফল্ট হল 0.05।
  • int8_পরিমাণকরণ - যদি True, মডেলটি প্রশিক্ষণের জন্য 8-বিট নির্ভুলতার সাথে লোড করা হয়। 7B এবং 13B এর জন্য ডিফল্ট False. 70B এর জন্য ডিফল্ট True.
  • enable_fsdp - যদি সত্য হয়, প্রশিক্ষণ FSDP ব্যবহার করে। 7B এবং 13B এর জন্য ডিফল্ট সত্য। 70B এর জন্য ডিফল্ট মিথ্যা। মনে রাখবেন যে int8_quantization FSDP এর সাথে সমর্থিত নয়।

হাইপারপ্যারামিটারগুলি নির্বাচন করার সময়, নিম্নলিখিতগুলি বিবেচনা করুন:

  • বিন্যাস int8_quantization=True মেমরির প্রয়োজনীয়তা হ্রাস করে এবং দ্রুত প্রশিক্ষণের দিকে পরিচালিত করে।
  • কমে per_device_train_batch_size এবং max_input_length মেমরির প্রয়োজনীয়তা হ্রাস করে এবং তাই ছোট ক্ষেত্রে চালানো যেতে পারে। যাইহোক, খুব কম মান সেট করা প্রশিক্ষণের সময় বাড়িয়ে দিতে পারে।
  • আপনি যদি Int8 কোয়ান্টাইজেশন ব্যবহার না করেন (int8_quantization=False), FSDP ব্যবহার করুন (enable_fsdp=True) দ্রুত এবং দক্ষ প্রশিক্ষণের জন্য।

প্রশিক্ষণের জন্য সমর্থিত উদাহরণ প্রকার

নিম্নলিখিত সারণীটি বিভিন্ন মডেলের প্রশিক্ষণের জন্য সমর্থিত উদাহরণের ধরনগুলিকে সংক্ষিপ্ত করে।

মডেল ডিফল্ট ইনস্ট্যান্স টাইপ সমর্থিত উদাহরণ প্রকার
কোড লামা 2 7B ml.g5.12x বড়

ml.g5.12x বড়,

ml.g5.24x বড়,

ml.g5.48x বড়,

ml.p3dn.24x বড়,

ml.g4dn.12x বড়

কোড লামা 2 13B ml.g5.12x বড়

ml.g5.24x বড়,

ml.g5.48x বড়,

ml.p3dn.24x বড়,

ml.g4dn.12x বড়

কোড লামা 2 70B ml.g5.48x বড়

ml.g5.48x বড়

ml.p4d.24x বড়

উদাহরণ টাইপ নির্বাচন করার সময়, নিম্নলিখিত বিবেচনা করুন:

  • G5 দৃষ্টান্ত সমর্থিত উদাহরণ প্রকারের মধ্যে সবচেয়ে দক্ষ প্রশিক্ষণ প্রদান করে। অতএব, যদি আপনার কাছে G5 দৃষ্টান্ত উপলব্ধ থাকে, তাহলে আপনার সেগুলি ব্যবহার করা উচিত।
  • প্রশিক্ষণের সময় মূলত নির্ভর করে GPU এর সংখ্যা এবং উপলব্ধ CUDA মেমরির উপর। তাই, একই সংখ্যক জিপিইউ সহ উদাহরণের প্রশিক্ষণ (উদাহরণস্বরূপ, ml.g5.2xlarge এবং ml.g5.4xlarge) মোটামুটি একই। অতএব, আপনি প্রশিক্ষণের জন্য সস্তা উদাহরণ ব্যবহার করতে পারেন (ml.g5.2xlarge)।
  • p3 দৃষ্টান্ত ব্যবহার করার সময়, প্রশিক্ষণ 32-বিট নির্ভুলতার সাথে সম্পন্ন করা হবে কারণ এই উদাহরণগুলিতে bfloat16 সমর্থিত নয়। তাই, প্রশিক্ষণের কাজটি g3 দৃষ্টান্তের তুলনায় p5 দৃষ্টান্তে প্রশিক্ষণের সময় CUDA মেমরির দ্বিগুণ পরিমাণ খরচ করবে।

প্রতি উদাহরণে প্রশিক্ষণের খরচ সম্পর্কে জানতে, পড়ুন Amazon EC2 G5 দৃষ্টান্ত.

মূল্যায়ন

সূক্ষ্ম টিউন করা মডেলের কর্মক্ষমতা মূল্যায়ন করার জন্য মূল্যায়ন একটি গুরুত্বপূর্ণ পদক্ষেপ। আমরা নন-ফাইন-টিউনড মডেলগুলির তুলনায় সূক্ষ্ম-টিউনড মডেলগুলির উন্নতি দেখানোর জন্য গুণগত এবং পরিমাণগত উভয় মূল্যায়ন উপস্থাপন করি। গুণগত মূল্যায়নে, আমরা ফাইন-টিউনড এবং নন-ফাইন-টিউনড মডেল উভয়ের থেকে একটি উদাহরণ প্রতিক্রিয়া দেখাই। পরিমাণগত মূল্যায়নে, আমরা ব্যবহার করি হিউম্যান ইভাল, সঠিক এবং নির্ভুল ফলাফল তৈরির ক্ষমতা পরীক্ষা করার জন্য পাইথন কোড তৈরি করতে OpenAI দ্বারা একটি পরীক্ষা স্যুট তৈরি করা হয়েছে। HumanEval সংগ্রহস্থল MIT লাইসেন্সের অধীনে। আমরা বিভিন্ন আকারের সমস্ত কোড লিয়ামা মডেলের পাইথন ভেরিয়েন্টগুলিকে সূক্ষ্ম-টিউন করেছি (কোড লিয়ামা পাইথন 7B, 13B, 34B, এবং 70B ডলফিন কোডার ডেটাসেট), এবং নিম্নলিখিত বিভাগে মূল্যায়ন ফলাফল উপস্থাপন করুন।

গুণগতভাবে মূল্যায়ন

আপনার ফাইন-টিউনড মডেল স্থাপনের সাথে, আপনি কোড জেনারেট করতে এন্ডপয়েন্ট ব্যবহার শুরু করতে পারেন। নিম্নলিখিত উদাহরণে, আমরা একটি পরীক্ষার নমুনায় বেস এবং ফাইন-টিউনড কোড LIama 34B পাইথন ভেরিয়েন্ট উভয়ের প্রতিক্রিয়া উপস্থাপন করি। ডলফিন কোডার ডেটাসেট:

alpaca_format = """{system_prompt}

### Input:
{question}

### Response:n"""

system="You are a coding AI"
prompt = """Please explain the reasoning behind the following solution and 
provide code in python: Given a string `s`, return the longest palindromic 
substring in `s`. **Example 1:** **Input:** s = "babad " **Output:** "bab " 
**Explanation:** "aba " is also a valid answer. **Example 2:** 
**Input:** s = "cbbd " **Output:** "bb " 
**Constraints:** * `1 <= s.length <= 1000` * `s` consist of only digits 
and English letters."""

payload = json.dumps({
    "inputText": alpaca_format.format(system_prompt=system, question=prompt),
    "textGenerationConfig": {
    "maxTokenCount": 2048,
    "temperature":0.2
}})

finetuned_response = finetuned_predictor.predict(payload)
finetuned_response["generated_text"]

সূক্ষ্ম সুর করা কোড লামা মডেল, পূর্ববর্তী প্রশ্নের জন্য কোড প্রদানের পাশাপাশি, পদ্ধতির একটি বিশদ ব্যাখ্যা এবং একটি ছদ্ম কোড তৈরি করে।

কোড লামা 34b পাইথন নন-ফাইন-টিউনড প্রতিক্রিয়া:

### Code
def longestPalindrome(s):
    # Fill this in.
    longest = ""
    for i in range(len(s)):
        for j in range(len(s), i, -1):
            if len(longest) >= j-i:
                break
            elif s[i:j] == s[i:j][::-1]:
                longest = s[i:j]
                break
    return longest

print(longestPalindrome("abaxyzzyxf"))
# axyzzyx
###Reference:
- [https://www.geeksforgeeks.org/longest-palindrome-substring-set-1/]
(https://www.geeksforgeeks.org/longest-palindrome-substring-set-1/)

কোড লামা 34B পাইথন ফাইন-টিউনড রেসপন্স

### Explanation
The algorithm uses dynamic programming to find the longest palindromic substring. 
It initializes a 2D boolean table `dp` with the same dimensions as the input string `s`. 
The `dp[i][j]` value is set to `true` if the substring from index `i` to index `j` is a palindrome.

The algorithm then iterates through the string in a nested loop, starting from the first character to the last. 
It checks if the substring from index `i` to index `j` is a palindrome. 
If it is, it sets the `dp[i][j]` value to `true`. 
If the substring is of length 2 or 3, it sets the `dp[i][j]` value to `true` as well.

After the nested loop, the algorithm iterates through the `dp` table to find the longest palindromic substring. 
It keeps track of the maximum length and the starting and ending indices of the substring.

Finally, the algorithm returns the substring from the starting index to the ending index.

### Code
```python
def longestPalindrome(s: str) -> str:
    n = len(s)
    dp = [[False] * n for _ in range(n)]

    for i in range(n):
        dp[i][i] = True
        if i + 1 < n:
            dp[i][i + 1] = s[i] == s[i + 1]

    max_len = 1
    start = 0
    end = 0

    for i in range(n - 1):
        for j in range(i + 1, n):
            if j - i == 1 or dp[i + 1][j - 1]:
                dp[i][j] = s[i] == s[j]
                if j - i + 1 > max_len:
                    max_len = j - i + 1
                    start = i
                    end = j

    return s[start:end + 1]
```

কঠিন সত্য

### Explanation 
1. Initialize `start` and `maxLength` for result substring. 
2. Iterate through the given string `s` using the index `i`. 
3. For each index `i`, create two pointers `l` and `r` starting at `i`. 
4. Check if there's a consecutive sequence of identical characters, increment the right pointer `r` until the end of the sequence is reached. 
5. Update the index `i` to the current value of `r`. 
6. Expand the pointers `l` and `r` outwards to find the longest palindromic substring, checking that characters on both sides are equal. 
7. If the current length of the substring is greater than `maxLength`, update `start` and `maxLength`. 
8. Return the longest palindromic substring using the `start` and `maxLength`. 

### Code 
```python 
def longest_palindromic_substring(s: str) → str:
    n = len(s)
    if n == 0:
        return ""
    
    start, max_length = 0, 1
    for i in range(n):
        l, r = i, i
        while r < n - 1 and s[r] == s[r + 1]:
            r += 1
            i = r
        while l > 0 and r < n - 1 and s[l - 1] == s[r + 1]:
            l -= 1
            r += 1
        length = r - l + 1
        if length > max_length:
            start, max_length = l, length
    return s[start:start + max_length]
```

মজার বিষয় হল, আমাদের কোড Llama 34B Python-এর সূক্ষ্ম-সুরিত সংস্করণ দীর্ঘতম প্যালিনড্রোমিক সাবস্ট্রিং-এর জন্য একটি গতিশীল প্রোগ্রামিং-ভিত্তিক সমাধান প্রদান করে, যা নির্বাচিত পরীক্ষার উদাহরণ থেকে গ্রাউন্ড ট্রুথ দেওয়া সমাধান থেকে আলাদা। আমাদের সূক্ষ্ম-টিউন করা মডেল কারণ এবং বিস্তারিতভাবে গতিশীল প্রোগ্রামিং-ভিত্তিক সমাধান ব্যাখ্যা করে। অন্যদিকে, নন-ফাইন-টিউনড মডেলটি সম্ভাব্য আউটপুটগুলির ঠিক পরে হ্যালুসিনেট করে print স্টেটমেন্ট (বাম কক্ষে দেখানো হয়েছে) কারণ আউটপুট axyzzyx প্রদত্ত স্ট্রিং এর দীর্ঘতম প্যালিনড্রোম নয়। সময়ের জটিলতার পরিপ্রেক্ষিতে, গতিশীল প্রোগ্রামিং সমাধান সাধারণত প্রাথমিক পদ্ধতির চেয়ে ভাল। ডায়নামিক প্রোগ্রামিং সলিউশনে O(n^2) এর সময় জটিলতা রয়েছে, যেখানে n হল ইনপুট স্ট্রিং এর দৈর্ঘ্য। এটি নন-ফাইন-টিউনড মডেলের প্রাথমিক সমাধানের চেয়ে বেশি দক্ষ, যেটিতে O(n^2) এর একটি দ্বিঘাত সময় জটিলতা ছিল কিন্তু কম অপ্টিমাইজড পদ্ধতির সাথে।

এই প্রতিশ্রুতিশীল দেখায়! মনে রাখবেন, আমরা শুধুমাত্র 10% এর সাথে কোড লিয়ামা পাইথন ভেরিয়েন্টকে ফাইন-টিউন করেছি ডলফিন কোডার ডেটাসেট. অন্বেষণ করার আরো অনেক আছে!

প্রতিক্রিয়াতে পুঙ্খানুপুঙ্খ নির্দেশনা থাকা সত্ত্বেও, আমাদের এখনও সমাধানে দেওয়া পাইথন কোডের সঠিকতা পরীক্ষা করতে হবে। পরবর্তী, আমরা নামক একটি মূল্যায়ন কাঠামো ব্যবহার করি মানব ইভাল নিয়মতান্ত্রিকভাবে এর গুণমান পরীক্ষা করার জন্য কোড লিয়ামা থেকে উৎপন্ন প্রতিক্রিয়ার উপর ইন্টিগ্রেশন পরীক্ষা চালানোর জন্য।

HumanEval এর সাথে পরিমাণগত মূল্যায়ন

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

প্রতিটি পাইথন-ভিত্তিক প্রোগ্রামিং প্রশ্নের জন্য, আমরা k প্রতিক্রিয়া পেতে সেজমেকার এন্ডপয়েন্টে মোতায়েন করা একটি কোড লিয়ামা মডেলে পাঠাই। এর পরে, আমরা HumanEval সংগ্রহস্থলে ইন্টিগ্রেশন পরীক্ষার প্রতিটি k প্রতিক্রিয়া চালাই। যদি k প্রতিক্রিয়াগুলির কোনও প্রতিক্রিয়া ইন্টিগ্রেশন পরীক্ষায় উত্তীর্ণ হয়, আমরা সেই পরীক্ষার ক্ষেত্রে সফল বলে গণ্য করি; অন্যথায়, ব্যর্থ। তারপর আমরা চূড়ান্ত মূল্যায়ন স্কোর নামে সফল মামলার অনুপাত গণনা করার প্রক্রিয়াটি পুনরাবৃত্তি করি pass@k. আদর্শ অনুশীলন অনুসরণ করে, আমরা আমাদের মূল্যায়নে k কে 1 হিসাবে সেট করি, প্রতি প্রশ্নে শুধুমাত্র একটি প্রতিক্রিয়া তৈরি করতে এবং এটি ইন্টিগ্রেশন পরীক্ষায় উত্তীর্ণ হয় কিনা তা পরীক্ষা করতে।

HumanEval সংগ্রহস্থল ব্যবহার করার জন্য নিম্নলিখিত একটি নমুনা কোড। আপনি ডেটাসেট অ্যাক্সেস করতে পারেন এবং সেজমেকার এন্ডপয়েন্ট ব্যবহার করে একটি একক প্রতিক্রিয়া তৈরি করতে পারেন। বিস্তারিত জানার জন্য, নোটবুক দেখুন GitHub সংগ্রহস্থল.

%pip3 install human_eval
import json
from human_eval.evaluation import evaluate_functional_correctness
from human_eval.data import write_jsonl, read_problems
from tqdm import tqdm
problems = read_problems()

num_samples_per_task = 1 # value k: number of responses for each question
samples = [
    dict(task_id=task_id, completion=generate_one_completion(problems[task_id]["prompt"]))
    for task_id in tqdm(problems)
    for _ in range(num_samples_per_task)
]
write_jsonl("samples.jsonl", samples)

evaluate_functional_correctness('./samples.jsonl')

নিম্নলিখিত সারণীটি বিভিন্ন মডেলের আকার জুড়ে নন-ফাইন-টিউনড মডেলগুলির তুলনায় সূক্ষ্ম-টিউনড কোড লিয়ামা পাইথন মডেলগুলির উন্নতিগুলি দেখায়। সঠিকতা নিশ্চিত করতে, আমরা সেজমেকার এন্ডপয়েন্টগুলিতে নন-ফাইন-টিউনড কোড লিয়ামা মডেলগুলি স্থাপন করি এবং মানব ইভাল মূল্যায়নের মাধ্যমে চালাই। দ্য পাস@1 সংখ্যাগুলি (নিম্নলিখিত সারণীতে প্রথম সারি) রিপোর্ট করা সংখ্যাগুলির সাথে মেলে৷ কোড লামা গবেষণা পত্র। অনুমান পরামিতি ধারাবাহিকভাবে হিসাবে সেট করা হয় "parameters": {"max_new_tokens": 384, "temperature": 0.2}.

আমরা ফলাফলগুলি থেকে দেখতে পাচ্ছি, সমস্ত ফাইন-টিউনড কোড লিয়ামা পাইথন ভেরিয়েন্টগুলি নন-ফাইন-টিউনড মডেলগুলির তুলনায় উল্লেখযোগ্য উন্নতি দেখায়৷ বিশেষ করে, কোড LIama Python 70B নন-ফাইন-টিউনড মডেলকে প্রায় 12% ছাড়িয়ে গেছে।

. 7B পাইথন 13B পাইথন 34B 34B পাইথন 70B পাইথন
প্রাক-প্রশিক্ষিত মডেল পারফরম্যান্স (পাস@1) 38.4 43.3 48.8 53.7 57.3
ফাইন-টিউনড মডেল পারফরম্যান্স (পাস@1) 45.12 45.12 59.1 61.5 69.5

এখন আপনি আপনার নিজস্ব ডেটাসেটে ফাইন-টিউনিং কোড লিয়ামা মডেল চেষ্টা করতে পারেন।

পরিষ্কার কর

আপনি যদি সিদ্ধান্ত নেন যে আপনি আর সেজমেকার এন্ডপয়েন্ট চালু রাখতে চান না, আপনি এটি ব্যবহার করে মুছে ফেলতে পারেন Python (Boto3) এর জন্য AWS SDK, এডাব্লুএস কমান্ড লাইন ইন্টারফেস (AWS CLI), বা SageMaker কনসোল। আরও তথ্যের জন্য, দেখুন এন্ডপয়েন্ট এবং রিসোর্স মুছুন. উপরন্তু, আপনি পারেন SageMaker স্টুডিও সংস্থান বন্ধ করুন যেগুলোর আর প্রয়োজন নেই।

উপসংহার

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


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

অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিস প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আই.ডঃ জিন হুয়াং Amazon SageMaker JumpStart এবং Amazon SageMaker বিল্ট-ইন অ্যালগরিদমের জন্য একজন সিনিয়র ফলিত বিজ্ঞানী। তিনি স্কেলেবল মেশিন লার্নিং অ্যালগরিদম বিকাশের দিকে মনোনিবেশ করেন। তার গবেষণার আগ্রহ প্রাকৃতিক ভাষা প্রক্রিয়াকরণের ক্ষেত্রে, ট্যাবুলার ডেটার উপর ব্যাখ্যাযোগ্য গভীর শিক্ষা এবং নন-প্যারামেট্রিক স্পেস-টাইম ক্লাস্টারিংয়ের শক্তিশালী বিশ্লেষণ। তিনি এসিএল, আইসিডিএম, কেডিডি কনফারেন্স এবং রয়্যাল স্ট্যাটিস্টিক্যাল সোসাইটি: সিরিজ এ-তে অনেক গবেষণাপত্র প্রকাশ করেছেন।

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

অ্যামাজন সেজমেকার জাম্পস্টার্টে ফাইন-টিউন কোড লামা | আমাজন ওয়েব সার্ভিস প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আই.মীনাক্ষীসুন্দরম ঠাণ্ডাভারায়ণ একজন AI/ML বিশেষজ্ঞ হিসাবে AWS-এর জন্য কাজ করে। মানব-কেন্দ্রিক ডেটা এবং বিশ্লেষণের অভিজ্ঞতা ডিজাইন, তৈরি এবং প্রচার করার জন্য তার আবেগ রয়েছে। AWS এর কৌশলগত গ্রাহকদের জন্য পরিমাপযোগ্য, প্রতিযোগিতামূলক সুবিধা প্রদান করে এমন টেকসই সিস্টেমের বিকাশের উপর মীনা ফোকাস করে। মীনা একজন সংযোজক এবং ডিজাইন চিন্তাবিদ, এবং উদ্ভাবন, ইনকিউবেশন এবং গণতন্ত্রীকরণের মাধ্যমে ব্যবসাগুলিকে কাজ করার নতুন উপায়ে চালিত করার চেষ্টা করেন।

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

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

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