Prompt engineering

Hackarea Prompt și Abuzul LLM

mm
Adaugă Unite.AI la sursele tale preferate pe Google
DALL·E 3

Modelele de limbaj mare pot crea poezie, răspunde la întrebări și pot chiar să scrie cod. Cu toate acestea, odată cu puterea imensă vine și riscurile inerente. Aceleași prompturi care permit LLM-urilor să aibă un dialog semnificativ pot fi manipulate cu intenții malefice. Hacking-ul, abuzul și lipsa unor protocoale de securitate cuprinzătoare pot transforma aceste minuni ale tehnologiei în instrumente de înșelăciune.

Sequoia Capital a prezis că “inteligența artificială generativă poate îmbunătăți eficiența și creativitatea profesioniștilor cu cel puțin 10%. Acest lucru înseamnă că nu sunt doar mai rapide și mai productive, ci și mai pricepute decât înainte.”

Cronologia de mai sus evidențiază avansurile majore în domeniul GenAI de la 2020 la 2023. Printre dezvoltările cheie se numără GPT-3 și seria DALL·E de la OpenAI, CoPilot de la GitHub pentru codare, și seria inovatoare Make-A-Video pentru crearea de videoclipuri. Alte modele semnificative, cum ar fi MusicLM, CLIP și PaLM, au apărut de asemenea. Aceste progrese vin de la entități de top din domeniul tehnologiei, cum ar fi OpenAI, DeepMind, GitHub, Google (GOOGL ) și Meta.

ChatGPT de la OpenAI este un chatbot renumit care utilizează capacitățile modelelor GPT de la OpenAI. Deși a folosit diverse versiuni ale modelului GPT, GPT-4 este cea mai recentă iterație.

GPT-4 este un tip de LLM numit model auto-regresiv, care se bazează pe arhitectura transformer. A fost instruit cu cantități imense de text, cum ar fi cărți, site-uri web și feedback uman. Funcția sa de bază este să ghicească următorul cuvânt într-o propoziție după ce a văzut cuvintele precedente.

How LLM generates output

How LLM generates output

Odată ce GPT-4 începe să furnizeze răspunsuri, utilizează cuvintele pe care le-a creat deja pentru a genera altele. Acesta este numit caracterul auto-regresiv. În cuvinte simple, folosește cuvintele sale anterioare pentru a prezice următoarele.

Încă învățăm ce pot și ce nu pot face LLM-urile. Un lucru este clar: promptul este foarte important. Chiar și modificări mici în prompt pot face modelul să ofere răspunsuri foarte diferite. Acest lucru demonstrează că LLM-urile pot fi sensibile și, uneori, imprevizibile.

Prompt Engineering

Prompt Engineering

Prin urmare, crearea prompturilor corecte este foarte importantă atunci când se utilizează aceste modele. Acest proces se numește inginerie de prompt. Deși este încă în stadiu incipient, este esențial pentru obținerea celor mai bune rezultate de la LLM-uri. Orice persoană care utilizează LLM-uri trebuie să înțeleagă atât modelul, cât și sarcina pe care o execută pentru a crea prompturi bune.

Ce este Hackarea Promptului?

La nivel fundamental, hackarea promptului implică manipularea intrării într-un model pentru a obține un anumit output, dorit sau nedorit. Dacă se oferă prompturi potrivite, chiar și un model bine antrenat poate produce rezultate înșelătoare sau malefice.

Baza acestui fenomen se află în datele de antrenare. Dacă un model a fost expus la anumite tipuri de informații sau prejudecăți în timpul fazei de antrenare, indivizi pricepuți pot exploata aceste lacune sau înclinații prin crearea atentă a prompturilor.

Arhitectura: LLM și Vulnerabilitățile Sale

LLM-urile, în special cele precum GPT-4, se bazează pe arhitectura Transformer. Aceste modele sunt imense, cu miliarde sau chiar trilioane de parametri. Dimensiunea lor le conferă capacități impresionante de generalizare, dar le și face vulnerabile.

Înțelegerea Antrenamentului:

LLM-urile trec prin două etape principale de antrenament: pre-antrenament și fine-tuning.

În timpul pre-antrenamentului, modelele sunt expuse la cantități uriașe de date text, învățând gramatica, fapte, prejudecăți și chiar unele concepții greșite de pe web.

