paint-brush
প্রম্পটিং এবং প্রম্পট ইঞ্জিনিয়ারিংয়ের একটি ভূমিকাদ্বারা@aibites
5,795 পড়া
5,795 পড়া

প্রম্পটিং এবং প্রম্পট ইঞ্জিনিয়ারিংয়ের একটি ভূমিকা

দ্বারা Shrinivasan Sankar8m2023/06/27
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

প্রম্পট এবং প্রম্পট ইঞ্জিনিয়ারিং সহজেই 2023 সালের সবচেয়ে বেশি চাহিদার দক্ষতা। [বড় ভাষার মডেলের] দ্রুত বৃদ্ধি শুধুমাত্র প্রম্পট ইঞ্জিনিয়ারিং নামক এআই-এর এই নতুন শৃঙ্খলার আবির্ভাব দেখেছে। এই নিবন্ধে, প্রম্পট কী, প্রম্পট ইঞ্জিনিয়াররা কী করে এবং একজন প্রম্পট প্রকৌশলী যেগুলির সাথে কাজ করে তার বিভিন্ন উপাদানগুলি সম্পর্কে একটি সংক্ষিপ্ত নজর দেওয়া যাক।
featured image - প্রম্পটিং এবং প্রম্পট ইঞ্জিনিয়ারিংয়ের একটি ভূমিকা
Shrinivasan Sankar HackerNoon profile picture
0-item
1-item

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

একটি প্রম্পট ঠিক কি?

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


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


এই ইনপুটগুলিকে ডিজাইন বা ইঞ্জিনিয়ারিং করার শিল্পটি হাতের সমস্যার সাথে মানানসই করে যাতে আপনাকে সর্বোত্তমভাবে পরিবেশন করা যায় তা প্রম্পট ইঞ্জিনিয়ারিং নামে একটি মোটামুটি নতুন শৃঙ্খলার জন্ম দেয়৷


প্রম্পট ইঞ্জিনিয়ারিং

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


গণিতের একটু জটিল ক্ষেত্রে যাওয়া যাক এবং এলএলএমকে দুটি সংখ্যা গুণ করতে বলুন। প্রম্পটটি চেষ্টা করুন, " 2343*1232 কী"। আমরা যে উত্তরটি পাই তা হল " 23431232 ", যা স্পষ্টতই দুটি সংখ্যার গুণ নয় কিন্তু উভয়কে একত্রিত করা।


এখন আমাকে প্রম্পটটি পরিবর্তন করতে দিন এবং আরও নির্দিষ্ট করার জন্য প্রম্পটে একটি অতিরিক্ত লাইন যোগ করুন, “ 2343 কে 1232 দ্বারা গুণ করলে কী হয়। গুণের পরে আমাকে সঠিক উত্তর দিন ”। আমরা এখন পাই, “ 2886576 ” এলএলএম থেকে সঠিক উত্তর।


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

প্রম্পট উপাদান

প্রম্পট ডিজাইন বা ডিজাইন করার জন্য, আমাদের একটি প্রম্পটের বিভিন্ন উপাদান বুঝতে হবে। একটি প্রম্পটে নিম্নলিখিত উপাদানগুলির মধ্যে একটি বা একাধিক থাকতে পারে।


প্রম্পট নির্দেশনা হতে পারে যেখানে আপনি মডেলকে কিছু করতে বলবেন। আমাদের উদাহরণে, আমরা পাঠ্যের একটি বিশাল অংশ প্রদান করেছি এবং মডেলটিকে এটিকে সংক্ষিপ্ত করতে বলেছি।


প্রম্পটগুলি ঐচ্ছিকভাবে মডেলটির জন্য একটি প্রসঙ্গ অন্তর্ভুক্ত করতে পারে যাতে আপনাকে আরও ভালভাবে পরিবেশন করা যায়। উদাহরণ স্বরূপ, ইংরেজি হেরিটেজ সাইট বলতে আমার যদি প্রশ্ন থাকে, তাহলে আমি প্রথমে একটি প্রসঙ্গ দিতে পারি যেমন, “ইংরেজি হেরিটেজ 400 টিরও বেশি ঐতিহাসিক স্মৃতিস্তম্ভ, ভবন এবং স্থানের যত্ন নেয় — বিশ্ব-বিখ্যাত প্রাগৈতিহাসিক স্থান থেকে শুরু করে মধ্যযুগীয় দুর্গ, রোমান দুর্গ থেকে … " এবং তারপর আমার প্রশ্ন জিজ্ঞাসা করুন, " কোনটি বৃহত্তম ইংরেজি ঐতিহ্যবাহী স্থান? "


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


