Granite Code

Granite-20B-Code-Base-SQL-Gen

by IBM watsonx · Saadaval; vajaduspõhiselt juurutatav mudel IBM watsonx.ai-s

IBM Granite-20B-Code-Base-SQL-Gen on 20 miljardi parameetriga tekstist SQL-i mudel, mis genereerib loomulikus keeles esitatud küsimuste ja andmebaasiskeemide põhjal päringuid. See toetab teksti sisendit ja väljundit, kontekstiaken on 8192 tokenit ning mudel on watsonx.ai-s saadaval nõudmisel juurutatava mudelina. Selle SQL-väljund vajab valideerimist ning IBM ei esita kaasasolevas dokumentatsioonis eraldiseisvat tokenipõhist hinda.

Tekst Arutlusvõime Programmeerimine
Granite-20B-Code-Base-SQL-Gen on IBM Researchi välja töötatud mudel, mis teisendab tavakeeles esitatud küsimused SQL-päringuteks. See on mõeldud töövoogude jaoks, kus süsteem tuvastab esmalt asjakohased andmebaasitabelid, veerud ja väärtused ning palub seejärel mudelil sihtandmebaasi jaoks päring koostada.
Väljundid

Mida Granite-20B-Code-Base-SQL-Gen suudab teha

Tekst
Sisendid

Mida see mõistab

Tekst
Võimekused

Abifunktsioonid

Peenhäälestamine
Mudeli profiil

Jõudlusnäitajad

5/10 Arutlusvõime
7/10 Programmeerimine
4/10 Kiirus
5/10 Kulutõhusus
Detailid

Tehnilised andmed

Mudeliseeria Granite Code
Tüüp Programmeerimine
Konteksti maht 8K märki/tokenit
Maksimaalne väljundmärkide arv 8K märki/tokenit
Välja antud 1. juuli 2024
Olek Saadaval; vajaduspõhiselt juurutatav mudel IBM watsonx.ai-s
Teadmiste ajapiiri märkused

IBM-i mudelikaart ja praegune alusmudelite dokumentatsioon ei esita selle konkreetse mudeli kohta kontrollitud teadmiste lõppkuupäeva.

Mudeli selgitused

IBM Research töötas selle 20 miljardi parameetriga ainult dekooderil põhineva mudeli välja, kohandades Granite-20B-Code-Base’i IBM-i SQLInstructi andmestiku, Spider 1.0 ja BIRD-i treeningandmete abil. Mudel on mõeldud SQL-i genereerimise viimaseks etapiks pärast asjakohase skeemi- ja sisulinkimise teabe tuvastamist. IBM-i dokumentatsiooni kohaselt kohandatakse mudelit peamiselt SQLite’i andmebaasidest pärit küsimuse ja SQL-i paaride abil, mistõttu võib selle jõudlus muude SQL-i murrete puhul olla piiratud, kui ei rakendata murdepõhist järeltöötlust või täiendavat häälestamist. IBM-i praeguses watsonx.ai mudelidokumentatsioonis on mudel märgitud kättesaadavaks ning selle kontekstiakna suuruseks on märgitud 8192 tokenit. IBM-i süsteeminõuete kohaselt toetatakse täielikku peenhäälestamist ühilduvate NVIDIA A100, H100 või H200 konfiguratsioonidega. Mudelit tuleks kasutada koos valideerimise ja ohutustestidega, sest genereeritud SQL võib olla vigane või ebaturvaline.

COST

Hinnad

Sisend Eraldi tokenipõhist hinda ei ole avalikult avaldatud; IBM loetleb mudeli nõudmisel juurutatavana.
Väljund Eraldiseisvat tokenipõhist hinda ei ole avalikult avaldatud; IBM kirjeldab mudelit kui nõudmisel juurutatavat.
Mudeli juhend

Granite-20B-Code-Base-SQL-Gen: IBMi mudel loomuliku keele teisendamiseks SQL-päringuteks

