Pagpapaikli ng prompt

From Systems analysis Wiki
Jump to navigation Jump to search

Pagpapaikli ng prompt (Ingles: prompt compression) — ito ay isang hanay ng mga pamamaraan sa prompt engineering na naglalayong bawasan ang haba ng input na teksto (prompt) para sa malalaking language model (LLM) habang pinapanatili ang pangunahing impormasyon[1]. Sa paglaki ng context window ng LLM hanggang milyun-milyong token (halimbawa, sa Google Gemini), naging posible ang pagproseso ng napakahabang mga teksto, ngunit lumikha ito ng mga bagong hamon: mataas na gastos sa mga tawag, pagtaas ng latency, at pagbaba ng kalidad ng pag-iisip dahil sa epektong "pagkawala sa gitna"[2].

Ang pagpapaikli ng prompt ay nalulutas ng mga problemang ito sa pamamagitan ng pagkonsentra ng pinaka-mahalagang datos sa pinaikli na input at pag-aalis ng mga kalabisan. Binabawasan nito ang panganib na malampasan ang limitasyon ng konteksto, pinabibilis ang pagbuo ng tugon, at nababawasan ang gastos, habang pinapanatili ang katumpakan ng mga sagot[3].

Mga Pamamaraan ng Pagpapaikli ng Prompt

Ang mga pamamaraan ng pagpapaikli ng prompt ay maaaring nahahati sa ilang pangunahing klase.

Pag-aalis ng Token (Pag-filter)

Ang pamamaraang ito ay nagsasangkot ng pag-aalis ng pinaka-hindi-nagbibigay-impormasyon na mga token, parirala, o pangungusap mula sa orihinal na teksto nang hindi binabago ang mga natitirang bahagi. Ang kahalagahan ng mga token ay tinutukoy nang heuristically.

  • LLMLingua: Isang pamamaraang binuo ng Microsoft na kinakalkula ang perplexity ng bawat token at inaalis ang mga hindi gaanong nakakaapekto sa predictability ng teksto. Sa bersyong LongLLMLingua ang pamamaraang ito ay inangkop para sa mahahabang dokumento, isinasaalang-alang ang kaugnayan ng mga fragment kaugnay ng tiyak na kahilingan ng gumagamit[4].
  • Selective-Context: Gumagamit ng maliit na language model upang suriin ang self-information ng bawat token at itinatakwil ang mga token na may pinakamababang impormasyon[5].
  • PCRL (Prompt Compression via Reinforcement Learning): Nagsasanay ng ahente gamit ang Reinforcement Learning upang gumawa ng desisyon para sa bawat token — "panatilihin" o "alisin" — na may layuning i-maximize ang sukatan ng kalidad (hal., ROUGE) ng panghuling sagot[6].

Abstraktibong Pagpapaikli (Pagbubuod)

Sa pamamaraang ito, ang modelo-compressor (karaniwang mas maliit) ay bumubuo ng maikling abstraktibong buod ng orihinal na teksto, na pagkatapos ay ipinapadala sa pangunahing LLM.

  • RECOMP (Retrieval-Compression-Prompting): Para sa bawat dokumento sa knowledge base ay naunang binubuo ang maikling pagsasalaysay (summary) na isinasaalang-alang ang mga posibleng kahilingan ng gumagamit (query-aware summary). Nagbibigay-daan ito hindi lamang sa pagpapaikli kundi pati na rin sa paunang pagproseso ng impormasyon[7].
  • PRCA (Prompt Compression with Reinforced Context Aggregation): Pinagsasama ang pagsasanay ng modelo-summarizer at Reinforcement Learning upang makabuo ng mga pagsasalaysay na pinakamalaking nagpapabuti sa kalidad ng mga sagot ng pangunahing LLM[8].
  • Prompt-SAW (Semantic Aware Winnowing): Bago ang pagbubuod, kumukuha ng knowledge graph (mga entidad at relasyon) mula sa teksto, pinipili ang mga kaugnay na node ng graph, at batay sa mga ito ay bumubuo ng pinaikling teksto[9].

Ekstraktibong Pagpapaikli

Ang pamamaraang ito ay kumukuha ng mga pangunahing fragment (mga pangungusap, talata) mula sa orihinal na teksto nang hindi inaayos ang mga ito.

  • Reranker-LLMs: Gumagamit ng modelo-ranker (reranker) na nagtatasa ng kahalagahan ng bawat talata o dokumento para sa kasalukuyang kahilingan at pinipili lamang ang pinaka-kaugnay[10].
  • CompAct: Nagpapakita ng paulit-ulit na ekstraksiyon-pagbubuod. Ang modelo ay sunud-sunod na kumukuha ng mga segment ng mahabang teksto, pinaiikli ang mga ito, at sinusuri kung sapat na ang impormasyon para sa sagot. Kung hindi, idinaragdag ang susunod na segment at muling pinaiikli, na nakakamit ng malaking pagpapaikli habang pinapanatili ang kalidad[11].

Distillation at "Memory Tokens"

Isang bagong klase ng mga pamamaraan kung saan, sa halip na teksto, ang modelo ay tumatanggap ng espesyal na sinanay na mga kahaliling token o embedding na naglalaman ng naka-compress na impormasyon.

  • Gist Tokens: Ang LLM ay dine-fine-tune upang "i-compress" ang mahahabang tagubilin sa isang maliit na hanay ng mga espesyal na gist token (halimbawa, 20-30 token sa halip na ilang libo). Ang mga token na ito ay ginagamit na kapalit ng orihinal na prompt, na nagbibigay ng hanggang 26 beses na pagpapaikli na may minimal na pagbaba ng kalidad[12].
  • Soft Prompt Tuning: Sa halip na tekstuwal na prompt, ginagamit ang mga nata-train na "virtual token" (embedding) na ina-adjust para sa paglutas ng isang tiyak na gawain.
  • SelfCP: Nagmumungkahi na gamitin ang frozen na LLM mismo bilang compressor. Sa pagbibigay nito ng segment ng teksto na may mga espesyal na marka, bumubuo ang modelo ng siksik na representasyon (memory tokens), na pagkatapos ay ginagamit nito mismo para sa pagsagot[13].