অথবা আপনি যদি আরও ভাল প্রতিক্রিয়া চান, আপনি আউটপুটে কলাম এবং সারি দেখতে চান তা নির্দেশ করতে আপনি এই সিনট্যাক্সের সাথে পছন্দসই বিন্যাসটি প্রবেশ করতে পারেন:


Desired format:

Company names: <comma_separated_list_of_sites>

Sites: -||-Location: -||-Speciality: -||-


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


Text: Today I saw a movie. It was amazing.

sentiment: Positive

Text: I don't very good after seeing that incident.

sentiment:

প্রম্পট এর ধরন — শট

প্রম্পটে উদাহরণ দেওয়ার এই পদ্ধতিটি আমরা উদাহরণ দেখিয়ে মানুষকে কীভাবে ব্যাখ্যা করি তার অনুরূপ। প্রম্পটিং বিশ্বে একে বলা হয় কয়েক শট প্রম্পটিং । আমরা টাস্কের ইনপুট এবং আউটপুট উভয়ই উচ্চ মানের উদাহরণ প্রদান করি। এইভাবে মডেলটি বুঝতে পারে যে আপনি কী করছেন এবং তাই আরও ভাল প্রতিক্রিয়া জানায়।


আমাদের উদাহরণের উপর প্রসারিত করে, যদি আমি একটি প্যাসেজের অনুভূতি জানতে চাই, "প্যাসেজের অনুভূতি কী" জিজ্ঞাসা করার পরিবর্তে, আমি আউটপুটে সম্ভাব্য ক্লাসগুলি কভার করে কয়েকটি উদাহরণ দিতে পারি। এই ক্ষেত্রে ইতিবাচক এবং নেতিবাচক:


Text: Today I saw a movie. It was amazing.

sentiment: Positive

Text: I don't very good after seeing that incident.

sentiment: Negative

Text: Lets party this weekend to celebrate your anniversary.

sentiment: Positive

Text: Walking in that neighbourhood is quite dangerous.sentiment: Negative

Text: I love watching tennis all day long

sentiment:


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


Text: I love watching tennis all day long

sentimet:


এটি জিরো-শট প্রম্পটিং যেখানে আপনি কোন উদাহরণ প্রদান করেন না কিন্তু তবুও আশা করেন যে মডেলটি আপনাকে সঠিকভাবে উত্তর দেবে। সাধারণত প্রম্পট ইঞ্জিনিয়ারিং করার সময়, আপনি শূন্য-শট দিয়ে শুরু করেন এটির সহজতর এবং প্রতিক্রিয়ার উপর ভিত্তি করে, আপনি আরও ভাল প্রতিক্রিয়া পাওয়ার জন্য উদাহরণ প্রদান করে কয়েকটি শটে যান।

প্রম্পটের প্রকার - ভূমিকা

আপনি যদি LLM-এর সাথে একটি বিশেষ বিষয়ে ঝাঁপিয়ে পড়তে চান, তাহলে আপনি সরাসরি এটিকে একটি ভূমিকা অর্পণ করে একটি ক্ষেত্রে একজন বিশেষজ্ঞ হতে পারেন এবং এটিকে রোল প্রম্পটিং বলা হয়।


আপনি সাধারণত এলএলএম-কে যে বিশেষজ্ঞ ভূমিকা পালন করতে হবে তা দিয়ে প্রম্পট শুরু করবেন। তারপর যা করতে হবে তার জন্য নির্দেশাবলী অনুসরণ করুন। একটি সাধারণ উদাহরণ হিসাবে, ভূমিকাটি LLM কে কবি হতে বলা হতে পারে এবং নির্দেশনা হতে পারে এআই বাইটস সম্পর্কে একটি কবিতা লিখতে।


