Yi-Coder

Yi-Coder-9B

by 01.AI · Saadaval avatud kaaludega baasmudel

Yi-Coder-9B on 01.AI loodud 9 miljardi parameetriga Apache 2.0 litsentsi alusel välja antud baastaseme programmeerimismudel. See toetab kuni 128K tokenit ja 52 programmeerimiskeelt, mistõttu sobib see koodi kohalikuks genereerimiseks, lõpetamiseks ja muutmiseks, repositooriumide analüüsiks, kvantimiseks ning peenhäälestuseks. Selle konkreetse mudeli kohta ei ole dokumenteeritud ei tootja pakutavat hostitud kasutuse hinda ega eraldi maksimaalset väljundipikkuse piirangut.

Tekst Arutlusvõime Programmeerimine
Yi-Coder-9B on 01.AI avatud kaaludega koodimudel arendajatele, kes vajavad pika kontekstiga programmeerimisvõimekust ega soovi sõltuda tootja hallatavast API-st. 5. septembril 2024 avaldatud mudel toetab kuni 128 000 tokenit, hõlmab 52 programmeerimiskeelt ja seda levitatakse Apache 2.0 litsentsi alusel. Baasmudelina sobib see paremini koodi lõpetamiseks ja kohandamiseks kui valmis vestlusassistendina kasutamiseks.
Väljundid

Mida Yi-Coder-9B suudab teha

Tekst
Sisendid

Mida see mõistab

Tekst
Võimekused

Abifunktsioonid

Peenhäälestamine
Mudeli profiil

Jõudlusnäitajad

6/10 Arutlusvõime
8/10 Programmeerimine
7/10 Kiirus
9/10 Kulutõhusus
Detailid

Tehnilised andmed

Mudeliseeria Yi-Coder
Tüüp Kodeerimine
Konteksti maht 131K märki/tokenit
Teadmiste piirkuupäev 2023. aasta lõpp
Välja antud 2024-09-05
Olek Saadaval avatud kaaludega baasmudel
Teadmiste ajapiiri märkused

01. AI Yi-Coderi lansseerimismaterjalides on märgitud, et treeningandmete lõppkuupäev oli 2023. aasta lõpp. Tegemist on treeningandmete lõppkuupäevaga, mitte väljalaskekuupäeva ega garantiiga, et kõik enne seda kuupäeva teada olnud faktid on mudelis esindatud.

Mudeli selgitused

Yi-Coder-9B on Yi-Coderi seeria baasmodell, mis erineb mudelist Yi-Coder-9B-Chat. Sellel on ligikaudu 9 miljardit parameetrit, see toetab maksimaalselt 128K märgi pikkust konteksti ja hõlmab 52 programmeerimiskeelt. Mudel ja projekti kood on välja antud Apache 2.0 litsentsi alusel. Avaldatud andmetel ulatub treeningandmete lõppkuupäev 2023. aasta lõpuni. Ametlikus dokumentatsioonis kirjeldatakse Transformersit, vLLM-i, kvantimist ja peenhäälestuse töövooge, kuid selle konkreetse mudeli puhul ei ole dokumenteeritud esimese osapoole hostitud API hinnastust, natiivset veebiotsingut, funktsioonikutseid, JSON-režiimi, viipade vahemällu salvestamist ega pakktöötluse API-t. Toimetuslikud hinded on võrdlevad hinnangud, mitte teenusepakkuja spetsifikatsioonid.

COST

Hinnad

Sisend Ametlikult majutatava API hinnakiri puudub; mudeli kaalud on allalaaditavad isehostimiseks või kolmanda osapoole kaudu juurutamiseks.
Väljund Ametlikult majutatud API-l hinda ei ole; allalaaditavad mudelikaalud isehostimiseks või kolmanda osapoole juurutuseks
Mudeli juhend

Yi-Coder-9B: avatud kaaludega kodeerimismudel pika konteksti jaoks

Yi-Coder-9B on 01.AI 9 miljardi parameetriga Apache 2.0 litsentsi alusel kasutatav baastaseme keelemudel koodi genereerimiseks, lõpetamiseks, muutmiseks ja silumiseks, koodihoidlate analüüsimiseks ning muudeks programmeerimisülesanneteks. Selle peamised praktilised eripärad on 128K märgi suurune kontekstiaken, 52 programmeerimiskeele tugi, allalaaditavad mudelikaalud ning sobivus kohapealseks juurutamiseks, kvantimiseks ja peenhäälestuseks.

