Täiustage generatiivsete keelemudelite jõudlust Amazon Bedrocki enesejärjepidevuse viipade abil Amazoni veebiteenused

Täiustage generatiivsete keelemudelite jõudlust Amazon Bedrocki enesejärjepidevuse viipade abil Amazoni veebiteenused

Generatiivsed keelemudelid on osutunud märkimisväärselt osavateks loogiliste ja analüütiliste loomuliku keele töötlemise (NLP) ülesannete lahendamisel. Lisaks kasutamine kiire inseneritöö võivad nende jõudlust märkimisväärselt parandada. Näiteks, mõtteahel (CoT) parandab teadaolevalt mudeli suutlikkust keerukate mitmeastmeliste probleemide lahendamiseks. Arutlemist nõudvate ülesannete täpsuse suurendamiseks a enesejärjekindlus on välja pakutud innustav lähenemine, mis asendab keele genereerimisel ahne stohhastilise dekodeerimisega.

Amazonase aluspõhi on täielikult hallatav teenus, mis pakub ühe API kaudu valikut juhtivate tehisintellekti ettevõtete ja Amazoni suure jõudlusega vundamendimudeleid ning laia valikut ehitusvõimalusi. generatiivne AI turvalisuse, privaatsuse ja vastutustundliku tehisintellektiga rakendused. Koos partii järeldus API, saate kasutada Amazon Bedrocki, et teha järeldusi vundamendimudelitest partiidena ja saada vastuseid tõhusamalt. See postitus näitab, kuidas rakendada Amazon Bedrockis pakettjärelduste abil enesejärjepidevuse viipasid, et parandada mudeli jõudlust aritmeetiliste ja valikvastustega arutlusülesannete puhul.

Ülevaade lahendusest

Keelemudelite enesejärjekindluse küsimine põhineb mitme vastuse genereerimisel, mis liidetakse lõplikuks vastuseks. Erinevalt ühe põlvkonna lähenemisviisidest, nagu CoT, loob iseseisev valimi- ja marginaliseerimisprotseduur hulga mudelite täiustusi, mis viivad järjepidevama lahenduseni. Erinevate vastuste genereerimine antud viipa jaoks on võimalik tänu stohhastilisele, mitte ahnele dekodeerimisstrateegiale.

Järgmisel joonisel on näidatud, kuidas enesejärjekindlus erineb ahnest CoT-st selle poolest, et see loob mitmekesise arutlusteede komplekti ja koondab need lõpliku vastuse saamiseks.

Erinevused enesejärjepidevuse ja CoT õhutamise vahel.

Teksti genereerimise dekodeerimisstrateegiad

Ainult dekoodritega keelemudelite loodud tekst rullub lahti sõna-sõnalt, kusjuures järgnev tunnus ennustatakse eelneva konteksti põhjal. Antud viipa jaoks arvutab mudel tõenäosusjaotuse, mis näitab tõenäosust, et iga märgi ilmub järjestuses järgmisena. Dekodeerimine hõlmab nende tõenäosusjaotuste tõlkimist tegelikuks tekstiks. Teksti genereerimist vahendab komplekt järeldusparameetrid mis on sageli dekodeerimismeetodi enda hüperparameetrid. Üks näide on temperatuur, mis moduleerib järgmise märgi tõenäosusjaotust ja mõjutab mudeli väljundi juhuslikkust.

Ahne dekodeerimine on deterministlik dekodeerimisstrateegia, mis valib igal etapil suurima tõenäosusega märgi. Kuigi see lähenemine on lihtne ja tõhus, võib see langeda korduvatesse mustritesse, kuna see eirab laiemat tõenäosusruumi. Temperatuuri parameetri seadmine 0-le järelduse ajal võrdub sisuliselt ahne dekodeerimise rakendamisega.

väljavõtteline uuring lisab dekodeerimisprotsessi stohhastilisuse, valides juhuslikult iga järgneva märgi ennustatud tõenäosusjaotuse põhjal. Selle juhuslikkuse tulemuseks on suurem väljundi varieeruvus. Stohhastiline dekodeerimine osutub osavamaks potentsiaalsete väljundite mitmekesisuse tabamisel ja annab sageli kujutlusvõimelisemaid vastuseid. Kõrgemad temperatuuriväärtused toovad kaasa rohkem kõikumisi ja suurendavad mudeli reageerimise loovust.