IBM Granite-20B-Code-Base-SQL-Gen on 20 miljardi parameetriga ainult dekooderiga keelemudel, mida on spetsiaalselt kohandatud tekstist SQL-i genereerimiseks. See teisendab loomulikus keeles esitatud küsimused, andmebaasiskeemid ja skeemide sidumise teabe SQL-päringuteks, mistõttu sobib see paremini analüütikaassistentidele ja SQL-i genereerimise töövoogudesse kui üldotstarbeliseks vestlusrobotiks.

Mis on Granite-20B-Code-Base-SQL-Gen?

Granite-20B-Code-Base-SQL-Gen on spetsialiseeritud IBM Granite Code’i mudel loomuliku keele põhjal SQL-päringute genereerimiseks. Kasutaja võib küsida näiteks: „Milliste toodete müük oli eelmisel kvartalil kõige suurem?” Mudel kasutab seda küsimust koos andmebaasi skeemi puudutava teabe ja võimaluse korral skeemi sidumise üksikasjadega, et genereerida SQL-päring.

Mudelil on 20 miljardit parameetrit ning see kasutab ainult dekooderiga arhitektuuri. Praktilises mõttes genereerib see teksti järjestikku, kus genereeritud tekst on tavaliselt SQL, mitte vestluslik vastus. IBM kirjeldab seda SQL-i genereerimise lõpp-etapina: rakenduse mõni teine osa peaks enne selle mudeli kutsumist tuvastama asjakohased skeemielemendid ja lisama need viipa.

Praegu on see IBM watsonx.ai alusmudelite kataloogis loetletud saadaval oleva nõudmisel juurutatava mudelina. Mudelit dokumenteeritakse ka IBM Granite’i ja watsonx-i materjalides. Selle väljalaskekuupäevaks on märgitud 1. juuli 2024.

Peamine eesmärk ja soovitatav töövoog

Mudel on loodud teksti põhjal SQL-i genereerimise ülesannete jaoks andmebaasides, mida ei pruukinud treeningandmetes olla. IBMi dokumenteeritud treeningallikate hulka kuuluvad SQLInstructi andmestik, Spider 1.0 ja BIRD-i andmed. Mudel peenhäälestati mudelist Granite-20B-Code-Base ning see on mõeldud kasutama küsimuse ja SQL-i näiteid ning andmebaasi konteksti päringu koostamiseks.

Praktilises rakenduses jaotatakse ülesanne tavaliselt etappideks:

  1. Mõista küsimust: tuvastada soovitud mõõdik, filtrid, rühmitamine, sortimine ja ajavahemik.
  2. Siduda küsimus skeemiga: leida asjakohased tabelid, veerud, seosed ja võimaluse korral tüüpilised väärtused.
  3. Genereerida SQL: edastada küsimus ja valitud skeemiteave mudelile Granite-20B-Code-Base-SQL-Gen.
  4. Kontrollida enne käivitamist: kontrollida süntaksit, viidatud objekte, õigusi, eeldatavat tulemuse kuju ja päringu turvalisust.

See jaotus on oluline, sest mudel ei ole andmebaasimootor. See ei käivita päringuid otse ega kontrolli iseseisvalt, kas genereeritud päring annab soovitud tulemuse.

Kontrollitud tehnilised näitajad

Tehniline näitajaÜksikasjad
TeenusepakkujaIBM
Mudelite perekondGranite Code
Parameetrid20 miljardit
ArhitektuurAinult dekooderiga keelemudel
Peamine ülesanneLoomuliku keele põhjal SQL-i genereerimine
Kontekstiaken8192 tokenit
Uute tokenite maksimumarv8192 tokenit
SisendTekst
VäljundTekst, tavaliselt SQL
PeenhäälestusToetatud; IBMi süsteeminõuetes dokumenteeritakse täielikuks peenhäälestuseks sobivad NVIDIA A100, H100 või H200 konfiguratsioonid
SaadavusSaadaval nõudmisel juurutatava mudelina IBM watsonx.ai-s