Mis on Yi-Coder-9B?

Yi-Coder-9B on 9 miljardi parameetriga programmeerimisele keskenduv keelemudel, mille töötas välja 01.AI. Mudel genereerib ja analüüsib teksti, kuid selle treenimine ja kasutusotstarve on suunatud peamiselt tarkvaraarenduse ülesannetele: koodi lõpetamisele, genereerimisele, muutmisele, ühest programmeerimiskeelest teise tõlkimisele, silumisele ja suurte koodikontekstide mõistmisele.

Mudel avaldati avalikult 5. septembril 2024. Selle kaalud on allalaaditavad näiteks Hugging Face'i repositooriumidest, mis tähendab, et kasutajad saavad seda käitada oma taristus või ühilduva kolmanda osapoole teenuse kaudu, selle asemel et sõltuda esimese osapoole hostitud lõpp-punktist.

Yi-Coder-9B on Yi-Coderi perekonna baasmudel. Eraldi mudel Yi-Coder-9B-Chat on mõeldud vestluslikumaks ja juhiste järgimisele keskenduvaks suhtluseks. See erinevus on praktikas oluline: baasmudel on eelkõige loodud teksti ja koodi jätkamiseks või teisendamiseks, samas kui vestluseks häälestatud variant on üldiselt mugavam siis, kui töövoog algab loomulikus keeles esitatud päringutest.

Olulisemad näitajad lühidalt

NäitajaYi-Coder-9B
Pakkuja01.AI
Mudeli tüüpAvatud kaaludega programmeerimise baasmudel
Ligikaudne parameetrite arv9 miljardit
Avaldamise kuupäev5. september 2024
Maksimaalne konteksti pikkus128K tokenit ehk 131 072 tokenit
Programmeerimiskeelte tugi52 keelt vastavalt pakkuja projekti materjalidele
LitsentsApache 2.0
Treeningandmete ajaline piir2023. aasta lõpp
Hostitud API hindSelle konkreetse mudeli ametlikku esimese osapoole hinda ei ole dokumenteeritud

128K tokeni suurune kontekstiaken on mudeli dokumenteeritud maksimaalne konteksti pikkus. Kontekst hõlmab materjali, mille kasutaja mudelile edastab, näiteks juhiseid, lähtefaile, dokumentatsiooni ja varasemat teksti. Esitatud uurimismaterjalides ei ole määratud eraldi maksimaalset väljundtokenite arvu, mistõttu ei tohiks eeldada kontrollitud väljundi ülempiiri, mis ületaks valitud järeldusraamistiku ja saadaoleva riistvara seatud piiranguid.

Programmeerimisvõimalused ja keelte tugi

Yi-Coder-9B on mõeldud programmeerimise töövoogudeks, mitte üldotstarbeliseks vestlusroboti kasutuseks. Toetatud ülesannete hulka kuuluvad uue koodi kirjutamine, osaliselt kirjutatud funktsioonide lõpetamine, olemasoleva koodi muutmine, koodi tõlkimine ühest keelest teise, silumine ning suures repositooriumis paikneva koodi uurimine.

01.AI materjalide kohaselt toetab mudel 52 peamist programmeerimiskeelt. Dokumenteeritud näidete hulka kuuluvad Python, JavaScript, TypeScript, Java, C++, C#, Go, Rust, PHP, SQL, HTML, CSS, YAML, JSON, Shell, Ruby, Swift ja Kotlin. Paljude keelte tugi võib olla kasulik projektides, mis ühendavad rakendusekoodi, taristufaile, andmebaasipäringuid, konfiguratsiooni ja dokumentatsiooni.

Pikk kontekstiaken on eriti oluline repositooriumitaseme töö puhul. Ühe lühikese funktsiooni esitamise asemel võib kasutaja edastada oluliselt rohkem seotud koodi, liideseid, konfiguratsiooni või dokumentatsiooni. Seejärel saab mudel neid materjale muudatuste soovitamisel kasutada. Suur konteksti piirang ei taga siiski, et iga detaili õigesti käsitletakse. Arendajad peaksid endiselt valima asjakohased failid, kontrollima viiteid ja genereeritud muudatusi testima.

Mida avaldatud hindamistulemused näitavad?

