Stop sequences (language models) (TL)
Stop Sequence (pagkakasunod-sunod ng paghinto) sa konteksto ng malalaking language model (LLM) — ito ay isang espesyal na pagkakasunod-sunod ng mga simbolo o token na nagbibigay-senyal sa modelo na kailangang itigil ang pagbuo ng teksto[1]. Ang mekanismong ito ay isang mahalagang bahagi ng mga autoregressive na language model, na tinitiyak ang kontrolado at mahuhulaan na pagtatapos ng sagot.
Sa paggamit ng stop sequence, sinusuri ng modelo sa bawat hakbang ng pagbuo kung hindi ba nagtatapos ang nabuong teksto sa isa sa mga ibinigay na pagkakasunod-sunod. Kung may nakitang tugma, agad na titigil ang proseso, at ang stop sequence mismo ay hindi isasama sa panghuling output[2]. Nagbibigay ito sa developer ng kakayahang kontrolin nang eksakto ang mga hangganan ng sagot nang hindi binabago ang mismong kahilingan.
Mga Pangunahing Prinsipyo ng Paggana
Sa mga autoregressive na language model, nangyayari ang pagbuo ng teksto nang sunud-sunod, token sa bawat token. Sa bawat hakbang, hinuhulaan ng modelo ang susunod na token batay sa buong naunang pagkakasunod-sunod (ang input na prompt at ang tekstong nabuong na). Sa matematika, ipinapahayag ito bilang kondisyonal na posibilidad:
kung saan ang — ang kasalukuyang token na binubuo, ang — ang pagkakasunod-sunod ng mga nabuong token na, at ang — ang input na pagkakasunod-sunod[3].
Ang mekanismo ng stop sequence ay gumagana bilang panlabas na pamantayan para sa pagtigil ng iteratibong prosesong ito.
Mga Uri ng Pagkakasunod-sunod ng Paghinto
Mayroong ilang pangunahing uri ng mga mekanismo ng paghinto na maaaring gamitin nang hiwalay o pinagsama.
1. Mga Token ng Katapusan ng Pagkakasunod-sunod (EOS)
End-of-Sequence (EOS) — ito ay mga espesyal na token (halimbawa, `<|endoftext|>`) na nakasamâ sa bokabularyo ng modelo at inilaan upang tukuyin ang katapusan ng isang lohikal na bahagi ng teksto. Tinuturuan ang modelo na bumuo ng EOS token kapag iniisip nitong tapos na ang sagot, dahil lahat ng teksto sa training dataset ay nagtatapos sa token na ito[4]. Sa pag-detect ng EOS token, awtomatikong titigil ang pagbuo.
Pinapakita ng mga pananaliksik na ang presensya ng mga EOS token ay nakakaimpluwensya sa arkitektura ng attention: nagtatamo ang mga modelo ng mga panloob na mekanismo ng pagbibilang ng posisyon, ngunit maaari itong magbigay-limitasyon sa kanilang kakayahang mag-extrapolate sa mga pagkakasunod-sunod na higit na mas mahaba kaysa sa mga halimbawa sa pagsasanay[5].
2. Mga Pasadyang Pagkakasunod-sunod
Ito ay mga di-maayos na string na itinakda ng developer para sa isang partikular na gawain. Hindi sila bahagi ng bokabularyo ng modelo, ngunit sinusubaybayan sa antas ng mga simbolo. Kasama sa mga halimbawa:
- Mga simbolo ng pagbabalik ng linya: `\n` o `\n\n` para sa paghinto pagkatapos ng talata.
- Mga kontekstwal na marker: `Human:`, `User:` o `Q:` para sa paghihiwalay ng mga linya sa diyalogo.
- Mga espesyal na marker: `###`, `</output>` o `END`.
3. Mga Estrukturang Pagkakasunod-sunod
Ito ay mga espesyalisadong marker na ginagamit para sa pagtatapos ng ilang partikular na mga estrukturang elemento, na kritikal na mahalaga sa pagbuo ng naka-format na nilalaman[1]:
- Code: triple backtick (```) para sa pagtatapos ng bloke ng code.
- JSON/XML: mga panghuling bracket (`}`) o tag (`</element>`).
Teknikal na Implementasyon at mga Problema
Ang epektibong pag-detect ng stop sequence ay isang hindi-trivial na gawain na may kasamang ilang mga kahirapan.
Algoritmo ng Pag-detect at Optimisasyon
Ang proseso ng pag-detect sa mga tunay na sistema ay kinabibilangan ng:
- Pagsusuri sa bawat hakbang: Pagkatapos bumuo ng bawat bagong token, sinusuri ng sistema kung hindi ba nagtatapos ang kasalukuyang output sa isa sa mga ibinigay na stop sequence.
- Paghawak ng mga bahagyang tugma: Kailangang subaybayan ng sistema ang mga sitwasyon kung saan bahagi ng pagkakasunod-sunod ay nabuos na, ngunit wala pang kumpletong tugma.
- Pagsusuri ng maraming pamantayan: Karamihan sa mga sistema (halimbawa, OpenAI API) ay nagpapahintulot ng pagsubaybay sa ilang (hanggang apat) stop sequence nang sabay-sabay[2].
Sa Hugging Face Transformers framework, para dito ay may isinagawa na abstract na klase na `StoppingCriteria`, na nagpapahintulot ng paglikha ng mga pasadyang pamantayan ng paghinto, tulad ng `MaxLengthCriteria` (ayon sa haba) o `EosTokenCriteria` (ayon sa EOS token)[4].
Mga Problema at Limitasyon
- Problema sa tokenization: Ito ang pangunahing teknikal na kahirapan. Ang parehong pagkakasunod-sunod ng mga simbolo (halimbawa, `\nUser:`) ay maaaring hatiin sa mga token nang iba-iba depende sa konteksto. Nagpapahirap ito sa maaasahang pag-detect, dahil ang stop sequence ay maaaring mahatii sa pagitan ng ilang token[5].
- Pagganap: Ang pagsusuri ng maraming mahahabang stop sequence sa bawat hakbang ay maaaring magpabagal ng pagbuo, lalo na kapag nagtatrabaho sa mahahabang pagkakasunod-sunod sa real time.
- Maling pagpapagana: Ang itinakdang pagkakasunod-sunod ay maaaring aksidenteng lumabas sa gitna ng nais na sagot, na magreresulta sa maagang pagtatapos. Kaya naman mahalaga na pumili ng sapat na natatangi at tiyak na mga marker (halimbawa, `\n###\n`)[6].
Paggamit at mga Sitwasyon ng Aplikasyon
Ang mga stop sequence ay isang malakas na kasangkapan para sa pamamahala ng gawi ng LLM.
- Kontrol ng haba at gastos: Nagpapahintulot ng paglilimita sa pinakamataas na sukat ng sagot at, bilang resulta, pagbabawas ng paggamit ng token, na mahalaga kapag gumagamit ng mga bayad na API.
- Mga sistema ng diyalogo: Ginagamit para sa malinaw na paghihiwalay ng mga linya ng mga kalahok sa usapan, upang ang modelo-assistant ay hindi bumuo ng sagot para sa gumagamit.
- Pagbuo ng nakastrukturang nilalaman: Kailangang-kailangan para makuha ang tamang output sa mga format na JSON, XML o sa pagsusulat ng code, na pinipigilan ang pagdaragdag ng labis na impormasyon pagkatapos makumpleto ang estruktura[7].
- Pag-iwas sa hindi nais na gawi: Nakakatulong na ihinto ang pagbuo kapag lumabas ang paulit-ulit o maling nilalaman (mga hallucination).
- Pagsasanay at fine-tuning: Sa mga training dataset, madalas na ginagamit ang mga natatanging marker (halimbawa, `###`) bilang stop sequence, upang matuto ang modelo na tapusin ang sagot sa tamang lugar[6].
Mga Kasalukuyang Direksyon ng Pananaliksik
- Mga adaptive na pamantayan ng paghinto: Pagbuo ng mga pamamaraan na dinamikong tinutukoy ang punto ng pagtatapos batay sa konteksto at kalidad ng nabuong teksto.
- Mga entropy-based na diskarte: Paggamit ng entropy ng distribusyon ng token bilang pamantayan. Ang mataas na entropy ay maaaring magpahiwatig ng kawalan ng katiyakan ng modelo at magsilbing senyal para ihinto ang pagbuo.
Mga Sanggunian
- Dokumentasyon ng OpenAI sa paggamit ng mga stop sequence
- Dokumentasyon ng Hugging Face para sa StoppingCriteria
Panitikan
- 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.
Mga Tala
- ↑ 1.0 1.1 «Stop Sequence: Understanding & Setting It Correctly». Promptitude.io Help Center. [1]
- ↑ 2.0 2.1 «How do I use stop sequences in the OpenAI API?». OpenAI Help Center. [2]
- ↑ «How to use stop sequences?». Vellum. [3]
- ↑ 4.0 4.1 Brown, Tom, et al. «A Survey on GPT-3». arXiv:2212.00857 [cs.CL], 1 дек. 2022 г. [4]
- ↑ 5.0 5.1 Suh, Y. J., et al. «The Curious Case of Sequentially Mis-calibrated Language Models». arXiv:2205.11916 [cs.CL], 24 мая 2022 г. [5]
- ↑ 6.0 6.1 Eric, Mihail. «How to Finetune GPT3». mihaileric.com. [6]
- ↑ Corin, Daniel. «Way Enough - Cursor Triple Backticks Stop Sequence». danielcorin.com. [7]