Tehnici și abordări pentru monitorizarea modelelor de limbaj mari pe AWS | Amazon Web Services

Tehnici și abordări pentru monitorizarea modelelor de limbaj mari pe AWS | Amazon Web Services

Modelele de limbaj mari (LLM) au revoluționat domeniul procesării limbajului natural (NLP), îmbunătățind sarcini precum traducerea limbii, rezumarea textului și analiza sentimentelor. Cu toate acestea, pe măsură ce aceste modele continuă să crească în dimensiune și complexitate, monitorizarea performanței și comportamentului lor a devenit din ce în ce mai dificilă.

Monitorizarea performanței și comportamentului LLM-urilor este o sarcină critică pentru asigurarea siguranței și eficacității acestora. Arhitectura noastră propusă oferă o soluție scalabilă și personalizabilă pentru monitorizarea online LLM, permițând echipelor să vă adapteze soluția de monitorizare la cazurile și cerințele dumneavoastră specifice. Prin utilizarea serviciilor AWS, arhitectura noastră oferă vizibilitate în timp real asupra comportamentului LLM și permite echipelor să identifice și să abordeze rapid orice probleme sau anomalii.

În această postare, demonstrăm câteva metrici pentru monitorizarea online LLM și arhitectura lor corespunzătoare pentru scalare folosind servicii AWS, cum ar fi Amazon CloudWatch și AWS Lambdas. Aceasta oferă o soluție personalizabilă dincolo de ceea ce este posibil evaluarea modelului locuri de munca cu Amazon Bedrock.

Prezentare generală a soluției

Primul lucru de luat în considerare este că diferitele valori necesită considerații de calcul diferite. Este necesară o arhitectură modulară, în care fiecare modul poate prelua date de inferență de model și poate produce propriile metrici.

Vă sugerăm ca fiecare modul să preia cererile de inferență primite către LLM, trecând perechi prompt și completare (răspuns) modulelor de calcul metric. Fiecare modul este responsabil pentru calcularea propriilor valori în ceea ce privește promptul de intrare și finalizarea (răspunsul). Aceste valori sunt transmise CloudWatch, care le poate agrega și poate lucra cu alarmele CloudWatch pentru a trimite notificări în anumite condiții. Următoarea diagramă ilustrează această arhitectură.

Fig 1: Modul de calcul metric – prezentare generală a soluției

Fig 1: Modul de calcul metric – prezentare generală a soluției

Fluxul de lucru include următorii pași:

  1. Un utilizator face o solicitare către Amazon Bedrock ca parte a unei aplicații sau a unei interfețe de utilizator.
  2. Amazon Bedrock salvează solicitarea și finalizarea (răspunsul) în Serviciul Amazon de stocare simplă (Amazon S3) conform configurației jurnalul de invocare.
  3. Fișierul salvat pe Amazon S3 creează un eveniment care declanseaza o funcție Lambda. Funcția invocă modulele.
  4. Modulele își postează valorile respective la Valori CloudWatch.
  5. Alarme poate notifica echipa de dezvoltare cu privire la valorile neașteptate ale metricii.

Al doilea lucru de luat în considerare atunci când implementați monitorizarea LLM este alegerea valorilor potrivite de urmărit. Deși există multe valori potențiale pe care le puteți utiliza pentru a monitoriza performanța LLM, le explicăm pe unele dintre cele mai ample în această postare.

În secțiunile următoare, evidențiem câteva dintre metricile relevante ale modulelor și arhitectura lor respectivă a modulului de calcul al metricii.

Similaritate semantică între prompt și completare (răspuns)

Când rulați LLM-uri, puteți intercepta solicitarea și finalizarea (răspunsul) pentru fiecare solicitare și le puteți transforma în înglobări folosind un model de încorporare. Înglobările sunt vectori cu dimensiuni înalte care reprezintă semnificația semantică a textului. Amazon Titan furnizează astfel de modele prin Titan Embeddings. Luând o distanță, cum ar fi cosinusul, între acești doi vectori, puteți cuantifica cât de similare din punct de vedere semantic sunt promptul și completarea (răspunsul). Poți să folosești SciPy or scikit-learn pentru a calcula distanța cosinus dintre vectori. Următoarea diagramă ilustrează arhitectura acestui modul de calcul metric.

Fig 2: Modulul de calcul metric – similaritate semantică

Fig 2: Modulul de calcul metric – similaritate semantică

Acest flux de lucru include următorii pași cheie:

  1. O funcție Lambda primește un mesaj transmis prin flux Amazon Kinesis conținând o pereche prompt și completare (răspuns).
  2. Funcția primește o încorporare atât pentru prompt, cât și pentru completare (răspuns) și calculează distanța cosinus dintre cei doi vectori.
  3. Funcția trimite acele informații către valorile CloudWatch.

Sentiment și toxicitate

Sentimentul de monitorizare vă permite să măsurați tonul general și impactul emoțional al răspunsurilor, în timp ce analiza toxicității oferă o măsură importantă a prezenței limbajului ofensator, lipsit de respect sau dăunător în rezultatele LLM. Orice schimbare în sentiment sau toxicitate ar trebui monitorizată îndeaproape pentru a se asigura că modelul se comportă conform așteptărilor. Următoarea diagramă ilustrează modulul de calcul metric.