01.AI avaldatud hindamistulemused paigutavad Yi-Coder-9B oma suurusklassis konkurentsivõimeliste programmeerimismudelite hulka. Pakkuja mitmekeelsetes HumanEvali tulemustes saavutas see loetletud programmeerimiskeelte lõikes keskmise tulemuse 49,6%. Samuti teatas pakkuja valitud matemaatika ja programmeerimise võrdlustestides keskmisest tulemusest 70,3%.

Need on pakkuja esitatud võrdlustestide tulemused, mitte tootliku kasutuse toimivuse garantiid. Võrdlustestide tulemused võivad erineda sõltuvalt viiba vormingust, genereerimise seadetest, testide valikust, keelest ja hindamismetoodikast. Samuti ei mõõda need kõiki praktilisi nõudeid, näiteks tundmatu repositooriumi mõistmist, kohalike kodeerimistavade järgimist, turvavigade vältimist või hooldatava koodi loomist.

Selle andmebaasi võrdlusskoorid on toimetuslikud hinnangud, mitte 01.AI avaldatud näitajad. Need hindavad mudeli suhtelist arutlus-, programmeerimis-, kiiruse- ja kuluprofiili praktilise võrdluse jaoks ning neid ei tohiks käsitleda 01.AI ametlike hinnangutena.

Modaalsused, arutlusvõime ja tööriistade tugi

Yi-Coder-9B on tekstisisendi ja tekstiväljundiga mudel. Selle kasutus keskendub tekstilistele viipadele ning genereeritud tekstile või koodile. Esitatud uurimismaterjalides ei ole selle konkreetse mudeli puhul dokumenteeritud loomulikku pildi-, heli- ega videosisendit või -väljundit ning need ei kinnita vektorite genereerimise, kõne, meedia genereerimise ega tegevuste genereerimise võimalusi.

Mudel suudab tavalise keelemudeli genereerimise kaudu käsitleda loogika- ja programmeerimisülesandeid, kuid seda ei ole dokumenteeritud eraldi turustatava arutlusmudelina, millel oleks spetsiaalne arutlusrežiim. Seetõttu peaksid kasutajad käsitlema selle arutlusvõimet koodi- ja keele genereerimise käitumise osana, mitte garanteeritud mõttekäigu või spetsiaalse lahendusfunktsioonina.

Funktsioonikutsed, tööriistade kasutamine, JSON-režiim, struktureeritud väljund, viipade vahemällu salvestamine, voogedastus ja pakkide API tugi ei ole selle konkreetse mudeli puhul esitatud uurimismaterjalides dokumenteeritud. Juurutusraamistik võib pakkuda ümbriseid või rakendustaseme juhtelemente, kuid neid ei tohiks segi ajada Yi-Coder-9B loomupäraste ja pakkuja kinnitatud võimalustega.

Juurutus, kohandamine ja litsents

Mudeli avatud kaaludega levitamine on selle peamine praktiline erinevus tavapärasest hostitud programmeerimis-API-st. Arendajad saavad kaalud alla laadida, käitada järeldust kohapeal või privaatses taristus ning valida oma töökoormusele sobiva riistvara ja teenindustarkvara. Ametlikud projekti materjalid dokumenteerivad kasutamist koos Transformers'i ja vLLM-iga, samas kui kogukonna tööriistad toetavad täiendavaid käituskeskkondi ja kvantiseeritud vorminguid.

Kvantiseerimine võib vähendada mälu- ja riistvaranõudeid, salvestades mudeli kaalud väiksema täpsusega vormingutes. See võib muuta kohaliku katsetamise praktilisemaks, kuigi mõju kvaliteedile, kiirusele ja toetatud funktsioonidele sõltub konkreetsest kvantiseerimisest ja käituskeskkonnast. Toetatud töövoona on dokumenteeritud ka peenhäälestus, mis võimaldab organisatsioonidel kohandada mudelit programmeerimisstiili, valdkonna sõnavara või sisemise ülesande järgi.

Yi-Coder-9B ja sellega seotud projekti kood on välja antud Apache 2.0 litsentsi alusel. See litsents on üldiselt lubav, kuid juurutamisotsused eeldavad siiski litsentsiteksti, mudelikaardi juhiste, treeningandmetega seotud kaalutluste, turvakontrollide ja süsteemi genereeritud koodi reguleerivate eeskirjade ülevaatamist.

Hind ja kogukulu

