Microsoft Guidance projekt suurte keelemudelite taltsutamiseks

Microsoft Guidance projekt suurte keelemudelite taltsutamiseks

Allikasõlm: 2660058

Võimsaid keelemudeleid, nagu Bard, ChatGPT ja LLaMA, võib olla raske juhtida, mis on ajendanud kiiret inseneritehnoloogiat – soovitud väljundi saamiseks sisendteksti sõnastamise kunsti.

Kummalisel juhul meelitas kiire looja hiljuti Google'i Bardi JSON-andmete tagastamiseks ilma igasuguse selgitava tekstita peale selle, et kõrvaline väljund mõistaks kellegi surma.

Üsna pikk viip sisaldab see lõik: "Kui lisate oma vastusele mitte-JSON-teksti, kasvõi ühe tähemärgi, sureb süütu mees. See on õige – tõeline inimene, kellel on mõtted, tunded, ambitsioonid ja perekond, kes neid armastab, tapetakse teie valiku tagajärjel.

Seal on vähem äärmuslik lähenemisviise selgitava väljundi mahasurumiseks ja soovitud tulemuste saavutamiseks. Microsoft on aga töötanud välja terviklikuma strateegia kallal, kuidas panna mudelid käituma. Windowsi hiiglane nimetab oma raamistikku nimeks Arendus.

"Juhised võimaldavad teil juhtida kaasaegseid keelemudeleid tõhusamalt ja tõhusamalt kui traditsiooniline viipamine või aheldamine," selgitatakse projekti repos. "Juhendamisprogrammid võimaldavad teil põimida genereerimise, viipade ja loogilise juhtimise üheks pidevaks vooluks, mis vastab sellele, kuidas keelemudel teksti tegelikult töötleb."

Traditsiooniline õhutamine, nagu ülalpool ilmnes, võib veidi segada. Kiire aheldamine [PDF] – ülesande jaotamine etappideks ja viipa algväljundi kasutamine järgmise sammu sisendi teavitamiseks – on veel üks võimalus. Erinevad tööriistad nagu LangChain ja Heinakuhi on tekkinud mudelite rakendustesse integreerimise hõlbustamiseks.

Juhised on sisuliselt domeenispetsiifiline keel (DSL) mudeli interaktsiooni käsitlemiseks. See meenutab JUHTRAUAD, veebirakenduste jaoks kasutatav mallikeel, kuid see jõustab ka lineaarse koodi täitmise, mis on seotud keelemudeli loa töötlemise järjekorraga. Seetõttu sobib see hästi teksti genereerimiseks või programmivoo juhtimiseks, tehes seda ökonoomselt.

Nagu keelemudel Päringu keel (LMQL), juhiste eesmärk on vähendada LLM-i suhtluse kulusid, mis võivad kiiresti muutuda kulukaks, kui juhised on tarbetult korduvad, paljusõnalised või pikad.

Ja kiire tõhususega kaasneb parem jõudlus: üks juhiste koodilõikudest loob rollimängu jaoks tähemalli. Väikese seadistuskoodiga…

# kasutame siin LLaMA-d, kuid iga GPT-stiilis mudel teeb seda laama = guidance.llms.Transformers("your_path/llama-7b", device=0) # saame eelnevalt defineerida kehtivad suvandite komplektid valid_weapons = ["mõõk", "axe", "mace", "spear", "bow", "crossbow"] # define prompt character_maker = guidance("""Järgmine on RPG-mängu märgiprofiil JSON-vormingus. ```json { "id": "{{id}}", "description": "{{description}}", "name": "{{gen 'name'}}", "vanus": {{gen 'vanus' muster ='[0-9]+' stop=','}}, "armor": "{{#select 'armor'}}nahk{{or}}kettpost{{or}}plaat{{/select}} ", "weapon": "{{select 'weapon' options=valid_weapons}}", "class": "{{gen 'class'}}", "mantra": "{{gen 'mantra' temperature=0.7} }", "strength": {{gen 'strength' pattern='[0-9]+' stop=','}}, "items": [{{#geneach 'items' num_iterations=5 join=', '}}"{{gen 'this' temperature=0.7}}"{{/geneach}}] }```""") # genereerige märk character_maker( id="e1f491f7-7ab8-4dac-8c20-c92b5e7d883d" , description="Kiire ja krapsakas võitleja.", valid_weapons=valid_weapons, llm=lama )

…tulemuseks on JSON-vormingus mängu märgiprofiil, mis on Nvidia RTX A2 GPU-ga LLaMA 6000B kasutamisel 7x kiirem võrreldes standardse kiire lähenemisviisiga ja seega odavam.

Samuti juhendkood edestab BigBenchi testiga mõõdetud kahekordne kiire lähenemine täpsusele, skoor 76.01 protsenti võrreldes 63.04 protsendiga.

Tegelikult võivad juhised aidata selliste probleemide puhul nagu andmete vormindamine. Nagu kaastöötajad Scott Lundberg, Marco Tulio Correia Ribeiro ja Ikko Eltociear Ashimine tunnistavad, ei suuda LLM-id suurepäraselt tagada, et väljund järgiks kindlat andmevormingut.

„Juhendusega saame mõlemad hakkama kiirendada järelduste kiirust ja tagada, et loodud JSON on alati kehtiv, ”selgitavad nad repos.

Ja kedagi ei pidanud ähvardama, et see nii läheks. ®

Ajatempel:

Veel alates Register