8192-tokenine kontekstilimiit hõlmab viipa ja edastatud konteksti, sealhulgas loomulikus keeles küsimust, skeemikirjeldusi, sidumisteavet, näiteid ja muid juhiseid. Seetõttu võib suurte skeemide puhul olla vaja neid enne mudelile saatmist vähendada või valida vajalikud osad. IBMi kataloogis on uute tokenite maksimumarvuna samuti märgitud 8192, kuigi tavalised SQL-päringud jäävad üldjuhul sellest piirist palju lühemaks.

Peamised tugevused ja piirangud

Tugevused

  • Ülesandespetsiifilisus: mudel on peenhäälestatud SQL-i genereerimiseks, mitte kasutamiseks piiramatu otstarbega vestlusrobotina.
  • Skeemist sõltumatu ülesehitus: see on mõeldud töötama ka varem nägemata andmebaasidega, kui vajalik skeem ja sidumisteave on mudelile edastatud.
  • Ettevõtetele sobiv juurutuskontekst: saadavus watsonx.ai kaudu muudab selle asjakohaseks organisatsioonidele, kes loovad hallatud analüütika- või andmeabistamise töövooge.
  • Peenhäälestuse võimalus: IBM dokumenteerib täieliku peenhäälestuse toe sobival NVIDIA riistvaral, mis võib aidata organisatsioonidel kohandada mudelit konkreetse SQL-i dialekti või ettevõttesiseste tavadega.

Piirangud

  • SQL-i õigsus ei ole garanteeritud: genereeritud päring võib kasutada valet tabelit, veergu, ühendust, filtrit või koondamist isegi siis, kui selle süntaks näib korrektne.
  • Andmebaasi käivitamine jääb mudelist väljapoole: rakendus peab päringu eraldi käivitama ja valideerima, kasutades asjakohaseid juurdepääsuõigusi ja turvameetmeid.
  • Dialektiga seotud kaalutlused: IBM märgib, et mudelit peenhäälestati peamiselt SQLite’i andmebaasidest pärit küsimuse ja SQL-i paaridega. Teised dialektid võivad vajada järeltöötlust, täpsemaid viipasid, valideerimist või täiendavat häälestamist.
  • Piiratud kontekst: 8192-tokenine aken võib muutuda kitsendavaks, kui andmebaasis on palju tabeleid või kui viip sisaldab mahukat dokumentatsiooni ja rohkelt näiteid.
  • Üldotstarbelistest vestlusmudelitest kitsam kasutusala: mudel ei ole mõeldud laialdaseks vestlusabiliseks, multimodaalseks tööks ega muude sisuloomeülesannete täitmiseks.

Võimekus, modaalsused ja tööriistad

Granite-20B-Code-Base-SQL-Gen võtab vastu teksti ja väljastab teksti. Kontrollitud andmete põhjal ei toeta see pildi-, heli- ega videosisendit või -väljundit. Selle väljund ei ole otsene tegevus andmebaasis: mudel genereerib tekstilise SQL-lause, mida mõni teine süsteem võib hiljem kontrollida ja käivitada.

Esitatud mudeliteave ei kinnita selle mudeli sisseehitatud funktsioonikutseid, tööriistade kasutamist, veebiotsingut, voogedastust, pakktöötlust, vahemällu salvestamist ega spetsiaalset JSON-režiimi. Rakendused võivad mudeli siiski suuremasse töövoogu kaasata, kuid seda ei tohiks segi ajada mudelitaseme tööriistakutsete võimekusega.

