Prompt engineering
OpenAI:n ChatGPT-koodin tulkki: Syvä analyysi sen kyvyistä

OpenAI:n edistysaskelit luonnollisen kielen prosessoinnissa ovat merkitseviä suurten kielen mallien (LLM) kehittymisen myötä, jotka muodostavat tuotteita, joita miljoonat käyttävät, mukaan lukien koodin apuväline GitHub Copilot ja Bing-hakukone. Nämä mallit, joilla on ainutlaatuinen kyky muistaa ja yhdistää tietoa, ovat asettaneet vertaamattomat mittapuut tehtävissä kuten koodin ja tekstin generoimisessa.
Ymmärtäminen ChatGPT-koodin tulkista
Ymmärtääkseen ChatGPT-koodin tulkkiin liittyvän merkityksen on ensin ymmärrettävä, mitä se on ja miten se on rakennettu.
Ytimessään ChatGPT-koodin tulkki hyödyntää ChatGPT:n kykyjä, mutta esittelee parannetun taidon ymmärtää, tulkita ja jopa generoida koodia monilla ohjelmointikielillä. Tämä ominaisuus muuttaa ChatGPT:n pelkästä tekstin generoijasta arvokkaaksi työkaluksi kehittäjille, auttaen koodin ymmärtämisessä, virheenjäljityksessä ja jopa koodin generoimisessa.
Kouluttaminen GPT:lle koodauksessa: Codex-lähestymistapa
Sekä GitHub Copilot että ChatGPT:n koodin tulkki käyttävät Codex-mallia, jonka on kehittänyt OpenAI.
Codex, erikoistunut GPT-kielen malli, on suunniteltu olla taitava Python-koodin kirjoittamisessa. Koulutettu julkisesti saatavilla olevasta koodista GitHubista, Codex osoittaa potentiaaliaan voimalla GitHub Copilotin ominaisuuksissa. Kun arvioidaan sen kyvystä syntetisoida ohjelmat docstringeistä, toiminnallisen oikeellisuuden mittana, Codex ylittää sekä GPT-3 että GPT-J:n.
Yllättävä havainto on, että toistuva näyteily parantaa Codexin taituruutta. Kun jopa 100 näytettä käytetään jokaisessa ongelmaa kohden, mallin onnistumisprosentti nousee 70,2%:iin. Tällainen tehokkuus viittaa mahdollisuuteen käyttää heuristista rankingia valitsemaan tarkat koodinäytteet ilman, että jokaisen täytyy käydä läpi kokonaan.
Mallin kykyjen arvioimiseksi se sai tehtäväkseen luoda itsenäisiä Python-funktioita ainoastaan docstringien perusteella. Generoidun koodin tarkin oli mitattu yksikkötestien avulla. 164 alkuperäisen ohjelmointiongelman kokoelmassa, joka sisältää kielen ymmärtämisen, algoritmit ja perustason matemaattiset testit, Codex 12B parametrilla ratkaisi 28,8% niistä yhdellä yrittämällä.
Mallin edelleen kehittämiseksi oikein toteutettujen itsenäisten funktioiden hienosäätöä käytettiin, mikä paransi sen tehokkuutta, johtuen siitä, että Codex-S ratkaisi 37,7% haasteista ensimmäisellä yrittämällä. Käytännön ohjelmistokehityksessä kokeileva lähestymistapa on yleinen. Jäljitellen tätä todellista maailman näkemystä, Codex-S-malli, jolle annettiin 100 mahdollisuutta, onnistui 77,5% haasteista.
Generatiiviset mallit, kuten ChatGPT, jotka tuottavat koodia, arvioidaan yleensä vertaamalla generoituja näytteitä viitekehysratkaisuun. Tämä vertailu voi olla joko täsmällinen tai käyttää jonkinlaista samankaltaisuusmittaria, kuten BLEU-lukua. Näiden vastaavuusmittareiden kohdalla on kuitenkin usein vaikeuksia kaapata koodin nuansseja. Yksi BLEU:n arvostelun kannalta tärkeä seikka on sen tehottomuus koodin semanttisten ominaisuuksien havaitsemisessa.
Sen sijaan, että vain vastaavuutta käytettäisiin, on ehdotettu relevantimpi mittaria: toiminnallinen oikeellisuus. Tämä tarkoittaa, että mallin tuottama koodi tulisi läpäistä annetun joukon yksikkötestejä. Idean taustalla on yhtenäisyys standardien kanssa, sillä kehittäjät usein käyttävät yksikkötestejä koodin tehokkuuden ja tarkin arvioimiseen.
Tämä mittari arvioi ei vain tarkin, vaan myös generoidun koodin toiminnallista käytettävyyttä.
Pass@k-mittari esitellään toiminnallisen oikeellisuuden mittarina. Se tarkoittaa periaatteessa, että jos jokin “k” generoitu koodinäyte läpäisee yksikkötestit, ongelma katsotaan ratkaistuksi. Kuitenkin sen sijaan, että sitä käytettäisiin suoraan, käytetään harhatonta arvioimista laskea pass@k välttääkseen suuren vaihtelun.
ChatGPT:n koodikykyjen arvioimiseksi tutkimuksessa käytettiin HumanEval-datasettiä. Tämä datasetti koostuu käsin kirjoitetuista Python-ongelmista, joita seuraa yksikkötestit.
Koska tuntemattoman tai luotettavan koodin suorittamiseen liittyy riskejä, suunniteltiin eristetty ympäristö koodin turvalliseen testaamiseen. Tämä ympäristö käytti gVisor:ia resurssien emulaatioon ja esteen luomiseen isäntäjärjestelmän ja suoritettavan koodin välille. Näin, vaikka malli tuottaa haitallista koodia, se pysyy eristettynä eikä voi vahingoittaa isäntää tai verkkoa.
Käyttäminen ChatGPT-koodin tulkki
OpenAI:n ChatGPT on kokenut useita evoluutioita, ja koodin tulkki on vallankumouksellinen ominaisuus GPT-4-mallissa. Perinteisten chat-rajapintojen sijaan koodin tulkki sallii käyttäjien syventyä laskennallisiin tehtäviin, sulauttaen käytännöllisesti rajat ihmisen ja AI-välien kesken ja laskennallisten prosessien välillä.
Ytimessään koodin tulkki on kuin tietokone, joka on upotettu chatbottiin. Tämä dynaaminen ominaisuus tarjoaa käyttäjille tilapäisen levytilan, johon voidaan ladata monenlaisia tiedostomuotoja, aina yleisistä tyypeistä kuten TXT, PDF ja JPEG erikoistuneempiin kuten CPP, PY ja SQLite. Tämä laajuus lisää sen monikäyttöisyyttä erilaisissa tehtävissä, olipa kyseessä asiakirjojen prosessointi tai kuvamanipulaatio.
Toimien vahvassa ja turvallisessa kehyksessä, koodin tulkki on varustettu yli 300 esiasennetuilla kirjastoilla. Tämä eristetty ympäristö takaa turvallisuuden samalla tarjoten merkittävää laskennallista voimaa. Mielenkiintoisesti, kun pyydetään, se luo Python-skriptin reaaliajassa suorittamaan käyttäjän pyynnön. Otetaan esimerkiksi kuva-PDF:n muuntaminen haettavaksi muodoksi OCR:n avulla; kaikki, mitä käyttäjän tarvitsee tehdä, on ladata asiakirja, ja ChatGPT hoitaa loput.
Yksi mielenkiintoinen seikka on ollut tiedostokokorajoitus latauksille. Vaikka virallisia määrityksiä ei vielä ole ilmoitettu, käyttäjien kokeilut viittaavat siihen, että järjestelmä voi tehokkaasti prosessoida tiedostoja, jotka ovat huomattavasti yli 100 MB. Riippumatta koosta on kuitenkin tärkeää muistaa, että nämä tiedostot ovat tilapäisiä ja poistetaan chat-istunnon päättymisen jälkeen.
Koodin tulkkiin ei ole vain sen tekninen taituruus, vaan myös sen saavutettavuus. OpenAI tarjoaa tämän ominaisuuden ChatGPT Plus -tilausasioille, jotka sisältävät GPT-4-mallin. Näin tämä muuntava työkalu ei ole vain teknisen eliitin käytössä, vaan se on vähitellen tulossa laajemmin saataville.
Ero perinteisen ChatGPT-mallin ja koodin tulkkiin välillä on niiden vuorovaikutusmallien ero. Kun ensimmäinen tuottaa lähinnä tekstipohjaisia vastauksia, jälkimmäinen ymmärtää ja suorittaa koodia, tarjoten suoran tuloksen. Tämä tekee siitä arvokkaan varan sekä teknisille ammattilaisille että niille, joilla ei ole koodaamisen tietoja, suorittamaan monimutkaisia laskennallisia tehtäviä.
ChatGPT-koodin tulkkiin kykyjä voidaan hyödyntää useilla tavoilla ohjelmistokehityksessä ja data-analyysissä:
- Automaattinen koodin generointi: Sekä ohjelmistosovelluksille että data-analyysiskripteille annettu korkean tason kuvaus voi johtaa siihen, että järjestelmä tuottaa rungon tai monimutkaisia koodinpätkiä, kiihdyttäen kehitys- ja data-analyysiprosesseja.
- Koodin tarkastus ja datan validointi: AI-välineet, kuten ChatGPT, voivat auttaa parantamaan ohjelmistokoodien ja datan käsittely- ja muunnosskriptien laatua ja turvallisuutta. Data-analyysin alalla nämä työkalut voivat olla olennaisia datan käsittelyn ja muunnoksen skriptien tarkastus- ja validointiprosessissa, varmistaen tarkin ja tehokkuuden.
- Data-analyysin apu: Data-analyytikoille ChatGPT-koodin tulkki voi auttaa generoimalla koodia alustavalle data-esikatselulle, visualisoinnille ja jopa perustasolle statistisille testeille, helpottaen data-analyysiprosessia.
Jos olet kiinnostunut ChatGPT:n ja kehyskäyttöohjeiden yksityiskohtaisemmasta tarkastelusta, Unite AI tarjoaa kattavan analyysin ‘ChatGPT: Advanced Prompt Engineering‘.
Asettaa ChatGPT-koodin tulkki
Koodin tulkkiin integrointi mahdollistaa alustan tulkkaamisen käyttäjän pyynnöt, suorittaa ne Python-koodina ja näyttää tulokset interaktiivisessa chat-muodossa. Käyttäjät voivat päästä tähän ominaisuuteen siirtymällä ChatGPT-asetuksiin, etsimällä Beta-ominaisuuksien osion ja aktivoida koodin tulkki.
Se, mikä erottaa sen, on sen läpinäkyvä mekanismi. Käyttäjien pyytäessä tehtävää, alusta paljastaa jokaisen prosessin vaiheen, tarjoten selkeän ymmärryksen siitä, miten komennot tulkitaan ja suoritetaan. Tärkeää on myös huomata, että koodin tulkki toimii ilman internet-yhteyttä.
ChatGPT-koodin tulkkiin hyödyt
Data-analyysi ja visualisointi
ChatGPT ylittää perinteisten kaavioiden rajat tarjoamalla sekä perinteisiä että innovatiivisia graafisia esitysmuotoja. Tämä varmistaa, että käyttäjät voivat tarkastella dataa muodoissa, jotka tarjoavat merkittävimmät oivallukset.
Se ei kuitenkaan ole vain data-analyysin visualisointia. ChatGPT-malli on taitava data-analyysissä ja jalostamisessa. Vaikka se on voimakas, käyttäjien on syytä olla varovaisia.
Rahoitusanalyytikoille koodin tulkkiin kyky analyysoida ja visualisoida osakkeiden kurssia on erityisen hyödyllistä. Helppokäyttöisen integraation kautta käyttäjät voivat ladata datajoukkoja ja visualisoida ne eri muodoissa. Tämän toiminnon merkitys on ilmeinen, kun yksilöt voivat suorittaa monimutkaisia data-analyysiä.
Seuraava video havainnollistaa, miten ChatGPT:n koodin tulkki loi kattavan TSLA-osakeanalyysin.
Avainhavainnot:
- Teslan osake on kokenut volatiliteettia, mutta on myös osoittanut joustavuutta kasvun jaksoilla.
- Korkeat kaupankäyntimäärät tiettyinä päivinä osoittavat merkittävää markkinoiden kiinnostusta tai reaktioita tärkeisiin tapahtumiin.
- Alas vuoden alusta lähtien osoittaa, että sijoittajien tulisi analysoida sekä yrityksen sisäisiä tekijöitä että ulkoisia markkinatilanteita tulevien sijoitusten arvioinnissa.
Tietokoneen näkö ja OCR:n toteutus
Kasvojen tunnistaminen, olennainen funktio tietokoneen näössä, lähestyi klassisen tekniikan avulla: Haar Cascade -luokittelija OpenCV:stä.
Seuraava kuva esittää klassisen Haar Cascade -luokittelijan käyttöä.
Tekstin poimiminen kuvista, tunnettu optisen merkkien tunnistamisena (OCR), saavutettiin vaivattomasti Tesseractin avulla, ja teksti järjestettiin GPT-4:llä, parantaen ymmärrettävyyttä.
Seuraavassa videossa nähdään, miten Tesseract (OCR) poimii tekstin valokuvasta.
Koodin tulkki erottuu myös videon, äänen ja kuvan manipuloinnissa. Yksinkertaisilla komennoilla käyttäjät voivat saavuttaa yksityiskohtaiset muokkaukset, kuten GIF:ien muuntaminen MP4-muotoon tiettyjen parannusten kanssa. Vain lataa tiedosto, anna haluamasi muutokset, ja katsele taikaa.
Pythonin ulkopuolinen kirjasto ChatGPT-koodin tulkissa
ChatGPT-koodin tulkki on dynaaminen ohjelmointialusta, joka on varustettu laajalla joukolla Python-kirjastoja. Nämä kattavat kaiken data-analyysistä Seabornin avulla edistyneeseen koneoppimiseen Torchilla. Mutta se on enemmän kuin vain staattinen työkalupakki.
Innoittuneena tästä Chatgpt-sivusta Korakot Chaovavanichilta.
Aloittaen viimeisimmästä nltk-julkaisusta, lataimme .whl-tiedoston tulkkiin. Ohjeistimme sitten ChatGPT:n etsimään sopivan site-packages-kansion analysoimalla olemassa olevan paketin sijainnin. Seuraava vaihe käsitteli .whl-tiedoston purkamisen väliaikaiseen paikkaan ja tiedostojen siirtämisen tunnistettuun site-packages-kansioon. Kuitenkin tämä osui ongelmaan.
Etsiessään ratkaisua, ohjeistimme: “Olkaa hyvä ja varmistakaa, että NLTK asennetaan Python-ympäristöön ja on käytettävissä asennuksen jälkeen.”
ChatGPT vastasi tarjoamalla ratkaisun. Se ehdotti väliaikaisen kansion lisäämistä sys.path:hen, jotta Python voisi tunnistaa ja lukea NLTK-paketin purkamasta sijainnista. Tämä taktiikka toimi hyvin, johtuen NLTK:n onnistuneesta asennuksesta.
.whl-tiedostojen avulla asennus osoitti sekoituksen älykkyyttä ja sopeutumiskykyä. ChatGPT-koodin tulkki, vaikka kohtasi aluksi haasteita, osoitti joustavuutensa ja sitoutumisensa tyytyväisyyden takaamiseen sekä aloittelijoille että kokeneille kehittäjille.
Yksi mielenkiintoinen esimerkki tulkkiin kyvyistä oli äskettäinen twiitti @DominikPetersiltä. Peters pyysi GPT-4:ltä generoimaan kyselyn Pariisin arrondissementeista, ja malli toimitti toimivan verkkosivun. Toimiva kysely on saatavilla käytännön kokemukseen dominik-peters.de/gpt-arrondissement-quiz/.
https://twitter.com/DominikPeters/status/1652630445639467008?s=20
Yhteenveto
OpenAI:n läpimurto ChatGPT-koodin tulkissa on muodonmuutos sekä kehittäjille että ei-kehittäjille. Sen monipuolisuus käsitellä laajaa valikoimaa tehtäviä – kehittäjien avustamisesta virheenjäljityksessä aina Pariisin kyselyiden luomiseen – on todiste AI:n rajattomasta potentiaalista parantamaan digitaalisia kokemuksiamme. Tässä on tiivis yhteenveto syvällisestä tarkastelustamme:
Tutustu työkaluusi: Niin kuin tutustuisit uuteen kollegaan, tutustu koodin tulkkiin. Se on rakennettu Codexista, joka on hienosäädetty GPT-4:stä. Sen taituruus kattaa useita ohjelmointikieliä, mikä tekee siitä ihanteellisen kumppanin kaikille koodausseikkailuille.
Omaksu AI-vallankumous: Perinteiset koodauskäytännöt ovat kohtaamassa merkittävän muutoksen. AI-välineiden, kuten ChatGPT-koodin tulkki, avulla tehtävät kuten virheenjäljitys, koodin generointi ja jopa koodin tarkastus voivat nopeutua.
Ylittää koodin: Tulkkiin vaikutusvaltaisiin alueisiin ei rajoitu tekstiin tai koodiin. Sen kyky käsitellä useita tiedostomuotoja, yksinkertaisista TXT-tiedostoista monimutkaisiin PY-skripteihin, korostaa sen monikäyttöisyyttä useilla aloilla.
Älä lopeta kokeilemasta: Kokemuksemme NLTK-kirjaston asennuksella korostaa joustavuuden ja sopeutumiskyvyn tärkeyttä, arvoja, joita koodin tulkki edustaa. Jos jokin menee pieleen, on usein keino sen kiertämiseen.
Liity AI-keskusteluun: Todelliset sovellukset, kuten Pariisin arrondissementtien kysely, korostavat työkalun valtavaa käytännön hyödyllisyyttä. Omaksu se, tutki sitä, ja anna sen vahvistaa projektejasi.
Yllä oleva video on tehty Gen-2:n ja Midjourneyn avulla.
Yhteenvetona, ChatGPT-koodin tulkki on enemmän kuin vain työkalu; se muuttaa tapaa, jolla vuorovaikutamme teknologian kanssa. Sekä innovaattoreille että harrastelijoille se luvaa maailman, jossa on täynnä koodauksen mahdollisuuksia.






















