មូលដ្ឋាននេះគ្របដណ្តប់កាន់តែក្នុងយល់ដឹងនិងបច្ចេកទេសសំខាន់ៗសម្រាប់បង្កើតបញ្ចូលបញ្ជាដែលមានប្រសិទ្ធភាពក្នុងម៉ូដែល AI បង្កើតថ្មី។ របៀបដែលអ្នកសរសេរបញ្ចូលបញ្ជាទៅកាន់ LLM ក៏សំខាន់ដែរ។ បញ្ចូលបញ្ជាដែលបានរៀបចំយ៉ាងប្រុងប្រយ័ត្នអាចទទួលបានចម្លើយដែលមានគុណភាពល្អជាងមុន។ តែពាក្យដូចជា prompt និង prompt engineering មានន័យថាអ្វី? ហើយតើខ្ញុំអាចបង្កើនគុណភាពនៃបញ្ចូលបញ្ជា input ដែលខ្ញុំផ្ញើទៅកាន់ LLM ដូចម្តេច? នេះគឺជាសំនួរដែលយើងនឹងព្យាយាមឆ្លើយនៅក្នុងវិញ្ញាសានេះ និងវិញ្ញាសាខាងក្រោយ។
Generative AI មានសមត្ថភាពធ្វើបញ្ចូលមួយថ្មី (ដូចជា អត្ថបទ, រូបភាព, សំលេង, កូដ ល) ដើម្បីឆ្លើយតបនឹងការស្នើសុំរបស់អ្នកប្រើ។ វាទទួលបាននេះដោយប្រើ ម៉ូដែលភាសាធំ (Large Language Models) ដូចជា ស៊េរី GPT របស់ OpenAI ("Generative Pre-trained Transformer") ដែលបានបណ្តុះបណ្តាលសម្រាប់ការប្រើប្រាស់ភាសាតិចតួស និងកូដ។
ឥឡូវនេះអ្នកប្រើអាចអន្តរកម្មជាមួយម៉ូដែលទាំងនេះតាមរបៀបដែលគេស្គាល់ដូចជា ការជជែក ត្រូវដោយមិនចាំបាច់មានជំនាញបច្ចេកទេស ឬការបណ្តុះបណ្តាល។ ម៉ូដែលទាំងនេះគឺផ្អែកលើ បញ្ចូលបញ្ជា - អ្នកប្រើផ្ញើបញ្ចូលអក្សរ (prompt) ហើយទទួលបានចម្លើយ AI (completion) តបត Back ។ បន្ទាប់មកពួកគេអាច "ជជែកជាមួយ AI" ជាថ្មីៗក្នុងការជជែកច្រើនជំហាន ដើម្បីកែលម្អបញ្ចូលបញ្ជារហូតដល់ចម្លើយត្រូវតាមបំណងរបស់ពួកគេ។
"បញ្ចូលបញ្ជា" ឥឡូវនេះក្លាយជាចំណុចច្នៃប្រឌិតក្នុងការកម្មវិធីសម្រាប់កម្មវិធី AI បង្កើតថ្មី ដើម្បីប្រាប់ម៉ូដែលធ្វើអ្វីផ្សេងៗ និងឥទ្ធិពលលើគុណភាពនៃចម្លើយត្រឡប់មកវិញ។ "Prompt Engineering" ជាវិស័យរៀនភាគរយរហוסקដែលផ្តោតសំខាន់លើ ការរចនា និងបង្កើតប្រសិទ្ធភាព នៃបញ្ចូលបញ្ជា ដើម្បីផ្តល់នូវចម្លើយជាប់លាប់និងមានគុណភាពនៅលំដាប់ធំ។
នៅក្នុងមេរៀននេះ យើងរៀនពីអ្វីដែលជា Prompt Engineering, មូលហេតុដែលវាសំខាន់ និងរបៀបដែលយើងអាចរៀបចំបញ្ចូលបញ្ជាឱ្យមានប្រសិទ្ធភាពសម្រាប់ម៉ូដែលនិងគោលបំណងកម្មវិធីណាមួយ។ យើងនឹងយល់ដឹងគោលការសំខាន់និងអនុវត្តការអនុញ្ញាតល្អៗសម្រាប់វិស្វកម្មបញ្ចូលបញ្ជា - និងរៀនពីបរិយាកាស Jupyter Notebooks មានអន្តរកម្ម "sandbox" ដែលអាចឱ្យយើងមើលឃើញគំនិតទាំងនេះបំព្រួញទៅលើឧទាហរណ៍ពិត។
នៅចុងបង្រៀននេះ យើងនឹងអាច:
- ពន្យល់អំពីអ្វីដែលជា prompt engineering និងមូលហេតុថាវាសំខាន់។
- ពិពណ៌នាអំពីឧបករណ៍របស់បញ្ចូលបញ្ជា និងរបៀបដែលវាត្រូវបានប្រើ។
- រៀនអំពីអនុវត្តល្អបំផុត និងបច្ចេកទេសសម្រាប់ prompt engineering។
- អនុវត្តបច្ចេកទេសដែលរៀនបានទៅលើឧទាហរណ៍ពិត โดยប្រើចំណុចចេញ OpenAI។
Prompt Engineering: ការអនុវត្តការរចនានិងកែលម្អបញ្ចូល ដើម្បីណែនាំម៉ូដែល AI ទៅរកចេញលទ្ធផលចង់បាន។ Tokenization: ដំណើរការបម្លែងអត្ថបទទៅជាឯកតាតូចៗហៅថា tokens ដែលម៉ូដែលអាចយល់និងដំណើរការបាន។ Instruction-Tuned LLMs: ម៉ូដែលភាសាធំដែលបានថែរក្សាយ៉ាងច្បាស់ជាមួយនឹងប៉ារ៉ាម៉ែត្រពិសេសដើម្បីបង្កើនភាពត្រឹមត្រូវនិងទាក់ចិត្តគោលបំណងនៃការឆ្លើយតប។
Prompt engineering ពេលនេះគឺជាការសិល្បៈច្រើនជាងវិទ្យាសាស្ត្រ។ វិធីល្អបំផុតក្នុងការកែលម្អជំនាញរបស់យើងគឺ ហាត់ប្រាណច្រើនជាងមុន និងអនុវត្តវិធីសាកល្បង និងកំហុស ដែលបង្កើតសមាសភាគចំណេះដឹងក្នុងសកម្មភាពកម្មវិធីជាមួយបច្ចេកទេសដែលបានណែនាំ និងការបង្កើតម៉ូដែលតាមពិសេស។
Jupyter Notebook ដែលភ្ជាប់មកជាមួយមេរៀននេះផ្តល់បរិយាកាស sandbox ដែលអ្នកអាចសាកល្បងអ្វីដែលរៀនបាន - ពេលដែលធ្វើការហាត់ប្រាណ ឬជាផ្នែកនៃបញ្ហាកូដនៅចុងបង្រៀន។ ដើម្បីអនុវត្តមូលហេតុនេះ អ្នកត្រូវការតែ៖
- កូនសោ API OpenAI Azure - ចំណុចសេវាជាមួយ LLM ដែលបានដាក់បង្ហោះ។
- បរិយាកាស Python Runtime - ដែលអាចរត់ព្រមក្នុង Notebook។
- អថេរបរិស្ថានក្នុងតំបន់ - បញ្ចប់ជំហាន SETUP ឥឡូវនេះដើម្បីរៀបចំនៅក្រុមហ៊ុន។
Notebook មានលំហាត់ មូលដ្ឋាន ជាមួយអង្គភាព Markdown (ពណ៌នា) និង Code (ស្នើសុំបញ្ចូលបញ្ជា) ដែលអ្នកអាចបន្ថែមដើម្បីសាកល្បងឧទាហរណ៍ ឬគំនិតបន្ថែមៗ - ដើម្បីសង់នូវជំនាញរចនាបញ្ចូលល្អ។
ចង់ទទួលបានរូបមន្តទូលំទូលាយអំពីអ្វីដែលមេរៀននេះគ្របដណ្តប់មុនចូលក្នុងមេរៀន? សូមមើលមគ្គុទេសក៍រូបភាពនេះ ដែលផ្តល់ឱ្យអ្នកនូវការយល់ដឹងអំពីប្រធានបទសំខាន់ៗ និងចំណុចសំខាន់ៗដើម្បីគិតក្នុងមេរៀននីមួយៗ។ ផែនទីមេរៀននាំអោយអ្នកពីការយល់ដឹងគំនិតសំខាន់និងកង្វះខាតទៅកាន់ការដោះស្រាយជាមួយបច្ចេកទេសនិងអនុវត្តល្អសម្រាប់ prompt engineering ។ សូមចំណាំថា ផ្នែក "បច្ចេកទេសជំនាញ" ក្នុងមគ្គុទេសក៍នេះយោងទៅដល់មាតិកាក្នុងជំពូក បន្ទាប់ នៃវគ្គសិក្សានេះ។
ឥឡូវនេះ យើងនិយាយពីរបៀបដែល ប្រធានបទនេះ ទាក់ទងទៅកាន់បេសកកម្មសហគ្រាសរបស់យើងក្នុងការនាំយកចំលើយ AI ទៅកាន់ការអប់រំ បង្កើតថ្មីនៃការអប់រំដែលមានវិជ្ជាជីវៈ AI។ យើងចង់បង្កើតកម្មវិធីដែលគ្រប់គ្រងដោយ AI សម្រាប់ ការសិក្សាផ្ទាល់ខ្លួន - ដូច្នេះយើងគួរគិតពីរបៀបដែលអ្នកប្រើប្រាស់នៅក្នុងកម្មវិធីរបស់យើងអាច "រចនា" បញ្ចូលបញ្ជា។
- អ្នកគ្រប់គ្រង អាចស្នើរឲ្យ AI វិភាគទិន្នន័យមាតិកាសិក្សាដើម្បីរកកន្លែងខ្វះឆ្ពោះក្នុងការសិក្សា។ AI អាចសង្ខេបលទ្ធផល ឬដាក់ពណ៌នាជារូបភាពជាមួយកូដ។
- គ្រូបង្រៀន អាចស្នើរឲ្យ AI បង្កើតផែនការមេរៀនសម្រាប់អ្នកស្តាប់និងប្រធានបទជាក់លាក់។ AI អាចបង្កើតផែនការផ្ទាល់ខ្លួនតាមរយៈទ្រង់ទ្រាយកំណត់។
- សិស្ស អាចស្នើរឲ្យ AI បង្រៀនអំពីមុខវិជ្ជាយ៉ាងលំបាកពីពួកគេ។ AI អាចណែនាំសិស្សដោយលើការបង្រៀន, ពណ៌នាអំពីជំនួយ និងឧទាហរណ៍ផ្គូរផ្គងទៅនឹងកម្រិតសមត្ថភាពរបស់ពួកគេ។
នេះគ្រាន់តែជាចំណុចតិចតួចប៉ុណ្ណោះ។ សូមមើល Prompts For Education - បណ្ណាល័យបញ្ចូលបញ្ជាបើកឯកសារដែលបានរចនាជាមួយសេចក្ដីជំនាញអប់រំ - សម្រាប់បានយល់ដឹងទូលំទូលាយអំពីលទ្ធភាព! សាកល្បងបញ្ចូលបញ្ជានៅក្នុង sandbox រឺប្រើ OpenAI Playground ពីព្រោះគ្រាន់តែដូចម្តេចក៍បាន!
យើងបានចាប់ផ្តើមមេរៀននេះដោយកំណត់ន័យ Prompt Engineering ជាដំណើរការរចនានិងកែលម្អការបញ្ចូលអក្សរ (prompts) ដើម្បីផ្ដល់ចម្លើយ(M completions)ដែលមានគុណភាពនិងជាប់លាប់សម្រាប់គោលបំណងកម្មវិធីនិងម៉ូដែលជាក់លាក់មួយ។ យើងអាចគិតវាជាដំណើរការចំនុចពីរ៖
- រចនា បញ្ចូលបញ្ជាដំបូងសម្រាប់ម៉ូដែលនិងគោលបំណងជាក់លាក់
- កែលម្អ បញ្ចូលបញ្ជា ជាការជជែកជាមួយអ្នកប្រើ ដើម្បីកែលម្អគុណភាពចម្លើយ
នេះជាដំណើរការតេស្តនិងកំហុស ដែលតម្រូវឱ្យមានការយល់ដឹងហើយការខិតខំរបស់អ្នកប្រើ ដើម្បីទទួលបានលទ្ធផលល្អ។ ដូច្នេះហេតុអ្វីវាសំខាន់? ដើម្បីឆ្លើយសំណួរនេះ យើងត្រូវយល់ពីគំនិតបី៖
- Tokenization = របៀបដែលម៉ូដែល "មើល" បញ្ចូលបញ្ជា
- Base LLMs = របៀបដែលម៉ូដែលមូលដ្ឋាន "ដំណើរការ" បញ្ចូលបញ្ជា
- Instruction-Tuned LLMs = របៀបដែលម៉ូដែលឥឡូវនេះអាច "មើលឃើញ" មុខងារ
LLM មើលបញ្ចូលបញ្ជាជា លំដាប់ទ្រឹស្តីរបស់ token ដែលម៉ូដែលខុសគ្នា (ឬកំណែរបស់ម៉ូដែល) អាច tokenize បញ្ចូលដដែលតាមរបៀបខុសៗគ្នា។ ពីព្រោះ LLM ត្រូវបានបណ្តុះបណ្តាលលើ tokens (មិនមែនអត្ថបទដើមទេ) របៀប tokenize បញ្ចូលបញ្ជាមានឥទ្ធិពលដោយផ្ទាល់លើគុណភាពនៃចម្លើយដែលបានបង្កើត។
ដើម្បីទទួលបានជំនាញនៃរបៀប tokenize ធ្វើការ សូម្បីសាកល្បងឧបករណ៍ដូចជា OpenAI Tokenizer ខាងក្រោម។ បញ្ចូល prompt របស់អ្នក និងមើលវាត្រូវបានបម្លែងទៅជាទ្រឹស្តីកំណត់។ សូមយកចិត្តទុកដាក់របៀបច្បាស់លាស់នៃតួអក្សរទទេយ៉ាងហោចណាស់ និងការប្រើប្រាស់ព្យួរ។ សូមចំណាំថាឧទាហរណ៍នេះបង្ហាញ LLM ចាស់ (GPT-3) ដូច្នេះលទ្ធផលអាចខុសគ្នាជាមួយម៉ូដែលថ្មី។
បន្ទាប់ពី tokenize បញ្ចូលបញ្ជា យុទ្ធសាស្ត្រសំខាន់របស់ "Base LLM" (ឬ ម៉ូដែលមូលដ្ឋាន) គឺកំណត់ទុកនូវ token បន្ទាប់ក្នុងលំដាប់នោះ។ ពីព្រោះ LLM ត្រូវបានបណ្តុះបណ្តាលលើសំណុំអត្ថបទធំៗ ពួកវាមានចំណេះដឹងល្អអំពីទំនាក់ទំនងស្ថិតិរវាង tokens និងអាចគណនាអ្នកឯកទេសត្រូវបានជាមួយការសន្មតទុកនោះបាន។ សូមចំណាំថា ពួកវាមិនយល់អំពី ន័យ នៃពាក្យក្នុងបញ្ចូល ឬ token ទេ; ពួកវាមើលតែបំណងដែលអាច "បញ្ចប់" ជាមួយការទស្សនាtokenបន្ទាប់បានរៀងរាល់ពេល។ ពួកវាអាចបន្តគណនាជាលំដាប់រហូតដល់ការបញ្ឈប់ដោយអ្នកប្រើ ឬលក្ខខណ្ឌកំណត់មួយ។
ចង់ឃើញរបៀបបញ្ចូលបញ្ជាជាដំណើរការបំពេញ? បញ្ចូល prompt ខាងលើទៅក្នុង Azure OpenAI Studio Chat Playground ជាមួយការកំណត់លំនាំដើម។ ប្រព័ន្ធនេះត្រូវបានកំណត់ឱ្យចាត់ទុកបញ្ចូលបញ្ជាជាការស្នើរសុំព័ត៌មាន ដូច្នេះ អ្នកនឹងឃើញចម្លើយត្រឹមត្រូវតាមបរិបទនេះ។
ប៉ុន្តែតើអ្នកប្រើចង់ឃើញអ្វីដែលច្បាស់លាស់ដែលបម្រើគោលបំណង ឬបំណងការងារមួយ? នេះគឺជាកន្លែង instruction-tuned LLMs ចូលរូបភាព។
Instruction Tuned LLM ចាប់ផ្តើមពីម៉ូដែលមូលដ្ឋាន ហើយបច្ចេកទេស fine-tuned ជាមួយឧទាហរណ៍ ឬសំណុំចូល/ចេញ (messages ច្រើនជំហាន) ដែលអាចមានការណែនាំជាក់លាក់ - ហើយចម្លើយពី AI ព្យាយាមអនុវត្តឱ្យបានតាមការណែនាំនោះ។
នេះប្រើបច្ចេកទេសដូចជា ការសិក្សាដោយមន្ដោលជាមួយមតិយោបល់មនុស្ស (RLHF) ដែលអាចបណ្តុះបណ្តាលម៉ូដែលឱ្យ អនុវត្តការណែនាំ និង រៀនពីមតិយោបល់ ដើម្បីផលិតចម្លើយដែលសមស្របចំពោះកម្មវិធីប្រតិបត្តិនិងទាក់ទាញទៅគោលបំណងអ្នកប្រើ។
សូមសាកល្បងវាឡើងវិញ - បញ្ចូលរចនាបញ្ចូលបញ្ជានៅលើ ជាមួយ សារប្រព័ន្ធ ដែលផ្លាស់ប្តូរដូចខាងក្រោមជាបរិបទ៖
សង្ខេបមាតិកាដែលអ្នកមានសម្រាប់សិស្សថ្នាក់ទីពីរ។ រក្សាលទ្ធផលជាបណ្តុំតែបន្ទាត់មួយដែលមាន 3-5 ចំណុចលំអិត។
មើលថាតើលទ្ធផលឥឡូវនេះត្រូវបានកំណត់លំនាំតាមគោលបំណង និងទ្រង់ទ្រាយដែលចង់បានខ្លះដែលគ្រូបង្រៀនអាចប្រើប្រាស់ដោយផ្ទាល់នៅក្នុងស្លាយសម្រាប់ថ្នាក់នោះ។
ឥឡូវនេះ យើងបានដឹងរបៀបម៉ូដែលសម្រង់បញ្ចូលបញ្ជា ប្រសិនបើនិយាយពីកត្តា ហេតុផលដែល យើងត្រូវការវិស្វកម្មបញ្ចូលបញ្ជា។ ចម្លើយគឺមានក្នុងការពីរបញ្ហាចម្បងដែលធ្វើឲ្យការបំពេញចម្លើយដែលមានភាពទៀងទាត់និងជាប់ដែលស្មុគស្មាញ ប្រសិនបើមិនខិតខំក្នុងការរចនានិងកែលម្អបញ្ចូលបញ្ជា។ ដូចជា៖
-
ចម្លើយម៉ូដែលមានការចរចារព្យួរ។ បញ្ចូលបញ្ជាដូចគ្នា ប្រហែលជាអាចបង្កើតចម្លើយខុសគ្នាជាមួយម៉ូដែល ឬកំណែម៉ូដែលផ្សេងៗគ្នា។ ហើយវាអាចបង្កើតលទ្ធផលខុសគ្នានៅពេលខុសគ្នានឹងម៉ូដែលដូចគ្នានៅពេលខុសៗគ្នា។ បច្ចេកទេសវិស្វកម្មបញ្ចូលបញ្ជាជួយកាត់បន្ថយភាពខុសគ្នានេះដោយផ្ដល់នូវគោលការណ៍ការពារល្អៗ។
-
ម៉ូដែលអាចបង្កើតចម្លើយមិនត្រឹមត្រូវ។ ម៉ូដែលបានបណ្តុះបណ្តាលជាមុនជាមួយសំណុំទិន្នន័យធំនិងមានកំណត់ ដែលមានន័យថាពួកវាខ្វះចំណេះដឹងអំពីយុទ្ធសាស្ត្រខាងក្រៅដែន ការបណ្តុះបណ្តាល។ ដូច្នេះវាអាចបង្កើតចម្លើយដែលមិនត្រឹមត្រូវ គំនិតប្លែក ឬបដិសេធជាស្រេចទៅនឹងក្នងការពិត។ បច្ចេកទេស prompt engineering ជួយអ្នកប្រើក្នុងការរកឃើញ និងកាត់បន្ថយការបង្កើតចម្លើយបែបនេះ ដូចជា ស្នើឲ្យ AI ផ្ដល់ចំណាំប្រភពឬហេតុផល។
-
សមត្ថភាពម៉ូដែលនឹងខុសគ្នា។ ម៉ូដែលថ្មី ឬគ្រឿងម៉ូដែលជំនាន់ខាងមុខនឹងមានសមត្ថភាពផ្អែមល្អ គឺនាំមកនូវលក្ខណៈប្លែកប្លាត់ និងសមូមរិយាតម្លៃនិងភាពស្មុគស្មាញខុសៗគ្នា។ prompt engineering អាចជួយអភិវឌ្ឍវិធីសាស្ត្រល្អបំផុត និងវគ្គសិក្សាដែលអាចគ្រប់គ្រងភាពខុសគ្នានិងប្តូរតាមតម្រូវការផ្សេងៗនៃម៉ូដែលដោយគ្មានការកំហុស។
សូមមើលឧទាហរណ៍នៅក្នុង OpenAI ឬ Azure OpenAI Playground៖
- ប្រើបញ្ចូលដូចគ្នាជាមួយម៉ូដែល LLM ផ្សេងៗ (OpenAI, Azure OpenAI, Hugging Face) - តើអ្នកឃើញភាពខុសគ្នាឬទេ?
- ប្រើបញ្ចូលដូចគ្នាច្រើនដងជាមួយ LLM តែមួយ (Azure OpenAI playground) - តើភាពខុសគ្នានេះជាបែបណា?
ក្នុងវគ្គនេះ យើងប្រើពាក្យ "fabrication" ដើម្បីយោងទៅកាន់រោគសញ្ញាដែល LLM ពេលខ្លះបង្កើតព័ត៌មានដែលមិនត្រឹមត្រូវពិតដោយសារការកំណត់ក្នុងការបណ្តុះបណ្តាល ឬកាកម្រិតផ្សេងៗ។ អ្នកប្រហែលជាបានលឺពាក្យនេះថា "hallucinations" នៅក្នុងអត្ថបទពេញនិយម ឬក្រដាសស្រាវជ្រាវ។ ទោះជាយ៉ាងណា យើងណែនាំយ៉ាងខ្លាំងឲ្យប្រើពាក្យ "fabrication" ដូចជា ពាក្យ ឲ្យហ្វឹកហាត់ភាគីមិនឲ្យមានចិញ្ចៀមន័យមនុស្សនៃអាការៈ ដោយអូលទុកឲ្យវាជាលទ្ធផលពីម៉ាស៊ីនបង្កើត។ វាក៏ជាការបញ្ជាក់យ៉ាងច្បាស់ពីការណែនាំ AI ដែលទទួលខុសត្រូវដោយគ្មានការប្រើពាក្យដែលអាចជាអាក្រក់ ឬមិនរួមបញ្ចូលនៅក្នុងบริบทខ្លះ។
ចង់យល់ពីរបៀបដំណើរការរបស់ fabrications? សូមគិតពីបញ្ចូលបញ្ជាដែលណែនាំ AI បង្កើតមាតិកាមួយនៃប្រធានបទមិនមាននៅក្នុងគំរូបណ្តុះបណ្តាល (ដើម្បីធានាថាវាមិនមានក្នុងទិន្នន័យបណ្តុះបណ្តាល)។ ឧទាហរណ៍ - ខ្ញុំបានសាកល្បងបញ្ចូលបញ្ជានេះ៖
Prompt: generate a lesson plan on the Martian War of 2076. ការស្វែងរកតាមអ៊ីនធឺណិតបានបង្ហាញខ្ញុំថាមានកំណត់ត្រាដែលច្នៃប្រឌិត (ឧទាហរណ៍៖ រឿងស៊េរីទូរទស្សន៍ ឬសៀវភៅ) អំពីសង្រ្គាមភពផែរម៉ាត្រ - ប៉ុន្តែមិនមាននៅឆ្នាំ 2076 ទេ។ ការយល់ឃើញទូទៅក៏បញ្ជាក់ផងដែរថា ឆ្នាំ 2076 គឺជា នៅអនាគត ហើយដូច្នេះ មិនអាចមានទាក់ទងនឹងព្រឹត្តិការណ៍ពិតណាមួយបានទេ។
ដូច្នេះ តើមានអ្វីកើតឡើងខណៈពេលយើងដំណើរការសំណើនេះជាមួយមុខងារ LLM ផ្សេងៗ?
ចម្លើយ ១៖ OpenAI Playground (GPT-35)
ចម្លើយ ២៖ Azure OpenAI Playground (GPT-35)
ចម្លើយ ៣៖ Hugging Face Chat Playground (LLama-2)
ដូចដែលបានរំពឹងទុក ម៉ូដែលនីមួយៗ (ឬកំណែម៉ូដែលនីមួយៗ) ផលិតចម្លើយខុសគ្នាតិចតួចដោយសារលក្ខណៈចៃដន្យនិងការប្រែប្រួលសមត្ថភាពម៉ូដែល។ ឧទាហរណ៍ម៉ូដែលមួយផ្តោតលើអ្នកចូលរួមថ្នាក់ទី៨ ខណៈដែលមួយទៀតអនុញ្ញាតឲ្យជនរួមថ្នាក់សាលាបឋម។ ប៉ុន្តែម៉ូដែលទាំងបីបានបង្កើតចម្លើយដែលអាចធ្វើឲ្យអ្នកប្រើប្រាស់ដែលមិនមានព័ត៌មានឲ្យជឿថាព្រឹត្តិការណ៍នោះជាពិតប្រាកដ។
បច្ចេកទេស prompt engineering ដូចជា metaprompting និង ការកំណត់សីតុណ្ហភាព អាចបន្ថយការច្នៃប្រឌិតរបស់ម៉ូដែលបានដល់កម្រិតមួយ។ ស្ថាបត្យកម្មថ្មីនៃ prompt engineering ក៏បានបញ្ចូលឧបករណ៍និងបច្ចេកវិទ្យាថ្មីៗទៅក្នុងលំហ(prompt flow) ដោយរលូន ដើម្បីកាត់បន្ថយឬបន្ថយផលប៉ះពាល់ខ្លះៗទាំងនេះ។
យើងសូមបិទផ្នែកនេះដោយទទួលបានការយល់ដឹងពីរបៀបដែល prompt engineering ត្រូវបានប្រើប្រាស់ក្នុងដំណោះស្រាយពិភពនា់ជាក់ស្តែងមួយ ដូចដែលឃើញនៅក្នុងករណីសិក្សាមួយ៖ GitHub Copilot។
GitHub Copilot គឺជា"អ្នកសរសេរកូដជាគូ AI" របស់អ្នក - វាបំប្លែងសំណើអត្ថបទទៅជាការបញ្ចប់កូដ ហើយបានបញ្ចូលទៅក្នុងបរិយាកាសអភិវឌ្ឍន៍របស់អ្នក (ឧទាហរណ៍ Visual Studio Code) ដើម្បីផ្តល់បទពិសោធន៍អ្នកប្រើប្រាស់ដែលរលូន។ ដូចបានឯកសារសម្រាប់ក្នុងស៊េរីប្លុកខាងក្រោម កំណែដំបូងគឺស្ថាបនាឡើងលើម៉ូដែល OpenAI Codex - ជាមួយជនវិទ្យាសាស្រ្ដដែលឆាប់ដឹងថាត្រូវការកែលម្អម៉ូដែល និងបង្កើតបច្ចេកទេស prompt engineering ល្អប្រសើរ ដើម្បីធើ្វឲ្យគុណភាពកូដកាន់តែប្រសើរ។ ក្នុងខែកក្កដា ពួកគេបាន ដាក់បង្ហាញម៉ូដែល AI ល្អប្រសើរជាង Codex ដើម្បីផ្តល់អនុសាសន៍បានលឿនជាងមុន។
អានអត្ថបទទាំងនេះទៅតាមលំដាប់ ដើម្បីដើរតាមការស្វែងយល់របស់ពួកគេ។
- ឧសភា 2023 | GitHub Copilot កំពុងប្រសើរឡើងក្នុងការយល់ដឹងពីកូដរបស់អ្នក
- ឧសភា 2023 | នៅក្នុង GitHub៖ កិច្ចការជាមួយ LLMs ខាងក្រោយ GitHub Copilot
- មិថុនា 2023 | របៀបសរសេរសំណើបែបប្រសើរឡើងសម្រាប់ GitHub Copilot
- ខែកក្កដា 2023 | .. GitHub Copilot ធ្វើលើស Codex ដោយមានម៉ូដែល AI លើសមុខងារ
- ខែកក្កដា 2023 | មគ្គុទេសក៍អ្នកអភិវឌ្ឍន៍សម្រាប់ prompt engineering និង LLMs
- កញ្ញា 2023 | របៀបសាងសង់កម្មវិធី LLM សម្រាប់សហគ្រាស៖ មេរៀនពី GitHub Copilot
អ្នកក៏អាចរុករក កំណត់ហេតុបច្ចេកវិទ្យា របស់ពួកគេសម្រាប់អត្ថបទបែបនេះមួយចំនួនដូចជា នេះ ដែលបង្ហាញពីរបៀបដែលម៉ូដែលនិងបច្ចេកវិទ្យាទាំងនេះ ត្រូវបានអនុវត្ត ដើម្បីជំរុញកម្មវិធីពិតប្រាកដ។
យើងបានឃើញហេតុផលដែល prompt engineering មានសារៈសំខាន់ - ឥឡូវនេះមកយល់អំពីរបៀបដែល prompt ត្រូវបាន បង្កើត ដើម្បីអាចវាយតម្លៃបច្ចេកទេសខុសៗគ្នាសម្រាប់ការរចនាសំណើដែលមានប្រសិទ្ធភាពបំផុត។
ចាប់ផ្តើមពី prompt មូលដ្ឋាន៖ ជារបៀបបញ្ចូលអត្ថបទដែលផ្ញើទៅម៉ូដែលដោយគ្មានបរិបទផ្សេងៗទៀត។ នេះគឺជាគំរូមួយ - នៅពេលយើងផ្ញើពាក្យដំបូងប៉ុន្មាននៃមន្ត្រសារជាតិសហរដ្ឋអាមេរិកទៅកាន់ OpenAI Completion API វាចំលើយអត់ឱ្យបានបញ្ចប់ផ្ទៃក្នុងមួយភ្លាម ដោយបង្ហាញអំពីអាកប្បកិរិយាការព្យាករណ៍មូលដ្ឋាន។
| Prompt (បញ្ចូល) | ចំលើយ (បញ្ចប់) |
|---|---|
| Oh say can you see | វាហាក់ដូចជាអ្នកកំពុងចាប់ផ្តើមបទចម្រៀង "The Star-Spangled Banner," មន្ត្រសារជាតិរបស់សហរដ្ឋអាមេរិក។ ប្រយោគពេញមាន... |
ឥឡូវនេះយើងបន្ថែមបរិបទនិងសេចក្តីណែនាំទៅ prompt មូលដ្ឋាននោះ។ Chat Completion API អនុញ្ញាតឲ្យយើងបង្កើត prompt ស្មុគស្មាញជាចែកចាយនៃ សារ ជាមួយ៖
- ការចំនួន input/output សំដៅលើបញ្ចូលរបស់ អ្នកប្រើ និងចំលើយរបស់ ជំនួយការ។
- សារប្រព័ន្ធកំណត់បរិបទសម្រាប់អាកប្បកិរិយាឬអត្តសញ្ញាណជំនួយការជាក់លាក់។
ការស្នើសុំឥឡូវនេះមានទ្រង់ទ្រាយខាងក្រោម ដែល ការបំបែកតួអក្សរ ចាប់យកព័ត៌មានដែលពាក់ព័ន្ធពីបរិបទនិងកិច្ចសន្ទនា។ ការផ្លាស់ប្ដូរបរិបទប្រព័ន្ធអាចមានភាពមានផលប៉ះពាល់ដូចគ្នានឹងគុណភាពនៃចំលើយដូចដែលបញ្ចូលប្រើប្រាស់ផ្តល់ជូន។
response = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
)ក្នុងឧទាហរណ៍ខាងលើ សំណើអ្នកប្រើគឺជាសំណួរអត្ថបទសាមញ្ញដែលអាចត្រូវបានបកស្រាយថាជាសំណើសុំព័ត៌មាន។ ជាមួយ instruction prompt យើងអាចប្រើអត្ថបទនោះដើម្បីបញ្ជាក់ភារកិច្ចលម្អិតបន្ថែម ដោយផ្តល់ការណែនាំល្អជាងនេះទៅ AI។ ឧទាហរណ៍មួយ如下៖
| Prompt (បញ្ចូល) | ចំលើយ (បញ្ចប់) | ប្រភេទសេចក្តីណែនាំ |
|---|---|---|
| សរសេរពិពណ៌នាអំពីសង្គ្រាមស៊ីវិល | បានបង្រ្កាបជាខ្សែអត្ថបទសាមញ្ញមួយ | សាមញ្ញ |
| សរសេរពិពណ៌នាអំពីសង្គ្រាមស៊ីវិល។ ផ្តល់កាលបរិច្ឆេទនិងព្រឹត្តិការណ៍សំខាន់ៗ ហើយពិពណ៌នាគុណសារៈសំខាន់របស់ពួកវា | បានបង្រ្កាបជាខ្សែអត្ថបទហើយបន្ទាប់មកមានបញ្ជីកាលបរិច្ឆេទព្រឹត្តិការណ៍សំខាន់ៗជាមួយការពិពណ៌នា | ស្មុគស្មាញ |
| សរសេរពិពណ៌នាអំពីសង្គ្រាមស៊ីវិលក្នុង ១ ខ្សែអត្ថបទ។ ផ្តល់ចំណុចប៊ុលឡេត ៣ ចំណុចជាមួយកាលបរិច្ឆេទនិងសារៈសំខាន់។ ផ្តល់ចំណុចប៊ុលឡេត ៣ ផ្សេងទៀតសម្រាប់តួអង្គប្រវត្តិសាស្រ្តសំខាន់ៗ និងការរួមចំណែករបស់ពួកគេ។ ត្រឡប់ចំលើយជាឯកសារ JSON | បញ្ជូនចំលើយជាចំនុចលម្អិតជាងមុននៅក្នុងប្រអប់អត្ថបទ ដែលទ្រង់ទ្រាយជា JSON ដែលអ្នកអាចចម្លងនិងបិទភ្ជាប់ទៅជាឯកសារនិងផ្ទៀងផ្ទាត់តាមតម្រូវការ | ស្មុគស្មាញ។ ទ្រង់ទ្រាយ |
ក្នុងឧទាហរណ៍ខាងលើ សំណើវែងតែទូលំទូលាយ នៅអនុញ្ញាតឲ្យ LLM សម្រេចចិត្តថាតើផ្នែកណានៃ dataset ដែលបានបណ្តុះបណ្តាលនោះពាក់ព័ន្ធ។ ជាមួយនឹងផែនការរចនាបែប primary content អត្ថបទបញ្ចូលត្រូវបានបំបែកជា ២ ផ្នែក៖
- សេចក្តីណែនាំ (សកម្មភាព)
- មាតិកាពាក់ព័ន្ធ (ដែលមានឥទ្ធិពលលើសកម្មភាព)
ឧទាហរណ៍នេះជាករណីដែលសេចក្តីណែនាំគឺ "សង្ខេបវាជាពីរបន្ទាត់ខ្លី"។
| Prompt (បញ្ចូល) | ចំលើយ (បញ្ចប់) |
|---|---|
| Jupiter គឺជាភពលំដាប់ទីប្រាំពីព្រះអាទិត្យនិងមានទំហំធំបំផុតក្នុងប្រព័ន្ធព្រលឹងព្រះអាទិត្យ។ វាជាភពឧស្ម័នដែលមានម៉ាសមួយផែមួយពាន់នៃម៉ាសព្រះអាទិត្យ ប៉ុន្តេស្មើនឹងពីរនិងកន្លះដងនៃម៉ាសភពផ្សេងទាំងអស់រួមគ្នា។ Jupiter គឺជាវត្ថុភ្លឺច្បាស់មួយដែលភ្នែកទៀងទាញអាចមើលឃើញនៅលើមេឃយប់ ហើយត្រូវបានអ្នកប្រវត្តិសាស្ដ្រចាប់ផ្តើមស្គាល់មកពីមុនសម្រេចជាអក្សរបាន។ វាត្រូវបានដាក់ឈ្មោះពីព្រះអង្គរ៉ូមាន់ Jupiter.[19] នៅពេលទស្សនាពីផែនដី Jupiter អាចភ្លឺខ្លាំងគ្របដណ្តប់នឹងស្រមោលមួយដែលអាចមើលឃើញបាន,[20] ហើយជាមធ្យមវាជាវត្ថុធម្មជាតិភ្លឺលើសគេលើមេឃយប់ក្រោយព្រលឹងព្រះចន្ទនិងភព Venus។ សង្ខេបវាជាពីរបន្ទាត់ខ្លី |
Jupiter ដែលជាភពលំដាប់ទីប្រាំពីព្រះអាទិត្យ គឺជាភពធំជាងគេនៅក្នុងប្រព័ន្ធព្រលឹងព្រះអាទិត្យ ហើយគេស្គាល់ថាវាជាវត្ថុភ្លឺបំផុតមួយនៅលើមេឃយប់។ ឈ្មោះរបស់វាគឺឈ្មោះព្រះអង្គរ៉ូម៉ាន់ Jupiter វាជាភពឧស្ម័នដែលមានម៉ាសគឺពីរនិងកន្លះដងនៃភពផ្សេងទាំងអស់រួមគ្នា។ |
ផ្នែកមាតិកាផ្ទាល់អាចប្រើប្រាស់បានជាច្រើនវិធីដើម្បីបង្កើតការណែនាំដែលមានប្រសិទ្ធភាពបន្ថែម៖
- ឧទាហរណ៍ - មិនបញ្ជាក់គោលបំណងជាមួយសេចក្តីណែនាំផ្សព្វផ្សាយ ប៉ុន្តែផ្តល់ឧទាហរណ៍អំពីអ្វីដែលត្រូវធ្វើ ហើយអនុញ្ញាតឲ្យម៉ូដែលសន្និដ្ឋានលំដាប់លំដោយ។
- គន្លឹះ (Cues) - អនុវត្តបន្ទាប់សេចក្តីណែនាំជាមួយ "គន្លឹះ" ដែលជាប fragmentation អនុញ្ញាតឲ្យបញ្ចប់ ណែនាំម៉ូដែលចូលទៅកាន់ចម្លើយដែលពាក់ព័ន្ធជាងនេះ។
- ផ្នែកពុម្ព(Templates) - ជា "រូបមន្ត" អាចចម្លងបានសម្រាប់ prompt ដែលមានកន្លែងទុក (variables) ដែលអាចប្តូរជាមួយទិន្នន័យសម្រាប់ករណីប្រើពិសេស។
មកធ្វើការសិក្សាពួកវា។
នេះគឺជាវិធីសាស្រ្តដែលអ្នកប្រើ primary content ដើម្បី "ផ្តល់អាហារម៉ូដែល" ជាមួយឧទាហរណ៍ពីលទ្ធផលដែលចង់បានសម្រាប់សេចក្តីណែនាំណាមួយ ហើយអនុញ្ញាតឲ្យវាសន្និដ្ឋានលំដាប់លំដោយសម្រាប់លទ្ធផលចង់បាន។ ដោយផ្អែកលើចំនួនឧទាហរណ៍ដែលផ្តល់ អ្នកអាចប្រើ zero-shot prompting, one-shot prompting, few-shot prompting ល الخ...
សំណើផ្តល់ពេលនេះមានបីផ្នែក៖
- ការពិពណ៌នាភារកិច្ច
- ឧទាហរណ៍តិចមួយពីលទ្ធផលដែលចង់បាន
- ការចាប់ផ្ដើមឧទាហរណ៍ថ្មី (ដែលអាចក្លាយជាការពិពណ៌នាភារកិច្ចអាស្រ័យ)
| ប្រភេទការសិក្សា | Prompt (បញ្ចូល) | ចំលើយ (បញ្ចប់) |
|---|---|---|
| Zero-shot | "The Sun is Shining". បកប្រែទៅភាសា Spanish | "El Sol está brillando". |
| One-shot | "The Sun is Shining" => ""El Sol está brillando". "It's a Cold and Windy Day" => |
"Es un día frío y ventoso". |
| Few-shot | អ្នកលេងរត់លើមូលដុំនៅលើម៉ាសបាសប៊ូល => Baseball អ្នកលេងតាក់ ace => Tennis អ្នកលេងបានចំនួនប្រាំមួយ => Cricket អ្នកលេងបានស្លាំដង្ហ្គ => |
Basketball |
គួរឱ្យចាប់អារម្មណ៍ណាស់ថា ពេល prompt zero-shot ត្រូវការជាសេចក្តីណែនាំផ្តាច់មុខ ("បកប្រែក្នុងភាសារេស្បាញ") ប៉ុន្តែវាត្រូវបានបានអនុញ្ញាតក្នុង one-shot prompt ដោយស្វ័យប្រវត្តិ។ ឧទាហរណ៍ few-shot បង្ហាញថាការបន្ថែមឧទាហរណ៍ជាច្រើនអាចអោយម៉ូដែលសន្និដ្ឋានមានភាពត្រឹមត្រូវបន្ថែមដោយគ្មានការណែនាំបន្ថែម។
បច្ចេកទេសមួយទៀតក្នុងការប្រើ primary content គឺផ្ដល់ គន្លឹះ ជំនួសឧទាហរណ៍។ ក្នុងករណីនេះ យើងផ្តល់វាយតម្លៃមួយទៅម៉ូដែលដោយចាប់ផ្តើមវាចេញពីសញ្ញាណដែលបង្ហាញទ្រង់ទ្រាយនៃចម្លើយដែលចង់បាន។ ម៉ូដែលនឹង "ទទួលយកគន្លឹះ" ដើម្បីបន្តលើគំនិតនោះ។
| ចំនួនគន្លឹះ | Prompt (បញ្ចូល) | ចំលើយ (បញ្ចប់) |
|---|---|---|
| 0 | Jupiter គឺជាភពលំដាប់ទីប្រាំពីព្រះអាទិត្យនិងមានទំហំធំបំផុតក្នុងប្រព័ន្ធព្រលឹងព្រះអាទិត្យ។ វាជាភពឧស្ម័នដែលមានម៉ាសមួយផែមួយពាន់នៃម៉ាសព្រះអាទិត្យ ប៉ុន្តេស្មើនឹងពីរនិងកន្លះដងនៃម៉ាសភពផ្សេងទាំងអស់រួមគ្នា។ Jupiter គឺជាវត្ថុភ្លឺច្បាស់មួយដែលភ្នែកទៀងទាញអាចមើលឃើញនៅលើមេឃយប់ ហើយត្រូវបានអ្នកប្រវត្តិសាស្ដ្រចាប់ផ្តើមស្គាល់មកពីមុនសម្រេចជាអក្សរបាន។ សង្ខេបវា |
Jupiter គឺជាភពធំបំផុតក្នុងប្រព័ន្ធព្រលឹងព្រះអាទិត្យ និងជាភពលំដាប់ទីប្រាំពីព្រះអាទិត្យ។ វាជាភពឧស្ម័នដែលមានម៉ាស ១/១០០០ នៃម៉ាសព្រះអាទិត្យ ប៉ុន្តែធ្ងន់ជាងភពផ្សេងទាំងអស់រួមគ្នា។ ជនរាប់អាដំបូងបានស្គាល់អំពី Jupiter រយៈពេលយូរហើយវាអាចមើលឃើញបានអន្ដពីតាមមេឃយប់។ |
| 1 | Jupiter គឺជាភពទីប្រាំពីព្រះអាទិត្យ ហើយជាភពធំជាងគេនៅក្នុងប្រព័ន្ធព្រះអាទិត្យ។ វាជាភពធំប្រភេទហ្គាសដែលមានម៉ាសមួយក្នុងពានរង្វាន់ព្រះអាទិត្យ ប៉ុន្តែមានទម្ងន់ពីរហ្វាគ្រាប់និងសាក់ពីរប្រសិនបើប្រៀបធៀបជាមួយភពផ្សេងទៀតទាំងអស់ក្នុងប្រព័ន្ធព្រះអាទិត្យរួមគ្នា។ Jupiter គឺជាផ្នែកមួយនៃវត្ថុភ្លឺបំភាន់ដែលអាចមើលឃើញដោយភ្នែកគ្មានថ្ងៃនៅលើមេឃយប់ ហើយវាត្រូវបានគេស្គាល់ពីសង្គមបុរាណមុនកំណត់ប្រវត្តិសាស្ត្រ។ សង្ខេបនេះ អ្វីដែលយើងបានរៀនគឺ Jupiter |
គឺជាភពទីប្រាំពីព្រះអាទិត្យ ហើយជាភពធំជាងគេសម្រាប់ប្រព័ន្ធព្រះអាទិត្យ។ វាជាភពធំប្រភេទហ្គាសដែលមានម៉ាសមួយក្នុងពានរង្វាន់ព្រះអាទិត្យ ប៉ុន្តែមានទម្ងន់ពីរហ្វាគ្រាប់និងសាក់ពីរភពផ្សេងទៀតទាំងអស់ ប្រសិនបើរាប់រួមគ្នា។ វាអាចមើលឃើញបានយ៉ាងងាយស្រួលដោយភ្នែកគ្មានថ្ងៃ ហើយវាត្រូវបានគេស្គាល់ចាប់តាំងពីសម័យបុរាណ។ |
| 2 | Jupiter គឺជាភពទីប្រាំពីព្រះអាទិត្យ ហើយជាភពធំជាងគេនៅក្នុងប្រព័ន្ធព្រះអាទិត្យ។ វាជាភពធំប្រភេទហ្គាសដែលមានម៉ាសមួយក្នុងពានរង្វាន់ព្រះអាទិត្យ ប៉ុន្តែមានទម្ងន់ពីរហ្វាគ្រាប់និងសាក់ពីរប្រសិនបើប្រៀបធៀបជាមួយភពផ្សេងទៀតទាំងអស់ក្នុងប្រព័ន្ធព្រះអាទិត្យរួមគ្នា។ Jupiter គឺជាផ្នែកមួយនៃវត្ថុភ្លឺបំភាន់ដែលអាចមើលឃើញដោយភ្នែកគ្មានថ្ងៃនៅលើមេឃយប់ ហើយវាត្រូវបានគេស្គាល់ពីសង្គមបុរាណមុនកំណត់ប្រវត្តិសាស្ត្រ។ សង្ខេបនេះ ក fact 3 កំពូល ដែលយើងបានរៀន: |
1. Jupiter គឺជាភពទីប្រាំពីព្រះអាទិត្យ ហើយជាភពធំជាងគេក្នុងប្រព័ន្ធព្រះអាទិត្យ។ 2. វាជាភពធំប្រភេទហ្គាសដែលមានម៉ាសមួយក្នុងពានរង្វាន់ព្រះអាទិត្យ... 3. Jupiter ត្រូវបានមើលឃើញដោយភ្នែកគ្មានថ្ងៃចាប់តាំងពីសម័យបុរាណ... |
រូបមន្តបង្កើតការស្នើសុំគឺជា រូបមន្តដែលបានកំណត់ជាមុនសម្រាប់សំណើសុំនោះ ដែលអាចត្រូវបានផ្ទុក និងប្រើឡើងវិញតាមតំរូវការ ដើម្បីបង្កើតបទពិសោធអ្នកប្រើប្រាស់មានសមាហរណៈជាងមុននៅលើវិមាត្រ។ នៅក្នុងទ្រង់ទ្រាយសាមញ្ញបំផុតវាគឺជា ការប្រមូលផ្តុំគំរូសំណើសុំដូចជា នេះពី OpenAI ដែលផ្តល់ឧបករណ៍ផ្នែកផ្ទាល់ខ្លួនសម្រាប់សំណើសុំ (សារអ្នកប្រើនិងប្រព័ន្ធ) និងទ្រង់ទ្រាយសំណើ API ដើម្បីគាំទ្រការប្រើឡើងវិញ។
នៅក្នុងទ្រង់ទ្រាយស្មុគស្មាញជាងនេះ ដូចជា ឧទាហរណ៍នេះពី LangChain វាមាន ចំណុចបញ្ចូល ដែលអាចជំនួសដោយទិន្នន័យពីប្រភពផ្សេងៗ (ការបញ្ចូលអ្នកប្រើ ប្រព័ន្ធបរិបទ ទិន្នន័យខាងក្រៅ ល.ក.) ដើម្បីបង្កើតសំណើសុំដោយឧបករណ៍អាគុយម៉ង់។ វាបង្កើតឲ្យមានបណ្ណាល័យសំណើសុំដែលអាចប្រើឡើងវិញសម្រាប់បង្កើតបទពិសោធអ្នកប្រើប្រាស់មានសេចក្តីត្រឹមត្រូវ និងកំណត់បានយ៉ាងច្បាស់ ដោយកម្មវិធី នៅលើវិមាត្រ។
ចុងក្រោយ តម្លៃពិតនៅក្នុងរូបមន្តគឺស្ថិតក្នុងការបង្កើតនិងបោះពុម្ព បណ្ណាល័យសំណើសុំ សម្រាប់វិស័យព្រឹត្តិប័ត្រ បណ្តា សំណើសុំត្រូវបាន ប្រសើរឡើង ដើម្បីបង្ហាញបរិបទឬឧទាហរណ៍ដែលពាក់ព័ន្ធ និងត្រឹមត្រូវសម្រាប់អ្នកប្រើប្រាស់គោលដៅ។ ការផ្ទុកទិន្នន័យ Prompts For Edu គឺជាគំរូល្អសម្រាប់វិធីសាស្រ្តនេះ ដែលរួមបញ្ចូលបណ្ណាល័យសំណើសុំសម្រាប់វិស័យអប់រំ មានការយកចិត្តទុកដាក់លើគោលបំណងសំខាន់ៗដូចជាការត្រៀមមេរៀន ការរចនាអប់រំ ការបង្រៀននិស្សិត។
បើយើងគិតពីការបង្កើតសំណើសុំថាជាការផ្តល់ការណែនាំ (ភារកិច្ច) និងមាតិកាគោលដៅ (ខ្លឹមសារសំខាន់) នោះ មាតិកាថ្មី គឺដូចជា បរិបទបន្ថែមដែលយើងផ្តល់ដល់ដើម្បីទាក់ទាញចិត្តផលប៉ះពាល់ទៅលើលទ្ធផល។ វាអាចជាតម្លៃកំណត់ការតំឡើង ការណែនាំទ្រង់ទ្រាយ បណ្តាញផ្ដល់ចំណងជើងលំដាប់លំដោយតាមប្រធានបទ ល.ក. ដែលជួយឲ្យម៉ូឌែល សម្របខ្លួន ដើម្បីឲ្យលទ្ធផលសមស្របជាមួយគោលបំណងឬក្តីរំពឹងនៃអ្នកប្រើ។
ឧទាហរណ៍៖ ផ្ដល់កាតាឡុកវគ្គសិក្សាមួយមួយមានមេតាដាតាកំរិតកម្រិត (ឈ្មោះ ពិពណ៌នា កំរិត ស្លាកមេតា អ្នកបង្រៀន ល.ក.) សម្រាប់វគ្គសិក្សាទាំងអស់ក្នុងកម្មវិធីសិក្សា៖
- យើងអាចកំណត់ការណែនាំផ្តល់សង្ខេបនៃកាតាឡុកវគ្គសិក្សាសម្រាប់រដូវសាលាឆ្នាំ ២០២៣
- យើងអាចប្រើខ្លឹមសារគោលដៅដើម្បីផ្តល់ឧទាហរណ៍រូបមន្តចេញលទ្ធផល
- យើងអាចប្រើមាតិកាបន្ថែមដើម្បីកំណត់ "ស្លាក"ចំណូលចិត្តចំនួន ៥ ដំបូង។
ឥលូវ ម៉ូឌែលអាចផ្តល់សង្ខេបនៅក្នុងទ្រង់ទ្រាយដែលបានបង្ហាញតាមឧទាហរណ៍ តែបើលទ្ធផលមានស្លាកច្រើន វាអាចផ្ដល់អាទិភាពចំពោះស្លាក ៥ ដែលបានកំណត់ដោយមាតិកាបន្ថែម។
ឥឡូវនេះដែលយើងបានដឹងពីរបៀបសម្ភោធសំណើសុំ ដូច្នេះយើងអាចចាប់ផ្តើមគិតពីរបៀប រចនា រូបមន្តដែលបង្ហាញពីអនុវត្តល្អបំផុត។ យើងអាចគិតពីរបៀបនេះជាពីរផ្នែក - មានទស្សនៈ គំនិត ត្រឹមត្រូវ និងអនុវត្ត បច្ចេកទេស ត្រឹមត្រូវ។
បច្ចេកវិទ្យាសំណើសុំគឺជាដំណើរការសាកល្បងហើយបរាជ័យ ដូច្នេះត្រូវរក្សាប៉ារ៉ាម៉ែត្រចម្បងបីយ៉ាងទូលំទូលាយ៖
-
ការយល់ដឹងពីវិស័យសំខាន់។ តម្លាភាពនៃចម្លើយនិងការពាក់ព័ន្ធជារួមគឺជាអនុគមន៍នៃ វិស័យ ដែលកម្មវិធីឬអ្នកប្រើដំណើរការ។ អនុវត្តចិត្តស្មារតីនិងជំនាញវិស័យរបស់អ្នកដើម្បី ប្តូរបច្ចេកទេស ឲ្យទៅបានកាន់តែប្លែក។ ឧទាហរណ៍ កំណត់ បុគ្គលិកភាពជាក់លាក់វិស័យ ក្នុងសំណើសុំប្រព័ន្ធរបស់អ្នក ឬប្រើ រូបមន្តជាក់លាក់វិស័យ ក្នុងសំណើសុំអ្នកប្រើអ្នក។ ផ្តល់មាតិកាបន្ថែមដែលបង្ហាញពីបរិបទជាក់លាក់វិស័យ ឬ ប្រើ សញ្ញានិងឧទាហរណ៍ជាក់លាក់វិស័យ ដើម្បីណែនាំម៉ូឌែលទៅកាន់ការប្រើប្រាស់ដែលគូសគំនូរបាន។
-
ការយល់ដឹងអំពីម៉ូឌែលសំខាន់។ យើងដឹងថាម៉ូឌែលមានលក្ខណៈចៃដន្យ អគ្គិសនីនៃការប្រតិបត្តិម៉ូឌែលអាចខុសគ្នាលើមូលដ្ឋាននៃទិន្នន័យហ្វឹកហាត់ (ចំណេះដឹងមុន) សមត្ថភាពដែលផ្តល់ (ឧទាហរណ៍ តាម API ឬ SDK) និងប្រភេទមាតិកាដែលបានបង្កើតឲ្យល្អបំផុត (ឧទាហរណ៍ កូដ ទម្រង់PNG និងអត្ថបទ)។ យល់ដឹងពីកម្លាំងនិងកំណត់សមាមាត្ររបស់ម៉ូឌែលដែលអ្នកប្រើ ហើយប្រើចំណេះដឹងនោះដើម្បី អាទិភាពភារកិច្ច ឬបង្កើត រូបមន្តផ្ទាល់ខ្លួន ដែលសម្របសម្រួលសមត្ថភាពម៉ូឌែល។
-
ការវិលត្រឡប់និងបញ្ជាក់សំខាន់។ ម៉ូឌែលកំពុងអភិវឌ្ឍបំផុត ជាមួយនឹងបច្ចេកទេសសម្រាប់បច្ចេកវិទ្យាសំណើសុំ។ ជាអ្នកជំនាញវិស័យ អ្នកអាចមានបរិបទឬលក្ខខណ្ឌផ្សេងទៀតចំពោះអ្នកប្រើប្រាស់ជាក់លាក់របស់លោកអ្នក ដែលមិនមាននៅសហគមន៍ទូលំទូលាយ។ ប្រើឧបករណ៍និងបច្ចេកទេសសំណើសុំដើម្បី "ចាប់ផ្តើម" ការសម្ភោធសំណើសុំ បន្ទាប់មក វិលត្រឡប់និងបញ្ជាក់លទ្ធផលតាមចិត្តស្មារតីនិងជំនាញវិស័យរបស់អ្នក។ ចងក្រងចំណេះដឹងរបស់អ្នក និងបង្កើត មូលដ្ឋានចំណេះដឹង (ឧទាហរណ៍ បណ្ណាល័យសំណើសុំ) ដែលអាចប្រើជាមូលដ្ឋានថ្មីសម្រាប់អ្នកដទៃ ដើម្បីធ្វើសមាហរណៈលឿនជាងមុន។
ឥឡូវនេះចង់មើលទៅអនុវត្តសំខាន់ៗដែលបានផ្តល់អនុសាសន៍ដោយ OpenAI និង Azure OpenAI ។
| តើអ្វី | ហេតុផល |
|---|---|
| វាយតម្លៃម៉ូឌែលថ្មីៗ។ | ជំនាន់ម៉ូឌែលថ្មីៗនាំមកនូវមុខងារកែលម្អនិងគុណភាពល្អប្រសើរ ប៉ុន្តែដ៏ទៃទៅក៏អាចមានថ្លៃខ្ពស់ជាងមុន។ វាយតម្លៃតាមផលប៉ះពាល់រួចធ្វើការសម្រេចចិត្តផ្លាស់ប្ដូរ។ |
| បំបែកការណែនាំនិងបរិបទ | ពិនិត្យមើលថាម៉ូឌែល/អ្នកផ្តល់សេវាអ្នក កំណត់ កំណត់សិគ្គ សម្រាប់បំបែកការណែនាំ មាតិកាគោល និងមាតិកាបន្ថែមក្នុងលក្ខណៈច្បាស់លាស់ជាងមុន។ វាអាចជួយម៉ូឌែលចាត់ទុកទំងន់ខ្លឹមសារបានត្រឹមត្រូវប្រសើរ។ |
| ឱ្យមានភាពច្បាស់លាស់ និងច្បាស់ប្រាកដ | ផ្ដល់ព័ត៌មានលម្អិតបន្ថែមអំពីបរិបទលទ្ធផល ជាមុំ ប្រវែង ទ្រង់ទ្រាយ ស្ទីល ល.ក. វានឹងបង្កើនគុណភាពនិងការត្រួតពិនិត្យនៅលទ្ធផល។ ចងក្រងរូបមន្តនៅក្នុងទ្រង់ទ្រាយដែលអាចប្រើឡើងវិញបាន។ |
| កំណត់អត្ថន័យ ចែករំលែកឧទាហរណ៍ | ម៉ូឌែលអាចឆ្លើយតបបានល្អជាងទៅវិញទៅមក តាមរយៈវិធីបង្ហាញករណី ឧទាហរណ៍ជាដើម។ ចាប់ផ្តើមជាមួយវិធីសាស្រ្ត zero-shot ដែលអ្នកផ្តល់ការណែនាំ (គ្មានឧទាហរណ៍) បន្ទាប់មកព្យាយាម few-shot ដើម្បីកែលម្អដោយផ្ដល់ឧទាហរណ៍ខ្លះៗនៃលទ្ធផលដែលចង់បាន។ ប្រើការសនិ្តសញ្ញាដូចជាភាពស្រដៀងគ្នា។ |
| ប្រើសញ្ញាក្នុងការចាប់ផ្តើមបញ្ចប់ | លើកទឹកចិត្តឲ្យទៅកាន់លទ្ធផលដែលចង់បាន ដោយផ្ដល់ពាក្យឬឃ្លាមួយចំនួនដើមដែលវាអាចប្រើជាចំណុចចាប់ផ្ដើមសម្រាប់ឆ្លើយតប។ |
| ធ្វើម្ដងទៀត | ពេលខ្លះ អ្នកប្រហែលជា ត្រូវការព្យាយាមឲ្យម៉ូឌែលធ្វើម្ដងទៀត។ ផ្ដល់ការណែនាំមុននិងបន្ទាប់មាតិកាគោល, ប្រើការណែនាំ និងសញ្ញា ល.ក. វិលត្រឡប់និងបញ្ជាក់មើលថាអ្វីកាន់តែមានប្រសិទ្ធភាព។ |
| លំដាប់សំខាន់ | លំដាប់ដែលអ្នកផ្ដល់ព័ត៌មានទៅម៉ូឌែលអាចប៉ះពាល់លទ្ធផល ប៉ុន្តែនៅក្នុងឧទាហរណ៍រៀនផងដែរ ដោយសាររឿមសម្លេងថ្មី។ សាកល្បងជម្រើសផ្សេងៗ ដើម្បីសំរេចថាអ្វីល្អបំផុត។ |
| ផ្ដល់អត្រាចាកចេញ | ផ្ដល់ឲ្យម៉ូឌែលមានលទ្ធផលត្រូវចុះចាញ់ fallback ឆ្លើយតបបើវាអត់អាចបញ្ចប់ភារកិច្ចបាន។ វានឹងកាត់បន្ថយហានិភ័យក្នុងការបង្កើតចម្លើយក្លែងក្លាយឬបង្កើតខុស។ |
ដូចជាបទពិសោធល្អទាំងអស់ ចងចាំថា សមិទ្ធផលរបស់អ្នកអាចខុសគ្នា ដោយផ្អែកលើម៉ូឌែល ភារកិច្ច និងវិស័យ។ ប្រើពួកវាជាចំណុចចាប់ផ្ដើម ហើយវិលត្រឡប់ដើម្បីរកអ្វីដែលល្អបំផុតសម្រាប់អ្នក។ កំណត់បែបបទការប្រើប្រាស់បច្ចេកវិទ្យាសំណើសុំជាប្រចាំ នៅពេលម៉ូឌែលនិងឧបករណ៍ថ្មីៗចេញមក ជាមួយការយកចិត្តទុកដាក់លើការទូលំទូលាយនិងគុណភាពចម្លើយ។
សូមអបអរសាទរ! អ្នកបានទទួលបេីមេរៀនរួចហើយ! រយៈពេលនេះជាពេលវេលាទុកធ្វើតេស្តមួយចំនួនចំពោះមេរៀននិងបច្ចេកទេសជាក់លាក់ជាមួយឧទាហរណ៍ពិត!
សម្រាប់បេសកកម្មរបស់យើង យើងនឹងប្រើ Jupyter Notebook ដែលមានលំហាត់ដែលអ្នកអាចធ្វើបានយ៉ាងអន្តរក្រិត។ អ្នកអាចបន្ថែម Markdown និងកូដក្នុង Notebook ដើម្បីស្វែងយល់ពីគំនិត និងបច្ចេកទេសដោយខ្លួនឯងផងដែរ។
- (ផ្តល់អនុសាសន៍) បើក GitHub Codespaces
- (ជាជម្រើសមួយផ្សេងទៀត) ចម្លង repo ទៅឧបករណ៍ក្នុងម៉ាស៊ីនរបស់អ្នក ហើយប្រើវាជាមួយ Docker Desktop
- (ជាជម្រើសមួយផ្សេងទៀត) បើក Notebook ជាមួយបរិស្ថានរត់ Notebook ដែលអ្នកចូលចិត្ត។
- ចម្លងឯកសារ
.env.copyនៅក្នុងឫត្ថាស repo ទៅ.envហើយបំពេញតម្លៃAZURE_OPENAI_API_KEYAZURE_OPENAI_ENDPOINTហើយAZURE_OPENAI_DEPLOYMENT។ กลับไป ផ្នែក Learning Sandbox ដើម្បីរៀនបន្ថែម។
- ជ្រើសរើស kernel រត់។ ប្រសិនបើប្រើជម្រើសទី 1 ឬ 2 សូមជ្រើស Kernel Python 3.10.x ដែលបានផ្តល់ដោយឧបករណ៍ dev container។
អ្នកបានរួចរាល់ដើម្បីដំណើរការលំហាត់។ សូមចំណាំថាអត់មាន ចម្លើយត្រឹមត្រូវនិងខុស នៅទីនេះទេ - គ្រាន់តែត្រៀមបញ្ចូលជាមួយការសាកល្បងហើយសម្រួលចិត្តស្មារតីអំពីអ្វីដែលកើតមានសម្រាប់ម៉ូឌែល និងវិស័យកំណត់។
សម្រាប់ហេតុផលនេះ គ្មានផ្នែក Code Solution នៅក្នុងមេរៀននេះទេ។ ទំនងជាអាចមាន Markdown របស់ Notebook មានចំណងជើង "ដំណោះស្រាយរបស់ខ្ញុំ:" ដែលបង្ហាញតែជាឧទាហរណ៍តែមួយសម្រាប់យោង។
តើសំណើសុំណាមួយខាងក្រោមគឺល្អបំផុត ដោយអនុវត្តល្អបន្ថែម?
- បង្ហាញរូបភាពឡានពណ៌ក្រហម
- បង្ហាញរូបភាពឡានពណ៌ក្រហមម៉ាក Volvo និងម៉ូដែល XC90 ដែលចតថ្ងៃលើថ្នល់ជ័រ ដែលមានព្រះអាទិត្យលិច
- បង្ហាញរូបភាពឡានពណ៌ក្រហមម៉ាក Volvo និងម៉ូដែល XC90
ចម្លើយ៖ ២ គឺជាសំណើសុំល្អបំផុត ព្រោះវាប្ដូរព័ត៌មានលម្អិតអំពី "អ្វី" និងចូលទៅកាន់ព័ត៌មានជាក់លាក់ (មិនមែនឡានណាមួយទេ តែម៉ាកនិងម៉ូដែលជាក់លាក់) ហើយវាក៏ពិពណ៌នាបរិបទទូទៅផងដែរ។ ចំណាត់ថ្នាក់ទីបីគឺ ៣ ព្រោះវាមានការពិពណ៌នាច្រើនផងដែរ។
សាកល្បងប្រើបច្ចេកទេស "សញ្ញា" ជាមួយសំណើសុំ៖ បញ្ចប់ប្រយោគ "បង្ហាញខ្ញុំនូវរូបភាពឡានពណ៌ក្រហមម៉ាក Volvo និង" វាតបណ្ដើរអ្វី? ហើយអ្នកនឹងធ្វើបែបណា សម្រាប់ធ្វើឱ្យវាល្អប្រសើរជាងមុន?
ចង់រៀនបន្ថែមអំពីគំនិតបច្ចេកវិទ្យា Prompt Engineering ផ្សេងៗទេ? ទៅកាន់ ទំព័ររៀនបន្ថែម ដើម្បីស្វែងរកធនធានល្អៗផ្សេងទៀតទាក់ទងនឹងប្រធានបទនេះ។
ចូលទៅមេរៀនទី៥ ដែលយើងនឹងសិក្សាពី បច្ចេកទេសសំណើសុំជាន់ខ្ពស់!
ការបម្រាមទទួលខុសត្រូវ៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI Co-op Translator។ ខណៈពេលដែលយើងខិតខំករណីភាពត្រឹមត្រូវ សូមផ្តល់ចំនេះដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកម្រិតកំហុស ឬមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសារបស់ខ្លួនគួរត្រូវបានគេរាប់បញ្ចូលជាមូលដ្ឋានដែលមានអំណាចផ្លូវការ។ សម្រាប់ព័ត៌មានសំខាន់ៗ ការបកប្រែដោយមនុស្សដែលមានវិជ្ជាជីវៈត្រូវបានណែនាំ។ យើងនេះមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំនិងការបកប្រែខុសដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។







