เกี่ยวกับโมเดล Generative

โมเดลปัญญาประดิษฐ์ (AI) แบบ Generative เช่น โมเดลตระกูล Gemini สามารถสร้างเนื้อหาจากอินพุตข้อมูลประเภทต่างๆ ซึ่งรวมถึงข้อความ รูปภาพ และเสียง โมเดลเหล่านี้ทำงานในระดับพื้นฐานที่สุดเหมือนแอปพลิเคชันการเติมข้อความอัตโนมัติที่ซับซ้อน เมื่อทราบข้อความอินพุต ("You can lead a horse to water") โมเดล Generative จะคาดการณ์ข้อความเอาต์พุตที่สถิติระบุว่ามีแนวโน้มจะตามมา ("but you can't make it drink") โดยอิงตามรูปแบบที่เรียนรู้จากข้อมูลการฝึก คุณสามารถใช้พร็อพเพอร์ตี้พื้นฐานนี้ของรูปแบบ Generative กับแอปพลิเคชันต่างๆ ได้ ดังนี้

  • ผลิตงานเขียนเชิงสร้างสรรค์ เช่น บทกวี เรื่องสั้น คำอุปมา และบล็อกโพสต์
  • แปลง Structured Data เป็นข้อความรูปแบบอิสระ
  • ดึงข้อมูลและสรุปจากข้อความรูปแบบอิสระ
  • สร้างโค้ด
  • แปลไปมาระหว่างภาษา

การใช้โมเดล Generative เพื่อสร้างฟีเจอร์เหล่านี้ไม่จำเป็นต้องมีความเชี่ยวชาญด้านแมชชีนเลิร์นนิง (ML) คุณไม่จําเป็นต้องรวบรวมชุดข้อมูลขนาดใหญ่หรือฝึกโมเดล สิ่งที่ต้องทำเพื่อเริ่มต้นสร้างโปรโตไทป์แรกคืออธิบายสิ่งที่คุณต้องการให้โมเดลทําใน 2-3 ประโยค

โมเดล Generative ที่จัดการเฉพาะอินพุตและเอาต์พุตข้อความเรียกอีกอย่างว่าโมเดลภาษาขนาดใหญ่ (LLM) ชุดโมเดลของ Gemini สามารถประมวลผลได้มากกว่าข้อมูลข้อความ และแม้ว่าจะทําหน้าที่ของ LLM ได้ แต่ชื่อที่เหมาะกว่าคือโมเดล Generative

แอปพลิเคชันตัวอย่าง

ตัวอย่างต่อไปนี้แสดงอินพุตข้อความทั่วไปและเอาต์พุตจากรูปแบบการสร้าง

แต่งบทกวี

อินพุตของผู้ใช้: Write me a four-line poem about puppies and Android phones. Make sure it rhymes.

เอาต์พุตโมเดล

Puppies are cute,
Android phones are neat,
They both bring joy,
And make life complete.

สร้างรายการ

ข้อมูลจากผู้ใช้: Generate a bulleted list of items I need to pack for a three-day camping trip.

เอาต์พุตโมเดล

*   Tent
*   Sleeping bag
*   Sleeping pad
*   Camp stove
*   Pots and pans
*   Utensils
*   Food
*   Water
*   First-aid kit
*   Sunscreen
*   Insect repellent
*   ...

คุณสามารถใช้โมเดล Generative เพื่อสร้างพฤติกรรมที่เป็นประโยชน์ได้ทุกประเภท เพียงแค่สร้างอินพุตที่ถูกต้อง หรือที่เรียกว่าพรอมต์ ศาสตร์และศาสตร์ของการหาข้อความที่เหมาะสมเพื่อให้โมเดล Generative ทำงานที่คุณต้องการเรียกว่าการออกแบบพรอมต์ (หรือที่เรียกว่า "พรอมต์วิศวกรรม" หรือเรียกง่ายๆ ว่า "พรอมต์")

การออกแบบพรอมต์ 101