Suhtlemistehnikad: CoT ja enesejärjekindlus

Keelemudelite arutlusvõimet saab kiire inseneritöö abil suurendada. Eelkõige on näidatud, et CoT arutluskäiku esile kutsuda keerulistes NLP ülesannetes. Üks viis rakendada a null-lask CoT toimub kiire suurendamise kaudu koos juhistega "mõelge samm-sammult". Teine võimalus on tutvustada mudelit vahepealsete arutluskäikude näidistele mõne löögiga viip mood. Mõlemad stsenaariumid kasutavad tavaliselt ahnet dekodeerimist. CoT toob kaasa märkimisväärse jõudluse kasvu võrreldes lihtsate juhistega aritmeetika, tavamõistuse ja sümboolsete arutlusülesannete puhul.

Enesejärjepidevuse õhutamine põhineb eeldusel, et mitmekesisuse juurutamine arutlusprotsessis võib olla kasulik, et aidata mudelitel läheneda õigele vastusele. See tehnika kasutab selle eesmärgi saavutamiseks kolmes etapis stohhastilist dekodeerimist:

  1. Arutluste esilekutsumiseks viige keelemudel CoT-näidetega esile.
  2. Asendage ahne dekodeerimine diskreetimisstrateegiaga, et luua erinevaid arutluskäike.
  3. Koondage tulemused, et leida vastuste komplektist kõige järjekindlam vastus.

On näidatud, et enesejärjekindlus ületab populaarsete aritmeetika ja tavapäraste arutluste võrdlusaluste puhul CoT-i viipasid. Selle lähenemisviisi piiranguks on selle suurem arvutuskulu.

See postitus näitab, kuidas enesejärjepidevuse küsimine parandab generatiivsete keelemudelite jõudlust kahes NLP-arutlusülesandes: aritmeetiline probleemide lahendamine ja valikvastustega domeenispetsiifiliste küsimuste vastamine. Me demonstreerime lähenemist, kasutades Amazon Bedrocki partii järeldust:

  • JupyterLabis pääseme juurde Amazon Bedrock Pythoni SDK-le Amazon SageMaker märkmiku eksemplar.
  • Aritmeetilise arutluse jaoks küsime Sidus käsk põhikooli matemaatikaülesannete GSM8K andmestiku kohta.
  • Valikvastustega arutluskäigu jaoks küsime AI21 Labs Jurassic-2 Mid AWS Certified Solutions Architect – Associate eksami väikesel küsimustevalimil.

Eeldused

See ülevaade eeldab järgmisi eeltingimusi.

Hallake Amazon Bedrocki mudelile juurdepääsu

Selles postituses näidatud koodi käitamise hinnanguline maksumus on 100 dollarit, eeldades, et käitate ühe korra 30 arutluskäiguga, kasutades temperatuuripõhise proovivõtu jaoks ühte väärtust, isejärjepidevuse viipa.

Andmekogum aritmeetilise arutlusvõime uurimiseks

GSM8K on inimeste koostatud põhikooli matemaatikaülesannete andmestik, millel on suur keeleline mitmekesisus. Iga ülesande lahendamiseks kulub 2–8 sammu ja see nõuab elementaarsete arvutuste jada läbiviimist põhiliste aritmeetiliste tehetega. Neid andmeid kasutatakse tavaliselt generatiivsete keelemudelite mitmeastmelise aritmeetilise arutlusvõime võrdlemiseks. The GSM8K rongikomplekt sisaldab 7,473 kirjet. Järgnev on näide:

{"question": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May?", "answer": "Natalia sold 48/2 = <<48/2=24>>24 clips in May.nNatalia sold 48+24 = <<48+24=72>>72 clips altogether in April and May.n#### 72"}

Seadistage Amazon Bedrockiga partii järelduste käitamiseks

Pakettjäreldamine võimaldab teil käivitada Amazon Bedrockile asünkroonselt mitu järelduskutset ja parandada mudelijäreldamise toimivust suurtes andmekogumites. Teenus on selle kirjutamise seisuga eelvaates ja saadaval ainult API kaudu. Viitama Käivitage partii järeldus et pääseda juurde kohandatud SDK-de kaudu partii järelduste API-dele.

Kui olete faili alla laadinud ja lahti pakkinud Pythoni SDK SageMakeri märkmiku eksemplaris saate selle installida, käivitades Jupyteri märkmiku lahtris järgmise koodi:

# Install preview SDK packages
!pip install -q $(ls ./bedrock-python-sdk-reinvent/botocore-*.whl | head -1)
!pip install -q $(ls ./bedrock-python-sdk-reinvent/boto3-*.whl | head -1)

Vormindage ja laadige sisendandmed Amazon S3-sse

Partii järelduste sisendandmed tuleb ette valmistada JSONL-vormingus koos recordId ja modelInput võtmed. Viimane peaks vastama Amazon Bedrockis käivitatava mudeli kereväljale. Eelkõige mõned toetatud järeldusparameetrid Cohere Commandi jaoks See on temperature juhuslikkuse pärast, max_tokens väljundi pikkuse jaoks ja num_generations mitme vastuse genereerimiseks, mis kõik edastatakse koos prompt as modelInput:

data = [
    {
        "recordId": "1",
        "modelInput": {
            "prompt": prompt,
            "temperature": temperature,
            "max_tokens": max_tokens,
            "num_generations": n,
        },
    },
    ...,
]

nägema Vundamendimudelite järeldusparameetrid lisateabe saamiseks, sealhulgas teiste mudelite pakkujate jaoks.

Meie aritmeetilise arutluskäigu katsed viiakse läbi paari kaadriga ilma Cohere'i käsku kohandamata või peenhäälestamata. Kasutame sama kaheksast mõnest kaadrist koosnevat komplekti mõtteahelast (Tabel 20) ja enesejärjekindlus (Tabel 17) paberid. Viibad luuakse, ühendades näidised GSM8K rongikomplekti iga küsimusega.

Me seadsime max_tokens väärtuseni 512 ja num_generations kuni 5, maksimaalne lubatud Cohere Command. Ahne dekodeerimise jaoks seadsime temperature 0-ni ja enesejärjepidevuse tagamiseks teostame kolm katset temperatuuridel 0.5, 0.7 ja 1. Iga seadistus annab vastavalt vastavatele temperatuuriväärtustele erinevad sisendandmed. Andmed vormindatakse JSONL-vormingus ja salvestatakse Amazon S3-sse.

# Set up S3 client
session = boto3.Session()
s3 = session.client("s3")

# Create S3 bucket with unique name to store input/output data
suffix = str(uuid.uuid4())[:8]
bucket = f"bedrock-self-consistency-{suffix}"
s3.create_bucket(
    Bucket=bucket, CreateBucketConfiguration={"LocationConstraint": session.region_name}
)

# Process data and output to new lines as JSONL
input_key = f"gsm8k/T{temperature}/input.jsonl"
s3_data = ""
for row in data:
    s3_data += json.dumps(row) + "n"
s3.put_object(Body=s3_data, Bucket=bucket, Key=input_key)

Looge ja käivitage Amazon Bedrockis pakettjäreldamistöid

Partii järelduste töö loomiseks on vaja Amazon Bedrocki klienti. Määrame S3 sisend- ja väljundteed ning anname igale kutsetööle kordumatu nime:

# Create Bedrock client							    
bedrock = boto3.client("bedrock")

# Input and output config						     
input_config = {"s3InputDataConfig": {"s3Uri": f"s3://{bucket}/{input_key}"}}
output_config = {"s3OutputDataConfig": {"s3Uri": f"s3://{bucket}/{output_key}"}}

# Create a unique job name
suffix = str(uuid.uuid4())[:8] 
job_name = f"command-batch-T{temperature}-{suffix}"

Tööd on loodud edastades IAM-i rolli, mudeli ID, töö nime ja sisend-/väljundkonfiguratsiooni parameetritena Amazon Bedrock API-le:

response = bedrock.create_model_invocation_job(
    roleArn=f"arn:aws:iam::{account_id}:role/BedrockBatchInferenceRole",
    modelId="cohere.command-text-v14",
    jobName=job_name,
    inputDataConfig=input_config,
    outputDataConfig=output_config,
)
job_arn = response["jobArn"]

loetelu, järelevalveja peatumine pakettjäreldamistöid toetavad nende vastavad API-kutsed. Loomisel kuvatakse töökohad esmalt kui Submitted, siis nagu InProgress, ja lõpuks nagu Stopped, Failedvõi Completed.

# Get job details
job_details = bedrock.get_model_invocation_job(jobIdentifier=job_arn)

Kui tööd on edukalt lõpule viidud, saab loodud sisu alla laadida Amazon S3-st, kasutades selle ainulaadset väljundasukohta.

# Get the output file key
s3_prefix = f"s3://{bucket}/"
output_path = job_details["outputDataConfig"]["s3OutputDataConfig"]["s3Uri"].replace(
    s3_prefix, ""
)
output_folder = job_details["jobArn"].split("/")[1]
output_file = (
    f'{job_details["inputDataConfig"]["s3InputDataConfig"]["s3Uri"].split("/")[-1]}.out'
)
result_key = f"{output_path}{output_folder}/{output_file}"

# Get output data
obj = s3.get_object(Bucket=bucket, Key=result_key)
content = obj["Body"].read().decode("utf-8").strip().split("n")

# Show answer to the first question
print(json.loads(content[0])["modelOutput"]["generations"][0]["text"])

[Out]: 'Natalia sold 48 * 1/2 = 24 clips less in May. This means she sold 48 + 24 = 72 clips in April and May. The answer is 72.'

Iseseisvus suurendab aritmeetiliste ülesannete mudeli täpsust

Cohere Commandi enesejärjekindluse viip ületab GSM8K andmestiku täpsuse poolest ahne CoT baasjoone. Enesejärjepidevuse tagamiseks valime 30 sõltumatut arutluskäiku kolmel erineval temperatuuril koos topP ja topK seatud neile Vaikeväärtused. Lõplikud lahendused summeeritakse, valides häälteenamusega kõige järjekindlama esinemise. Võrdse tulemuse korral valime juhuslikult ühe enamuse vastustest. Arvutame täpsuse ja standardhälbe väärtused, mis on keskmistatud 100 jooksu kohta.

Järgmisel joonisel on näidatud Cohere Command'i GSM8K andmestiku täpsus, mida küsib ahne CoT (sinine) ja isejärjepidevus temperatuuriväärtuste 0.5 (kollane), 0.7 (roheline) ja 1.0 (oranž) juures, funktsioonina proovide arvust. arutluskäigud.

Cohere'i käsu täpsus, kasutades enesejärjekindlust vs CoT-viipa.

Eelnev joonis näitab, et enesejärjepidevus suurendab aritmeetilist täpsust võrreldes ahne CoT-ga, kui valimite arv on kolm. Jõudlus suureneb järjekindlalt koos edasiste arutlusteedega, kinnitades mitmekesisuse juurutamise tähtsust mõttepõlvkonnas. Cohere Command lahendab GSM8K küsimuste komplekti 51.7% täpsusega, kui seda küsitakse koos CoT-ga, võrreldes 68% 30 iseseisva arutluskäiguga T=1.0. Kõik kolm uuritud temperatuuri väärtust annavad sarnaseid tulemusi, kusjuures madalamad temperatuurid on vähema valimiga teedel suhteliselt tõhusamad.

Praktilised kaalutlused tõhususe ja kulude kohta

Isejärjekindlust piiravad pikenenud reageerimisaeg ja kulu, mis tekib mitme väljundi genereerimisel ühe viipa kohta. Praktilise illustratsioonina võib öelda, et 7,473 GSM8K-kirje puhul valmis Cohere Commandiga ahne genereerimise jaoks partii järeldamine vähem kui 20 minutiga. Töö võttis sisendiks 5.5 miljonit žetoonit ja genereeris 630,000 XNUMX väljundmärki. Praegusel ajal Amazon Bedrocki järeldushinnad, oli kogukulu umbes 9.50 dollarit.

Cohere Commandiga iseseisvuse tagamiseks kasutame järeldusparameetrit num_generations ühe viipa kohta mitme lõpetamise loomiseks. Selle kirjutamise seisuga lubab Amazon Bedrock maksimaalselt viis põlvkonda ja kolm samaaegset Submitted partii järeldamistööd. Tööd liiguvad edasi InProgress olek järjestikku, seetõttu nõuab rohkem kui viie tee proovivõtt mitut kutsumist.

Järgmisel joonisel on näidatud GSM8K andmestiku Cohere Commandi käitusajad. Kogu käitusaeg kuvatakse x-teljel ja käitusaeg valimiga arutlustee kohta y-teljel. Ahne genereerimine töötab kõige lühema ajaga, kuid sellega kaasneb suurem ajakulu valimi tee kohta.

Cohere Commandi käitusajad

Ahne genereerimine lõpeb kogu GSM20K komplekti jaoks vähem kui 8 minutiga ja proovib ainulaadset arutluskäiku. Viie näidise isejärjekindlus nõuab umbes 50% kauem aega ja maksab umbes 14.50 dollarit, kuid toodab selle ajaga viis rada (üle 500%). Kogu käitusaeg ja kulu suurenevad järk-järgult iga viie valimitud teega. Tasuvusanalüüs näitab, et enesejärjepidevuse praktiliseks rakendamiseks on soovitatav seadistus 1–2 partii järelduste tööd 5–10 valimiga teekonnaga. See saavutab mudeli täiustatud jõudluse, hoides samal ajal kulusid ja latentsusaega.

Isejärjekindlus suurendab mudeli jõudlust lisaks aritmeetilistele arutlustele

Otsustav küsimus enesejärjepidevuse küsimise sobivuse tõestamiseks on see, kas meetod õnnestub edasiste NLP ülesannete ja keelemudelite puhul. Amazoniga seotud kasutusjuhtumi laiendusena teostame väikesemahulise analüüsi näidisküsimuste kohta, mis on esitatud AWS Solutionsi arhitekti kaastöötaja sertifikaat. See on AWS-i tehnoloogia ja teenuste valikvastustega eksam, mis nõuab domeeni tundmist ning oskust arutleda ja otsustada mitme valiku vahel.

Valmistame ette andmestiku SAA-C01 ja SAA-C03 eksamiküsimuste näidised. 20-st saadaolevast küsimusest kasutame 4 esimest mõne näitena ja palume mudelil vastata ülejäänud 16-le. Seekord teeme järelduse AI21 Labs Jurassic-2 Mid mudeliga ja genereerime maksimaalselt 10 arutluskäiku temperatuur 0.7. Tulemused näitavad, et enesejärjekindlus suurendab jõudlust: kuigi ahne CoT annab 11 õiget vastust, õnnestub iseseisvus veel 2 puhul.

Järgmises tabelis on näidatud 5 ja 10 valimiga teekonna täpsustulemused, mis on keskmistatud 100 käitamise kohta.

. Ahne dekodeerimine T = 0.7
# valimiteed: 5 68.6 74.1 ± 0.7
# valimiteed: 10 68.6 78.9 ± 0.3

Järgmises tabelis esitame kaks eksamiküsimust, millele ahne CoT vastab valesti, samas kui enesejärjekindlus õnnestub, tuues igal juhul esile õiged (roheline) või valed (punased) arutlusjäljed, mis viisid mudeli õigete või valede vastuseni. Kuigi mitte iga enesejärjepidevuse loodud valimitee pole õige, läheneb enamik valimite arvu suurenedes tõesele vastusele. Täheldame, et tavaliselt piisab 5–10 teest, et ahnetest tulemustest paremaks saada, kusjuures nendest väärtustest suurem efektiivsus väheneb.

Küsimus

Veebirakendus võimaldab klientidel tellimusi S3 ämbrisse üles laadida. Saadud Amazon S3 sündmused käivitavad Lambda funktsiooni, mis lisab sõnumi SQS-i järjekorda. Üks EC2 eksemplar loeb järjekorras olevaid sõnumeid, töötleb neid ja salvestab need DynamoDB tabelisse, mis on jaotatud kordumatu tellimuse ID-ga. Järgmisel kuul peaks liiklus suurenema 10 korda ja lahenduste arhitekt vaatab arhitektuuri võimalike skaleerimisprobleemide osas üle.

Milline komponent vajab KÕIGE tõenäolisemalt uuesti ülesehitust, et saaks uue liikluse mahutamiseks skaleerida?

A. Lambda funktsioon
B. SQS-i järjekord
C. EC2 näide
D. DynamoDB tabel

AWS-is töötav rakendus kasutab oma andmebaasi jaoks Amazon Aurora Multi-AZ DB klastri juurutust. Jõudlusmõõdikute hindamisel avastas lahenduste arhitekt, et andmebaasi lugemised põhjustavad kõrget I/O-d ja lisavad andmebaasi kirjutamispäringute latentsust.

Mida peaks lahenduse arhitekt tegema, et eraldada lugemistaotlused kirjutamistaotlustest?

A. Lubage Aurora andmebaasis vahemällu salvestamine.
B. Värskendage rakendust Multi-AZ ooterežiimi eksemplari lugemiseks.
C. Looge Aurora koopia ja muutke rakendust sobivate lõpp-punktide kasutamiseks.
D. Looge teine ​​Aurora andmebaas ja linkige see loetava koopiana esmase andmebaasiga.

Õige vastus C – Üks EC2 eksemplar ei skaleeru ja on üksainus tõrkepunkt arhitektuuris. Palju parem lahendus oleks lasta EC2 eksemplaridel automaatse skaleerimise rühmas kahes saadavuse tsoonis järjekorras sõnumeid lugeda. Ülejäänud vastused on kõik hallatavad teenused, mida saab konfigureerida skaleerima või skaleerima automaatselt. C - Aurora koopiad pakuvad võimalust lugemisliikluse mahalaadimiseks. Aurora koopiad jagavad sama alusmälu kui põhiandmebaas, seega on viivitusaeg üldiselt väga väike. Aurora koopiatel on oma lõpp-punktid, seega tuleb rakendus konfigureerida lugemisliikluse suunamiseks uutesse lõpp-punktidesse.
Ahne dekodeerimine EC2 eksemplari otse skaleerimine ei pruugi olla võimalik, kuna eksemplari suurust ei pruugi olla võimalik muuta. Lambda funktsiooni skaleerimine ei pruugi olla piisav, kuna Lambda funktsioonidel on 6 GB mälujaotuse limiit. SQS-i järjekorra skaleerimisest ei pruugi piisata, kuna SQS-il on 10,000 XNUMX sõnumi limiit. DynamoDB tabeleid saab skaleerida, lisades rohkem võimsusühikuid. Õige vastus on D. Rakenduse muutmine Multi-AZ ooterežiimi eksemplari lugemiseks (variant B) on parim lähenemisviis. Ooterežiimi eksemplar kopeeritakse asünkroonselt esmasest eksemplarist, nii et lugemistoimingud ei sega kirjutamistoiminguid. Läbilugemise vahemällu salvestamise lubamine (valik A) või Aurora koopia loomine (valik C) ei lahenda I/O-vaidluse probleemi. Teise Aurora andmebaasi loomine ja selle linkimine lugemiskoopiana (valik D) ei lahenda ka sisend-väljundi konkurentsiprobleemi. Õige vastus on B.
Näidistee nr 1 EC2 eksemplari skaleerimine 10-kordsele praegusele suurusele ei pruugi olla teostatav ei kulude ega toimivuse seisukohast. See nõuaks suuremat eksemplari, mis võib olla kulukas. Kulutõhusam lähenemisviis võib olla kasutada koormuse jagamiseks hulga väiksemaid eksemplare (nt Auto Scaling Group). Sel juhul tuleks EC2 eksemplar tõenäoliselt uuesti üles ehitada. Õige vastus on C. Rakenduse muutmine sobivate lõpp-punktide kasutamiseks ei ole praktiline lahendus, kuna see nõuaks rakenduse koodi muutmist. Õige vastus on C: looge Aurora koopia ja muutke rakendust sobivate lõpp-punktide kasutamiseks.
Näidistee nr 2 Ühe EC2 eksemplari skaleerimine on keerulisem ja problemaatilisem kui teiste teenusekomponentide skaleerimine. Amazon SQS, Lambda ja DynamoDB saavad kõik automaatselt skaleerida suurenenud koormusega toimetulemiseks. Õige vastus on C.

(C) Looge Aurora koopia ja muutke rakendust sobivate lõpp-punktide kasutamiseks.

Aurora replica konfigureerimisega saate lugemisliikluse kirjutamisliiklusest eraldada. Aurora koopiad kasutavad erinevaid lõpp-URL-e, mis võimaldab teil suunata lugemisliikluse esmase andmebaasi asemel koopiasse. Replica saab töödelda lugemispäringuid paralleelselt esmasesse andmebaasi kirjutamistaotlustega, vähendades I/O-d ja latentsust.

Koristage

Amazon Bedrockis partiijärelduste käitamine on Amazon Bedrocki hinnakujunduse kohaselt tasuline. Kui olete juhendi lõpetanud, kustutage oma SageMakeri märkmiku eksemplar ja eemaldage kõik andmed oma S3 ämbritest, et vältida tulevasi tasusid.

Kaalutlused

Kuigi demonstreeritud lahendus näitab keelemudelite paremat jõudlust, kui seda küsitakse enesejärjekindlalt, on oluline märkida, et ülevaade ei ole tootmiseks valmis. Enne tootmisse juurutamist peaksite kohandama seda kontseptsiooni tõendit oma rakendusega, pidades silmas järgmisi nõudeid.

  • Juurdepääsupiirang API-dele ja andmebaasidele, et vältida volitamata kasutamist.
  • AWS-i turvalisuse parimate tavade järgimine IAM-i rollide juurdepääsu ja turberühmade osas.
  • Kasutaja sisendi kinnitamine ja puhastamine kiirete süstimisrünnakute vältimiseks.
  • Käivitatud protsesside jälgimine ja logimine, et võimaldada testimist ja auditeerimist.

Järeldus

See postitus näitab, et enesejärjekindluse küsimine parandab generatiivsete keelemudelite jõudlust keerulistes NLP-ülesannetes, mis nõuavad aritmeetilist ja valikvastustega loogilisi oskusi. Isekonsistents kasutab temperatuuripõhist stohhastilist dekodeerimist erinevate arutlusteede genereerimiseks. See suurendab mudeli võimet esile kutsuda mitmekesiseid ja kasulikke mõtteid õigete vastuste leidmiseks.

Amazon Bedrocki partii järelduse abil palutakse keelemudelil Cohere Command genereerida aritmeetiliste ülesannete kogumile iseseisvad vastused. Täpsus paraneb 51.7%-lt ahne dekodeerimisega 68%-ni enesejärjekindluse valimi võtmisel 30 arutluskäiguga T = 1.0 juures. Viie tee proovide võtmine suurendab juba täpsust 7.5 protsendipunkti võrra. Seda lähenemisviisi saab üle kanda teistele keelemudelitele ja arutlusülesannetele, nagu näitavad AI21 Labs Jurassic-2 Mid mudeli tulemused AWS-i sertifitseerimiseksamil. Väikeses küsimustekomplektis suurendab viie valimiga rajaga enesejärjekindlus täpsust 5 protsendipunkti võrra võrreldes ahne CoT-ga.

Soovitame teil rakendada generatiivsete keelemudelite abil oma rakendustes täiustatud jõudluse tagamiseks enesejärjepidevuse viipasid. Lisateavet Sidus käsk ja AI21 Labs Jurassic mudelid, mis on saadaval Amazon Bedrockis. Lisateavet partii järelduste kohta leiate aadressilt Käivitage partii järeldus.

Tänusõnad

Autor tänab tehnilisi ülevaatajaid Amin Tajgardooni ja Patrick McSweeneyt kasuliku tagasiside eest.


Teave Autor

Enhance performance of generative language models with self-consistency prompting on Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Lucía Santamaría on vanem rakendusteadlane Amazoni ML ülikoolis, kus ta on keskendunud ML-alase pädevuse taseme tõstmisele kogu ettevõttes praktilise hariduse kaudu. Lucíal on doktorikraad astrofüüsikas ja ta on kirglik tehnilistele teadmistele ja tööriistadele juurdepääsu demokratiseerimise vastu.

Ajatempel:

Veel alates AWS-i masinõpe