Kahusayan at mga Kompromiso

  • Pagpapabilis at Pagbaba ng Gastos: Dahil ang kumplikasyon ng transformer ay lumalaki nang quadratically ($O(n^2)$) sa haba ng sequence, ang pagpapaikli ng prompt ng ilang beses ay nagbibigay ng malaking tipid. Halimbawa, ang gist tokens na may 26 beses na pagpapaikli ay nagpapakita ng hanggang 40% na tipid sa FLOPs[12].
  • Pagpapabuti ng Kalidad: Minsan ang pagpapaikli ng prompt ay maaari pang mapabuti ang kalidad ng mga sagot, kung ang orihinal na teksto ay naglalaman ng ingay o nakakaaliw na mga detalye. Ang pag-aalis ng hindi kaugnay na konteksto ay tumutulong sa modelo na mas makapag-focus sa mahahalagang aspeto ng gawain.
  • Kompromiso sa Katapatan (faithfulness): Ang masyadong agresibong pagpapaikli ay maaaring humantong sa pagkawala ng mahahalagang detalye (mga petsa, pangalan, negasyon), na magpapababa ng kalidad ng sagot. Ang mga abstraktibong pamamaraan ay partikular na madaling kapitan ng panganib ng mga hallucination. Ang pagkontrol sa pagkakumpleto at katumpakan (faithfulness) ng pinaikling prompt ay isang pangunahing gawain.

Kaugnayan sa Ibang Larangan

  • Retrieval-Augmented Generation (RAG): Ang RAG at pagpapaikli ng prompt ay malapit na magkaugnay. Ang RAG ay maaaring ituring bilang isang panlabas na yugto ng pagpapaikli: sa halip na iproseso ang buong database, isang paghahanap at pagpili ng mga kaugnay na dokumento ang isinasagawa. Ang pagpapaikli ng prompt ay nagdadagdag sa RAG sa pamamagitan ng pagbabawas ng dami ng mga nang napiling dokumento bago ipadala sa LLM.
  • In-Context Learning: Ang mga halimbawa sa konteksto (mga demonstrasyon) ay makabuluhang nagpapalaki ng haba ng prompt. Ang pagpapaikli ng mga demonstrasyong ito (halimbawa, gamit ang Instruction Distillation, kung saan ang maraming halimbawa ay pinalitan ng isang maikling tagubilin) ay isang aktibong larangan ng pananaliksik.

Talasanggunian

  • Ali, M. et al. (2024). Prompt-SAW: Semantic-Aware Winnowing for Prompt Compression. arXiv:2403.00000.
  • Gao, J.; Cao, Z.; Li, W. (2024). SelfCP: Compressing Over-Limit Prompt via the Frozen Large Language Model Itself. arXiv:2405.17052.
  • Jiang, H. et al. (2023). LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models. arXiv:2310.05736.
  • Jiang, H. et al. (2023). LongLLMLingua: Accelerating and Enhancing LLMs in Long-Context Scenarios via Prompt Compression. arXiv:2310.06839.
  • Jung, H.; Kim, K. (2023). PCRL: Discrete Prompt Compression with Reinforcement Learning. arXiv:2308.08758.
  • Li, M. et al. (2023). Selective-Context: Compressing Context to Summarise and Answer Questions. arXiv:2307.00000.
  • Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. NeurIPS 2023.
  • Xu, F.; Shi, W.; Choi, E. (2023). RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation. arXiv:2310.04408.
  • Yang, C. et al. (2023). PRCA: Prompt Compression with Reinforced Context Aggregation. arXiv:2311.00000.
  • Yoon, J. et al. (2024). CompAct: Interactive Prompt Compression for Long-Document QA. arXiv:2402.00000.
  • Zhang, S. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
  • Jha, S. et al. (2024). Characterizing Prompt Compression Methods for Long Context Inference. arXiv:2407.08892.

Tala

  1. Jha, S., et al. (2024). «Characterizing Prompt Compression Methods for Long Context Inference». arXiv. [1]
  2. «Efficient Prompting Methods for Large Language Models: A Survey». arXiv. [2]
  3. «Prompt Compression: A Guide With Python Examples». DataCamp. [3]
  4. Jiang, H., et al. (2023). «LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models». arXiv.
  5. Li, M. (2023). «Compressing context to summarize and answer questions». arXiv.
  6. Jung, H., & Kim, K. (2023). «Learning to Compress Prompts with Reinforcement Learning». arXiv.
  7. Xu, F., et al. (2024). «RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation». arXiv.
  8. Yang, C., et al. (2023). «PRCA: A new framework for prompt compression». arXiv.
  9. Ali, M., et al. (2024). «Prompt-SAW: A new method for prompt compression». arXiv.
  10. Pradeep, R., et al. (2023). «How to select the best passages for RAG?». arXiv.
  11. Yoon, J., et al. (2024). «CompAct: A new framework for interactive prompt compression». arXiv.
  12. 12.0 12.1 Mu, J., et al. (2023). «Learning to Compress Prompts with Gist Tokens». OpenReview. [4]
  13. Gao, C., et al. (2024). «SelfCP: Compressing Over-Limit Prompt via the Frozen Large Language Model Itself». arXiv. [5]