কোডিং সঙ্গীদের জন্য জেনারেটিভ এআই মডেলগুলি বেশিরভাগই সর্বজনীনভাবে উপলব্ধ সোর্স কোড এবং প্রাকৃতিক ভাষার পাঠ্যের উপর প্রশিক্ষিত। যদিও প্রশিক্ষণ কর্পাসের বড় আকার মডেলগুলিকে সাধারণত ব্যবহৃত কার্যকারিতার জন্য কোড তৈরি করতে সক্ষম করে, এই মডেলগুলি ব্যক্তিগত সংগ্রহস্থলের কোড এবং তাদের সাথে বিকাশ করার সময় প্রয়োগ করা হয় এমন কোডিং শৈলী সম্পর্কে অবগত নয়। ফলস্বরূপ, উত্পন্ন পরামর্শগুলি একটি অভ্যন্তরীণ সংগ্রহস্থলে অন্তর্ভুক্তির জন্য উপযুক্ত হওয়ার আগে পুনরায় লেখার প্রয়োজন হতে পারে।
আমরা এই ব্যবধানটি পূরণ করতে পারি এবং পাবলিক কোডে প্রশিক্ষিত ভাষা মডেলের উপরে ব্যক্তিগত সংগ্রহস্থল থেকে কোড জ্ঞান এম্বেড করে অতিরিক্ত ম্যানুয়াল সম্পাদনা কমাতে পারি। এই কারণেই আমরা এর জন্য একটি কাস্টমাইজেশন ক্ষমতা তৈরি করেছি আমাজন কোড হুইস্পার. এই পোস্টে, আমরা আপনাকে পুনরুদ্ধার অগমেন্টেড জেনারেশন এবং ফাইন-টিউনিং ব্যবহার করে কোডিং সঙ্গীদের কাস্টমাইজ করার দুটি সম্ভাব্য উপায় দেখাই।
CodeWhisperer কাস্টমাইজেশন ক্ষমতার সাথে আমাদের লক্ষ্য হল সংস্থাগুলিকে তাদের ব্যক্তিগত সংগ্রহস্থল এবং লাইব্রেরিগুলি ব্যবহার করে CodeWhisperer মডেলটি তৈরি করতে সক্ষম করা যাতে সংগঠন-নির্দিষ্ট কোড সুপারিশ তৈরি করা যায় যা সময় বাঁচায়, সাংগঠনিক শৈলী এবং নিয়মাবলী অনুসরণ করে এবং বাগ বা সুরক্ষা দুর্বলতাগুলি এড়ায়৷ এটি এন্টারপ্রাইজ সফ্টওয়্যার বিকাশকে উপকৃত করে এবং নিম্নলিখিত চ্যালেঞ্জগুলি অতিক্রম করতে সহায়তা করে:
- অভ্যন্তরীণ লাইব্রেরি এবং API-এর জন্য স্পারস ডকুমেন্টেশন বা তথ্য যা ডেভেলপারদের ব্যবহার প্রতিলিপি করার জন্য পূর্বে লিখিত কোড পরীক্ষা করার জন্য সময় ব্যয় করতে বাধ্য করে।
- এন্টারপ্রাইজ-নির্দিষ্ট কোডিং অনুশীলন, শৈলী এবং নিদর্শন বাস্তবায়নে সচেতনতা এবং ধারাবাহিকতার অভাব।
- ডেভেলপারদের দ্বারা অবহেলিত কোড এবং API এর অসাবধানতাবশত ব্যবহার।
অতিরিক্ত প্রশিক্ষণের জন্য অভ্যন্তরীণ কোড সংগ্রহস্থলগুলি ব্যবহার করে যেগুলি ইতিমধ্যে কোড পর্যালোচনার মধ্য দিয়ে গেছে, ভাষা মডেলটি অভ্যন্তরীণ API এবং কোড ব্লকগুলির ব্যবহার দেখাতে পারে যা সমস্যাগুলির পূর্ববর্তী তালিকাকে অতিক্রম করে। যেহেতু রেফারেন্স কোডটি ইতিমধ্যে পর্যালোচনা করা হয়েছে এবং গ্রাহকের উচ্চ দণ্ড পূরণ করে, বাগ বা নিরাপত্তা দুর্বলতা প্রবর্তনের সম্ভাবনাও ন্যূনতম হয়৷ এবং, কাস্টমাইজেশনের জন্য ব্যবহৃত সোর্স ফাইলগুলি সাবধানতার সাথে নির্বাচন করে, সংস্থাগুলি অপ্রচলিত কোডের ব্যবহার কমাতে পারে।
চ্যালেঞ্জ ডিজাইন
একটি প্রতিষ্ঠানের ব্যক্তিগত সংগ্রহস্থলের উপর ভিত্তি করে কোড পরামর্শ কাস্টমাইজ করার অনেক আকর্ষণীয় ডিজাইন চ্যালেঞ্জ রয়েছে। সারফেস কোড সাজেশনে বৃহৎ ভাষা মডেল (LLMs) মোতায়েন করা টোকেনের সংখ্যার উপর ভিত্তি করে অনুমানের কারণে প্রাপ্যতা এবং পরিবর্তনশীল খরচের জন্য নির্দিষ্ট খরচ রয়েছে। অতএব, প্রতিটি গ্রাহকের জন্য পৃথক কাস্টমাইজেশন থাকা এবং তাদের পৃথকভাবে হোস্ট করা, যার ফলে অতিরিক্ত স্থির খরচ বহন করা নিষেধমূলকভাবে ব্যয়বহুল হতে পারে। অন্যদিকে, একই সিস্টেমে একই সাথে একাধিক কাস্টমাইজেশন থাকার ফলে প্রতিটি গ্রাহকের জন্য মালিকানা কোড আলাদা করার জন্য বহু-ভাড়াটে পরিকাঠামোর প্রয়োজন হয়। উপরন্তু, কাস্টমাইজেশন ক্ষমতা বিভিন্ন মেট্রিক্স ব্যবহার করে অভ্যন্তরীণ সংগ্রহস্থল থেকে উপযুক্ত প্রশিক্ষণ উপসেট নির্বাচন সক্ষম করতে নবগুলিকে পৃষ্ঠ করা উচিত (উদাহরণস্বরূপ, কম বাগ বা কোডের ইতিহাস সহ ফাইল যা সম্প্রতি সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ হয়েছে)। এই মেট্রিক্সের উপর ভিত্তি করে কোড নির্বাচন করে, কাস্টমাইজেশনকে উচ্চ-মানের কোড ব্যবহার করে প্রশিক্ষণ দেওয়া যেতে পারে যা কোড সাজেশনের গুণমান উন্নত করতে পারে। অবশেষে, ক্রমাগত বিকশিত কোড রিপোজিটরির সাথেও, কাস্টমাইজেশনের সাথে যুক্ত খরচ ন্যূনতম হওয়া উচিত যাতে এন্টারপ্রাইজগুলিকে বিকাশকারীর উত্পাদনশীলতা বৃদ্ধি থেকে খরচ সঞ্চয় করতে সহায়তা করে।
কাস্টমাইজেশন তৈরির একটি বেসলাইন পদ্ধতি হতে পারে মডেলটিকে একটি একক প্রশিক্ষণ কর্পাসে প্রি-ট্রেন করা যা বিদ্যমান (পাবলিক) প্রাক-প্রশিক্ষণ ডেটাসেট সহ (ব্যক্তিগত) এন্টারপ্রাইজ কোডের সমন্বয়ে গঠিত। যদিও এই পদ্ধতিটি অনুশীলনে কাজ করে, এর জন্য প্রতিটি এন্টারপ্রাইজের জন্য পাবলিক ডেটাসেট ব্যবহার করে (অপ্রয়োজনীয়) পৃথক প্রশিক্ষণের প্রয়োজন হয়। এটি প্রতিটি গ্রাহকের জন্য একটি কাস্টমাইজড মডেল হোস্ট করার সাথে যুক্ত অপ্রয়োজনীয় স্থাপনার খরচ প্রয়োজন যা শুধুমাত্র সেই গ্রাহকের কাছ থেকে উদ্ভূত ক্লায়েন্ট অনুরোধগুলিকে পরিবেশন করে। পাবলিক এবং প্রাইভেট কোডের প্রশিক্ষণকে ডিকপল করে এবং মাল্টি-টেন্যান্ট সিস্টেমে কাস্টমাইজেশন স্থাপন করে, এই অপ্রয়োজনীয় খরচগুলি এড়ানো যেতে পারে।
কীভাবে কাস্টমাইজ করা যায়
একটি উচ্চ স্তরে, দুটি ধরণের সম্ভাব্য কাস্টমাইজেশন কৌশল রয়েছে: পুনরুদ্ধার-অগমেন্টেড জেনারেশন (RAG) এবং ফাইন-টিউনিং (FT)।
- পুনরুদ্ধার-বর্ধিত প্রজন্ম: RAG একটি রিপোজিটরির মধ্যে কোডের ম্যাচিং টুকরা খুঁজে পায় যা একটি প্রদত্ত কোড খণ্ডের অনুরূপ (উদাহরণস্বরূপ, কোড যা অবিলম্বে IDE-তে কার্সারের পূর্বে থাকে) এবং এই মিলিত কোড স্নিপেটগুলির সাথে LLM-কে জিজ্ঞাসা করার জন্য ব্যবহৃত প্রম্পটকে বৃদ্ধি করে। এটি মডেলটিকে আরও প্রাসঙ্গিক কোড তৈরি করতে সাহায্য করার জন্য প্রম্পটকে সমৃদ্ধ করে। এই লাইনগুলির সাথে সাহিত্যে অন্বেষণ করা কয়েকটি কৌশল রয়েছে। দেখা জ্ঞান-নিবিড় এনএলপি টাস্কের জন্য পুনরুদ্ধার-অগমেন্টেড জেনারেশন, তা REALM-, kNN-LM এবং বিপরীতমুখী.
- ফাইন-টিউনিং: FT একটি প্রাক-প্রশিক্ষিত এলএলএম নেয় এবং উপযুক্ত সংগ্রহস্থলের জন্য এটিকে খাপ খাইয়ে নেওয়ার জন্য একটি নির্দিষ্ট, ছোট কোডবেস (প্রিট্রেইনিং ডেটাসেটের তুলনায়) এর উপর আরও প্রশিক্ষণ দেয়। ফাইন-টিউনিং এই প্রশিক্ষণের উপর ভিত্তি করে এলএলএম-এর ওজনকে সামঞ্জস্য করে, এটিকে সংস্থার অনন্য চাহিদার সাথে আরও উপযোগী করে তোলে।
এলএলএম-ভিত্তিক কাস্টমাইজেশনের কর্মক্ষমতা বাড়ানোর জন্য RAG এবং ফাইন-টিউনিং উভয়ই শক্তিশালী টুল। কম প্রশিক্ষণ জটিলতা এবং খরচ সহ RAG দ্রুত প্রাইভেট লাইব্রেরি বা API-এর সাথে মানিয়ে নিতে পারে। যাইহোক, প্রম্পটে পুনরুদ্ধার করা কোড স্নিপেটগুলি অনুসন্ধান করা এবং বৃদ্ধি করা রানটাইমে লেটেন্সি বাড়ায়। পরিবর্তে, সূক্ষ্ম-টিউনিংয়ের জন্য প্রেক্ষাপটের কোনো বৃদ্ধির প্রয়োজন হয় না কারণ মডেলটি ইতিমধ্যেই ব্যক্তিগত লাইব্রেরি এবং API-তে প্রশিক্ষিত। যাইহোক, এটি মডেল পরিবেশন করার ক্ষেত্রে উচ্চতর প্রশিক্ষণের খরচ এবং জটিলতার দিকে নিয়ে যায়, যখন একাধিক কাস্টম মডেলকে একাধিক এন্টারপ্রাইজ গ্রাহকদের মধ্যে সমর্থন করতে হয়। যেহেতু আমরা পরে আলোচনা করব, এই উদ্বেগগুলিকে আরও অপ্টিমাইজ করার মাধ্যমে প্রতিকার করা যেতে পারে৷
পুনরুদ্ধার বর্ধিত প্রজন্ম
RAG এর সাথে জড়িত কয়েকটি ধাপ রয়েছে:
ইন্ডেক্সিং
প্রশাসক দ্বারা ইনপুট হিসাবে একটি ব্যক্তিগত সংগ্রহস্থল দেওয়া, একটি সূচক তৈরি করা হয় সোর্স কোড ফাইলগুলিকে খণ্ডে বিভক্ত করে। সহজভাবে বললে, খণ্ড করা কোড স্নিপেটগুলিকে হজমযোগ্য টুকরোগুলিতে পরিণত করে যা মডেলের জন্য সবচেয়ে তথ্যপূর্ণ হতে পারে এবং প্রসঙ্গ দেওয়া হলে পুনরুদ্ধার করা সহজ। একটি খণ্ডের আকার এবং এটি একটি ফাইল থেকে কীভাবে বের করা হয় তা ডিজাইনের পছন্দ যা চূড়ান্ত ফলাফলকে প্রভাবিত করে। উদাহরণস্বরূপ, খণ্ডগুলিকে কোডের লাইনের উপর ভিত্তি করে বা সিনট্যাকটিক ব্লকের উপর ভিত্তি করে বিভক্ত করা যেতে পারে, ইত্যাদি।
অ্যাডমিনিস্ট্রেটর ওয়ার্কফ্লো
প্রাসঙ্গিক অনুসন্ধান
কার্সারের উপরে কোডের কয়েকটি লাইনের উপর ভিত্তি করে সূচীকৃত কোড স্নিপেটগুলির একটি সেট অনুসন্ধান করুন এবং প্রাসঙ্গিক কোড স্নিপেটগুলি পুনরুদ্ধার করুন। এই পুনরুদ্ধার বিভিন্ন অ্যালগরিদম ব্যবহার করে ঘটতে পারে. এই পছন্দ অন্তর্ভুক্ত হতে পারে:
- শব্দের ব্যাগ (BM25) - একটি ব্যাগ-অফ-শব্দ পুনরুদ্ধার ফাংশন যা কোয়েরি শব্দের ফ্রিকোয়েন্সি এবং কোড স্নিপেট দৈর্ঘ্যের উপর ভিত্তি করে কোড স্নিপেটগুলির একটি সেটকে স্থান দেয়।
BM25-ভিত্তিক পুনরুদ্ধার
নিচের চিত্রটি ব্যাখ্যা করে কিভাবে BM25 কাজ করে। BM25 ব্যবহার করার জন্য, প্রথমে একটি উল্টানো সূচক তৈরি করা হয়। এটি এমন একটি ডেটা স্ট্রাকচার যা কোড স্নিপেটগুলির মধ্যে বিভিন্ন পদকে ম্যাপ করে যেগুলি সেই পদগুলিতে আসে৷ অনুসন্ধানের সময়, আমরা কোয়েরিতে উপস্থিত পদগুলির উপর ভিত্তি করে কোড স্নিপেটগুলি সন্ধান করি এবং ফ্রিকোয়েন্সির উপর ভিত্তি করে সেগুলিকে স্কোর করি৷
শব্দার্থিক পুনরুদ্ধার
BM25 আভিধানিক মিলের উপর দৃষ্টি নিবদ্ধ করে। অতএব, "অ্যাড" এর পরিবর্তে "মুছে ফেলুন" ক্যোয়ারির শর্তাবলীর উপর ভিত্তি করে BM25 স্কোর পরিবর্তন নাও হতে পারে, তবে পুনরুদ্ধারকৃত কার্যকারিতা যা প্রয়োজন তার বিপরীত হতে পারে। বিপরীতে, শব্দার্থিক পুনরুদ্ধার কোড স্নিপেটের কার্যকারিতার উপর ফোকাস করে যদিও পরিবর্তনশীল এবং API নামগুলি ভিন্ন হতে পারে। সাধারণত, BM25 এবং শব্দার্থিক পুনরুদ্ধারের সংমিশ্রণ আরও ভাল ফলাফল প্রদানের জন্য একসাথে ভালভাবে কাজ করতে পারে।
বর্ধিত অনুমান
যখন বিকাশকারীরা কোড লেখেন, তখন তাদের বিদ্যমান প্রোগ্রামটি একটি প্রশ্ন তৈরি করতে ব্যবহৃত হয় যা পুনরুদ্ধার সূচকে পাঠানো হয়। উপরে আলোচিত কৌশলগুলির একটি ব্যবহার করে একাধিক কোড স্নিপেট পুনরুদ্ধার করার পরে, আমরা সেগুলিকে মূল প্রম্পটে প্রিপেন্ড করি। এখানে অনেকগুলি ডিজাইনের পছন্দ রয়েছে, যার মধ্যে রয়েছে স্নিপেটের সংখ্যা পুনরুদ্ধার করা, প্রম্পটে স্নিপেটগুলির আপেক্ষিক স্থান নির্ধারণ এবং স্নিপেটের আকার। চূড়ান্ত নকশা পছন্দ প্রাথমিকভাবে অন্তর্নিহিত ভাষা মডেলের সাথে বিভিন্ন পদ্ধতির অন্বেষণ করে অভিজ্ঞতামূলক পর্যবেক্ষণ দ্বারা চালিত হয় এবং পদ্ধতির যথার্থতা নির্ধারণে মূল ভূমিকা পালন করে। প্রত্যাবর্তিত খণ্ড থেকে বিষয়বস্তু এবং মূল কোড একত্রিত করা হয় এবং কাস্টমাইজড কোড পরামর্শ পেতে মডেলে পাঠানো হয়।
বিকাশকারী কর্মপ্রবাহ
ফাইন টিউনিং:
ফাইন-টিউনিং একটি ভাষা মডেল জন্য করা হয় প্রশিক্ষণ স্থানান্তর যেখানে একটি প্রাক-প্রশিক্ষিত মডেলের ওজন নতুন ডেটার উপর প্রশিক্ষিত হয়। লক্ষ্য হল একটি বৃহৎ কর্পাসে ইতিমধ্যে প্রশিক্ষিত একটি মডেল থেকে উপযুক্ত জ্ঞান ধরে রাখা এবং নতুন কর্পাস থেকে নতুন জ্ঞানকে পরিমার্জন করা, প্রতিস্থাপন করা বা যোগ করা - আমাদের ক্ষেত্রে, একটি নতুন কোডবেস। শুধু একটি নতুন কোডবেস উপর প্রশিক্ষণ বাড়ে বিপর্যয়কর ভুলে যাওয়া. উদাহরণস্বরূপ, ভাষা মডেল হতে পারে নিরাপত্তা সম্পর্কে এর জ্ঞান "ভুলে যাও" অথবা APIs যা আজ পর্যন্ত এন্টারপ্রাইজ কোডবেসে খুব কম ব্যবহার করা হয়েছে। মত কৌশল বিভিন্ন আছে অভিজ্ঞতা রিপ্লে, জহর, এবং পিপি-টিএফ যারা এই চ্যালেঞ্জ মোকাবেলা করতে নিযুক্ত করা হয়.
ফাইন টিউনিং
ফাইন-টিউনিংয়ের দুটি উপায় রয়েছে। একটি পদ্ধতি হল মডেলটিকে ফাইন-টিউন করার জন্য প্রম্পটকে বৃদ্ধি না করে অতিরিক্ত ডেটা ব্যবহার করা। আরেকটি পদ্ধতি হল প্রাসঙ্গিক কোড পরামর্শ পুনরুদ্ধার করে সূক্ষ্ম-টিউনিংয়ের সময় প্রম্পট বৃদ্ধি করা। এটি পুনরুদ্ধার করা কোড স্নিপেটগুলির উপস্থিতিতে আরও ভাল পরামর্শ প্রদানের মডেলের ক্ষমতা উন্নত করতে সহায়তা করে৷ মডেলটিকে প্রশিক্ষিত করার পর উদাহরণের একটি সংকলনের ভিত্তিতে মূল্যায়ন করা হয়। পরবর্তীকালে, কাস্টমাইজড মডেলটি মোতায়েন করা হয় এবং কোড পরামর্শ তৈরির জন্য ব্যবহার করা হয়।
প্রাইভেট রিপোজিটরিতে কোড জেনারেট করার জন্য ডেডিকেটেড LLM ব্যবহার করার সুবিধা থাকা সত্ত্বেও, খরচ ছোট এবং মাঝারি আকারের প্রতিষ্ঠানের জন্য নিষিদ্ধ হতে পারে। এর কারণ হল ডেডিকেটেড কম্পিউট রিসোর্স প্রয়োজন যদিও সেগুলি দলের আকারের কারণে কম ব্যবহার করা যেতে পারে। খরচ দক্ষতা অর্জনের একটি উপায় হল একই কম্পিউটে একাধিক মডেল পরিবেশন করা (উদাহরণস্বরূপ, সেজমেকার মাল্টি-টেনেন্সি) যাইহোক, ল্যাংগুয়েজ মডেলের লেটেন্সি এবং থ্রুপুট সীমাবদ্ধতাগুলি পরিচালনা করার জন্য একাধিক অঞ্চল জুড়ে এক বা একাধিক ডেডিকেটেড জিপিইউ প্রয়োজন। তাই, প্রতিটি জিপিইউতে সম্পূর্ণ মডেল হোস্টিংয়ের মাল্টি-টেনেন্সি অসম্ভাব্য।
আমরা ছোট ব্যবহার করে একই কম্পিউটে একাধিক গ্রাহককে পরিবেশন করে এই সমস্যাটি কাটিয়ে উঠতে পারি অ্যাডাপ্টার এলএলএম পর্যন্ত। প্যারামিটার-দক্ষ ফাইন-টিউনিং (PEFT) কৌশলের মতো প্রম্পট টিউনিং, উপসর্গ টিউনিং, এবং নিম্ন-র্যাঙ্ক অভিযোজন (LoRA) সঠিকতার কোন ক্ষতি ছাড়াই প্রশিক্ষণের খরচ কমাতে ব্যবহৃত হয়। LoRA, বিশেষ করে, পূর্ণ-মডেল ফাইন-টিউনিংয়ের চেয়ে অনুরূপ (বা ভাল) নির্ভুলতা অর্জনে দুর্দান্ত সাফল্য দেখেছে। মূল ধারণাটি হল একটি নিম্ন-র্যাঙ্ক ম্যাট্রিক্স ডিজাইন করা যা তারপরে মডেলের লক্ষ্যযুক্ত স্তরগুলির মূল ম্যাট্রিক্স ওজনের সাথে ম্যাট্রিসে যোগ করা হয়। সাধারণত, এই অ্যাডাপ্টারগুলি পরিবেশনের জন্য আসল মডেলের ওজনের সাথে একত্রিত হয়। এটি মূল নিউরাল নেটওয়ার্কের মতো একই আকার এবং আর্কিটেকচারের দিকে নিয়ে যায়। অ্যাডাপ্টারগুলিকে আলাদা রেখে, আমরা অনেকগুলি মডেল অ্যাডাপ্টারের সাথে একই বেস মডেল পরিবেশন করতে পারি। এটি আমাদের ছোট এবং মাঝারি আকারের গ্রাহকদের কাছে স্কেলের অর্থনীতি ফিরিয়ে আনে।
নিম্ন-র্যাঙ্ক অভিযোজন (LoRA)
কাস্টমাইজেশন কার্যকারিতা পরিমাপ
কাস্টমাইজড সমাধানের কার্যকারিতা মূল্যায়ন করার জন্য আমাদের মূল্যায়ন মেট্রিক্সের প্রয়োজন। অফলাইন মূল্যায়ন মেট্রিক্স ডিফল্ট মডেলের তুলনায় সাবপার শিপিং কাস্টমাইজেশনের বিরুদ্ধে রক্ষক হিসাবে কাজ করে। প্রদত্ত সংগ্রহস্থলের মধ্যে থেকে একটি হোল্ড-আউট ডেটাসেট থেকে ডেটাসেট তৈরি করে, কার্যকারিতা পরিমাপ করতে এই ডেটাসেটে কাস্টমাইজেশন পদ্ধতি প্রয়োগ করা যেতে পারে। কাস্টমাইজড কোড সাজেশনের সাথে বিদ্যমান সোর্স কোডের তুলনা কাস্টমাইজেশনের উপযোগিতাকে পরিমাপ করে। এই পরিমাণ নির্ধারণের জন্য ব্যবহৃত সাধারণ ব্যবস্থাগুলির মধ্যে মেট্রিক্সের মতো অন্তর্ভুক্ত সাদৃশ্য সম্পাদনা করুন, সঠিক মিল, এবং কোডব্লিইউ.
কাস্টমাইজেশনের মাধ্যমে কত ঘন ঘন অভ্যন্তরীণ API গুলিকে আহ্বান করা হয়েছে তা পরিমাপ করে এবং পূর্ব-বিদ্যমান উত্সের আহ্বানের সাথে এটি তুলনা করে উপযোগিতা পরিমাপ করাও সম্ভব। অবশ্যই, একটি সফল সমাপ্তির জন্য উভয় দিক সঠিক হওয়া গুরুত্বপূর্ণ। আমাদের কাস্টমাইজেশন পদ্ধতির জন্য, আমরা কাস্টমাইজেশন কোয়ালিটি ইনডেক্স (CQI) নামে পরিচিত একটি টেইলর-মেড মেট্রিক ডিজাইন করেছি, 1 থেকে 10 এর মধ্যে একটি একক ব্যবহারকারী-বান্ধব পরিমাপ। CQI মেট্রিক কোডের তুলনায় কাস্টমাইজড মডেলের পরামর্শের উপযোগিতা দেখায়। একটি সাধারণ পাবলিক মডেলের সাথে পরামর্শ।
সারাংশ
আমরা এই ব্লগ পোস্টে আলোচিত নেতৃস্থানীয় প্রযুক্তিগত কৌশলগুলির মিশ্রণের উপর ভিত্তি করে Amazon CodeWhisperer কাস্টমাইজেশন ক্ষমতা তৈরি করেছি এবং Persistent Systems দ্বারা পরিচালিত ডেভেলপার উৎপাদনশীলতার উপর ব্যবহারকারীর অধ্যয়নের মাধ্যমে এটিকে মূল্যায়ন করেছি। এডব্লিউএস দ্বারা পরিচালিত এই দুটি গবেষণায়, বিকাশকারীদের জাভাতে একটি মেডিকেল সফ্টওয়্যার অ্যাপ্লিকেশন তৈরি করতে বলা হয়েছিল যাতে তাদের অভ্যন্তরীণ লাইব্রেরি ব্যবহারের প্রয়োজন হয়। প্রথম গবেষণায়, CodeWhisperer-এ অ্যাক্সেস ছাড়াই ডেভেলপাররা টাস্ক সম্পূর্ণ করতে (গড়ে) ~8.2 ঘন্টা সময় নিয়েছে, যখন CodeWhisperer ব্যবহার করেছে (কাস্টমাইজেশন ছাড়া) তারা (গড়ে) ~62 ঘণ্টায় 3.1 শতাংশ দ্রুত কাজটি সম্পন্ন করেছে।
বিকাশকারী দলগুলির একটি ভিন্ন সেটের সাথে দ্বিতীয় গবেষণায়, CodeWhisperer ব্যবহারকারী বিকাশকারীরা যেগুলিকে তাদের ব্যক্তিগত কোডবেস ব্যবহার করে কাস্টমাইজ করা হয়েছে তারা গড়ে 2.5 ঘন্টার মধ্যে কাজটি সম্পন্ন করেছে, যারা কাস্টমাইজেশন ছাড়াই CodeWhisperer ব্যবহার করছে তাদের তুলনায় 28 শতাংশ দ্রুত এবং ~3.5-এ কাজটি সম্পন্ন করেছে গড়ে ঘন্টা। আমরা দৃঢ়ভাবে বিশ্বাস করি যে আপনার কোডবেসে কাস্টমাইজ করা CodeWhisperer-এর মতো টুলগুলি ডেভেলপারের উৎপাদনশীলতাকে আরও বাড়ানোর জন্য একটি মুখ্য ভূমিকা পালন করে এবং এটিকে চালানোর সুপারিশ করে। আরও তথ্যের জন্য এবং শুরু করতে, দেখুন Amazon CodeWhisperer পেজ.
লেখক সম্পর্কে
কিং সান তিনি AWS AI ল্যাবে একজন সিনিয়র ফলিত বিজ্ঞানী এবং AWS CodeWhisperer-এ কাজ করেন, একটি জেনারেটিভ AI-চালিত কোডিং সহকারী৷ তার গবেষণার আগ্রহ প্রাকৃতিক ভাষা প্রক্রিয়াকরণ, AI4Code এবং জেনারেটিভ AI-তে নিহিত। অতীতে, তিনি কম্প্রিহেন্ড মেডিকেল, অ্যামাজন হেলথ এআই-এর একটি মেডিকেল ডায়াগনসিস সিস্টেম এবং মেটা এআই-এ মেশিন ট্রান্সলেশন সিস্টেমের মতো বেশ কয়েকটি এনএলপি-ভিত্তিক পরিষেবাগুলিতে কাজ করেছেন। তিনি 2017 সালে ভার্জিনিয়া টেক থেকে তার পিএইচডি পেয়েছিলেন।
আরাশ ফারাহানি Amazon CodeWhisperer-এর একজন ফলিত বিজ্ঞানী। তার বর্তমান আগ্রহ জেনারেটিভ এআই, অনুসন্ধান এবং ব্যক্তিগতকরণে। আরাশ এমন সমাধান তৈরি করার বিষয়ে উত্সাহী যা বিকাশকারীর ব্যথার পয়েন্টগুলি সমাধান করে। তিনি CodeWhisperer-এর মধ্যে একাধিক বৈশিষ্ট্যের উপর কাজ করেছেন, এবং সমস্ত Amazon বিকাশকারীদের স্পর্শ করে এমন বিভিন্ন অভ্যন্তরীণ ওয়ার্কস্ট্রিমগুলিতে NLP সমাধান প্রবর্তন করেছেন। তিনি 2017 সালে আরবানা-চ্যাম্পেইনের ইলিনয় বিশ্ববিদ্যালয় থেকে পিএইচডি অর্জন করেন।
জিয়াওফি মা AWS AI ল্যাবসে একজন ফলিত বিজ্ঞান ব্যবস্থাপক। তিনি 2016 সালে SCOT সংস্থার মধ্যে একজন ফলিত বিজ্ঞানী হিসাবে অ্যামাজনে যোগদান করেন এবং তারপরে 2018 সালে AWS AI ল্যাবসে অ্যামাজন কেন্দ্রে কাজ করেন। Xiaofei কেন্দ্র, কন্টাক্ট লেন্স এবং অতি সম্প্রতি CodeWhisperer এবং CodeGuru সিকিউরিটি সহ বেশ কয়েকটি পরিষেবার জন্য বিজ্ঞান ব্যবস্থাপক হিসাবে কাজ করছে। তার গবেষণার আগ্রহ AI4Code এবং প্রাকৃতিক ভাষা প্রক্রিয়াকরণের ক্ষেত্রে নিহিত। তিনি 2010 সালে ইউনিভার্সিটি অফ মেরিল্যান্ড, কলেজ পার্ক থেকে পিএইচডি লাভ করেন।
মুরলী কৃষ্ণ রামনাথন তিনি AWS AI ল্যাব-এ একজন প্রধান ফলিত বিজ্ঞানী এবং AWS CodeWhisperer-এর সহ-নেতৃত্ব করেন, একটি জেনারেটিভ এআই-চালিত কোডিং সঙ্গী। তিনি সফ্টওয়্যার সরঞ্জাম এবং কর্মপ্রবাহ তৈরির বিষয়ে উত্সাহী যা বিকাশকারীর উত্পাদনশীলতা উন্নত করতে সহায়তা করে। অতীতে, তিনি পিরানহা তৈরি করেছিলেন, একটি স্বয়ংক্রিয় রিফ্যাক্টরিং টুল যা কোড মুছে ফেলার জন্য বাসি বৈশিষ্ট্যের পতাকাগুলির কারণে এবং উবার প্রকৌশলে কোড মানের উদ্যোগের নেতৃত্ব দেয়। তিনি Google ফ্যাকাল্টি পুরস্কার (2015), ACM SIGSOFT বিশিষ্ট কাগজ পুরস্কার (ISSTA 2016) এবং মরিস হালস্টেড পুরস্কার (Purdue 2006) প্রাপক। তিনি 2008 সালে পারডু বিশ্ববিদ্যালয় থেকে কম্পিউটার সায়েন্সে পিএইচডি ডিগ্রি লাভ করেন।
রমেশ নল্লাপতি তিনি AWS AI ল্যাবসের একজন সিনিয়র প্রিন্সিপাল অ্যাপ্লাইড সায়েন্টিস্ট এবং CodeWhisperer, একটি জেনারেটিভ AI-চালিত কোডিং সঙ্গী এবং AWS-এ টাইটান লার্জ ল্যাঙ্গুয়েজ মডেলের সহ-নেতৃত্ব করেন। তার আগ্রহ মূলত প্রাকৃতিক ভাষা প্রক্রিয়াকরণ এবং জেনারেটিভ এআই এর ক্ষেত্রে। অতীতে, রমেশ কেন্দ্র, কুইকসাইট কিউ এবং কন্টাক্ট লেন্সের মতো অনেক এনএলপি-ভিত্তিক AWS পণ্য সরবরাহে বিজ্ঞান নেতৃত্ব প্রদান করেছেন। তিনি স্ট্যানফোর্ড, সিএমইউ এবং আইবিএম রিসার্চে গবেষণার পদে অধিষ্ঠিত ছিলেন এবং পিএইচডি লাভ করেন। 2006 সালে ম্যাসাচুসেটস আমহার্স্ট বিশ্ববিদ্যালয় থেকে কম্পিউটার বিজ্ঞানে।
- এসইও চালিত বিষয়বস্তু এবং পিআর বিতরণ। আজই পরিবর্ধিত পান।
- PlatoData.Network উল্লম্ব জেনারেটিভ Ai. নিজেকে ক্ষমতায়িত করুন। এখানে প্রবেশ করুন.
- প্লেটোএআইস্ট্রিম। Web3 ইন্টেলিজেন্স। জ্ঞান প্রসারিত. এখানে প্রবেশ করুন.
- প্লেটোইএসজি। কার্বন, ক্লিনটেক, শক্তি, পরিবেশ সৌর, বর্জ্য ব্যবস্থাপনা. এখানে প্রবেশ করুন.
- প্লেটো হেলথ। বায়োটেক এবং ক্লিনিক্যাল ট্রায়াল ইন্টেলিজেন্স। এখানে প্রবেশ করুন.
- উত্স: https://aws.amazon.com/blogs/machine-learning/customizing-coding-companions-for-organizations/
- : আছে
- : হয়
- :না
- $ ইউপি
- 1
- 10
- 100
- 2006
- 2008
- 2012
- 2015
- 2016
- 2017
- 2018
- 28
- 500
- 7
- a
- ক্ষমতা
- সম্পর্কে
- উপরে
- প্রবেশ
- সঠিকতা
- অর্জন করা
- অর্জনের
- এসিএম
- দিয়ে
- আইন
- খাপ খাওয়ানো
- অভিযোজন
- যোগ
- যোগ
- অতিরিক্ত
- ঠিকানা
- অ্যাডমিন
- সুবিধাদি
- প্রভাবিত
- পর
- বিরুদ্ধে
- AI
- এআই মডেল
- এআই চালিত
- আলগোরিদিম
- সব
- বরাবর
- ইতিমধ্যে
- এছাড়াও
- মর্দানী স্ত্রীলোক
- আমাজন কোড হুইস্পার
- আমাজন কেন্দ্র
- অ্যামাজন ওয়েব সার্ভিসেস
- an
- এবং
- অন্য
- কোন
- API
- API গুলি
- আবেদন
- ফলিত
- অভিগমন
- পন্থা
- যথাযথ
- স্থাপত্য
- রয়েছি
- এলাকায়
- এলাকার
- AS
- আ
- পরিমাপ করা
- সহায়ক
- যুক্ত
- At
- বৃদ্ধি
- উদ্দীপিত
- বৃদ্ধি
- অটোমেটেড
- উপস্থিতি
- সহজলভ্য
- গড়
- এড়াতে
- অপবারিত
- পুরস্কার
- সচেতনতা
- ডেস্কটপ AWS
- পিছনে
- বার
- ভিত্তি
- ভিত্তি
- বেসলাইন
- মৌলিক
- BE
- কারণ
- হয়েছে
- আগে
- বিশ্বাস করা
- সুবিধা
- উত্তম
- মধ্যে
- ব্লক
- ব্লগ
- boosting
- উভয়
- আনে
- বাগ
- ভবন
- নির্মিত
- কিন্তু
- by
- CAN
- সামর্থ্য
- সাবধানে
- কেস
- চ্যালেঞ্জ
- চ্যালেঞ্জ
- পরিবর্তন
- পছন্দ
- পছন্দ
- মক্কেল
- কোড
- কোডবেস
- কোডিং
- কলেজ
- সমাহার
- মিলিত
- প্রতিজ্ঞাবদ্ধ
- সাধারণ
- সাধারণভাবে
- সহচর
- সঙ্গী
- তুলনা
- তুলনা
- সম্পূর্ণ
- সম্পন্ন হয়েছে
- পরিপূরণ
- জটিলতার
- জটিলতা
- স্থিরীকৃত
- বোঝা
- গনা
- কম্পিউটার
- কম্পিউটার বিজ্ঞান
- উদ্বেগ
- পরিচালিত
- অতএব
- সীমাবদ্ধতার
- যোগাযোগ
- সুখী
- প্রসঙ্গ
- একটানা
- বিপরীত হত্তয়া
- নিয়মাবলী
- মূল্য
- খরচ বাঁচানো
- খরচ
- পারা
- পথ
- সৃষ্টি
- নির্মিত
- বর্তমান
- প্রথা
- ক্রেতা
- গ্রাহকদের
- স্বনির্ধারণ
- কাস্টমাইজড
- উপাত্ত
- তথ্য কাঠামো
- ডেটাসেট
- তারিখ
- নিবেদিত
- ডিফল্ট
- প্রদান করা
- প্রদান
- মোতায়েন
- মোতায়েন
- বিস্তৃতি
- অবচিত
- নকশা
- পরিকল্পিত
- নির্ণয়
- উন্নত
- বিকাশকারী
- ডেভেলপারদের
- উন্নয়নশীল
- উন্নয়ন
- রোগ নির্ণয়
- বিভিন্ন
- হজমযোগ্য
- আলোচনা করা
- আলোচনা
- বিশিষ্ট
- ডকুমেন্টেশন
- না
- সম্পন্ন
- চালিত
- কারণে
- সময়
- প্রতি
- সহজ
- অর্থনীতির
- অর্থনীতির মাত্রা
- কার্যকারিতা
- কার্যক্ষমতা
- দক্ষতা
- এম্বেডিং
- নিযুক্ত
- সক্ষম করা
- সম্ভব
- প্রকৌশল
- বর্ধনশীল
- উদ্যোগ
- এন্টারপ্রাইজ সফটওয়্যার
- উদ্যোগ
- বিশেষত
- মূল্যায়ন
- মূল্যায়ন
- এমন কি
- নব্য
- অনুসন্ধানী
- উদাহরণ
- উদাহরণ
- বিদ্যমান
- ব্যয়বহুল
- অভিজ্ঞতা
- অন্বেষণ করা
- এক্সপ্লোরিং
- দ্রুত
- বৈশিষ্ট্য
- বৈশিষ্ট্য
- কয়েক
- কম
- ব্যক্তিত্ব
- ফাইল
- নথি পত্র
- চূড়ান্ত
- পরিশেষে
- খুঁজে বের করে
- প্রথম
- স্থায়ী
- পতাকা
- গুরুত্ত্ব
- অনুসরণ করা
- অনুসরণ
- জন্য
- ফোর্সেস
- ফ্রিকোয়েন্সি
- থেকে
- FT
- সম্পূর্ণ
- ক্রিয়া
- কার্যকারিতা
- অধিকতর
- তদ্ব্যতীত
- ফাঁক
- উত্পাদন করা
- উত্পন্ন
- উৎপাদিত
- প্রজন্ম
- সৃজক
- জেনারেটিভ এআই
- পাওয়া
- পেয়ে
- প্রদত্ত
- দান
- লক্ষ্য
- গুগল
- জিপিইউ
- জিপিইউ
- মহান
- ছিল
- হাত
- হাতল
- ঘটা
- আছে
- জমিদারি
- he
- স্বাস্থ্য
- দখলী
- সাহায্য
- সাহায্য
- অত: পর
- তার
- এখানে
- উচ্চ
- ঊর্ধ্বতন
- তার
- ইতিহাস
- হোস্টিং
- ঘন্টার
- কিভাবে
- যাহোক
- এইচটিএমএল
- HTTPS দ্বারা
- আইবিএম
- ধারণা
- ইলিনয়
- প্রকাশ
- অবিলম্বে
- বাস্তবায়ন
- গুরুত্বপূর্ণ
- উন্নত করা
- in
- অন্তর্ভুক্ত করা
- সুদ্ধ
- বর্ধিত
- বৃদ্ধি
- সূচক
- সূচীবদ্ধ
- স্বতন্ত্র
- স্বতন্ত্রভাবে
- তথ্য
- তথ্যপূর্ণ
- পরিকাঠামো
- উদ্যোগ
- ইনপুট
- পরিবর্তে
- মজাদার
- মধ্যে রয়েছে
- অভ্যন্তরীণ
- মধ্যে
- উপস্থাপিত
- উপস্থাপক
- প্রার্থনা
- জড়িত
- IT
- এর
- জাভা
- যোগদান
- পালন
- চাবি
- জ্ঞান
- পরিচিত
- ল্যাবস
- ভাষা
- বড়
- অদৃশ্যতা
- পরে
- স্তর
- নেতৃত্ব
- নেতৃত্ব
- বিশালাকার
- বরফ
- উচ্চতা
- লাইব্রেরি
- মিথ্যা
- মত
- সম্ভাবনা
- সম্ভবত
- লাইন
- তালিকা
- সাহিত্য
- LLM
- দেখুন
- ক্ষতি
- নিম্ন
- মেশিন
- প্রধানত
- মেকিং
- পরিচালক
- ম্যানুয়াল
- অনেক
- মানচিত্র
- মেরিল্যান্ড
- ম্যাসাচুসেটস
- ম্যাচ
- মিলেছে
- ম্যাচিং
- জরায়ু
- মে..
- মাপ
- পরিমাপ
- চিকিৎসা
- পূরণ
- মেটা
- ছন্দোময়
- ছন্দোবিজ্ঞান
- হতে পারে
- যত্সামান্য
- মিশ্রণ
- মডেল
- মডেল
- অধিক
- সেতু
- অধিকাংশ ক্ষেত্রে
- বহু
- নাম
- প্রাকৃতিক
- স্বাভাবিক ভাষা প্রক্রিয়াকরণ
- প্রয়োজনীয়
- প্রয়োজন
- প্রয়োজন
- চাহিদা
- নেটওয়ার্ক
- নার্ভীয়
- স্নায়বিক নেটওয়ার্ক
- নতুন
- NLP
- সংখ্যা
- পর্যবেক্ষণ
- of
- অফলাইন
- প্রায়ই
- on
- ONE
- কেবল
- বিপরীত
- সর্বোচ্চকরন
- or
- ক্রম
- সংগঠন
- সাংগঠনিক
- সংগঠন
- মূল
- উদ্ভব
- অন্যান্য
- আমাদের
- বাইরে
- পরাস্ত
- ব্যথা
- কাগজ
- পার্ক
- কামুক
- গত
- নিদর্শন
- পিডিএফ
- শতাংশ
- কর্মক্ষমতা
- ব্যক্তিগতকরণ
- পিএইচডি
- টুকরা
- স্থাননির্ণয়
- Plato
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটোডাটা
- খেলা
- নাটক
- পয়েন্ট
- অবস্থানের
- সম্ভব
- পোস্ট
- ক্ষমতাশালী
- অনুশীলন
- চর্চা
- উপস্থিতি
- বর্তমান
- পূর্বে
- প্রাথমিকভাবে
- অধ্যক্ষ
- ব্যক্তিগত
- সমস্যা
- সমস্যা
- প্রক্রিয়াজাতকরণ
- প্রমোদ
- পণ্য
- কার্যক্রম
- মালিকানা
- প্রদান
- প্রদত্ত
- প্রকাশ্য
- প্রকাশ্যে
- করা
- গুণ
- পরিমাপ
- পরিমাপ করে
- দ্রুত
- রেঞ্জিং
- পদমর্যাদার
- সাধা
- গৃহীত
- সম্প্রতি
- সুপারিশ করা
- সুপারিশ
- হ্রাস করা
- উল্লেখ
- পরিমার্জন
- উপর
- প্রাসঙ্গিক
- প্রতিস্থাপন করা
- সংগ্রহস্থলের
- অনুরোধ
- প্রয়োজন
- প্রয়োজনীয়
- প্রয়োজন
- গবেষণা
- সমাধান
- Resources
- ফল
- ফলাফল
- রাখা
- পর্যালোচনা
- পর্যালোচনা
- পুনর্লিখন
- অধিকার
- ভূমিকা
- চালান
- একই
- সংরক্ষণ করুন
- জমা
- স্কেল
- বিজ্ঞান
- বিজ্ঞানী
- স্কোর
- স্কট
- সার্চ
- অনুসন্ধানের
- দ্বিতীয়
- নিরাপত্তা
- দেখ
- দেখা
- নির্বাচন
- নির্বাচন
- জ্যেষ্ঠ
- প্রেরিত
- আলাদা
- পরিবেশন করা
- স্থল
- সেবা
- ভজনা
- সেট
- বিভিন্ন
- সে
- পরিবহন
- উচিত
- প্রদর্শনী
- শো
- অনুরূপ
- কেবল
- এককালে
- একক
- আয়তন
- ছোট
- ক্ষুদ্রতর
- টুকিটাকি
- So
- সফটওয়্যার
- সফটওয়্যার উন্নয়ন
- সমাধান
- সলিউশন
- উৎস
- সোর্স কোড
- নির্দিষ্ট
- ব্যয় করা
- বিভক্ত করা
- স্ট্যানফোর্ড
- শুরু
- প্রারম্ভিক ব্যবহারের নির্দেশাবলী
- প্রবলভাবে
- গঠন
- গবেষণায়
- অধ্যয়ন
- শৈলী
- পরবর্তীকালে
- সাফল্য
- সফল
- এমন
- সমর্থিত
- পৃষ্ঠতল
- পদ্ধতি
- সিস্টেম
- দরজী
- উপযোগী
- লাগে
- লক্ষ্যবস্তু
- কার্য
- দল
- প্রযুক্তি
- কারিগরী
- প্রযুক্তি
- মেয়াদ
- শর্তাবলী
- পাঠ
- চেয়ে
- যে
- সার্জারির
- ক্ষেত্র
- উৎস
- তাদের
- তাহাদিগকে
- তারপর
- সেখানে।
- যার ফলে
- অতএব
- এইগুলো
- তারা
- এই
- সেগুলো
- যদিও?
- থ্রুপুট
- সময়
- দানব
- থেকে
- একসঙ্গে
- টোকেন
- গ্রহণ
- টুল
- সরঞ্জাম
- শীর্ষ
- স্পর্শ
- প্রশিক্ষিত
- প্রশিক্ষণ
- ট্রেন
- অনুবাদ
- সুরকরণ
- পালা
- দুই
- ধরনের
- সাধারণত
- উবার
- ঘটানো
- নিম্নাবস্থিত
- অনন্য
- বিশ্ববিদ্যালয়
- ব্যবহার
- ব্যবহার
- ব্যবহৃত
- ব্যবহারকারী
- ব্যবহারকারী বান্ধব
- ব্যবহার
- পরিবর্তনশীল
- বৈচিত্র্য
- বিভিন্ন
- ভার্জিনিয়া
- দেখুন
- দুর্বলতা
- উপায়..
- উপায়
- we
- ওয়েব
- ওয়েব সার্ভিস
- ওজন
- আমরা একটি
- ছিল
- কি
- কখন
- যে
- যখন
- হু
- কেন
- সঙ্গে
- মধ্যে
- ছাড়া
- শব্দ
- হয়া যাই ?
- কাজ করছে
- কর্মপ্রবাহ
- কাজ
- কাজ
- লেখা
- কোড লিখুন
- লিখিত
- আপনি
- আপনার
- zephyrnet
- এলাকার