Mida Granite-20B-Code-Base-Schema-Linking teeb
Granite-20B-Code-Base-Schema-Linking on IBM Researchi ja Granite Code'i mudeliperre kuuluv 20 miljardi parameetriga ainult dekooderiga mudel. Selle konkreetne ülesanne on skeemi sidumine (schema linking): loomulikus keeles esitatud küsimuse mõistete sobitamine andmebaasi skeemi asjakohaste osadega.
Näiteks võib kasutaja küsida: „Milliste toodete müük oli eelmisel kvartalil kõige suurem?” Andmebaasis võib olla palju tabeleid ja sadu veerge. Skeemi sidumise mudel on mõeldud tuvastama müügi, toodete, kuupäeva ja muud seotud väljad, mida järgmine süsteem peaks arvesse võtma. Seejärel saab SQL-i genereeriv komponent kasutada küsimust ja vähendatud skeemikonteksti päringu koostamiseks.
Selline tööjaotus on oluline. Mudelit ei esitleta lõpliku SQL-i kirjutaja, andmebaasi täitmis mootori ega vestlusabilise rollis. Selle väärtus seisneb teksti-SQL-i töövoo suunamises kõige asjakohasema andmebaasiinfo juurde enne SQL-i genereerimist.
Koht IBMi praeguses kataloogis
IBM loetleb mudeli praeguses watsonx.ai alusmudelite kataloogis, kus see on saadaval nõudmisel juurutamiseks. See kuulub IBMi Granite Code'i pakkumisse, mitte üldotstarbelise tarbijatele mõeldud vestlusroboti toodete hulka. IBMi mudelidokumentatsiooni kohaselt avaldati mudel 1. juulil 2024.
IBM kirjeldab seda mudelit Granite-20B-Code-Base'i juhiste järgi kohandatud versioonina. Dokumenteeritud treeninguallikate hulka kuuluvad IBMi SQLInstructi andmestik, Spider 1.0 ja BIRD-i treeningandmestik. Need allikad ja mudeli ülesande määratlus paigutavad selle andmebaaside arutlus- ja koodipõhistesse töövoogudesse, täpsemalt skeemi valimise etappi.
Mudel on kontseptuaalselt mõeldud töötama koos mudeliga Granite-20B-Code-Base-SQL-Gen. Skeemi sidumise mudel valib asjakohase andmebaasisisu, samal ajal kui SQL-i genereeriv mudel kasutab seda valikut SQL-lause koostamiseks. Nende etappide eraldi hoidmine võib olla kasulik, kui rakendus peab enne SQL-i genereerimist skeemi valimise otsust kontrollima, piirama või logima.
Tehnilised andmed ja sisendipiirangud
| Spetsifikatsioon | Kontrollitud üksikasjad |
|---|---|
| Pakkuja | IBM |
| Mudelipere | Granite Code |
| Parameetrid | 20 miljardit |
| Arhitektuur | Ainult dekooderiga |
| Kontekstiaken | 8192 tokenit |
| Peamine keele tugi | Inglise keel |
| Peamine ülesanne | Skeemi sidumine teksti-SQL-i töövoogudes |
| Kättesaadavus | Nõudmisel juurutamine IBM watsonx.ai kaudu |
| Maksimaalne väljundtokenite arv | Esitatud IBMi uuringus täpsustamata |
8192 tokeni suurune kontekstiaken piirab küsimuse, skeemiinfo, juhiste ja genereeritud teksti kogumahtu, mida saab ühe päringu käigus töödelda. Väikese või keskmise suurusega andmebaasi puhul võib sellest piisata, et edastada asjakohane skeem otse mudelile. Suure andmebaasi korral võib rakendus vajada skeemiinfo esmalt väljaotsimist või filtreerimist, enne kui see mudelile saadetakse.
IBMi dokumenteeritud näidetes soovitatakse ahnet dekodeerimist. Praktikas tähendab see igal sammul kõige tõenäolisema järgmise tokeni valimist, mitte valimi tekitatud varieeruvuse teadlikku lisamist. See soovitus sobib skeemi sidumise ülesandega, kus tabelite ja veergude korratav tuvastamine on üldjuhul kasulikum kui loominguline sõnastus.
Toetatud sisendid ja väljundid
Mudel on ainult tekstipõhine. See võtab vastu loomulikus keeles andmebaasiküsimuse ja tekstilise skeemiinfo ning genereerib teksti, mis kirjeldab või tuvastab asjakohaseid skeemielemente. Esitatud uuring ei kinnita loomulikku pildi-, heli-, video-, manustamis- ega tegevusväljundit.
Samuti ei ole esitatud dokumentatsioonis kontrollitud tõendeid selle kohta, et just see mudel toetaks tööriistade kasutamist, funktsioonikutseid, käivitatavaid toiminguid või eraldi struktureeritud väljundi või JSON-i režiimi. Rakendus võib mudeli teksti potentsiaalselt töödelda, kuid seda ei tohiks segi ajada pakkuja dokumenteeritud struktureeritud väljundi garantiiga.
Seetõttu tuleks mudeli väljundit käsitleda vahepealse tekstilise tulemusena, välja arvatud juhul, kui rakendus lisab oma vorminduse, valideerimise ja andmebaasiskeemi kontrollid. Tootmiskeskkonna töövoog peaks kontrollima, kas tagastatud tabeli- ja veerunimed on tegelikult olemas, enne kui need edastatakse SQL-i generaatorile või päringu täitjale.
Peamised tugevused ja kompromissid
Mudeli peamine tugevus on spetsialiseerumine. Selle asemel et paluda ühel üldotstarbelisel mudelil küsimusest aru saada, suurt skeemi uurida ja käivitatavat SQL-i ühe sammuna kirjutada, saab rakendus kasutada seda mudelit kitsama asjakohasuse valimise ülesande täitmiseks. Selline eraldamine võib muuta töövoo silumise lihtsamaks ja vähendada järgmisele SQL-i genereerimise mudelile edastatava ebaolulise skeemiinfo hulka.
- Fokusseeritud roll: see on loodud spetsiaalselt loomulikus keeles esitatud küsimusega seotud andmebaasitabelite ja -veergude valimiseks.
- Kasulik töövooetapp: selle väljund võib ette valmistada konteksti järgmisele SQL-i genereerimise mudelile.
- Suur mudelimaht: 20 miljardi parameetriga mudel on koodi ja andmebaasikeelega seotud ülesande jaoks märkimisväärse suurusega, kuigi esitatud uuring ei anna selle konkreetse mudeli kohta võrdlustulemusi.
- Deterministlik töövoog: IBMi ahne dekodeerimise näited toetavad skeemi valimisel korratavat käitumist.
- Ettevõtetele sobiv juurutuskontekst: nõudmisel juurutamine watsonx.ai kaudu võib sobida organisatsioonidele, kes juba kasutavad IBMi hallatud tehisintellektitaristut.
Nende tugevustega kaasnevad ka kulud. 20 miljardi parameetriga mudel ei ole iga rakenduse jaoks tingimata kõige väiksem ega kiireim võimalik komponent ning nõudmisel juurutatava taristu hinnastamine võib olla vähem ettearvatav kui lihtsa tokenipõhise API puhul. Uuring annab toimetuslikud hinded: arutlus 3, kodeerimine 6, kiirus 3 ja hind 4. Need on hindamisväljad, mitte IBMi avaldatud võrdlustulemused, ning neid ei tohiks käsitleda pakkuja ametlike mõõdikutena.
Hind ja kättesaadavus
IBM loetleb Granite-20B-Code-Base-Schema-Linkingi watsonx.ai keskkonnas nõudmisel juurutamiseks kättesaadavana. Esitatud IBMi hinnainfo ei sisalda selle konkreetse mudeli kontrollitud kasutuspõhist sisend- ega väljundtokeni hinda. Selle asemel peaksid kasutajad arvestama watsonx.ai rakenduva juurutus-, taristu- ja konfiguratsioonipõhise hinnastamisega.
See hinnastusmudel muudab ostuotsust. Meeskond, kes vajab skeemi valimist vaid aeg-ajalt, võib eelistada läbipaistva tokenipõhise hinnastusega mudelit või väiksemat hostitud mudelit. Meeskond, kes juba kasutab IBM watsonx.ai-d ja vajab IBMi hallatud Granite'i komponenti, võib pidada juurutuse lõimumist lihtsast avalikust tokenihinnast olulisemaks. Tegelik kulu sõltub juurutuse konfiguratsioonist ja kasutusest, mistõttu ei tohiks avaldatud tokenihinna puudumisest tuletada arvulist hinda.
Parimad kasutusjuhtumid
Granite-20B-Code-Base-Schema-Linking sobib kõige paremini olukordadesse, kus skeemi valimine on andmebaasipõhises küsimustele vastamise süsteemis oluline eraldi etapp. Sobivad kasutusviisid on järgmised:
- Suure relatsioonilise skeemi vähendamine enne SQL-i genereerimist.
- Ärianalüüsi küsimuste jaoks asjakohaste tabelite ja veergude leidmine.
- Konteksti ettevalmistamine vestluslike analüütikarakenduste jaoks.
- Teksti-SQL-i töövoogude loomine nii, et iga etappi saab eraldi kontrollida ja valideerida.
- IBM watsonx.ai juurutuste toetamine, kui vaja on spetsialiseeritud Granite Code'i mudelit.
Praktilises töövoos võiks rakendus koguda kasutaja küsimuse, edastada mudelile saadaoleva skeemi, kontrollida valitud elemente ning edastada seejärel SQL-i genereerimise mudelile ainult asjakohase skeemi koos algse küsimusega. Rakendus peaks siiski valideerima identifikaatorid, rakendama õigusi ja takistama genereeritud SQL-il juurdepääsu andmetele, mida kasutajal pole õigust kasutada.
Millal seda mudelit valida
Vali see mudel siis, kui keskne probleem on enne teise komponendi SQL-i kirjutamist kindlaks teha, millised andmebaasi osad on asjakohased. See on eriti sobiv juhul, kui soovid spetsiaalset ja kontrollitavat skeemi sidumise etappi, mitte üht mudelit, mis vastutaks kogu teksti-SQL-i protsessi eest.
Mõni teine võimalus võib olla sobivam, kui vajadus on SQL-i otsene genereerimine, üldotstarbeline kodeerimine, avatud vestlus või multimodaalne töötlemine. Seda mudelit ei ole dokumenteeritud iseseisva SQL-i generaatorina ning see ei paku loomulikke mittetekstilisi väljundeid ega kontrollitud tööriistade käivitamist. Väiksem või tokenipõhise hinnastusega mudel võib olla eelistatavam ka siis, kui oluline on väike latentsus, minimaalne taristukulu või lihtne aeg-ajalt kasutamine, mitte spetsialiseeritud 20 miljardi parameetriga Granite'i komponendi kasutamine.
Samas võib astmeline IBMi töövoog olla eelistatav juhul, kui olulised on skeemi vähendamine, deterministlik dekodeerimine ja lõimumine watsonx.ai juurutusega. Seotud Granite'i SQL-i genereerimise mudel tegeleb hilisema SQL-i kirjutamise etapiga, kuid Granite-20B-Code-Base-Schema-Linking jääb asjakohaste skeemielementide tuvastamise eest vastutavaks komponendiks.
Piirangud, millega arvestada
Mudelil on mitu piirangut, mis peaksid mõjutama rakenduse ülesehitust. Dokumenteeritud kontekstiaken on 8192 tokenit, mistõttu võivad väga suured skeemid vajada eeltöötlust või otsingupõhist lähenemist. Esitatud uuringus on dokumenteeritud keeletoena inglise keel, seega teiste keelte jõudlust siin ei kinnitata. Maksimaalset väljundtokenite arvu ei ole esitatud.
Ei tohiks eeldada, et mudel täidab SQL-i, tagastab päringutulemusi, rakendab andmebaasiõigusi või tagab identifikaatorite kehtivuse. Mudeli tekstiline väljund võib vajada töötlemist ja valideerimist, enne kui seda kasutatakse teises süsteemis. Uuring ei kinnita selle konkreetse mudeli puhul ka peenhäälestuse, vahemällu salvestamise, voogedastuse, pakk-töötluse API ega struktureeritud väljundi tuge.
Lõpuks ei paku IBM esitatud materjalides kasutuspõhist tokenihinda. Enne arhitektuuri kasutuselevõttu peaksid potentsiaalsed kasutajad kontrollima praegust kataloogiseisu, juurutusnõudeid, piirkondlikku kättesaadavust ja hinnastamist otse oma watsonx.ai keskkonnas.

