Sari la conținut

Prompt engineering

De la Wikipedia, enciclopedia liberă

Prompt engineering (în limba română ar fi ingineria solicitărilor sau daca introducem o nouă sintagmă in limba română - ingineria prompturilor[cercetare originală]) este procesul de structurare sau elaborare a unei instrucțiuni pentru a produce rezultate mai bune de la un model de inteligență artificială (IA) generativă . [1]

Un prompt este un text în limbaj natural care descrie sarcina pe care o IA ar trebui să o îndeplinească. [2] Un prompt pentru un model de limbaj text-text poate fi o interogare, o comandă sau o instrucțiune mai lungă care include context, instrucțiuni și istoricul conversațiilor. Ingineria "prompt"-urilor poate implica formularea unei interogări, specificarea unui stil, alegerea cuvintelor și a gramaticii, [3] furnizarea unui context relevant sau descrierea unui personaj pe care inteligența artificială să îl imite. [1]

Atunci când se comunică cu un model text-imagine sau text-audio, o solicitare tipică este o descriere a unui rezultat dorit, cum ar fi „o fotografie de înaltă calitate a unui astronaut călare pe un cal” [4] sau „Lo-fi slow BPM electro chill cu mostre organice”. [5] Provocarea unui model text-imagine poate implica adăugarea, eliminarea sau accentuarea cuvintelor pentru a obține un subiect, stil, aspect, iluminare și estetică dorite. [6]

În 2018, cercetătorii au propus pentru prima dată ca toate sarcinile care anterior erau separate in procesarea limbajului natural (NLP) să poată fi reprezentate ca o problemă cu întrebări și răspunsuri într-un context. În plus, au antrenat un prim model unic, comun, cu sarcini multiple, care ar răspunde la orice întrebare legată de sarcină, cum ar fi „Care este sentimentul?” sau „Traduceți această propoziție în germană” sau „Cine este președintele?” [7]

Un depozit de prompturi a raportat că peste 2.000 de prompturi publice pentru aproximativ 170 de seturi de date erau disponibile în februarie 2022. [8] În 2022, tehnica de promptare a lanțului de gânduri a fost propusă de cercetătorii Google . [9] [10] În 2023, mai multe baze de date de prompturi text-text și text-imagine au fost puse la dispoziția publicului. [11] [12] Setul de date Personalizated Image-Prompt (PIP), un set de date imagine-text generat care a fost clasificat de 3.115 utilizatori, a fost, de asemenea, pus la dispoziția publicului în 2024. [13]

Au fost publicate mai multe tehnici distincte de inginerie a "prompt"-urilor.

"Chain-of-thought"

[modificare | modificare sursă]

Conform Google Research, îndrumarea în lanț a gândurilor (chain-of-thought) este o tehnică ce permite modelelor lingvistice mari (LLM) să rezolve o problemă printr-o serie de pași intermediari înainte de a oferi un răspuns final. În 2022, Google Brain a raportat că îndrumarea în lanț a gândurilor îmbunătățește capacitatea de raționament prin inducerea modelului să răspundă la o problemă în mai mulți pași cu pași de raționament care imită un șir de gânduri . [9] [14] Tehnicile de înlanțuire a gândurilor au fost dezvoltate pentru a ajuta modelele lingvistice mari să gestioneze sarcini de raționament în mai mulți pași, cum ar fi întrebări de aritmetică sau de raționament de bun simț . [15] [16]

De exemplu, având în vedere întrebarea „Î: Cantina avea 23 de mere. Dacă au folosit 20 pentru a pregăti prânzul și au cumpărat încă 6, câte mere au?”, solicitarea CoT a determinat un LLM să răspundă „R: Cantina avea inițial 23 de mere. Au folosit 20 pentru a pregăti prânzul. Deci au avut 23 - 20 = 3. Au cumpărat încă 6 mere, deci au 3 + 6 = 9. Răspunsul este 9.” [9] Aplicată la PaLM, un model de limbaj cu 540 de miliarde de parametri, potrivit Google, solicitarea CoT a ajutat semnificativ modelul, permițându-i să funcționeze comparabil cu modele ajustate fin specifice sarcinii pe mai multe sarcini, obținând rezultate de ultimă generație la momentul respectiv pe benchmark-ul de raționament matematic GSM8K. [9] Este posibil să se ajusteze fin modelele pe seturi de date de raționament CoT pentru a îmbunătăți și mai mult această capacitate și a stimula o mai bună interpretabilitate . [17] [18]

Așa cum a propus inițial Google [9], fiecare solicitare CoT este însoțită de un set de exemple de intrare/ieșire - numite exemplare - pentru a demonstra rezultatul dorit al modelului, ceea ce o transformă într-o tehnică de solicitare cu câteva scheme . Cu toate acestea, conform unei lucrări ulterioare a cercetătorilor de la Google și Universitatea din Tokyo, simpla adăugare a cuvintelor „Să gândim pas cu pas” [19] a fost, de asemenea, eficientă, ceea ce a permis utilizarea CoT ca o tehnică cu scheme zero .

Un exemplu de format de promptare CoT cu câteva șuturi și exemple în context:

Î: {exemplu întrebare 1}
  A: {exemplu de răspuns 1}
  ...
  Î: {exemplu întrebare n }
  A: {exemplu de răspuns n }
  
  Î: {întrebare}
  A: {Ieșire LLM}
Î: {întrebare}. Hai să gândim pas cu pas.
  A: {Ieșire LLM}

Învățare în context

[modificare | modificare sursă]

Învățarea în context se referă la capacitatea unui model de a învăța temporar din prompturi. De exemplu, un prompt poate include câteva exemple din care un model poate învăța, cum ar fi solicitarea modelului de a completa „ maison → house, chat → cat, chien → ” (răspunsul așteptat fiind dog ), [20] o abordare numită învățare cu puține încercări . [21]

Învățarea în context este o abilitate emergentă a modelelor LLM. Spre deosebire de învatarea prin fine-tuning, care produce efecte permanente, învațarea în context este temporară. Training-ul modelelor de a realiza învățarea în context poate fi văzut ca o formă de meta-învățare sau de "a învață să înveți".

  1. ^ a b Genkina, Dina (). „AI Prompt Engineering is Dead: Long live AI prompt engineering”. IEEE Spectrum⁠(d). Accesat în . 
  2. ^ Radford, Alec; Wu, Jeffrey; Child, Rewon; Luan, David; Amodei, Dario; Sutskever, Ilya (). „Language Models are Unsupervised Multitask Learners” (PDF). OpenAI. We demonstrate language models can perform down-stream tasks in a zero-shot setting – without any parameter or architecture modification 
  3. ^ Wahle, Jan Philip; Ruas, Terry; Xu, Yang; Gipp, Bela (). „Paraphrase Types Elicit Prompt Engineering Capabilities”. În Al-Onaizan, Yaser; Bansal, Mohit; Chen, Yun-Nung. Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing. Miami, Florida, USA: Association for Computational Linguistics. pp. 11004–11033. doi:10.18653/v1/2024.emnlp-main.617. 
  4. ^ Heaven, Will Douglas (). „This horse-riding astronaut is a milestone on AI's long road towards understanding”. MIT Technology Review. Accesat în . 
  5. ^ Wiggers, Kyle (). „Meta open sources an AI-powered music generator”. TechCrunch. Accesat în . Next, I gave a more complicated prompt to attempt to throw MusicGen for a loop: "Lo-fi slow BPM electro chill with organic samples." 
  6. ^ Mittal, Aayush (). „Mastering AI Art: A Concise Guide to Midjourney and Prompt Engineering”. Unite.AI (în engleză). Accesat în . 
  7. ^ McCann, Bryan; Keskar, Nitish; Xiong, Caiming; Socher, Richard (). The Natural Language Decathlon: Multitask Learning as Question Answering. ICLR. 
  8. ^ PromptSource: An Integrated Development Environment and Repository for Natural Language Prompts. Association for Computational Linguistics. . 
  9. ^ a b c d e Wei, Jason; Wang, Xuezhi; Schuurmans, Dale; Bosma, Maarten; Ichter, Brian; Xia, Fei; Chi, Ed H.; Le, Quoc V.; Zhou, Denny (). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. Advances in Neural Information Processing Systems (NeurIPS 2022) (în engleză). 35. 
  10. ^ Brubaker, Ben (). „How Chain-of-Thought Reasoning Helps Neural Networks Compute”. Quanta Magazine (în engleză). Accesat în . 
  11. ^ Chen, Brian X. (). „How to Turn Your Chatbot Into a Life Coach”. The New York Times. 
  12. ^ Chen, Brian X. (2023-05-25). „Get the Best From ChatGPT With These Golden Prompts”. The New York Times (în engleză). ISSN 0362-4331. Accesat în registration.  Mai multe valori specificate pentru |accessdate= și |access-date= (ajutor); Verificați datele pentru: |access-date= (ajutor)
  13. ^ Chen, Zijie; Zhang, Lichao; Weng, Fangsheng; Pan, Lili; Lan, Zhenzhong (). „Tailored Visions: Enhancing Text-to-Image Generation with Personalized Prompt Rewriting”. 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE. pp. 7727–7736. doi:10.1109/cvpr52733.2024.00738. ISBN 979-8-3503-5300-6. 
  14. ^ Narang, Sharan; Chowdhery, Aakanksha (). „Pathways Language Model (PaLM): Scaling to 540 Billion Parameters for Breakthrough Performance”. ai.googleblog.com. 
  15. ^ Dang, Ekta (). „Harnessing the power of GPT-3 in scientific research”. VentureBeat. Accesat în . 
  16. ^ Montti, Roger (). „Google's Chain of Thought Prompting Can Boost Today's Best Algorithms”. Search Engine Journal (în engleză). Accesat în . 
  17. ^ Journal of Machine Learning Research.  Lipsește sau este vid: |title= (ajutor)
  18. ^ Wei, Jason; Tay, Yi (). „Better Language Models Without Massive Compute”. ai.googleblog.com (în engleză). Accesat în . 
  19. ^ NeurIPS.  Lipsește sau este vid: |title= (ajutor)
  20. ^ NeurIPS.  Lipsește sau este vid: |title= (ajutor)
  21. ^ Advances in Neural Information Processing Systems. 33: 1877–1901.  Lipsește sau este vid: |title= (ajutor)