অথবা LLM-কে লিনাক্স টার্মিনাল হিসেবে কাজ করতে বলার দ্বারা এটি কিছুটা জটিল হতে পারে। এবং একটি ফাইলের প্রথম 10 লাইন একটি ভিন্ন ফাইলে অনুলিপি করতে এবং এটি সংরক্ষণ করার জন্য নির্দিষ্ট নির্দেশাবলী প্রদান করে। এমনকি আপনি কোনো ব্যাখ্যা না দেওয়ার জন্য স্পষ্টভাবে উল্লেখ করে আউটপুটে অন্য কোনো টেক্সট অন্তর্ভুক্ত করা থেকেও আটকাতে পারেন।


You are a poet.

Write a poem about AI Bites


Act as a linux terminalI want you to provide the shell command to read the contents of a file named "input.txt".Copy the first 10 lines to a different file with the name "new.txt" and save it.Do not give any explanations.

একটি আনুষ্ঠানিক প্রম্পট কাঠামো


একটি প্রম্পটের বিভিন্ন সম্ভাব্য উপাদান আমরা একটি LLM এ ইনপুট করতে পারি

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


এর পরেই আপনি উচ্চ মানের উদাহরণ প্রদান করতে পারেন যদি আপনি কয়েকটি-শট প্রম্পটিং করছেন। এই উদাহরণগুলি আপনি মডেলকে প্রদান করতে চান এমন যেকোনো প্রসঙ্গ দ্বারা অনুসরণ করা যেতে পারে। আপনি যদি একটি প্রশ্ন জিজ্ঞাসা করতে এবং aq এবং A কাজ করতে চান, আপনি শেষ পর্যন্ত আপনার প্রশ্নগুলি অন্তর্ভুক্ত করতে পারেন

প্রম্পট ফরম্যাটিং

এখন আমরা দেখেছি যে একটি প্রম্পট কী গঠন করে, এটি আরও ভাল যদি আমরা জানি কিভাবে এই প্রম্পটগুলিকে ফর্ম্যাট করতে হয়। উদাহরণস্বরূপ, পছন্দসই বিন্যাসটি স্পষ্টভাবে উল্লেখ করা এবং তারপরে আসলে বিন্যাসটি সরবরাহ করা ভাল।


Extract locations from the below textDesired format:Cities: <comma_separated_list_of_cities>Countries: <comma_separated_list_of_countries>Input: Although the exact age of Aleppo in Syria is unknown,an ancient temple discovered in the city dates to around 3,000 BC Excavations in the1990s unearthed evidence of 5,000 years of civilization,dating Beirut, which is now Lebanon's capital, to around 3,000 BC


একইভাবে ইনপুট বা প্রসঙ্গের জন্য একটি কোলন দ্বারা অনুসৃত ইনপুট বলা এবং তারপর আপনার ইনপুট প্রদান করা ভাল।


উদাহরণ প্রদান করার সময় এই উদাহরণের মতো কয়েকটি হ্যাশ দিয়ে তাদের আলাদা করা ভাল।

Text: Today I saw a movie. It was amazing.sentiment: Positive

Text: I don't very good after seeing that incident.sentiment: Negative


Text: Lets party this weekend to celebrate your anniversary.sentiment: PositiveText: Walking in that neighbourhood is quite dangerous.sentiment: Negative


আপনি যদি ইনপুট প্রদান করেন তবে আপনি এটিকে এই উদাহরণের মতো উদ্ধৃতিতে মোড়ানো করতে পারেন:

Text: """{text input here}"""


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


Text: "Banana",

Output: "yellow \\n"

Text: "Tomato",

Output: "red \\n"

Text: "Apple",

Output: "red \\n"


আপনি যদি কোড জেনারেশন নিয়ে কাজ করেন, তাহলে আপনি যে ভাষায় আউটপুট কোড তৈরি করতে চান সেই ভাষা অনুযায়ী মন্তব্য প্রদান করা ভালো।


/*

Get the name of the use as input and print it

*/


# get the name of the user as input and print it

ভিডিওটি দেখুন

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

উপসংহার

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