Esitatud uurimismaterjalides ei ole Yi-Coder-9B jaoks loetletud ametlikku esimese osapoole hostitud API hinda. Mudel on saadaval allalaaditavate kaaludena, mistõttu ei väljendata selle otsest hinda olemasolevas dokumentatsioonis korduva tokenipõhise tellimusena.

Ise hostimine ei ole tasuta. Kasutajatel võib tekkida kulu GPU-dele, salvestusruumile, elektrile, võrgule, seirele, hooldusele ja inseneritööle. Kolmanda osapoole hostid võivad küsida tasu arvutusressursi, päringute või genereeritud tokenite eest, kuid need hinnad kuuluvad hostile ja neid ei tohiks esitada 01.AI Yi-Coder-9B hinnana.

Mudel võib siiski olla atraktiivne meeskondadele, kellel on sobiv riistvara või kes vajavad kontrolli andmete ja juurutuse üle. Väiksem mudel võib pakkuda kasulikku kiiruse ja hinna kompromissi võrreldes palju suuremate programmeerimismudelitega, kuigi tegelik läbilaskevõime sõltub suurel määral riistvarast, kvantiseerimisest, pakisuurusest, konteksti pikkusest ja teeninduse konfiguratsioonist. Toimetuslik kuluskoor 9 kajastab mudeli avatud kaaludega ja suhteliselt kompaktse ülesehituse võimalikku taskukohasust; see ei ole pakkuja avaldatud hinnang hinnale.

Olulised piirangud

Yi-Coder-9B on baasmudel, mitte kohe kasutusvalmis programmeerimisassistent. See võib nõuda hoolikalt vormindatud viipasid, lõpetamisele keskenduvaid töövooge või täiendavat rakendusloogikat. Kasutajad, kes soovivad loomulikus keeles vestlust, tugevat juhiste järgimist või kohe kasutatavat programmeerimise vestlusrobotit, võivad eelistada varianti Yi-Coder-9B-Chat.

Selle treeningandmete ajaline piir on 2023. aasta lõpp. Seetõttu ei pruugi mudel tunda hiljem kasutusele võetud teeke, API-sid, keelefunktsioone, turvanõuandeid ja raamistike muudatusi. Värske dokumentatsiooni või repositooriumi konteksti edastamine võib aidata, kuid ei kõrvalda vajadust kontrollida genereeritud koodi ajakohaste allikate põhjal.

Mudelil ei ole dokumenteeritud loomulikku veebiotsingut, mistõttu ei saa see iseseisvalt kindlaks teha, kas uus vastus kajastab veebis olevat ajakohast dokumentatsiooni. Samuti ei ole dokumenteeritud ametlikku esimese osapoole hostitud hinda ega garanteeritud teenusetaseme kättesaadavust. Mudeli kohapeal või kolmanda osapoole kaudu käitamine annab juurutajale vastutuse mahu, uuenduste, juurdepääsukontrolli, logimise ja töökindluse eest.

Genereeritud kood tuleb üle vaadata ja seda testida. Pikk kontekstiaken võib aidata koodi ulatuslikumalt mõista, kuid ei taga sõltuvuste korrektset lahendamist, repositooriumi täielikku mõistmist, turvalist teostust ega edukat käivitamist. Tootmiskasutuses on endiselt olulised staatiline analüüs, ühiktestid, integratsioonitestid ja inimese tehtav ülevaatus.

Parimad kasutusjuhud

  • Kohalik koodi lõpetamine: funktsioonide genereerimine või lõpetamine nii, et lähtekood jääb privaatsesse keskkonda.
  • Koodi teisendamine: koodilõikude tõlkimine toetatud keelte vahel või koodi uuendamine suure edastatud konteksti piires.
  • Repositooriumi analüüs: seotud failide, liideste, konfiguratsiooni ja dokumentatsiooni uurimine 128K tokeni konteksti piirangu piires.
  • Arendajate katsetamine: avatud programmeerimismudeli testimine koos Transformersi, vLLM-i, kvantiseerimise või kohandatud teenindustaristuga.
  • Peenhäälestus: baasmudeli kohandamine spetsialiseeritud programmeerimisvaldkondade, sisemiste tavade või korduvate koodiülesannete jaoks.
  • Mitmekeelne programmeerimine: rakendusekoodi, skriptide, andmebaasipäringute, märgenduse ja konfiguratsioonikeeltega töötamine.

Millal valida Yi-Coder-9B?

