Knowledge Sharing ชุมชนแห่งการเรียนรู้...
หลักในการตั้งคำถาม LLaMA-1/2, GPT-3.5/4 (Ver.1/2) 176
Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4
คำสั่งเต็มไปด้วยวยหลักการคือสิ่งที่คุณต้องการในการตั้งคำถาม LLaMA-1/2, GPT-3.5/4
Sondos Mahmoud Bsharat∗, Aidar Myrzakhan∗, Zhiqiang Shen∗
VILA Lab, Mohamed bin Zayed University of AI
แปลโดย จุฑาทิพ รุณสุข
**************************************************
Abstract
บทความนี้จะแนะนำหลักการชี้แนะ 26 ข้อที่ออกแบบมาเพื่อปรับปรุงกระบวนการ
ของการสืบค้นและแจ้งโมเดลภาษาขนาดใหญ่ เป้าหมายของเราคือการทำให้ง่ายขึ้น
แนวคิดพื้นฐานในการกำหนดคำถามสำหรับภาษาขนาดใหญ่ขนาดต่างๆ
แบบจำลอง ตรวจสอบความสามารถ และเพิ่มความเข้าใจของผู้ใช้เกี่ยวกับพฤติกรรม
ของแบบจำลองภาษาขนาดใหญ่ในระดับต่างๆ เมื่อป้อนเข้าสู่รูปแบบภาษาต่างๆ
“ Prompt engineering is the art of communicating with a generative large language model. ”
ChatGPT, 2023
โมเดลภาษาขนาดใหญ่ (LLM) เช่น ChatGPT [13] ได้แสดงให้เห็นถึงความสามารถที่น่าประทับใจ
ในขอบเขตและงานต่างๆ เช่น การตอบคำถาม [7] การใช้เหตุผลทางคณิตศาสตร์
[5] การสร้างโค้ด [11, 9] เป็นต้น อย่างไรก็ตาม การประยุกต์ใช้และการใช้งานโดยเฉพาะ
ในการดีไซน์คำแนะนำหรือคำแนะนำที่เหมาะสมที่สุด บางครั้งอาจไม่ชัดเจนนักสำหรับผู้ใช้ทั่วไป ในงานนี้เรามุ่งหวังที่จะเปิดเผยความลึกลับเหล่านี้ให้กับนักพัฒนาหรือผู้ใช้ทั่วไปเมื่อทำการโต้ตอบกับ LLM และปรับปรุงคุณภาพของ
การตอบสนองจาก LLM ที่ผ่านการฝึกอบรมมาแล้วโดยเพียงแค่การจัดการพร้อมท์ที่ดีกว่า
กล่าวได้ว่าการปรับแต่ง LLM โดยตรงสำหรับงานเฉพาะดูเหมือนจะไม่สามารถทำได้สำหรับผู้ใช้และนักพัฒนาส่วนใหญ่เนื่องจากความไม่มีประสิทธิภาพ เหล่างานวิจัยจึงได้หันมาให้ความสนใจกับการเพิ่มประสิทธิภาพของชุดคำสั่ง (Prompts) เทคนิคของ
วิศวกรรมพร้อมท์ซึ่งเกี่ยวข้องกับการประดิษฐ์คำสั่งที่เฉพาะเจาะจงและแม่นยำภาษาธรรมชาติ ไม่ว่าจะทำด้วยตนเองหรือผ่านวิธีอัตโนมัติ และการเลือกกลุ่มตัวอย่างอย่างระมัดระวังเพื่อรวมไว้ใน Prompt หัวข้อนี้ได้กลายเป็นหัวข้อหลักในการวิจัยเรื่องของ LLMs และถึงแม้จะมีความพยายามทุ่มเทเหล่านี้ แต่ความน่าเชื่อถือของ prompt เพื่อให้ LLMs สร้างการตอบสนองที่เฉพาะเจาะจงและการใช้ประโยชน์จากความสามารถของ LLMs ที่ได้รับการ pretrained อย่างเต็มที่ยังคงเป็นความท้าทายอย่างมาก
รูปที่ 1: ตัวอย่างพร้อมท์และการตอบกลับก่อนและหลังการประยุกต์ใช้หลักการดังกล่าว ซ้ายคือคำสั่งดั้งเดินและคำตอบจาก GPT-4 ส่วนขวาคือการพร้อมท์ที่ปรับแล้วและคำตอบที่เปลี่ยนไป หลักการที่ 5 และ 6 ถูกนำมาใช้
ในงานนี้ เรานำเสนอคำแนะนำที่มีหลักการที่ครอบคลุมเพื่อปรับปรุง
คุณภาพของพร้อมท์สำหรับ LLM โดยเฉพาะอย่างยิ่ง เมื่อเราตรวจสอบพฤติกรรมที่หลากหลาย
เมื่อป้อนพร้อมท์ที่ต่างๆ กัน เช่น การใส่กลุ่มเป้าหมายใน promptเช่น เพิ่ม “ผู้ชมเป็นผู้เชี่ยวชาญในสาขานั้น” หรือ “the
ผู้ชมคือเด็กอายุ 5 ขวบ” รวมถึงลักษณะอื่นๆ อีกหลายแง่มุมของ LLM
การค้นพบของเราระบุว่ายิ่งข้อมูลมากการตอบสนองก็จะยิ่งละเอียดมากขึ้น ยิ่งงานหรือคำสั่งมีความแม่นยำมากเท่าใดก็ยิ่งมีประสิทธิผลมากขึ้นเท่านั้นและยิ่งทำให้การตอบสนองที่ใกล้เคียงกับความคาดหวังของเรามากขึ้น จึงเห็นได้ว่า LLMs
ไม่เพียงแต่จดจำข้อมูลการฝึกอบรมเท่านั้น แต่ยังสามารถปรับตัวให้เข้ากับพร้อมท์ที่หลากหลายที่ได้รับมาอีกด้วย แม้ว่าหัวใจหลักของคำสั่งจะคงเดิมก็ตาม
ดังนั้นจึงพิสูจน์ได้ว่า เราควรที่จะกำหนดบทบาทเฉพาะให้กับ LLM เพื่อเป็นช่องทางในการล้วงเอา
ผลลัพธ์ที่ตรงกับผลลัพธ์ที่เราตั้งใจไว้มากกว่า
เราจะเริ่มจากการอธิบายรายละเอียดคำแนะนำที่เป็นหลักการสำหรับใช้สั่ง LLM กล่าวถึงการให้แรงจูงใจเพิ่มเติม และหลักการให้รายละเอียดเฉพาะหลายประการในส่วนที่ 3 ในส่วนที่ 4 เราแสดงการทดลองว่าหลักการที่เสนอสามารถสร้างคุณภาพที่สูงกว่า กระชับมากขึ้น เป็นข้อเท็จจริง และซับซ้อนน้อยกว่าหรือซับซ้อนกว่าพร้อมท์ LLM ทั่วไป
โดยเฉพาะอย่างยิ่ง ด้วยเกณฑ์มาตรฐาน ATLAS ซึ่งรวมถึงคำถามหลายข้อสำหรับแต่ละหลักการ พร้อมท์พิเศษที่เราแนะนำเพื่อเพิ่มคุณภาพและความแม่นยำของคำตอบ LLM โดยเฉลี่ย 57.7% และ 67.3% ตามลำดับ เมื่อนำไปใช้กับ GPT -4. นอกจากนี้ยังมีการพัฒนาชัดเจนขึ้นด้วยการเพิ่มขนาดของโมเดล เช่น ประสิทธิภาพที่ได้เมื่อย้ายจาก LLaMA-2-7B ไปเป็น
GPT-4 เกิน 40%
2. งานที่เกี่ยวข้อง (Literature Review)
โมเดลภาษาขนาดใหญ่ (LLM) วิวัฒนาการของโมเดลภาษาขนาดใหญ่ (LLM) มีส่วนสำคัญในการพัฒนาการประมวลผลภาษาธรรมชาติ (NLP) ส่วนนี้จะกล่าวถึงการพัฒนาที่สำคัญใน LLM ซึ่งเป็นรากฐานสำหรับการศึกษาในปัจจุบัน เริ่มต้นด้วย BERT ของ Google [3] ซึ่งได้ปฏิวัติการทำความเข้าใจบริบทผ่านแนวทางการฝึกอบรมแบบสองทิศทาง ในขณะที่ T5 [17] พัฒนาไปอีกขั้นด้วยการรวมงาน NLP ต่างๆ ไว้ในกรอบงานเดียว ในขณะเดียวกัน GPT-1 [14] ได้เปิดตัวโมเดลบุกเบิกที่ใช้ประโยชน์จากสถาปัตยกรรมหม้อแปลงไฟฟ้าสำหรับการเรียนรู้แบบไม่มีผู้ดูแล ตามมาด้วยผู้สืบทอด GPT-2 [15] ซึ่งขยายจำนวนพารามิเตอร์อย่างมีนัยสำคัญเป็น 1.5 พันล้าน ซึ่งแสดงให้เห็นถึงความสามารถที่โดดเด่นในการสร้างข้อความ จากนั้น GPT-3 [2] ก็ได้ก้าวกระโดดอย่างมากทั้งในด้านขนาดและความสามารถ โดยมีพารามิเตอร์ถึง 175 พันล้านพารามิเตอร์ และแสดงให้เห็นถึงความเชี่ยวชาญในงานด้านภาษาที่หลากหลาย
สำหรับ LLM อื่นๆ ที่ได้รับการเสนอเมื่อเร็วๆ นี้ Gopher [16] ไม่เพียงแต่ความสามารถในการประมวลผลภาษาขั้นสูงด้วยแบบจำลองพารามิเตอร์ 280 พันล้านเท่านั้น แต่ยังได้นำการพิจารณาเชิงจริยธรรมมาสู่เบื้องหน้าอีกด้วย ซีรีส์ LLaMA ของ Meta [21, 22] เน้นย้ำถึงความสำคัญของประสิทธิภาพ โดยแนะนำประสิทธิภาพที่ทรงพลังโดยใช้ทรัพยากรน้อยลง ซึ่งเป็นแนวคิดที่สนับสนุนโดย Chinchilla [4] ซึ่งเสนอว่าโมเดลขนาดเล็กที่ได้รับการฝึกอบรมอย่างเหมาะสมที่สุดสามารถบรรลุผลลัพธ์ที่ยอดเยี่ยม นวัตกรรมล่าสุดในชุดนี้คือ Mistral [6] ที่เป็นเลิศในด้านประสิทธิภาพและสมรรถนะ เหนือกว่ารุ่นใหญ่ๆ เหตุการณ์สำคัญล่าสุดในวิถีนี้คือ GPT-4 ของ OpenAI [13] และตระกูล Gemini ของ Google [20] พวกเขาแสดงถึงความก้าวหน้าที่สำคัญอีกประการหนึ่งในสาขานี้ด้วยความเข้าใจที่เพิ่มขึ้นและความสามารถในการสร้างสรรค์ ซึ่งกำหนดเกณฑ์มาตรฐานใหม่สำหรับการประยุกต์ใช้ LLM ในโดเมนต่างๆ
Prompts ชุดคำสั่ง. ในฐานะมุมมองที่โดดเด่นของการปฏิสัมพันธ์กับโมเดลภาษาและความเรียบง่ายโดยไม่จำเป็นต้องปรับแต่งโมเดลอย่างละเอียด ได้พัฒนาไปสู่สาขาวิชาการศึกษาที่เน้นถึงความสัมพันธ์ที่ซับซ้อนระหว่างอินพุตของผู้ใช้และการตอบสนองของ LLM การสำรวจในช่วงแรกๆ เช่น การสำรวจภายใน [19] เจาะลึกว่าการออกแบบพร้อมท์ที่แตกต่างกันสามารถส่งผลกระทบอย่างมากต่อประสิทธิภาพและผลลัพธ์ของแบบจำลองภาษาอย่างไร ซึ่งถือเป็นจุดกำเนิดของวิศวกรรมพร้อมท์ (Prompt Engineering) พื้นที่นี้ขยายออกไปอย่างรวดเร็ว โดยเผยให้เห็นบทบาทที่สำคัญของ prompts ในสถานการณ์การเรียนรู้แบบช็อตไม่กี่ครั้งและแบบศูนย์ช็อต ตัวอย่างโดย [2] ทำงานร่วมกับ GPT-3 ซึ่งการแจ้งเตือนที่สร้างขึ้นอย่างมีกลยุทธ์ทำให้แบบจำลองสามารถทำงานโดยใช้ตัวอย่างก่อนหน้าน้อยที่สุด นอกเหนือจากการสอนงานแล้ว การศึกษาล่าสุดได้เปลี่ยนไปสู่การทำความเข้าใจความแตกต่างทางความหมายและบริบทในprompts โดยตรวจสอบว่าการเปลี่ยนแปลงที่เล็กน้อยสามารถนำไปสู่การตอบสนองที่แตกต่างอย่างมีนัยสำคัญจาก LLM ได้อย่างไร
Ask-me-anything (ถามได้ทุกเรื่อง)[1] เป็นพรอมต์ที่นำเอาพรอมต์ที่ไม่สมบูรณ์หลายรายการมาใช้ และรวบรวมไว้เพื่อปรับปรุงประสิทธิภาพของโมเดล โดยเฉพาะในรูปแบบการตอบคำถาม อีกวิธีหนึ่งคือวิธีลูกโซ่แห่งความคิด [23] ที่ซึ่งโมเดลจะสร้างชุดของขั้นตอนการให้เหตุผลระดับกลางเพื่อปรับปรุงประสิทธิภาพในงานที่ซับซ้อน นอกจากนี้ พร้อมท์ least-to-most [26] คือกลยุทธ์ใหม่เพื่อแยกปัญหาที่ซับซ้อนออกเป็นปัญหาย่อยที่ง่ายกว่า ช่วยเพิ่มขีดความสามารถของแบบจำลองในการรับมือกับปัญหาที่ท้าทายมากกว่าที่ถูกเสนอในพร้อมท์ มีการสำรวจประสิทธิภาพของการอธิบาย [8] พบว่าคำอธิบายสามารถเพิ่มความสามารถในการเรียนรู้ของ LLM ในงานที่ซับซ้อนได้ นอกจากนี้ พร้อมท์แคตตาล็อกของเทคนิคทางวิศวกรรมพร้อมท์ได้ถูกตรวจสอบโดย ChatGPT [24] โดยเน้นย้ำถึงความสำคัญของวิศวกรรมแบบพร้อมท์ในการเพิ่มประสิทธิภาพแอปพลิเคชัน LLM ในการพัฒนาซอฟต์แวร์และการศึกษา นอกจากนี้ยังถูกไฮไลท์ว่าการออกแบบพร้อมท์ที่มีประสิทธิภาพนั้นสำคัญต่อการปรับปรุงประสิทธิภาพของ LLM โดยเฉพาะอย่างยิ่งในการฝึกเขียนโค้ดและประสบการณ์การเรียนรู้ สุดท้ายนี้ Directional Stimulus Prompting [12] นำเสนอ framework ใหม่ที่ใช้โมเดลนโยบายที่ปรับแต่งได้เพื่อสร้างพร้อมท์เสริม ซึ่งจะชี้นำให้ LLM ไปสู่ผลลัพธ์ที่ต้องการเฉพาะเจาะจง ความหลากหลายของกลยุทธ์การพร้อมท์ นี้เน้นย้ำถึงการพัฒนาอย่างรวดเร็วของ LLM โดยเสนอแนวทางที่หลากหลายเพื่อควบคุมความสามารถของ LLMอย่างมีประสิทธิภาพมากขึ้น
3. หลักการ
3.1 แรงจูงใจ
เนื่องจากคุณภาพของการตอบสนองที่สร้างขึ้นโดย LLM ที่ได้รับการอบรมและจัดวางนั้นเกี่ยวข้องโดยตรงกับคุณภาพของพร้อมท์หรือคำสั่งที่ผู้ใช้ให้ไว้ จึงจำเป็นอย่างยิ่งที่จะต้องสร้างคำสั่งที่ LLM สามารถเข้าใจและตอบสนองได้อย่างมีประสิทธิภาพ คำสั่งที่ส่งไปยัง LLM เป็นวิธีการโต้ตอบระหว่างผู้ใช้และ LLM ซึ่งช่วยเพิ่มความสามารถในการจัดการกับงานที่หลากหลาย จุดสนใจหลักของงานนี้อยู่ที่วิธีการประดิษฐ์และปรับแต่งคำสั่งเพื่อปรับปรุงคุณภาพผลผลิต สิ่งนี้จำเป็นต้องมีความเข้าใจอย่างครอบคลุมถึงการทำงานและพฤติกรรมของ LLM, กลไกเบื้องหลัง และหลักการที่ควบคุมการตอบสนองของพวกเขา ในงานนี้ เราบรรลุเป้าหมายโดยการสร้างหลักการ 26 ประการอย่างละเอียดเพื่อการจัดทำพร้อมท์ที่ครอบคลุมในสถานการณ์แตกต่างกัน ตัวอย่างแสดงในรูปที่ 1
3.2 ภาพรวม
ภาพรวมของหลักการแสดงไว้ในตารางที่ 1 และเราได้จัดกลุ่มของหลักการออกเป็น 5 ประเภทตามลักษณะเฉพาะของหลักการดังกล่าว ดังตารางที่ 2 ซึ่งได้แก่ (1) โครงสร้างและความชัดเจนของพร้อมท์ เช่น ระบุผู้ชมเป้าหมายในพรอมต์ เช่น ผู้ชมเป็นผู้เชี่ยวชาญในสาขานั้น (2) ความเฉพาะเจาะจงและข้อมูล เช่น เพิ่มวลีต่อไปนี้ลงในพร้อมท์ “ตรวจสอบให้แน่ใจว่าคำตอบของคุณเป็นกลางและไม่เหมารวม” ลงในพร้อมท์ของคุณ (3) การโต้ตอบและการมีส่วนร่วมของผู้ใช้ เช่น อนุญาตให้โมเดลดึงรายละเอียดและความต้องการที่ถูกต้องจากคุณโดยการถามคำถามคุณจนกว่าเขาจะมีข้อมูลเพียงพอที่จะให้ผลลัพธ์ที่ต้องการ “จากนี้ไป ฉันอยากให้คุณถามคำถามกับฉัน ..". (4) เนื้อหาและรูปแบบภาษา เช่น ไม่จำเป็นต้องสุภาพกับ LLM จึงไม่จำเป็นต้องเพิ่มวลีเช่น “ได้โปรด” “ถ้าคุณไม่รังเกียจ” “ขอบคุณ” “ฉันอยากจะ” ฯลฯ และใช้คำที่ตรงประเด็น; (5) งานที่ซับซ้อนและการเขียนโค้ด เช่น แบ่งงานที่ซับซ้อนออกเป็นขั้นตอนๆ ที่ง่ายกว่าในการโต้ตอบ
หลักการ |
หลักการที่รวดเร็วสำหรับพร้อมท์ |
1 |
ไม่จำเป็นต้องสุภาพกับ LLM ดังนั้นจึงไม่จำเป็นต้องเพิ่มวลีเช่น "please" "ถ้าคุณไม่ว่าอะไร" "ขอบคุณ""ฉันต้องการ" ฯลฯ และตรงประเด็น |
2 |
รวมผู้อ่านที่ต้องการไว้ในพรอมต์ เช่น ผู้อ่านเป็นผู้เชี่ยวชาญในสาขานั้นๆ |
3 |
แบ่งงานที่ซับซ้อนออกเป็นลำดับของพรอมต์ที่ง่ายต่อการสนทนาแบบโต้ตอบ |
4 |
ใช้คำสั่งยืนยัน เช่น 'ทำ' ในขณะที่ควบคุมภาษาที่เป็นลบเช่น 'อย่าทำ' |
5 |
เมื่อคุณต้องการความชัดเจนหรือความเข้าใจที่ลึกซึ้งของหัวข้อ ความคิด หรือข้อมูลใด ๆ ให้ใช้คำสั่ง ต่อไปนี้: o อธิบาย [ใส่หัวข้อเฉพาะ] อย่างง่าย ๆ o อธิบายกับฉันเหมือนฉันอายุ 11 ปี o อธิบายให้ฉันฟังราวกับว่าฉันเป็นผู้เริ่มต้นใน [สาขา] o เขียน [เรียงความ/ข้อความ/ย่อหน้า] โดยใช้ภาษาอังกฤษง่ายๆ เหมือนที่คุณกำลังอธิบายบางอย่างให้เด็กห้าขวบฟัง |
6 |
เพิ่ม "ฉันจะให้ทิป $xxx สำหรับวิธีแก้ปัญหาที่ดีกว่า!" |
7 |
เพิ่มตัวอย่างในพร้อมท์ (ใช้ few-shot prompting – note จากผู้แปล: คือเทคนิคที่ให้โมเดลสามารถเรียนรู้จากข้อมูลตัวอย่างจำนวนไม่กี่ตัวอย่าง ด้วยการป้อนตัวอย่างงานที่ทำสำเร็จเรียบร้อยแล้ว แม้จะเพียงแค่ตัวอย่างเดียว ให้กับโมเดล เราสามารถประหยัดเวลา เพิ่มประสิทธิภาพในการ Generalize ความรู้ สามารถตอบโจทย์ได้หลากหลายและยืดหยุ่น) |
8 |
สำหรับรูปแบบพรอมต์ของคุณ ให้เริ่มต้นด้วย '##คำสั่ง##' ตามด้วย '##ตัวอย่าง##' หรือ '##คำถาม##' รายละเอียดเนื้อหาของคุณ ใช้หนึ่งบรรทัดหรือมากกว่านั้นเพื่อคั่นคำสั่ง ตัวอย่าง คำถาม บริบท และรายละเอียดข้อมูลที่ใส่ลงไป เว้นบรรทัดเพื่อแยกคำแนะนำ ตัวอย่าง คำถาม บริบท และรายละเอียด |
9 |
รวมวลีต่อไปนี้เข้าไป: "งานของคุณคือ..." และ "คุณต้อง..." |
10 |
รวมวลีต่อไปนี้เข้าไป: "พวกคุณจะต้องถูกลงโทษ" |
11 |
ใช้วลี "ตอบคำถามที่ให้มาอย่างเป็นธรรมชาติ ให้เหมือนมนุษย์ตอบ" ในคำแนะนำของคุณ |
12 |
ใช้คำแนะนำ เช่น เขียน "จงคิดทีละขั้น" |
13 |
เพิ่มประโยคต่อไปนี้ "ให้แน่ใจว่าคำตอบของคุณไม่เป็นกลางและไม่เหมารวม" |
14 |
อนุญาตให้โมเดลดึงรายละเอียดและลักษณะที่แม่นยำจากคุณโดยการถามคำถามคุณจนกว่าเขาจะมีข้อมูลเพียงพอที่จะให้ผลลัพธ์ที่ต้องการ (ตัวอย่างเช่น "จากนี้ไป ผมอยากให้คุณถามคำถามผม...") |
15 |
หากต้องการสอบถามเกี่ยวกับหัวข้อหรือไอเดียเฉพาะ หรือข้อมูลใดๆ และคุณต้องการทดสอบความเข้าใจของคุณ คุณสามารถใช้ วลีต่อไปนี้: "สอน [ชื่อทฤษฎีบท/หัวข้อ/กฎใดๆ] และรวมการทดสอบในตอนท้าย แต่อย่า ให้คำตอบแก่ฉันและบอกฉันถ้าฉันตอบถูกเมื่อฉันตอบ" |
16 |
กำหนดบทบาทให้กับ LLM |
17 |
ระบุขอบเขต |
18 |
ใช้คำหรือวลีเฉพาะซ้ำ ๆ หลายครั้งภายในพรอมต์ |
19 |
รวมห่วงโซ่แห่งความคิด (Chain-of-thought CoT - note จากผู้แปล เป็นเทคนิคที่จะแบ่งคำถามที่ซับซ้อนออกเป็นส่วนย่อยๆ ที่เป็นตรรกะซึ่งเลียนแบบขบวนความคิดที่เป็นลำดับ ซึ่งนี้จะช่วยให้โมเดลแก้ปัญหาโดยใช้ชุดขั้นตอนระดับกลางแทนที่จะตอบคำถามโดยตรง วิธีนี้จะช่วยเพิ่มความสามารถในการให้เหตุผลของ AI.) เข้ากับ few-shot prompt |
20 |
ให้คำเริ่มต้นของคำตอบที่ต้องการ ใส่จุดเริ่มต้นของเอาต์พุตที่ต้องการไว้ในพร้อมท์ |
21 |
หากต้องการเขียนเรียงความ /ข้อความ /ย่อหน้า /บทความ หรือข้อความประเภทใด ๆ ควรมีรายละเอียดประเภทดังกล่าวด้วย เช่น: “เขียน [เรียงความ/ข้อความโดยละเอียด/ย่อหน้า] ให้ฉันในเรื่อง [ชื่อหัวข้อ] โดยใส่ข้อมูลทั้งหมดที่จำเป็น” |
22 |
วิธีแก้ไข/เปลี่ยนแปลงข้อความเฉพาะโดยไม่เปลี่ยนรูปแบบการเขียน ใช้ “พยายามแก้ไขทุกย่อหน้าที่ผู้ใช้ส่งมา คุณควรปรับปรุงไวยากรณ์และคำศัพท์ของผู้ใช้เท่านั้น และทำให้แน่ใจว่าฟังดูเป็นธรรมชาติ คุณไม่ควรเปลี่ยนสไตล์การเขียน เช่น การลดความเป็นทางการของประโยค” |
23 |
เมื่อคุณมีพรอมต์การเข้ารหัสที่ซับซ้อนซึ่งอาจอยู่กันคนละไฟล์: “จากนี้ไปเมื่อใดก็ตามที่คุณสร้าง โค้ดที่ครอบคลุมมากกว่าหนึ่งไฟล์ ให้สร้างสคริปต์ [ภาษาโปรแกรมมิ่ง] ที่สามารถเรียกใช้ได้โดยอัตโนมัติ สร้างไฟล์ที่ระบุหรือทำการเปลี่ยนแปลงไฟล์ที่มีอยู่เพื่อแทรกโค้ดที่สร้างขึ้น [คำถามของคุณ]". |
24 |
เมื่อคุณต้องการสร้างหรือต่อข้อความโดยใช้คำ วลี หรือประโยคตามที่ระบุไว้ ให้ใช้พร้อมท์ต่อไปนี้: “ฉันจะเริ่มต้น [เนื้อเพลง/เรื่องราว/ย่อหน้า/เรียงความ...] ให้คุณ: [แทรกเนื้อเพลง/คำ/ประโยคที่ต้องการ]” เขียนให้จบโดยอิงข้อความที่ให้ไว้ และทำให้ความหมายสอดคล้องกัน |
25 |
ระบุสิ่งที่โมเดลต้องปฏิบัติตามอย่างชัดเจนเพื่อสร้างเนื้อหาในรูปแบบของkeywordข้อบังคับ คำใบ้ หรือคำแนะนำ |
26 |
ในการเขียนข้อความใดๆ เช่น เรียงความหรือย่อหน้า ที่มีจุดมุ่งหมายให้คล้ายกับตัวอย่างที่ให้ไว้ ให้ใส่ คำแนะนำต่อไปนี้: o โปรดใช้ภาษาลักษณะเดียวกันกับตัวอย่างที่ให้ไว้[ชื่อเรื่อง/ข้อความ/เรียงความ/คำตอบ] |
ตารางที่ 1: ภาพรวมของหลักการพร้อมท์ 26 ประการ
หมวดหมู่ |
หลักการ |
#หลักการ |
โครงสร้างพรอมต์ และความชัดเจน |
รวมผู้อ่านที่ต้องการไว้ในพรอมต์ เช่น ผู้อ่านเป็นผู้เชี่ยวชาญในสาขานั้นๆ
ใช้คำสั่งยืนยัน เช่น 'ทำ' ในขณะที่ควบคุมภาษาที่เป็นลบเช่น 'อย่าทำ'
ใช้ภาษานำ เช่น ระบุว่า "จงคิดทีละขั้น"
ให้คำเริ่มต้นของคำตอบที่ต้องการ ใส่จุดเริ่มต้นของเอาต์พุตที่ต้องการไว้ในพร้อมท์
ใช้การกำหนดขอบเขต
สำหรับรูปแบบพรอมต์ของคุณ ให้เริ่มต้นด้วย '##คำสั่ง##' ตามด้วย '##ตัวอย่าง##'หรือ '##คำถาม##' รายละเอียดเนื้อหาของคุณ ใช้หนึ่งบรรทัดหรือมากกว่านั้นเพื่อคั่นคำสั่ง ตัวอย่าง คำถาม บริบท และรายละเอียดข้อมูลที่ใส่ลงไป เว้นบรรทัดเพื่อแยกคำแนะนำ ตัวอย่าง คำถาม บริบท และรายละเอียด
|
2
4
12
20
17
8
|
ความจำเพาะและ รายละเอียดข้อมูล |
เมื่อคุณต้องการความชัดเจนหรือความเข้าใจที่ลึกซึ้งของหัวข้อ ความคิด หรือข้อมูลใด ๆ ให้ใช้คำสั่งต่อไปนี้: o อธิบาย [ใส่หัวข้อเฉพาะ] อย่างง่าย ๆ o อธิบายกับฉันเหมือนฉันอายุ 11 ปี o อธิบายให้ฉันฟังราวกับว่าฉันเป็นผู้เริ่มต้นใน [สาขา] o เขียน [เรียงความ/ข้อความ/ย่อหน้า] โดยใช้ภาษาอังกฤษง่ายๆ เหมือนที่คุณกำลังอธิบายบางอย่างให้เด็กห้าขวบฟัง
เพิ่มตัวอย่างในพร้อมท์ (ใช้ few-shot prompting – note จากผู้แปล: คือเทคนิคที่ให้โมเดลสามารถเรียนรู้จากข้อมูลตัวอย่างจำนวนไม่กี่ตัวอย่าง ด้วยการป้อนตัวอย่างงานที่ทำสำเร็จเรียบร้อยแล้ว แม้จะเพียงแค่ตัวอย่างเดียว ให้กับโมเดล เราสามารถประหยัดเวลา เพิ่มประสิทธิภาพในการ Generalize ความรู้ สามารถตอบโจทย์ได้หลากหลายและยืดหยุ่น)
จงเติมวลีต่อไปนี้ "ให้แน่ใจว่าคำตอบของคุณไม่มีอคติและไม่เหมารวม"
ในการเขียนข้อความใดๆ เช่น เรียงความหรือย่อหน้า ที่มีจุดมุ่งหมายให้คล้ายกับตัวอย่างที่ให้ไว้ ให้ใส่คำแนะนำต่อไปนี้: o โปรดใช้ภาษาลักษณะเดียวกันกับตัวอย่างที่ให้ไว้[ชื่อเรื่อง/ข้อความ/เรียงความ/คำตอบ]
เมื่อคุณต้องการสร้างหรือต่อข้อความโดยใช้คำ วลี หรือประโยคตามที่ระบุไว้ ให้ใช้พร้อมท์ต่อไปนี้: “ฉันจะเริ่มต้น [เนื้อเพลง/เรื่องราว/ย่อหน้า/เรียงความ...] ให้คุณ: [แทรกเนื้อเพลง/คำ/ประโยคที่ต้องการ]” เขียนให้จบโดยอิงตามข้อความที่ให้ไว้ และทำให้ความหมายสอดคล้องกัน
ระบุสิ่งที่โมเดลต้องปฏิบัติตามอย่างชัดเจนเพื่อสร้างเนื้อหาในรูปแบบของkeyword ข้อบังคับ คำใบ้ หรือคำแนะนำ
หากต้องการสอบถามเกี่ยวกับหัวข้อหรือไอเดียเฉพาะ หรือข้อมูลใดๆ และคุณต้องการทดสอบความเข้าใจของคุณ คุณสามารถใช้วลีต่อไปนี้: "สอน [ชื่อทฤษฎีบท/หัวข้อ/กฎใดๆ] และรวมการทดสอบในตอนท้าย แต่อย่า ให้คำตอบแก่ฉันและบอกฉันถ้าฉันตอบถูกเมื่อฉันตอบ"
หากต้องการเขียนเรียงความ /ข้อความ /ย่อหน้า /บทความ หรือข้อความประเภทใด ๆ ควรมีรายละเอียดประเภทดังกล่าวด้วย เช่น: “เขียน [เรียงความ/ข้อความโดยละเอียด/ย่อหน้า] ให้ฉันในเรื่อง [ชื่อหัวข้อ] โดยใส่ข้อมูลทั้งหมดที่จำเป็น” |
7
5
13
26
24
25
15
21 |
การโต้ตอบของผู้ใช้ และความร่วมมือ |
อนุญาตให้โมเดลดึงรายละเอียดและลักษณะที่แม่นยำจากคุณโดยการถามคำถามคุณจนกว่าเขาจะมีข้อมูลเพียงพอที่จะให้ผลลัพธ์ที่ต้องการ (ตัวอย่างเช่น "จากนี้ไป ผมอยากให้คุณถามคำถามผม...")
หากต้องการเขียนเรียงความ /ข้อความ /ย่อหน้า /บทความ หรือข้อความประเภทใด ๆ ควรมีรายละเอียดประเภทดังกล่าวด้วย เช่น: “เขียน [เรียงความ/ข้อความโดยละเอียด/ย่อหน้า] ให้ฉันในเรื่อง [ชื่อหัวข้อ] โดยใส่ข้อมูลทั้งหมดที่จำเป็น” |
14
21 |
เนื้อหาและ รูปแบบภาษา |
วิธีแก้ไข/เปลี่ยนแปลงข้อความเฉพาะโดยไม่เปลี่ยนรูปแบบการเขียน ใช้ “พยายามแก้ไขทุกย่อหน้าที่ผู้ใช้ส่งมา คุณควรปรับปรุงไวยากรณ์และคำศัพท์ของผู้ใช้เท่านั้น และทำให้แน่ใจว่าฟังดูเป็นธรรมชาติ คุณไม่ควรเปลี่ยนสไตล์การเขียน เช่น การลดความเป็นทางการของประโยค”
รวมวลีต่อไปนี้เข้าไป: "งานของคุณคือ..." และ "คุณต้อง..."
รวมวลีต่อไปนี้เข้าไป: "พวกคุณจะต้องถูกลงโทษถ้า..."
กำหนดบทบาทให้กับ LLM
ใช้วลี "ตอบคำถามที่ให้มาอย่างเป็นธรรมชาติ ให้เหมือนมนุษย์ตอบ" ในคำแนะนำของคุณ
ไม่จำเป็นต้องสุภาพกับ LLM ดังนั้นจึงไม่จำเป็นต้องเพิ่มวลีเช่น "please" "ถ้าคุณไม่ว่าอะไร" "ขอบคุณ"
ใช้คำหรือวลีเฉพาะซ้ำ ๆ หลายครั้งภายในพรอมต์
เพิ่ม "ฉันจะให้ทิป $xxx สำหรับวิธีแก้ปัญหาที่ดีกว่า!"
|
22
9
10
16
11
1
18
6 |
งานที่ซับซ้อนและคำแนะนำในการเขียนรหัส |
แบ่งงานที่ซับซ้อนออกเป็นลำดับของพรอมต์ที่ง่ายต่อการสนทนาแบบโต้ตอบ
เมื่อคุณมีพรอมต์การเข้ารหัสที่ซับซ้อนซึ่งอาจอยู่กันคนละไฟล์: “จากนี้ไปเมื่อใดก็ตามที่คุณสร้าง โค้ดที่ครอบคลุมมากกว่าหนึ่งไฟล์ ให้สร้างสคริปต์ [ภาษาโปรแกรมมิ่ง] ที่สามารถเรียกใช้ได้โดยอัตโนมัติ สร้างไฟล์ที่ระบุหรือทำการเปลี่ยนแปลงไฟล์ที่มีอยู่เพื่อแทรกโค้ดที่สร้างขึ้น [คำถามของคุณ]".
รวมห่วงโซ่แห่งความคิด (Chain-of-thought CoT - note จากผู้แปล เป็นเทคนิคที่จะแบ่งคำถามที่ซับซ้อนออกเป็นส่วนย่อยๆ ที่เป็นตรรกะซึ่งเลียนแบบขบวนความคิดที่เป็นลำดับ ซึ่งนี้จะช่วยให้โมเดลแก้ปัญหาโดยใช้ชุดขั้นตอนระดับกลางแทนที่จะตอบคำถามโดยตรง วิธีนี้จะช่วยเพิ่มความสามารถในการให้เหตุผลของ AI.) เข้ากับ few-shot prompt |
3
23
19 |
ตารางที่ 2: หมวดหมู่หลักการพร้อมท์
ที่มา: 2312.16171.pdf (arxiv.org)