Prompt engineering

Uusimmat modernit edistukset ohjelmointi-insinööritieteessä: kattava opas

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Ohjelmointi-insinööritieteellinen suunnittelu, taito ja tieteellinen tieto ohjelmointikielten luomisesta, joka saa aikaan toivottuja vastauksia LLM:stä, on tullut tärkeäksi tutkimus- ja kehityskohteeksi.

Ohjelmointi-insinööritieteellisen suunnittelun uusimmat edistukset avaavat uusia rajoja tekoälyssä. Tässä artikkelissa käsittelemme uusimpia ja kehittyneimpiä tekniikoita ja strategioita, jotka muokkaavat ohjelmointi-insinööritieteellisen suunnittelun tulevaisuutta.

Ohjelmointi-insinööritieteellinen suunnittelu

Ohjelmointi-insinööritieteellinen suunnittelu

Edistyneet ohjelmointistrategiat monimutkaisille ongelmanratkaisuille

Vaikka CoT-ohjelmointi on osoittautunut tehokkaaksi monissa päättelytehtävissä, tutkijat ovat kehittäneet edistyneempiä ohjelmointistrategioita ratkaisemaan monimutkaisempia ongelmia. Yksi tällainen lähestymistapa on vähimmäis-maksimi-ohjelmointi, jossa monimutkainen ongelma jaetaan pienempiin, hallitettaviin aliongelmiin, jotka ratkaistaan itsenäisesti ja yhdistetään lopulliseen ratkaisuun.

Toinen innovatiivinen tekniikka on ajatuksien puu (ToT)-ohjelmointi, jossa LLM voi generoida useita ajatuslinjoja rinnakkain, arvioida omaa edistymistään kohti ratkaisua ja palata tai tutkia vaihtoehtoisia polkuja tarpeen mukaan. Tämä lähestymistapa hyödyntää hakualgoritmeja, kuten leveyshaku- tai syvyyshaku, mahdollistaen LLM:lle etenemisen ja takaisinmentävän päättelyprosessin aikana.

LLM-integrointi ulkoisten työkalujen ja ohjelmien kanssa

Vaikka LLM:t ovat erittäin voimakkaita, niillä on sisäänrakennettuja rajoituksia, kuten kyky päästä käyttämään ajantasaisia tietoja tai suorittaa tarkkaa matemaattista päättelyä. Tämän puutteen korjaamiseksi tutkijat ovat kehittäneet tekniikoita, jotka mahdollistavat LLM:lle ulkoisten työkalujen ja ohjelmien käytön.

Yksi merkittävä esimerkki on Toolformer, joka opettaa LLM:lle tunnistamaan tilanteita, joissa ulkoisia työkaluja tarvitaan, määrittämään, mitä työkalua käytetään, antamaan asiaankuuluvan syötteen ja sisällyttämään työkalun tuloksen lopulliseen vastaukseen. Tämä lähestymistapa vaatii keinotekoisen koulutusaineiston, joka osoittaa teksti-teksti-rajapintojen oikean käytön.

Toinen innovatiivinen kehys on Chameleon, joka käyttää “plug-and-play”-lähestymistapaa, jossa keskimmäinen LLM-pohjainen ohjain generoi luonnollisen kielen ohjelmia, jotka koostavat ja suorittavat laajan valikoiman työkaluja, mukaan lukien LLM:t, visiomallit, verkkohakukoneet ja Python-funktiot. Tämä modulaarinen lähestymistapa mahdollistaa Chameleonin ratkaista monimutkaisia, monitieteellisiä päättelytehtäviä hyödyntämällä eri työkalujen ja mallien vahvuuksia.

Perusohjelmointistrategiat

Nollashot-ohjelmointi

Nollashot-ohjelmointi sisältää tehtävän kuvaamisen ohjelmointikielessä ja pyytää mallia ratkaisemaan sen ilman esimerkkejä. Esimerkiksi “juuston” kääntäminen ranskaan voisi olla nollashot-ohjelmointi:

Käännä seuraava englanninkielinen sana ranskaan: juusto.

Tämä lähestymistapa on suoraviivainen, mutta se voi olla rajoitettu tehtävänkuvausten epäselvyyden vuoksi.

Pienishot-ohjelmointi

Pienishot-ohjelmointi parantaa nollashot-ohjelmointia sisältämällä useita esimerkkejä tehtävästä. Esimerkiksi:

Käännä seuraavat englanninkieliset sanat ranskaan:
1. omena => omena
2. talo => talo
3. juusto => juusto

Tämä menetelmä vähentää epäselvyyttä ja tarjoaa selvemmän ohjeen mallille.

Ohjeohjelmointi

Ohjeohjelmointi kuvailee nimenomaisesti toivottua tulosta, mikä on erityisen tehokasta malleilla, jotka on koulutettu seuraamaan ohjeita. Esimerkiksi:

Käännä sana "juusto" ranskaan. Oikea käännös on "juusto".

Mallit, kuten GPT-4, on erityisesti hienosäädetty seuraamaan tällaisia ohjeita tarkasti.

… (jatkuu)

Olen viettänyt viimeiset viisi vuotta uppoutumalla kiinnostavaan koneoppimisen ja syvän oppimisen maailmaan. Minun intohimoni ja asiantuntemukseni ovat johtaneet minun osallistumiseen yli 50:een monipuoliseen ohjelmistosuunnitteluhankkeeseen, joissa on erityisesti painottunut AI/ML. Minun jatkuva uteliaisuuteni on myös ohjannut minun luontaisen kielen prosessoinnin pariin, jota haluan tutkia tarkemmin.