คู่มือ AI ภาษา

รุ่นที่มีข้อจำกัดและแบบมีคำแนะนำด้านไวยากรณ์

การสร้างที่มีข้อจำกัดบังคับให้โมเดลภาษาสร้างเอาต์พุตที่สอดคล้องกับโครงสร้างที่กำหนดไว้เสมอ เช่น JSON, SQL หรือนิพจน์ทั่วไปที่ถูกต้อง

อ่าน 2 นาทีอัปเดตล่าสุด

ภาพรวม

It matters because it eliminates an entire class of parsing failures, making LLMs reliable enough to wire into real software pipelines.

เจาะลึก

โมเดลภาษาปกติจะเก็บตัวอย่างโทเค็นถัดไปอย่างอิสระ ดังนั้นจึงสามารถสร้าง JSON ที่มีรูปแบบไม่ถูกต้อง ค่าแจงนับที่ไม่ถูกต้อง หรือวงเล็บปีกกาที่ไม่สมดุลได้ การสร้างที่มีข้อจำกัดจะเปลี่ยนขั้นตอนการสุ่มตัวอย่าง: ในแต่ละตำแหน่ง ระบบจะคำนวณว่าโทเค็นใดที่ยังคงถูกกฎหมายโดยพิจารณาจากสคีมาหรือไวยากรณ์ จากนั้นปกปิดความน่าจะเป็นของโทเค็นที่ผิดกฎหมายทุกรายการให้เป็นศูนย์ก่อนที่จะสุ่มตัวอย่าง กฎมักจะแสดงเป็นไวยากรณ์ที่ไม่มีบริบท (มักคอมไพล์เป็นรูปแบบ GBNF ที่ llama.cpp ใช้) นิพจน์ทั่วไป หรือ JSON Schema ไลบรารีเช่น Outlines, Guidance และ XGrammar รวมถึง Structured Outputs ของ OpenAI และ 'โหมด JSON' ต่างก็นำสิ่งนี้ไปใช้ เนื่องจากเส้นทางที่ผิดกฎหมายถูกตัดออก โมเดลจึงไม่สามารถปล่อยสตริงที่ไม่สามารถแยกวิเคราะห์ได้ ในขณะที่ยังคงเลือกได้อย่างอิสระระหว่างเส้นทางต่อเนื่องที่ถูกต้อง

ข้อมูลเชิงลึกทางเทคนิค

เคล็ดลับหลักคือเครื่องสถานะจำกัดระดับโทเค็น ไวยากรณ์หรือ regex ได้รับการคอมไพล์เป็นสถานะ และสำหรับแต่ละรัฐ หน้ากากที่คำนวณไว้ล่วงหน้าจะทำเครื่องหมายว่าโทเค็นคำศัพท์ใดที่ทำให้เอาต์พุตถูกต้อง หลังจากที่โมเดลสร้าง logits โทเค็นที่ผิดกฎหมายจะถูกตั้งค่าเป็นค่าอนันต์ติดลบ ดังนั้น softmax จึงกำหนดความน่าจะเป็นเป็นศูนย์ เครื่องจะเลื่อนสถานะด้วยโทเค็นที่ยอมรับแต่ละรายการ ความไม่ตรงกันของ Tokenizer (โทเค็นหนึ่งขอบเขตขอบเขตไวยากรณ์) เป็นส่วนที่ยาก จัดการโดยการจัดทำดัชนีคำศัพท์กับหุ่นยนต์ล่วงหน้า

ผลกระทบเชิงกลยุทธ์

ความเร็วและขนาด

ขั้นตอนการทำงานของภาษาสามารถดำเนินไปได้เร็วขึ้นโดยไม่กระทบต่อความสม่ำเสมอ

เข้าถึงและเข้าถึง

ขยายการเข้าถึงภาษาและรูปแบบการสื่อสาร

การตัดสินใจที่ชัดเจนยิ่งขึ้น

ทีมสามารถใช้เวลามากขึ้นในการตัดสิน ในขณะที่ระบบอัตโนมัติจัดการกับการทำซ้ำ

อนาคตของรุ่นที่จำกัดและเน้นไวยากรณ์

คาดหวังว่าการถอดรหัสที่มีข้อจำกัดจะกลายเป็นคุณลักษณะเริ่มต้นที่เกือบจะเป็นศูนย์เหนือศีรษะภายในกลไกการอนุมาน เช่น vLLM และ TensorRT-LLM แทนที่จะเป็นไลบรารีแบบ bolt-on การวิจัยกำลังผลักดันไปสู่ข้อจำกัดที่สมบูรณ์ยิ่งขึ้น ไวยากรณ์ที่ไวต่อบริบทอย่างสมบูรณ์ การสร้างโค้ดที่ตรวจสอบประเภท และข้อจำกัดที่บังคับใช้ข้อเท็จจริงเชิงความหมาย ไม่ใช่แค่ไวยากรณ์เท่านั้น การเชื่อมต่อกับเอเจนต์และการเรียกใช้เครื่องมือที่เข้มงวดยิ่งขึ้นจะช่วยให้โมเดลปล่อยอาร์กิวเมนต์ของฟังก์ชันได้อย่างน่าเชื่อถือ ความท้าทายแบบเปิดคือการรักษาความถูกต้องแม่นยำให้สูง เนื่องจากไวยากรณ์ที่แน่นเกินไปอาจทำให้โมเดลอยู่ห่างจากคำตอบที่ดีที่สุดได้