Selle kodeerimisvõimekus on laiema asemel spetsialiseeritud. SQL-i genereerimine on üks koodigenereerimise vorme ning mudel sobib hästi olukordadesse, kus soovitud tulemus on päring. Seda ei tohiks automaatselt käsitleda üldise tarkvaraarenduse mudelina selliste ülesannete jaoks nagu rakenduse arhitektuur, mitmes programmeerimiskeeles silumine või hoidla tasemel koodimuudatused.

Arutlusvõime, kiiruse ja kulude kompromissid

Mudel teeb vajalikud järeldused, et teisendada küsimus ja skeem tõenäoliseks SQL-jadaks, kuid esitatud dokumentatsioon ei kirjelda eraldi mõttekäigu režiimi ega konfigureeritavat arutlusrežiimi. Seetõttu tuleks seda hinnata spetsialiseeritud genereerimismudelina, mitte kontrollitud arutlusele keskenduva süsteemina.

Toimetusliku hinnanguna on selle arutlusvõime hindeks 5 punkti 10-st, kodeerimisvõimekusel 7 punkti 10-st, kiirusel 4 punkti 10-st ja kulutasemel 5 punkti 10-st. Need on võrdlevad toimetuslikud hinded, mitte IBMi avaldatud võrdlustestide tulemused. Kodeerimishinne kajastab mudeli spetsialiseerumist SQL-ile; madalam kiirusehinnang on kooskõlas 20 miljardi parameetriga mudeli võrdlemisega väiksemate teksti põhjal SQL-i genereerimise või üldotstarbeliste alternatiividega, kuid tegelik latentsus sõltub juurutuse riistvarast, konfiguratsioonist, viiba suurusest ja teenuse koormusest.

IBM ei avalda esitatud uuringu põhjal selle mudeli sisendi või väljundi eraldiseisvat tokenipõhist hinda. Selle asemel on mudel watsonx.ai-s loetletud nõudmisel juurutatavana. Ostjad peaksid seetõttu sobiva juurutus-, arvutus- ja kontohinna IBM-ilt üle kontrollima, mitte eeldama tokenipõhist hinda mõne teise watsonx-i mudeli põhjal.

Millal seda mudelit valida?

Vali Granite-20B-Code-Base-SQL-Gen siis, kui peamine vajadus on genereerida loomulikus keeles esitatud küsimustest SQL-i ning sul on võimalik edastada hoolikalt valitud skeemikontekst. See sobib eriti hästi järgmisteks kasutusjuhtudeks:

  • analüüsiabilised, mis koostavad päringuid inimese ülevaatuseks;
  • loomulikus keeles toimivad liidesed struktureeritud ettevõtte andmebaasidele;
  • päringu koostamise ja skeemi sidumise töövoo SQL-i genereerimise etapp;
  • meeskonnad, kes soovivad kasutada IBM Granite’i mudelit watsonx.ai juurutuses;
  • organisatsioonid, kes vajavad võimalust väljundit ettevõttesiseste SQL-i tavade järgi peenhäälestada või järeltöödelda.

See sobib vähem olukordadesse, kus rakendus vajab üldist vestlusmudelit, otsest andmebaasi käivitamist, multimodaalset sisendit, sisseehitatud väliseid tööriistu või usaldusväärset tuge spetsialiseeritud SQL-i dialektile ilma täiendava arenduseta. Väiksem mudel võib olla eelistatud siis, kui väike latentsus ja madalam juurutuskulu on olulisemad kui 20 miljardi parameetriga spetsialisti kasutamine. Üldotstarbeline kodeerimis- või arutlusmudel võib olla parem valik juhul, kui SQL moodustab laiemast programmeerimisülesandest vaid väikese osa.

Valideerimine ja turvaline juurutamine

Genereeritud SQL-i tuleks käsitleda ebausaldusväärse kavandina. Enne käivitamist peaksid rakendused kontrollima, et viidatud tabelid ja veerud on olemas, piirama lubatud toiminguid, rakendama päringu esitaja õiguste kontrolli ning kaaluma uuriva analüütika jaoks kirjutuskaitstud andmebaasimandaatide kasutamist. Päringute ajalõpud, ridade piirangud, kulukontrollid ja logimine võivad vähendada ebatõhusate või soovimatute lausete mõju.

