Leiðbeiningar um sendingar

Ítarlegar leiðbeiningar um þátttöku í Gervigreindarkeppni Íslands

1

Settu upp sýndarvél

Þótt það sé ekki nauðsynlegt strax mælum við eindregið með því að setja upp sýndarvélina snemma í keppninni.

Af hverju þarftu sýndarvél?

  • Gerir samskipti milli gervigreindarlíkana þinna og matskerfis okkar möguleg
  • Gerir okkur kleift að prófa líkönin þín á prófunar- og sannprófunargagnasöfnum
  • Keyrir stöðutöfluna sem sýnir árangur liða í rauntíma
  • Flestir keppendur hafa ekki gert þetta áður, svo byrjaðu snemma

Ráðlagðar lausnir

  • Azure for Students: Ókeypis inneign og einföld uppsetning fyrir nemendur
  • ngrok: Einföld smug lausn fyrir staðbundna þróun
  • Engar sérstakar kröfur: Hvaða sýndarvél sem er sem getur keyrt Python og afgreitt HTTP beiðnir
2

Klónaðu kóðasöfn keppninnar

Hvað er innifalið?

  • Ítarlegar lýsingar á áskorunum og kröfum
  • Þjálfunargagnasöfn og úrtaksgögn
  • Grunnlíkön og byrjunarkóði
  • Nauðsynleg kóðabygging með dæmum um spá föll
  • Matsviðmið og upplýsingar um stigagjöf

Mikilvægar takmarkanir

  • Ekki breyta api.py: Inniheldur nauðsynlegar stillingar fyrir vefþjóninn
  • Ekki endurnefna föll: Nafnið á spáfallinu verður að vera óbreytt
  • Fylgdu uppbyggingunni: Líkanið þitt verður að passa inn í uppgefinn gagnaramma
  • Fyrir reynslumeiri forritara: Þú mátt breyta uppbyggingunni, en tryggðu samhæfni
3

Þróaðu gervigreindarlausnina þína

Frelsi í þróun

  • Notaðu hvaða forritunarmál, ramma eða söfn sem er
  • Nýttu þér forþjálfuð líkön og opinn hugbúnað
  • Búðu til sérsniðinn arkitektúr og þjálfunarpípu
  • Notaðu hvaða aðferð sem er til að leysa verkefnið

Tæknilegar kröfur

  • Samþætting: Loka líkanið þitt verður að vera í spáfallinu
  • Afköst: Verður að geta búið til spár innan 10 sekúndna
  • Skráaskipan: Ef þú færir spáfallið, uppfærðu innflutning kóða í api.py
  • Grunnviðmið: Byrjaðu með example.py skrána sem sniðmát
4

Sendu lausnina

Þegar sýndarvélin þín er tilbúin og líkanið þitt er klárt er einfalt að skila.

Sendingarferlið

  • Keyrðu líkanavefþjóninn þinn (venjulega með því að nota api.py skriftu)
  • Gakktu úr skugga um að sýndarvélin þín sé aðgengileg og að vefþjónninn sé í gangi
  • Notaðu skilaviðmótið til að tengja lausnina þína
  • Fylgstu með framvindu matsins og skoðaðu niðurstöður

Auðkenning og aðgangur

  • Aðgangslykill liðs: Hvert lið fær einstakan auðkenningarlykil
  • Tenging við sýndarvél: Gefðu upp IP-tölu sýndarvélarinnar og aðgangsskilríki
  • Aðgangur að vefþjóni: Matskerfið okkar þarf að komast að endapunkti líkansins þíns
  • Öryggi: Gakktu úr skugga um rétta uppsetningu eldveggs fyrir utanaðkomandi aðgang

Tæknilegar spurningar

Líkan er kerfi sem býr til úttak út frá gefnu inntaki. Dæmi um líkön eru stór tungumálalíkön (LLM) eins og ChatGPT þar sem inntakið er texti, línuleg föll sem varpa inntaki x yfir í úttak y og reiknivélar sem spá fyrir um hversu mikið þú munt spara eftir ákveðinn fjölda ára. Flest líkön eru búin til eftir þjálfun með gögnum sem samanstanda af inntaks og úttaks pörum. Markmið þjálfunarinnar er að lokalíkanið búi til spár sem eru eins nálægt væntu úttaki og mögulegt er. Þetta er gert með því að lágmarka tapfall sem refsar núverandi líkani fyrir spár sem eru langt frá væntu gildi.

Til þess notum við mælikvarða, sem er frammistöðuvísir um hversu vel líkan stóð sig á matsgögnum. Algengasti mælikvarðinn er nákvæmni, sem er skilgreind sem fjöldi réttra spáa deilt með heildarfjölda spáa. Aðrir mælikvarðar eru meðal annars meðalfervik (MSE), R-kvaðrat, F1-stig, AUC og Dice.

Sýndarvél er eins og auka tölva sem þú getur nálgast inni í tölvunni þinni þótt hún sé ekki hluti af vélbúnaði þínum. Hún hefur sitt eigið stýrikerfi, geymslupláss og keyrir á netþjónum í stórum gagnaverum. Sýndarvélar eru gagnlegar til að prófa nýja hluti á öruggan hátt, eins og að leyfa ákveðnum beiðnum að fara framhjá eldveggnum þínum án þess að stofna einkatölvunni þinni í hættu. Til dæmis, ef tölvuþrjótur kæmist inn í sýndarvél gæti hann ekki eytt persónulegum myndunum þínum þar sem sýndarvélin er aðskilin frá aðalkerfinu þínu.