การใช้งานจริงในโลกแห่งความเป็นจริง

การบังคับให้ LLM ปล่อย JSON ที่ตรงกับสคีมาของ API ทุกประการ ดังนั้นโค้ดดาวน์สตรีมจึงไม่เกิดข้อผิดพลาดในการแยกวิเคราะห์

การสร้าง SQL ที่รับประกันว่าจะถูกต้องทางไวยากรณ์กับไวยากรณ์ของฐานข้อมูลก่อนดำเนินการ

การจำกัดเอาต์พุตของตัวแยกประเภทให้เป็นหนึ่งในชุดป้ายกำกับหมวดหมู่คงที่โดยใช้ข้อจำกัด regex หรือ enum

การสร้างอาร์กิวเมนต์การเรียกใช้ฟังก์ชันสำหรับเอเจนต์การใช้เครื่องมือที่ตรงกับประเภทพารามิเตอร์ที่ต้องการของเครื่องมือเสมอ

ความเสี่ยงและรั้ว

ข้อเท็จจริงที่หลอนประสาทสามารถเข้าสู่รายงาน กระแสสนับสนุน หรือผลการวิจัยได้อย่างเงียบๆ

ความละเอียดอ่อนของการแจ้งเตือนสามารถสร้างผลลัพธ์ที่ไม่สอดคล้องกันในคำขอที่คล้ายกัน

ข้อมูลข้อความที่ละเอียดอ่อนอาจถูกเปิดเผยหากการควบคุมการเข้าถึงอ่อนแอ

แผนงานการดำเนินงาน

1

กำหนดรูปแบบเอาต์พุต โทนเสียง และมาตรฐานคุณภาพก่อนเปิดตัว

2

การตอบสนองภาคพื้นดินกับแหล่งข้อมูลที่เชื่อถือได้เมื่อใดก็ตามที่ความแม่นยำมีความสำคัญ

3

รักษาจุดตรวจสอบการตรวจสอบโดยมนุษย์สำหรับผลลัพธ์ที่มีเดิมพันสูง

4

ติดตามรูปแบบความล้มเหลวและฝึกอบรมพร้อมท์หรือเวิร์กโฟลว์เป็นประจำ

สำรวจต่อไป

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Constrained and Grammar-Guided Generation quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

เริ่มแบบทดสอบ

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

คำแนะนำต่อไป

การถอดรหัสแบบจำกัด

คำถามที่พบบ่อย

What is Constrained and Grammar-Guided Generation?

การสร้างที่มีข้อจำกัดบังคับให้โมเดลภาษาสร้างเอาต์พุตที่สอดคล้องกับโครงสร้างที่กำหนดไว้เสมอ เช่น JSON, SQL หรือนิพจน์ทั่วไปที่ถูกต้อง สิ่งสำคัญคือเนื่องจากจะกำจัดความล้มเหลวในการแยกวิเคราะห์ทั้งคลาส ทำให้ LLM มีความน่าเชื่อถือเพียงพอที่จะเชื่อมต่อกับไปป์ไลน์ซอฟต์แวร์จริง

การสร้างข้อจำกัดจริง ๆ แล้วแก้ไขอะไรระหว่างการสร้างข้อความ

การสร้างที่มีข้อจำกัดจะเข้ามาแทรกแซงในเวลาถอดรหัส ทำให้ความน่าจะเป็นของโทเค็นที่จะทำลายโครงสร้างที่ต้องการเป็นศูนย์ก่อนที่จะสุ่มตัวอย่าง

ข้อใดต่อไปนี้เป็นวิธีทั่วไปในการแสดงกฎเกณฑ์สำหรับการสร้างโดยใช้ไวยากรณ์

โดยทั่วไป ข้อจำกัดจะระบุเป็นไวยากรณ์ที่ไม่มีบริบท (เช่น GBNF) นิพจน์ทั่วไป หรือสคีมา JSON

โทเค็นที่ผิดกฎหมายจะถูกป้องกันไม่ให้ถูกเลือกได้อย่างไร?

การมาสก์จะตั้งค่าโทเค็นที่ผิดกฎหมายเป็นค่าอนันต์ติดลบ ดังนั้นหลังจาก softmax โทเค็นดังกล่าวจะได้รับความน่าจะเป็นเป็นศูนย์และไม่สามารถสุ่มตัวอย่างได้

อะไรคือปัญหาทางเทคนิคหลักในการดำเนินการจำกัดระดับโทเค็น?

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

ข้อใดคือประโยชน์โดยตรงของการสร้างที่จำกัดสำหรับระบบการผลิต

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