Hindamine peaks hõlmama päringuid, mis sisaldavad ühendusi, mitmetähenduslikke termineid, puuduvaid väärtusi, kuupäevapiire, koondamist, pesastatud päringuid ja dialektispetsiifilist süntaksit. Ainult SQL-i parsitavuse kontrollimisest ei piisa: süntaktiliselt korrektne päring võib siiski vastata valele äriküsimusele. Suure mõjuga aruandluse puhul on endiselt oluline inimese ülevaatus või sõltumatu andmebaasipõhine valideerimisetapp.

Kokkuvõte

Granite-20B-Code-Base-SQL-Gen on keskendunud IBM-i mudel, mis teisendab loomulikus keeles esitatud andmeküsimused SQL-iks. Selle peamine kasutusjuht on struktureeritud teksti põhjal SQL-i genereerimise töövoog, mis edastab skeemikonteksti, valideerib tulemuse ja tegeleb täitmisega mudelist väljaspool. Selle spetsialiseeritus ja saadavus watsonx.ai kaudu on ettevõtete analüütikatöövoogudes kasulikud, kuid enne juurutamist tuleb arvesse võtta ka 8192-tokenist konteksti, SQLite’ile suunatud peenhäälestuse tausta, kontrollitud sisseehitatud tööriistade puudumist ja eraldiseisva tokenipõhise hinna avaldamata jätmist.


KKK - vastused sinu küsimustele

Milleks kasutatakse mudelit Granite-20B-Code-Base-SQL-Gen?
Granite-20B-Code-Base-SQL-Gen on IBM Granite Code'i mudel, mis on loodud loomulikus keeles esitatud küsimuste teisendamiseks SQL-päringuteks. See on mõeldud text-to-SQL-töövoogude jaoks, kus rakendus edastab kasutaja küsimuse koos asjakohase andmebaasiskeemi ja skeemi seostamise teabega.
Kas Granite-20B-Code-Base-SQL-Gen täidab SQL-päringuid või valideerib neid?
Ei. Mudel genereerib SQL-i tekstina, kuid ei käivita päringuid ega kontrolli iseseisvalt, kas need on õiged. Enne käivitamist peavad rakendused valideerima süntaksi, viidatud tabelid ja veerud, õigused, päringu turvalisuse ning selle, kas päring vastab kavandatud äriküsimusele.
Millised on Granite-20B-Code-Base-SQL-Geni peamised tehnilised näitajad?
Mudelil on 20 miljardit parameetrit, see kasutab ainult dekooderil põhinevat arhitektuuri, toetab tekstisisendit ja tekstiväljundit ning selle kontekstiaken ja uute žetoonide maksimaalne arv on mõlemad 8192. IBM watsonx.ai platvormil on see saadaval nõudmisel juurutatava mudelina ning toetab peenhäälestust ühilduvates NVIDIA A100, H100 või H200 konfiguratsioonides.
Millised on Granite-20B-Code-Base-SQL-Gen piirangud?
Mudel võib genereerida valesid tabeleid, ühendusi, filtreid, koondamisi või SQL-süntaksit isegi siis, kui väljund näib korrektne. Selle kontekstiaken võib suurte skeemide puhul olla piirav ning mudeli peenhäälestus põhines peamiselt SQLite’ile suunatud küsimuste ja SQL-i andmetel. Seetõttu võivad muud SQL-i dialektid nõuda täiendavat juhendamist, järeltöötlust, valideerimist või peenhäälestust. Eraldiseisva tokenipõhise hinnastamise ja sisseehitatud tööriistakutsumise võimalusi esitatud teabe põhjal kinnitada ei saa.


Allikad 5
AI ettevõte

Info IBM watsonx kohta