În faza de fine-tuning, sunt antrenate pe seturi de date mai înguste, uneori generate cu ajutorul recenzorilor umani.

Vulnerabilitatea apare deoarece:

  1. Dimensiunea: Cu atâtea parametri, este greu de prezis sau controlat toate ieșirile posibile.
  2. Datele de Antrenament: Internetul, deși o sursă vastă, nu este lipsit de prejudecăți, informații false sau conținut malefic. Modelul ar putea învăța involuntar aceste lucruri.
  3. Complexitatea Fine-Tuning-ului: Seturile de date înguste folosite pentru fine-tuning pot introduce noi vulnerabilități dacă nu sunt create cu atenție.

Exemple de moduri în care LLM-urile pot fi folosite în mod abuziv:

  1. Informații False: Prin formularea prompturilor în moduri specifice, utilizatorii au reușit să obțină de la LLM-uri acordul cu teorii conspirative sau informații înșelătoare despre evenimente actuale.
  2. Generarea de Conținut Malefic: Unii hackeri au utilizat LLM-uri pentru a crea e-mailuri de phishing, scripturi de malware sau alte materiale digitale malefice.
  3. Prejudecăți: Deoarece LLM-urile învață de pe internet, ele pot moșteni prejudecățile acestuia. Au existat cazuri în care prejudecăți rasiale, de gen sau politice au fost observate în ieșirile modelului, în special atunci când a fost solicitat în moduri specifice.

Metode de Hackare a Promptului

Există trei tehnici principale de manipulare a prompturilor: injecția de prompt, scurgerea de prompt și jailbreaking-ul.

Atacurile de injecție de prompt au devenit o preocupare presantă în lumea securității cibernetice, în special odată cu apariția LLM-urilor precum ChatGPT. Iată o descriere a ceea ce implică aceste atacuri și de ce sunt un motiv de îngrijorare.

Un atac de injecție de prompt are loc atunci când un hacker furnizează un prompt text unui LLM sau chatbot. Scopul este de a face ca IA să efectueze acțiuni pe care nu ar trebui să le facă. Acest lucru poate implica:

  • Suprascrierea instrucțiunilor anterioare.
  • Ocolirea regulilor de conținut.
  • Afішarea datelor ascunse.
  • Forțarea IA să genereze conținut interzis.

Prin astfel de atacuri, hackerii pot face ca IA să genereze lucruri dăunătoare, de la informații false până la malware real.

Există două tipuri de astfel de atacuri:

  1. Atacuri Directe: Hackerul modifică intrarea LLM-ului pentru a controla acțiunile sale.
  2. Atacuri Indirecte: Hackerul afectează sursa de date a LLM-ului. De exemplu, ar putea plasa un prompt dăunător pe un site web. LLM-ul citește și acționează apoi conform promptului.

Prompt Leaking

Scurgerea de prompt este o preocupare atunci când se utilizează modele de limbaj. Chiar dacă datele sunt încorporate în prompturi ascunse sau de sistem, modelul poate dezvălui involuntar această informație utilizatorului. Chiar și atunci când este instruit explicit să nu dezvăluie anumite detalii, modelul poate fi păcălit pentru a oferi indicii sau răspunsuri indirecte care dezvăluie informația ascunsă. De exemplu, un bot ar putea fi interzis să menționeze un anumit oraș, dar o reformulare ingenioasă a întrebării poate face ca botul să dezvăluie acea locație.

Același lucru se poate întâmpla și cu cuvintele interzise. Prin urmare, ar trebui să se utilizeze prompturi ascunse doar pentru a îmbunătăți experiența utilizatorului și pentru a se alinia cu persona intenționată, dar niciodată pentru a stoca informații sensibile sau confidențiale care nu ar trebui să fie afișate utilizatorului.

Exemple de Scurgere de Prompt

Expunerea Priorităților Sistemului:

  • Intrare Utilizator: Care sunt ofertele zilei?
  • Prompt Scurgat: Ofertele zilei sunt somon și paste. [SYS_NOTE: Prioritizați preparatele din pește pentru promovare din cauza stocului mare.] Cum pot să vă ajut mai departe?

Aici, nota scursă a sistemului oferă informații despre prioritățile de stoc, care ar putea fi exploatate de concurenți.