Vali Yi-Coder-9B siis, kui allalaaditavad kaalud, privaatne juurutus, kohandatavus ja pikk programmeerimiskontekst on olulisemad kui kohe kasutusvalmis hostitud lahendus. See on mõistlik valik arendajatele, kes suudavad hallata järeldustaristut ning soovivad kontrollida riistvara, mudeliversioone, kvantiseerimist ja peenhäälestust.

Selle suhteliselt väike parameetrite arv võib pakkuda praktilist kiiruse- ja taristueelist palju suuremate programmeerimismudelite ees, eriti juhul, kui eelistatakse kohalikku või privaatset juurutust. See eelis on siiski kompromiss, mitte garantii: suuremad mudelid võivad anda paremaid tulemusi keerulise arutlemise, tundmatute repositooriumide või nüansirohkete juhiste järgimise puhul, samas kui Yi-Coder-9B-d võib olla lihtsam ja odavam käitada.

Kui peamine vajadus on minimaalse seadistusega vestluslik programmeerimisassistent, sobib paremini mõni muu lahendus. Sel juhul on sama perekonna vestluseks häälestatud mudel, näiteks Yi-Coder-9B-Chat, sobivam valik. Kui vastused peavad kajastama kiiresti muutuvaid teeke või dokumentatsiooni, võib eelistada ajakohase veebiühendusega süsteemi. Hostitud API võib olla sobivam ka siis, kui meeskond ei soovi hallata GPU-sid, skaleerimist, jälgitavust, turvalisust ja mudelite teenindamisega seotud toiminguid.

Kokkuvõte

Yi-Coder-9B-d tuleks käsitleda pigem kohandatava, avatud kaaludega programmeerimise alusmudeli kui täieliku arendajarakendusena. Selle kontrollitud tugevused on 128K tokeni suurune kontekstiaken, lai programmeerimiskeelte tugi, Apache 2.0 litsents ning kohaliku juurutuse ja peenhäälestuse tugi. Peamised kompromissid on dokumenteeritud esimese osapoole hostitud hinna, ajakohase veebiühenduse, loomulike multimodaalsete funktsioonide ja eraldi väljundtokenite spetsifikatsiooni puudumine ning lisainseneritöö, mida on vaja baasmudeli tõhusaks teenindamiseks.


KKK - vastused sinu küsimustele

Mis on Yi-Coder-9B?
Yi-Coder-9B on 01.AI välja töötatud 9 miljardi parameetriga avatud kaaludega programmeerimisele keskenduv keelemudel, mis on mõeldud koodi lõpetamiseks, genereerimiseks, redigeerimiseks, tõlkimiseks ja silumiseks ning kogu koodihoidla tasandi koodimõistmiseks.
Kui suur on Yi-Coder-9B kontekstiaken?
Yi-Coder-9B toetab maksimaalset konteksti pikkust 128K tokenit ehk 131 072 tokenit, võimaldades kasutajatel esitada mahukat lähtekoodi, dokumentatsiooni, konfiguratsiooni ja koodihoidla konteksti.
Milliseid programmeerimiskeeli Yi-Coder-9B toetab?
01.AI projekti materjalide kohaselt toetab Yi-Coder-9B 52 programmeerimiskeelt, sealhulgas Pythonit, JavaScripti, TypeScripti, Javat, C++, C#, Go-d, Rusti, PHP-d, SQL-i, HTML-i, CSS-i, YAML-i, JSON-it, Shelli, Rubyt, Swifti ja Kotlin-it.
Kas Yi-Coder-9B-d saab lokaalselt käivitada?
Jah. Yi-Coder-9B on avatud kaaludega allalaaditav mudel, mida saab selliste tööriistade nagu Transformers ja vLLM abil kohalikus või privaatses taristus käitada. Kvantimine ja kogukonna loodud käituskeskkonnad võivad aidata vähendada riistvaranõudeid.
Kas Yi-Coder-9B-d saab tasuta kasutada ja milline litsents sellel on?
Yi-Coder-9B ja selle projektiga seotud kood on avaldatud Apache 2.0 litsentsi alusel. Kuigi mudeli kaalud saab alla laadida ilma korduva esimese osapoole mudelitasuta, tekivad kasutajatel siiski kulud riistvara, pilvandmetöötluse, salvestusruumi, elektri, hoolduse ja juurutamise eest.


Allikad 4
AI ettevõte

Info 01.AI kohta