Fig 3: Modulul de calcul metric – sentiment și toxicitate

Fig 3: Modulul de calcul metric – sentiment și toxicitate

Fluxul de lucru include următorii pași:

  1. O funcție Lambda primește o pereche de prompt și completare (răspuns) prin Amazon Kinesis.
  2. Prin orchestrarea AWS Step Functions, funcția apelează Amazon Comprehend pentru a detecta sentiment și toxicitate.
  3. Funcția salvează informațiile în valorile CloudWatch.

Pentru mai multe informații despre detectarea sentimentului și a toxicității cu Amazon Comprehend, consultați Construiți un predictor robust de toxicitate bazat pe text și Semnalați conținutul dăunător utilizând detectarea toxicității Amazon Comprehend.

Raportul de refuzuri

O creștere a refuzurilor, cum ar fi atunci când un LLM refuză finalizarea din cauza lipsei de informații, ar putea însemna că fie utilizatorii rău intenționați încearcă să folosească LLM în moduri care sunt destinate să-l facă jailbreak, fie că așteptările utilizatorilor nu sunt îndeplinite și ei primesc răspunsuri de valoare scăzută. O modalitate de a evalua cât de des se întâmplă acest lucru este prin compararea refuzurilor standard din modelul LLM utilizat cu răspunsurile reale din LLM. De exemplu, următoarele sunt câteva dintre expresiile de refuz comune ale lui Anthropic Claude v2 LLM:

“Unfortunately, I do not have enough context to provide a substantive response. However, I am an AI assistant created by Anthropic to be helpful, harmless, and honest.”

“I apologize, but I cannot recommend ways to…”

“I'm an AI assistant created by Anthropic to be helpful, harmless, and honest.”

Pe un set fix de solicitări, o creștere a acestor refuzuri poate fi un semnal că modelul a devenit prea precaut sau sensibil. Ar trebui evaluat și cazul invers. Ar putea fi un semnal că modelul este acum mai predispus să se angajeze în conversații toxice sau dăunătoare.

Pentru a ajuta integritatea modelului și raportul de refuz al modelului, putem compara răspunsul cu un set de fraze de refuz cunoscute din LLM. Acesta ar putea fi un clasificator real care poate explica de ce modelul a refuzat cererea. Puteți lua distanța cosinus dintre răspuns și răspunsurile de refuz cunoscute din modelul monitorizat. Următoarea diagramă ilustrează acest modul de calcul metric.

Fig 4: Modul de calcul metric – raportul refuzurilor

Fig 4: Modul de calcul metric – raportul refuzurilor

Fluxul de lucru constă din următorii pași:
  1. O funcție Lambda primește un prompt și completare (răspuns) și primește o încorporare din răspuns folosind Amazon Titan.
  2. Funcția calculează cosinusul sau distanța euclidiană dintre răspuns și solicitările de refuz existente stocate în memorie.
  3. Funcția trimite acea medie către valorile CloudWatch.

O altă opțiune este de a utiliza potrivire fuzzy pentru o abordare simplă, dar mai puțin puternică, de a compara refuzurile cunoscute cu rezultatele LLM. Consultați Documentația Python pentru un exemplu.

Rezumat

Observabilitatea LLM este o practică critică pentru asigurarea utilizării fiabile și demne de încredere a LLM-urilor. Monitorizarea, înțelegerea și asigurarea acurateței și fiabilității LLM-urilor vă poate ajuta să reduceți riscurile asociate cu aceste modele AI. Prin monitorizarea halucinațiilor, a completărilor proaste (răspunsurile) și a solicitărilor, vă puteți asigura că LLM-ul dvs. rămâne pe drumul cel bun și oferă valoarea pe care dvs. și utilizatorii dvs. o căutați. În această postare, am discutat câteva valori pentru a prezenta exemple.

Pentru mai multe informații despre evaluarea modelelor de fundație, consultați Utilizați SageMaker Clarify pentru a evalua modelele de fundație, și navigați suplimentar caiete de exemplu disponibil în depozitul nostru GitHub. De asemenea, puteți explora modalități de operaționalizare a evaluărilor LLM la scară Operaționalizați evaluarea LLM la scară folosind Amazon SageMaker Clarify și serviciile MLOps. În cele din urmă, vă recomandăm să faceți referire la Evaluați modelele lingvistice mari pentru calitate și responsabilitate pentru a afla mai multe despre evaluarea LLM-urilor.


Despre Autori

Tehnici și abordări pentru monitorizarea modelelor de limbaj mari pe AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Bruno Klein este inginer senior de învățare automată cu practica AWS Professional Services Analytics. El îi ajută pe clienți să implementeze soluții de big data și de analiză. În afara serviciului, îi place să petreacă timpul cu familia, să călătorească și să încerce mâncare nouă.

Tehnici și abordări pentru monitorizarea modelelor de limbaj mari pe AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Rushabh Lokhande este inginer senior de date și ML cu practica AWS Professional Services Analytics. El îi ajută pe clienți să implementeze soluții de big data, machine learning și analiză. În afara serviciului, îi place să petreacă timpul cu familia, să citească, să alerge și să joace golf.

Timestamp-ul:

Mai mult de la Învățare automată AWS