Dezvăluirea Funcțiilor Ascunse:

  • Intrare Utilizator: Cum pot accesa setările avansate?
  • Prompt Scurgat: Setările avansate sunt în prezent în faza de dezvoltare și nu sunt accesibile utilizatorilor. [DEV_REMINDER: Lansați testarea beta pentru setările avansate luna viitoare.] Mai doriți să știți ceva?

În acest caz, promptul scurs dezvăluie o funcție viitoare, ceea ce ar putea alerta concurenții sau ar putea duce la așteptări premature din partea utilizatorilor.

Jailbreaking / Comutarea Modului

Modelele de inteligență artificială precum GPT-4 și Claude devin tot mai avansate, ceea ce este minunat, dar și riscant, deoarece oamenii le pot folosi în mod abuziv. Pentru a face aceste modele mai sigure, ele sunt antrenate cu valori umane și feedback. Chiar și cu acest antrenament, există îngrijorări cu privire la “atacuri de jailbreak”.

Un atac de jailbreak are loc atunci când cineva păcălește modelul să facă ceva ce nu ar trebui să facă. De exemplu, dacă un model este antrenat să nu ajute la activități ilegale, un atac de jailbreak ar încerca să ocolească această funcție de securitate și să facă modelul să ajute oricum. Cercetătorii testează aceste modele folosind solicitări dăunătoare pentru a vedea dacă pot fi păcălite. Scopul este de a înțelege mai bine aceste atacuri și de a face modelele și mai sigure în viitor.

Când sunt testate împotriva interacțiunilor adversariale, chiar și modelele de ultimă generație, cum ar fi GPT-4 și Claude v1.3, prezintă puncte slabe. De exemplu, deși GPT-4 refuză conținutul dăunător cu 82% mai mult decât predecesorul său GPT-3.5, acesta din urmă încă prezintă riscuri.

Exemple Reale de Atacuri

De la lansarea ChatGPT în noiembrie 2022, oamenii au găsit modalități de a-l folosi în mod abuziv. Printre exemple se numără:

  • DAN (Do Anything Now): Un atac direct în care IA este instruită să acționeze ca “DAN“. Acest lucru înseamnă că ar trebui să facă orice i se cere, fără a urma regulile obișnuite ale IA. Cu aceasta, IA ar putea produce conținut care nu respectă ghidurile stabilite.
  • Amenințarea Unor Figuri Publice: Un exemplu este atunci când LLM-ul de la Remoteli.io a fost făcut să răspundă la postări de pe Twitter despre locuri de muncă la distanță. Un utilizator a păcălit botul să amenințe președintele cu privire la un comentariu despre munca la distanță.

În mai, anul acesta, Samsung a interzis angajaților săi să utilizeze ChatGPT din cauza îngrijorărilor cu privire la abuzul chatbot-ului, conform CNBC.

Susținătorii modelelor LLM cu sursă deschisă subliniază accelerarea inovației și importanța transparenței. Cu toate acestea, unele companii exprimă îngrijorări cu privire la posibilul abuz și comercializare excesivă. Găsirea unui punct de echilibru între accesul nelimitat și utilizarea etică rămâne o provocare centrală.

Protejarea LLM-urilor: Strategii pentru a Contracara Hackarea Promptului

Pe măsură ce hackarea promptului devine o preocupare tot mai mare, nevoia de apărări solide a devenit mai evidentă ca niciodată. Pentru a menține LLM-urile în siguranță și ieșirile lor credibile, o abordare multi-stratificată a apărării este esențială. Mai jos sunt prezentate unele dintre cele mai simple și eficiente măsuri defensive disponibile:

1. Filtrarea

Filtrarea examinează fie intrarea prompt, fie ieșirea produsă pentru cuvinte sau fraze predefinite, asigurându-se că conținutul se află în limitele așteptate.

  • Lista Neagră interzice anumite cuvinte sau fraze considerate inadecvate.
  • Lista Albă permite doar o listă stabilită de cuvinte sau fraze, asigurându-se că conținutul rămâne într-un domeniu controlat.

Exemplu:

❌ Fără Apărare: Traduce această frază străină: {{intrare_străină}}