Forritaskil (e. API) eru safn reglna og verkfæra sem gerir mismunandi hugbúnaðarforritum kleift að eiga samskipti sín á milli. Þau skilgreina hvernig beiðnir skulu gerðar og hvers konar svörum má búast við, sem auðveldar forritum að deila gögnum eða eiginleikum. Til dæmis, þegar vefsíða notar veðurforritaskil sendir hún beiðni um veðurgögn og fær svar á sniði sem hún skilur, eins og JSON eða XML. Forritaskil eru mikið notuð í nútímahugbúnaði til að tengja þjónustur, sjálfvirknivæða verkefni og byggja öflugri forrit.

Aðgangslykill er einstakur kóði sem er notaður til að auðkenna forrit eða notanda þegar beiðnir eru sendar á forritaskilin. Hann virkar eins og stafrænt lykilorð og tryggir að aðeins viðurkennd forrit geti nálgast forritaskilin og gögn þess. Auðkenning er mikilvæg vegna þess að hún verndar viðkvæmar upplýsingar og kemur í veg fyrir óviðkomandi aðgang, þar sem forritaskilin munu hafna beiðninni án gilds lykils. Til dæmis, ef einhver reynir að fá aðgang að forritaskil bankareiknings án rétts lykils fær hann engin gögn, sem heldur þjónustunni öruggri og aðeins aðgengilegri fyrir trausta notendur.

IP-tala er einstakt númer sem er úthlutað hverju tæki sem er tengt við net, eins og internetið. Hún virkar eins og stafrænt heimilisfang sem gerir tækjum kleift að finna og eiga samskipti sín á milli. Til dæmis er IP-tala fartölvunnar þinnar eins og heimilisfangið hennar á internetinu, sem hjálpar öðrum tækjum að finna hana. Í þessari keppni notum við IP-tölu sýndarvélarinnar þinnar til að vita hvert á að senda beiðnir netþjónsins.

Netþjónn er öflug tölva eða kerfi sem veitir öðrum tölvum, biðlurum, aðgang að tilföngum, gögnum eða þjónustu yfir net. Til dæmis hýsir vefþjónn vefsíður og afhendir þær notendum þegar beðið er um þær. Í þessari keppni afhendir vefþjónninn okkar gögn til sýndarvélaranna þegar þú skilar inn líkani.

Að hýsa líkan á sýndarvél þýðir að setja upp og keyra líkanið á sýndarvél svo það geti unnið úr inntaki og búið til úttak fyrir notendur yfir internetið, án þess að þurfa að keyra það á þinni eigin tölvu. Til dæmis, með því að hýsa spjallmenni á sýndarvél getur fólk notað það á netinu án þess að það hafi áhrif á þína eigin tölvu.

Að hýsa líkan á sýndarvél í stað eigin tölvu er öruggara og áreiðanlegra. Það verndar persónuupplýsingarnar þínar og getur séð um fleiri beiðnir án þess að hægja á þinni eigin vél.

Netþjónninn notar líkanið þitt með því að leyfa biðlurum að senda beiðnir með inntaksgögnum á tiltekna IP-tölu sýndarvélarinnar þinnar og auðkenna þær með aðgangslyklinum þínum. Þegar búið er að auðkenna keyrir netþjónninn líkanið þitt og skilar niðurstöðunni til biðlarans.

Þessi uppsetning kann að virðast flókin en hún veitir þér dýrmæta reynslu í að skilja hvernig samskipti milli netþjóns og vélar virka í gegnum forritaskil. Aðferðin að hlaða bara upp líkaninu þínu eða kóða gerir sendingar- og matsferlið mun flóknara, þar sem við þyrftum að hlaða líkaninu þínu, vita hvaða skrá á að keyra og sjá um mörg tæknileg smáatriði fyrir hverja sendingu. Notkun forritaskila heldur öllu stöðluðu, öruggu og auðveldu í umsjón. Þetta er líka hvernig atvinnulífið virkar. Til dæmis myndir þú ekki senda spálíkanið þitt og kóða til veðurfyrirtækis heldur myndir þú nota gögnin úr forritaskilunum þeirra.

Allt þetta er mögulegt þökk sé forritaskilum, sem virka sem brú á milli netþjónsins okkar og líkansins þíns. Netþjónninn fær IP-tölu sýndarvélarinnar þinnar ásamt skilríkjum, notar það til að senda beiðnir til sýndarvélarinnar með inntaki fyrir líkanið og sýndarvélin svarar með úttaki.

Þetta er gagnleg reynsla vegna þess að hún hjálpar þér að skilja hvernig raunveruleg kerfi tengjast og eiga samskipti á öruggan hátt, hvernig á að setja upp líkön fyrir aðra til að nota og hvernig á að vernda kóðann þinn og gögn á meðan þú gerir vinnuna þína aðgengilega og virka.

Viðbótarefni