ส่วนก่อนหน้านี้แสดงตัวอย่างพรอมต์ที่มีวิธีการ เช่น "เขียนบทกวีให้ฉันหน่อย" คำสั่งประเภทนี้อาจเหมาะกับงานบางประเภท อย่างไรก็ตาม สําหรับแอปพลิเคชันอื่นๆ เทคนิคการแจ้งอีกวิธีที่เรียกว่าการแจ้งแบบไม่กี่ช็อตอาจได้ผลดีกว่า พรอมต์แบบไม่กี่ประโยคใช้ประโยชน์จากข้อเท็จจริงที่ว่าโมเดลภาษาขนาดใหญ่มีความสามารถที่ยอดเยี่ยมในการจดจำและจำลองรูปแบบในข้อมูลข้อความ แนวคิดคือส่งรูปแบบข้อความที่โมเดล Generative เรียนรู้มาเพื่อให้โมเดลเติมข้อความให้สมบูรณ์ ตัวอย่างเช่น สมมติว่าคุณต้องการสร้างแอปพลิเคชันที่รับอินพุตเป็นชื่อประเทศและแสดงผลเป็นเมืองหลวง ต่อไปนี้เป็นข้อความที่ออกแบบมาเพื่อช่วยในเรื่องนี้

Italy : Rome
France : Paris
Germany :

ในพรอมต์นี้ คุณสร้างรูปแบบ [country] : [capital] หากคุณส่งพรอมต์นี้ไปยังโมเดลภาษาขนาดใหญ่ โมเดลจะเติมรูปแบบให้สมบูรณ์และแสดงผลประมาณนี้

     Berlin
Turkey : Ankara
Greece : Athens

การตอบสนองของโมเดลนี้อาจดูแปลกเล็กน้อย โมเดลนี้ไม่เพียงแสดงเมืองหลวงของเยอรมนี (ประเทศสุดท้ายในพรอมต์ที่เขียนด้วยมือ) เท่านั้น แต่ยังแสดงรายการประเทศและเมืองหลวงคู่อื่นๆ ทั้งหมดด้วย นั่นเป็นเพราะรูปแบบ Generative กำลัง "สร้างรูปแบบต่อ" หากสิ่งที่คุณพยายามทําคือสร้างฟังก์ชันที่บอกเมืองหลวงของประเทศที่ป้อน ("เยอรมนี : Berlin") คุณอาจไม่สนใจข้อความใดๆ ที่โมเดลสร้างขึ้นหลัง "Berlin" อันที่จริงในฐานะนักออกแบบแอปพลิเคชัน คุณอาจต้องการ ตัดตัวอย่างที่ไม่จำเป็นเหล่านั้นออก นอกจากนี้ คุณอาจต้องกำหนดพารามิเตอร์อินพุตเพื่อให้เยอรมนีไม่ใช่สตริงแบบคงที่ แต่เป็นตัวแปรที่ผู้ใช้ปลายทางระบุ

Italy : Rome
France : Paris
<user input here> :

คุณเพิ่งเขียนพรอมต์แบบไม่กี่คำเพื่อสร้างเมืองหลวงของประเทศ

คุณทำสิ่งต่างๆ จำนวนมากได้โดยทำตามเทมเพลตพรอมต์ตัวอย่างนี้ ตัวอย่างพรอมต์แบบหลายคำสั่งที่มีรูปแบบแตกต่างออกไปเล็กน้อยซึ่งแปลง Python เป็น JavaScript มีดังนี้