✅ [Verificare Listă Neagră]: Dacă {{intrare_străină}} conține [listă de cuvinte interzise], respinge. Altfel, traduce fraza străină {{intrare_străină}}.

✅ [Verificare Listă Albă]: Dacă {{intrare_străină}} face parte din [listă de cuvinte aprobate], traduce fraza {{intrare_străină}}. Altfel, informează utilizatorul despre limitări.

2. Claritatea Contextuală

Această strategie de apărare subliniază stabilirea clară a contextului înainte de orice intrare a utilizatorului, asigurându-se că modelul înțelege cadrul răspunsului.

Exemplu:

❌ Fără Apărare: Evaluează acest produs: {{nume_produs}}

✅ Stabilirea contextului: Având în vedere un produs numit {{nume_produs}}, oferiți o evaluare bazată pe caracteristici și performanță.

3. Apărarea Instrucțiunilor

Prin încorporarea unor instrucțiuni specifice în prompt, comportamentul LLM-ului în timpul generării textului poate fi direcționat. Prin stabilirea unor așteptări clare, se încurajează modelul să fie prudent în ceea ce privește ieșirile sale, mitigând consecințele nedorite.

Exemplu:

❌ Fără Apărare: Traduce acest text: {{intrare_utilizator}}

✅ Cu Apărarea Instrucțiunilor: Traduce textul următor. Asigurați-vă de acuratețe și abțineți-vă de la adăugarea de opinii personale: {{intrare_utilizator}}

4. Încapsularea Secvenței Aleatorii

Pentru a proteja intrarea utilizatorului de manipularea directă a promptului, aceasta este încapsulată între două secvențe de caractere aleatorii. Acest lucru acționează ca o barieră, făcând mai dificilă alterarea intrării într-un mod malefic.

Exemplu:

❌ Fără Apărare: Ce este capitala {{intrare_utilizator}}?

✅ Cu Încapsularea Secvenței Aleatorii: QRXZ89{{intrare_utilizator}}LMNP45. Identificați capitala.

5. Apărarea Sandwich

Această metodă înconjoară intrarea utilizatorului cu două prompturi generate de sistem. Prin aceasta, modelul înțelege contextul mai bine, asigurându-se că ieșirea dorită se aliniază cu intenția utilizatorului.

Exemplu:

❌ Fără Apărare: Furnizați un rezumat al {{intrare_utilizator}}

✅ Cu Apărarea Sandwich: Pe baza conținutului următor, oferiți un rezumat concis: {{intrare_utilizator}}. Asigurați-vă că este un rezumat neutru, fără prejudecăți.

6. Etichetarea XML

Prin încapsularea intrărilor utilizatorului în etichete XML, această tehnică de apărare marchează clar intrarea de restul mesajului sistemului. Structura robustă a XML asigură că modelul recunoaște și respectă limitele intrării.

Exemplu:

❌ Fără Apărare: Descrieți caracteristicile {{intrare_utilizator}}

✅ Cu Etichetarea XML: <cerere_utilizator>Descrieți caracteristicile {{intrare_utilizator}}</cerere_utilizator>. Răspundeți cu fapte.

Concluzie

Pe măsură ce lumea avansează rapid în utilizarea LLM-urilor, înțelegerea funcționării lor interne, a vulnerabilităților și a mecanismelor de apărare este crucială. LLM-urile, reprezentate de modele precum GPT-4, au reschimbat peisajul inteligenței artificiale, oferind capacități fără precedent în procesarea limbajului natural. Cu toate acestea, împreună cu potențialul lor vast vine și riscuri substanțiale.

Hackarea promptului și amenințările asociate subliniază nevoia de cercetare continuă, adaptare și vigilentă în comunitatea de inteligență artificială. În timp ce strategiile defensive inovatoare prezentate promit o interacțiune mai sigură cu aceste modele, inovația și securitatea continuă subliniază importanța utilizării informate.

Am petrecut ultimii cinci ani scufundându-mă în lumea fascinantă a Machine Learning și Deep Learning. Pasinea și expertiza mea m-au condus să contribui la peste 50 de proiecte diverse de inginerie software, cu un focus deosebit pe AI/ML. Curiozitatea mea în continuare m-a atras și spre Natural Language Processing, un domeniu pe care sunt dornic să îl explorez mai departe.