---
title: "Stop sequences (language models) (TH)"
source: "https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)"
wiki: "systems-analysis.info/int"
article: "Stop_sequences_(language_models)_(TH)"
language: "th"
categories:
  - "Category:Core LLM concepts"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Thai"
revision_id: 6947
wiki_created_at: 2026-09-07T00:13:39Z
wiki_modified_at: 2026-09-07T00:13:39Z
downloaded_at: 2026-09-07T23:16:34Z
---

# Stop sequences (language models) (TH)

**Stop Sequence** (*ลำดับหยุดการสร้างข้อความ*) ในบริบทของโมเดลภาษาขนาดใหญ่ (LLM) คือลำดับพิเศษของอักขระหรือ token ที่ส่งสัญญาณให้โมเดลหยุดการสร้างข้อความ<sup>[\[1\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-promptitude_def-1)</sup> กลไกนี้เป็นองค์ประกอบสำคัญของโมเดลภาษาแบบ autoregressive ที่ช่วยให้การสิ้นสุดของคำตอบเป็นไปอย่างควบคุมได้และคาดเดาได้

เมื่อใช้ stop sequence โมเดลจะตรวจสอบในทุกขั้นตอนของการสร้างข้อความว่าข้อความที่สร้างไปแล้วนั้นลงท้ายด้วยลำดับใดลำดับหนึ่งที่กำหนดไว้หรือไม่ หากพบความตรงกัน กระบวนการจะหยุดทันที โดย stop sequence **จะไม่ถูกรวม** ในผลลัพธ์สุดท้าย<sup>[\[2\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-openai_api-2)</sup> ซึ่งช่วยให้นักพัฒนาควบคุมขอบเขตของคำตอบได้อย่างแม่นยำโดยไม่ต้องแก้ไข prompt

## หลักการทำงานพื้นฐาน

ในโมเดลภาษาแบบ autoregressive การสร้างข้อความจะเกิดขึ้นตามลำดับทีละ token ในแต่ละขั้นตอนโมเดลจะทำนาย token ถัดไปโดยอิงจากลำดับก่อนหน้าทั้งหมด (input prompt และข้อความที่สร้างไปแล้ว) ในเชิงคณิตศาสตร์สามารถแสดงได้เป็นความน่าจะเป็นแบบมีเงื่อนไข:

$$
P(y_{t} \mid y_{< t},x)
$$

โดยที่ $y_{t}$ คือ token ที่กำลังสร้างในขณะนั้น $y_{< t}$ คือลำดับของ token ที่สร้างไปก่อนหน้า และ $x$ คือลำดับอินพุต<sup>[\[3\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-vellum_params-3)</sup>

กลไก **stop sequence** ทำหน้าที่เป็นเกณฑ์ภายนอกสำหรับการขัดจังหวะกระบวนการวนซ้ำนี้

## ประเภทของลำดับหยุด

มีประเภทหลักของกลไกหยุดอยู่หลายประเภทที่สามารถใช้งานได้ทั้งแบบแยกกันและแบบผสมผสานกัน

### 1. Token สิ้นสุดลำดับ (EOS)

**End-of-Sequence (EOS)** คือ token พิเศษ (เช่น \`\<\|endoftext\|\>\`) ที่ฝังอยู่ในพจนานุกรมของโมเดลและมีไว้เพื่อระบุจุดสิ้นสุดของส่วนข้อความเชิงตรรกะ โมเดลได้รับการฝึกให้สร้าง EOS token เมื่อเห็นว่าคำตอบเสร็จสมบูรณ์แล้ว เนื่องจากข้อความทั้งหมดในชุดข้อมูลฝึกอบรมจะลงท้ายด้วย token นี้<sup>[\[4\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-gpt3_survey-4)</sup> เมื่อตรวจพบ EOS token การสร้างข้อความจะหยุดโดยอัตโนมัติ

งานวิจัยแสดงให้เห็นว่าการมี EOS token ส่งผลต่อสถาปัตยกรรม attention: โมเดลพัฒนากลไกภายในสำหรับการนับตำแหน่ง ซึ่งอย่างไรก็ตามอาจจำกัดความสามารถในการ extrapolation บนลำดับที่ยาวกว่าตัวอย่างการฝึกอบรมอย่างมีนัยสำคัญ<sup>[\[5\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-no_eos_extrapolation-5)</sup>

### 2. ลำดับที่กำหนดเอง

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

- **อักขระขึ้นบรรทัดใหม่**: \`\n\` หรือ \`\n\n\` สำหรับหยุดหลังจากย่อหน้า
- **เครื่องหมายบอกบริบท**: \`Human:\`, \`User:\` หรือ \`Q:\` สำหรับแบ่งบทพูดในบทสนทนา
- **เครื่องหมายพิเศษ**: \`###\`, \`\</output\>\` หรือ \`END\`

### 3. ลำดับเชิงโครงสร้าง

คือเครื่องหมายเฉพาะทางที่ใช้สำหรับสิ้นสุดองค์ประกอบเชิงโครงสร้างบางอย่าง ซึ่งมีความสำคัญอย่างยิ่งในการสร้างเนื้อหาที่มีรูปแบบ<sup>[\[1\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-promptitude_def-1)</sup>:

- **โค้ด**: เครื่องหมายอัญประกาศกลับสามตัว (\`\`\`) สำหรับสิ้นสุดบล็อกโค้ด
- **JSON/XML**: วงเล็บปิด (\`}\`) หรือแท็ก (\`\</element\>\`)

## การนำไปใช้ในทางเทคนิคและปัญหาที่พบ

การตรวจจับ stop sequence อย่างมีประสิทธิภาพเป็นงานที่ไม่ง่าย และมาพร้อมกับความซับซ้อนหลายประการ

### อัลกอริทึมการตรวจจับและการปรับให้เหมาะสม

กระบวนการตรวจจับในระบบจริงประกอบด้วย:

1.  **การตรวจสอบในทุกขั้นตอน**: หลังจากสร้าง token ใหม่แต่ละตัว ระบบจะตรวจสอบว่าผลลัพธ์ปัจจุบันลงท้ายด้วย stop sequence ใดลำดับหนึ่งหรือไม่
2.  **การจัดการกับการจับคู่บางส่วน**: ระบบต้องติดตามสถานการณ์ที่สร้างลำดับไปบางส่วนแล้วแต่ยังไม่มีการจับคู่ที่สมบูรณ์
3.  **การตรวจสอบหลายเกณฑ์**: ระบบส่วนใหญ่ (เช่น OpenAI API) อนุญาตให้ติดตาม stop sequence หลายรายการ (สูงสุดสี่รายการ) พร้อมกัน<sup>[\[2\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-openai_api-2)</sup>

ใน framework Hugging Face Transformers มีการนำคลาสนามธรรม \`StoppingCriteria\` มาใช้เพื่อจุดประสงค์นี้ ซึ่งช่วยให้สร้างเกณฑ์หยุดแบบกำหนดเองได้ เช่น \`MaxLengthCriteria\` (ตามความยาว) หรือ \`EosTokenCriteria\` (ตาม EOS token)<sup>[\[4\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-gpt3_survey-4)</sup>

### ปัญหาและข้อจำกัด

- **ปัญหาการ tokenize**: นี่คือความยากทางเทคนิคหลัก ลำดับอักขระเดียวกัน (เช่น \`\nUser:\`) อาจถูกแบ่งเป็น token แตกต่างกันขึ้นอยู่กับบริบท ทำให้การตรวจจับที่เชื่อถือได้ทำได้ยากขึ้น เนื่องจาก stop sequence อาจถูกแบ่งระหว่าง token หลายตัว<sup>[\[5\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-no_eos_extrapolation-5)</sup>
- **ประสิทธิภาพ**: การตรวจสอบ stop sequence ยาวๆ หลายรายการในทุกขั้นตอนอาจทำให้การสร้างช้าลง โดยเฉพาะเมื่อทำงานกับลำดับยาวในแบบ real-time
- **การตรวจจับผิดพลาด**: ลำดับที่กำหนดอาจปรากฏโดยบังเอิญในช่วงกลางของคำตอบที่ต้องการ ทำให้สิ้นสุดก่อนกำหนด ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องเลือกเครื่องหมายที่มีความเฉพาะเจาะจงและไม่ซ้ำกันเพียงพอ (เช่น \`\n###\n\`)<sup>[\[6\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-finetune_gpt3-6)</sup>

## การประยุกต์ใช้และสถานการณ์การใช้งาน

Stop sequence เป็นเครื่องมืออันทรงพลังสำหรับการควบคุมพฤติกรรมของ LLM

- **การควบคุมความยาวและต้นทุน**: ช่วยจำกัดขนาดสูงสุดของคำตอบและลดการใช้ token ซึ่งมีความสำคัญเมื่อใช้ API แบบเสียค่าบริการ
- **ระบบบทสนทนา**: ใช้เพื่อแบ่งบทพูดของผู้สนทนาอย่างชัดเจน เพื่อไม่ให้โมเดลผู้ช่วยสร้างคำตอบแทนผู้ใช้
- **การสร้างเนื้อหาที่มีโครงสร้าง**: ขาดไม่ได้สำหรับการได้ผลลัพธ์ที่ถูกต้องในรูปแบบ JSON, XML หรือเมื่อเขียนโค้ด เพื่อป้องกันการเพิ่มข้อมูลส่วนเกินหลังจากโครงสร้างเสร็จสมบูรณ์<sup>[\[7\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-cursor_backticks-7)</sup>
- **การป้องกันพฤติกรรมที่ไม่พึงประสงค์**: ช่วยหยุดการสร้างเมื่อเนื้อหาซ้ำหรือไม่ถูกต้อง (hallucination) ปรากฏขึ้น
- **การฝึกอบรมและ fine-tuning**: ในชุดข้อมูลฝึกอบรมมักใช้เครื่องหมายเฉพาะ (เช่น \`###\`) เป็น stop sequence เพื่อให้โมเดลเรียนรู้การสิ้นสุดคำตอบในตำแหน่งที่ถูกต้อง<sup>[\[6\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_note-finetune_gpt3-6)</sup>

## แนวทางการวิจัยในปัจจุบัน

- **เกณฑ์หยุดแบบปรับตัว**: การพัฒนาวิธีการที่กำหนดจุดสิ้นสุดแบบไดนามิกโดยอิงจากบริบทและคุณภาพของข้อความที่สร้างขึ้น
- **แนวทาง entropy**: การใช้ entropy ของการกระจาย token เป็นเกณฑ์ entropy สูงอาจบ่งชี้ถึงความไม่แน่ใจของโมเดลและทำหน้าที่เป็นสัญญาณให้หยุดการสร้าง

## ลิงก์อ้างอิง

- เอกสารประกอบของ OpenAI เกี่ยวกับการใช้ stop sequences
- เอกสารประกอบของ Hugging Face เกี่ยวกับ StoppingCriteria

## บรรณานุกรม

- Sutskever, I.; Vinyals, O.; Le, Q. V. (2014). *Sequence to Sequence Learning with Neural Networks*. arXiv:1409.3215.
- Vaswani, A. et al. (2017). *Attention Is All You Need*. arXiv:1706.03762.
- Keskar, N. S. et al. (2019). *CTRL: A Conditional Transformer Language Model for Controllable Generation*. arXiv:1909.05858.
- Holtzman, A. et al. (2020). *The Curious Case of Neural Text Degeneration*. arXiv:1904.09751.
- Brown, T. et al. (2020). *Language Models are Few-Shot Learners*. arXiv:2005.14165.
- Zong, M.; Krishnamachari, B. (2022). *A Survey on GPT-3*. arXiv:2212.00857.
- Zhao, Y. et al. (2022). *Calibrating Sequence Likelihood Improves Conditional Language Generation*. arXiv:2210.00045.
- Hu, J. C.; Cavicchioli, R.; Capotondi, A. (2023). *A Request for Clarity over the End-of-Sequence Token in the Self-Critical Sequence Training*. arXiv:2305.12254.
- Zhu, W. et al. (2024). *Improving Open-Ended Text Generation via Adaptive Decoding*. arXiv:2402.18223.
- Zhang, H. et al. (2024). *Adaptable Logical Control for Large Language Models*. arXiv:2406.13892.
- Suh, Y. J. et al. (2025). *The Curious Case of Sequentially Mis-calibrated Language Models*. arXiv:2205.11916.

## หมายเหตุ

1.  <span id="cite_note-promptitude_def-1">↑ <sup>[1.0](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-promptitude_def_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-promptitude_def_1-1)</sup> «Stop Sequence: Understanding & Setting It Correctly». *Promptitude.io Help Center*. <a href="https://help.promptitude.io/en/articles/8897040-stop-sequence-understanding-setting-it-correctly" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-openai_api-2">↑ <sup>[2.0](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-openai_api_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-openai_api_2-1)</sup> «How do I use stop sequences in the OpenAI API?». *OpenAI Help Center*. <a href="https://help.openai.com/en/articles/5072263-how-do-i-use-stop-sequences-in-the-openai-api" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-vellum_params-3">[↑](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-vellum_params_3-0) «How to use stop sequences?». *Vellum*. <a href="https://www.vellum.ai/llm-parameters/stop-sequence" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-gpt3_survey-4">↑ <sup>[4.0](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-gpt3_survey_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-gpt3_survey_4-1)</sup> Brown, Tom, et al. «A Survey on GPT-3». *arXiv:2212.00857* \[cs.CL\], 1 дек. 2022 г. <a href="https://arxiv.org/pdf/2212.00857" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-no_eos_extrapolation-5">↑ <sup>[5.0](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-no_eos_extrapolation_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-no_eos_extrapolation_5-1)</sup> Suh, Y. J., et al. «The Curious Case of Sequentially Mis-calibrated Language Models». *arXiv:2205.11916* \[cs.CL\], 24 мая 2022 г. <a href="https://arxiv.org/pdf/2205.11916" class="external autonumber" rel="nofollow">[5]</a></span>
6.  <span id="cite_note-finetune_gpt3-6">↑ <sup>[6.0](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-finetune_gpt3_6-0)</sup> <sup>[6.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-finetune_gpt3_6-1)</sup> Eric, Mihail. «How to Finetune GPT3». *mihaileric.com*. <a href="https://www.mihaileric.com/posts/how-to-finetune-gpt3/" class="external autonumber" rel="nofollow">[6]</a></span>
7.  <span id="cite_note-cursor_backticks-7">[↑](https://systems-analysis.info/int/Stop_sequences_(language_models)_(TH)#cite_ref-cursor_backticks_7-0) Corin, Daniel. «Way Enough - Cursor Triple Backticks Stop Sequence». *danielcorin.com*. <a href="https://www.danielcorin.com/til/cursor/triple-backticks-stop-sequence/" class="external autonumber" rel="nofollow">[7]</a></span>