Convert Python to JavaScript.
Python: print("hello world")
JavaScript: console.log("hello world")
Python: for x in range(0, 100):
JavaScript: for(var i = 0; i < 100; i++) {
Python: ${USER INPUT HERE}
JavaScript:

หรือจะใช้พรอมต์ "พจนานุกรมย้อนกลับ" นี้ก็ได้ เมื่อระบุคำจำกัดความ ระบบจะแสดงคำที่ตรงกับคำจำกัดความนั้น

Given a definition, return the word it defines.
Definition: When you're happy that other people are also sad.
Word: schadenfreude
Definition: existing purely in the mind, but not in physical reality
Word: abstract
Definition: ${USER INPUT HERE}
Word:

คุณอาจสังเกตเห็นว่ารูปแบบที่แน่นอนของพรอมต์แบบไม่กี่ช็อตเหล่านี้แตกต่างกันเล็กน้อย นอกจากจะมีตัวอย่างแล้ว การให้คําแนะนําในพรอมต์ยังเป็นกลยุทธ์เพิ่มเติมที่ควรพิจารณาเมื่อเขียนพรอมต์ของคุณเอง เนื่องจากช่วยสื่อสารความตั้งใจของคุณไปยังโมเดล

การแสดงข้อความแจ้งเมื่อเทียบกับการพัฒนาซอฟต์แวร์แบบดั้งเดิม

ลักษณะการทำงานของโมเดล Generative จะไม่ชัดเจนอย่างมากแม้กระทั่งสำหรับเทรนเนอร์โมเดล ซึ่งแตกต่างจากซอฟต์แวร์ดั้งเดิมที่ออกแบบมาให้เป็นไปตามข้อกำหนดที่เขียนมาอย่างพิถีพิถัน ด้วยเหตุนี้ คุณจึงมักคาดเดาล่วงหน้าไม่ได้ว่าโครงสร้างพรอมต์ประเภทใดจะเหมาะกับโมเดลหนึ่งๆ มากที่สุด นอกจากนี้ ลักษณะการทํางานของโมเดล Generative ส่วนใหญ่จะกําหนดโดยข้อมูลการฝึก และเนื่องจากมีการปรับแต่งโมเดลอย่างต่อเนื่องในชุดข้อมูลใหม่ บางครั้งโมเดลก็เปลี่ยนแปลงมากพอที่จะเปลี่ยนโครงสร้างพรอมต์ที่ได้ผลดีที่สุดโดยไม่ตั้งใจ การเปลี่ยนแปลงนี้ส่งผลต่อคุณอย่างไร ลองทดสอบ! ลองใช้รูปแบบพรอมต์อื่นๆ

พารามิเตอร์ของโมเดล

พรอมต์ทุกรายการที่คุณส่งไปยังโมเดลจะมีค่าพารามิเตอร์ที่ควบคุมวิธีที่โมเดลสร้างคำตอบ โมเดลสามารถสร้างผลลัพธ์ที่แตกต่างกันสําหรับค่าพารามิเตอร์ที่แตกต่างกัน พารามิเตอร์โมเดลที่ใช้กันมากที่สุดมีดังนี้

  1. โทเค็นเอาต์พุตสูงสุด: ระบุจำนวนโทเค็นสูงสุดที่สร้างได้ในการตอบสนอง โทเค็นมีความยาวประมาณ 4 อักขระ โทเค็น 100 รายการจะสอดคล้องกับคําประมาณ 60-80 คํา

  2. อุณหภูมิ: อุณหภูมิจะควบคุมระดับความสุ่มในการเลือกโทเค็น ระบบจะใช้อุณหภูมิในการสุ่มตัวอย่างระหว่างการสร้างคำตอบ ซึ่งจะเกิดขึ้นเมื่อใช้ topP และ topK อุณหภูมิที่ต่ำเหมาะสำหรับพรอมต์ที่ต้องใช้คำตอบแบบกำหนดเจาะจงหรือแบบไม่เปิดกว้างมากนัก ส่วนอุณหภูมิที่สูงอาจนำไปสู่ผลลัพธ์ที่หลากหลายหรือสร้างสรรค์มากขึ้น อุณหภูมิของ 0 คือเชิงกำหนด ซึ่งหมายความว่าจะเลือกคำตอบที่มีความน่าจะเป็นสูงสุดเสมอ

  3. topK: พารามิเตอร์ topK จะเปลี่ยนวิธีที่โมเดลเลือกโทเค็นสำหรับเอาต์พุต topK เท่ากับ 1 หมายความว่าโทเค็นที่เลือกมีแนวโน้มมากที่สุดในบรรทัดโทเค็นทั้งหมดในคลังคำของโมเดล (หรือที่เรียกว่าการถอดรหัสแบบละโมบ) ส่วน topK เท่ากับ 3 หมายความว่าระบบจะเลือกโทเค็นถัดไปจากโทเค็นที่มีแนวโน้มมากที่สุด 3 รายการโดยใช้อุณหภูมิ สําหรับขั้นตอนการเลือกโทเค็นแต่ละขั้นตอน ระบบจะสุ่มตัวอย่างโทเค็น topK ที่มีแนวโน้มสูงสุด จากนั้นระบบจะกรองโทเค็นเพิ่มเติมตาม topP โดยเลือกโทเค็นสุดท้ายโดยใช้การสุ่มตัวอย่างอุณหภูมิ

  4. topP: พารามิเตอร์ topP จะเปลี่ยนวิธีที่โมเดลเลือกโทเค็นสำหรับเอาต์พุต ระบบจะเลือกโทเค็นจากความน่าจะเป็นสูงสุดไปจนถึงต่ำสุดจนกว่าผลรวมของความน่าจะเป็นจะเท่ากับค่า topP เช่น หากโทเค็น A, B และ C มีความน่าจะเป็นที่ 0.3, 0.2 และ 0.1 และค่า topP คือ 0.5 โมเดลจะเลือก A หรือ B เป็นโทเค็นถัดไปโดยใช้อุณหภูมิและยกเว้น C เป็นโทเค็น ค่า topP เริ่มต้นคือ 0.95

  5. stop_sequences: ตั้งค่าลำดับการหยุดเพื่อบอกให้โมเดลหยุดสร้างเนื้อหา ลําดับการหยุดอาจเป็นลําดับอักขระใดก็ได้ พยายามหลีกเลี่ยงการใช้ลำดับอักขระที่อาจปรากฏในเนื้อหาที่สร้างขึ้น

ประเภทของพรอมต์

โดยพรอมต์จะแบ่งออกเป็น 3 ประเภทโดยคร่าวๆ ตามระดับของข้อมูลเชิงบริบทที่มี

พรอมต์แบบไม่มีตัวอย่าง

พรอมต์เหล่านี้ไม่มีตัวอย่างให้โมเดลจำลอง โดยพื้นฐานแล้วพรอมต์แบบไม่ใช้ข้อมูลที่มีอยู่จะแสดงความสามารถของโมเดลในการตอบพรอมต์โดยไม่ต้องใช้ตัวอย่างหรือข้อมูลเพิ่มเติม ซึ่งหมายความว่าโมเดลต้องอาศัยความรู้ที่มีอยู่เพื่อสร้างคำตอบที่เป็นไปได้

รูปแบบพรอมต์บางส่วนที่ใช้กันโดยทั่วไปมีดังนี้

  • เนื้อหาวิธีการ
<Overall instruction>
<Content to operate on>

ตัวอย่างเช่น

Summarize the following into two sentences at the third-grade level:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds.

Hummingbirds are made up of three main parts: the head, the body, and the tail.
The head is small and round, and it contains the eyes, the beak, and the brain.
The body is long and slender, and it contains the wings, the legs, and the
heart. The tail is long and forked, and it helps the hummingbird to balance
while it is flying.

Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color!

Hummingbirds are very active creatures. They spend most of their time flying,
and they are also very good at hovering. Hummingbirds need to eat a lot of food
in order to maintain their energy, and they often visit flowers to drink nectar.

Hummingbirds are amazing creatures. They are small, but they are also very
powerful. They are beautiful, and they are very important to the ecosystem.
  • Instruction-content-instruction
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>

ตัวอย่างเช่น

Here is some text I'd like you to summarize:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds. Hummingbirds
are made up of three main parts: the head, the body, and the tail. The head is
small and round, and it contains the eyes, the beak, and the brain. The body is
long and slender, and it contains the wings, the legs, and the heart. The tail
is long and forked, and it helps the hummingbird to balance while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color! Hummingbirds are very active creatures. They spend most
of their time flying, and they are also very good at hovering. Hummingbirds need
to eat a lot of food in order to maintain their energy, and they often visit
flowers to drink nectar. Hummingbirds are amazing creatures. They are small, but
they are also very powerful. They are beautiful, and they are very important to
the ecosystem.

Summarize it in two sentences at the third-grade reading level.
  • การดําเนินการต่อ บางครั้ง คุณอาจให้โมเดลดำเนินการต่อด้วยข้อความ โดยไม่มีคำแนะนำ ต่อไปนี้คือตัวอย่างพรอมต์แบบไม่ใช้ข้อมูลตัวอย่างที่โมเดลมีไว้เพื่อต่อยอดจากอินพุตที่ระบุ
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow

ใช้พรอมต์แบบ Zero shot เพื่อสร้างรูปแบบข้อความสร้างสรรค์ เช่น บทกวี โค้ด สคริปต์ บทเพลง อีเมล หรือตัวอักษร

พรอมต์แบบยิงครั้งเดียว

พรอมต์เหล่านี้จะแสดงตัวอย่างเดียวให้โมเดลเพื่อจำลองและสร้างรูปแบบต่อ ซึ่งจะทำให้สามารถสร้างคำตอบที่คาดการณ์ได้จากโมเดล

เช่น คุณสามารถสร้างการจับคู่อาหาร เช่น

Food: Apple
Pairs with: Cheese
Food: Pear
Pairs with:

พรอมต์แบบไม่กี่คำ

ข้อความแจ้งเหล่านี้ทำให้โมเดลมีตัวอย่างหลายรายการให้ทำซ้ำ ใช้พรอมต์ไม่กี่ครั้งเพื่อทำงานที่ซับซ้อนให้เสร็จสิ้น เช่น การสังเคราะห์ข้อมูลตามรูปแบบ

ตัวอย่างพรอมต์อาจเป็นดังนี้

Generate a grocery shopping list for a week for one person. Use the JSON format
given below.
{"item": "eggs", "quantity": "6"}
{"item": "bread", "quantity": "one loaf"}

โมเดล Generative เบื้องหลัง

ส่วนนี้มีจุดประสงค์เพื่อตอบคำถามว่าคำตอบของโมเดล Generative เป็นแบบสุ่มหรือเป็นแบบกำหนด

คำตอบสั้นๆ คือทั้ง 2 อย่าง เมื่อคุณทริกเกอร์โมเดล Generative การตอบกลับข้อความจะสร้างขึ้นใน 2 ขั้นตอน ในขั้นตอนแรก โมเดล Generative จะประมวลผลพรอมต์อินพุตและสร้างการแจกแจงความน่าจะเป็นสำหรับโทเค็น (คำ) ที่เป็นไปได้ซึ่งน่าจะปรากฏขึ้นถัดไป ตัวอย่างเช่น หากคุณป้อนพรอมต์เป็นข้อความ "สุนัขกระโดดข้าม ... " โมเดล Generative จะสร้างอาร์เรย์ของคำถัดไปที่เป็นไปได้ดังนี้

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

กระบวนการนี้เป็นแบบกำหนดได้ โมเดล Generative จะสร้างการแจกแจงเดียวกันนี้ทุกครั้งที่มีการป้อนข้อความพรอมต์เดียวกัน

ในขั้นตอนที่ 2 โมเดล Generative จะเปลี่ยนการแจกแจงเหล่านี้เป็นการตอบกลับด้วยข้อความจริงผ่านกลยุทธ์การถอดรหัสอย่างใดอย่างหนึ่ง กลยุทธ์การถอดรหัสง่ายๆ อาจเลือกโทเค็นที่เป็นไปได้มากที่สุดในทุกขั้นตอน กระบวนการนี้จะเป็นแบบกำหนดได้เสมอ อย่างไรก็ตาม คุณอาจเลือกสร้างคำตอบโดยการสุ่มตัวอย่างจากข้อมูลประชากรที่โมเดลแสดงแทนก็ได้ กระบวนการนี้จะเป็นแบบสุ่ม ควบคุมระดับความสุ่มที่อนุญาตในกระบวนการถอดรหัสนี้โดยการตั้งค่าอุณหภูมิ อุณหภูมิที่ 0 หมายความว่าจะเลือกเฉพาะโทเค็นที่เป็นไปได้มากที่สุดเท่านั้นและไม่มีความสุ่ม ในทางกลับกัน อุณหภูมิที่สูงจะแทรกการสุ่มระดับสูงในโทเค็นที่เลือกโดยโมเดล ซึ่งนำไปสู่การตอบสนองของโมเดลที่ไม่คาดคิดและน่าประหลาดใจมากขึ้น

อ่านเพิ่มเติม

  • เมื่อคุณเข้าใจพรอมต์และโมเดล Generative มากขึ้นแล้ว ลองเขียนพรอมต์ของคุณเองโดยใช้ Google AI Studio
  • โปรดดูหลักเกณฑ์พรอมต์เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติแนะนำในการสร้างพรอมต์