dirbtinis intelektasprograminės įrangos architektūraKompiuterių mokslasLlm
Greita inžinerija vs sistemos dizainas
Šis palyginimas išskaido skirtumą tarp besiformuojančio dirbtinio intelekto modelių valdymo meno ir tradicinės tvirtos techninės architektūros kūrimo disciplinos. Nors greitoji inžinerija orientuota į žmonių ir didelių kalbos modelių sąsajos optimizavimą, sistemos dizainas užtikrina, kad pagrindinė infrastruktūra būtų keičiama, saugi ir efektyvi.
Sistemos dizainas suteikia programos "raumenis" ir "skeletą".
Raginimas dažnai yra bandymas ir klaida; Dizainas pagrįstas patikrintais brėžiniais.
Šiuolaikinėms dirbtinio intelekto programoms reikalinga gili abiejų disciplinų sinergija.
Kas yra Greita inžinerija?
Konkrečių įvesties kūrimo praktika, siekiant gauti aukštos kokybės, tikslius ar kūrybiškus AI modelių atsakymus.
Labai remiasi lingvistiniais modeliais ir loginiais rėmais.
Apima tokius metodus kaip kelių kadrų raginimas ir minčių grandinės samprotavimas.
Veikia kaip tiltas tarp žmogaus ketinimų ir mašinos tikimybinės išvesties.
Reikalauja gilaus supratimo apie specifinį modelio elgesį ir šališkumą.
Visų pirma orientuota į technologijų paketo (sąsajos) "viršų".
Kas yra Sistemos projektavimas?
Sudėtingos programinės įrangos architektūros, komponentų ir duomenų srauto apibrėžimo procesas.
Pagrindinis dėmesys skiriamas nefunkciniams reikalavimams, pvz., mastelio keitimui ir pasiekiamumui.
Apima pasirinkimą tarp SQL ir NoSQL arba Monolith vs. Microservices.
Užsiima duomenų nuoseklumu, apkrovos balansavimu ir delsos optimizavimu.
Įžeminimo programos fizinėje realybėje (serveriai, tinklai, saugyklos).
Daugiausia dėmesio skiriama technologijų paketo "apačiai" ir "viduriui".
Palyginimo lentelė
Funkcija
Greita inžinerija
Sistemos projektavimas
Pagrindinis tikslas
Modelio išvesties tikslumas
Konstrukcijos vientisumas ir eksploatacinės savybės
Pagrindiniai įgūdžiai
Lingvistika, logika, psichologija
Architektūra, tinklai, duomenų bazės
Sąveikos lygis
Žmogus modeliui
Komponentas į komponentą
Grįžtamojo ryšio ciklas
Momentinis (modelio atsakymai)
Uždelstas (apkrovos bandymai, stebėjimas)
Determinizmas
Tikimybiniai (įvairūs rezultatai)
Deterministinė (nuspėjama logika)
Priežiūra
Kartotinis greitas tikslinimas
Pertvarkymas ir infrastruktūros mastelio keitimas
Išsamus palyginimas
Įvesties pobūdis
Greita inžinerija iš esmės yra bendravimo menas; Jūs bandote rasti tinkamus "stebuklingus žodžius", kad juodosios dėžės modelis elgtųsi. Tačiau sistemos projektavimas yra susijęs su griežtu planavimu. Sistemos projektavime kiekviena įvestis turi nuspėjamą kelią per apkrovos balansavimo priemones, talpyklas ir duomenų bazes, o raginimo kelias yra paslėptas milijarduose neuroninių parametrų.
Nuspėjamumas ir kontrolė
Sistemos dizaineris siekia 100 % nuspėjamumo – jei vartotojas spustelėja mygtuką, duomenų bazė turi būti atnaujinta tiksliai taip, kaip koduota. Greiti inžinieriai dirba procentų pasaulyje. Net ir geriausias raginimas gali nepavykti 2% laiko dėl kūrybiško LLM pobūdžio, reikalaujančio "evals" ir apsauginių turėklų, kad būtų galima valdyti šį būdingą neapibrėžtumą.
Mastelio keitimas ir našumas
Kai greitas inžinierius mastelį, jis žiūri į "žetonų ribas" ir kaip sutalpinti daugiau konteksto į langą neprarandant modelio dėmesio. Kai sistemos dizaineris keičia mastelį, jis ieško "horizontalaus mastelio", pridedant daugiau serverio mazgų, kad būtų galima apdoroti milijonus vienu metu atliekamų užklausų, o visa platforma nesugriūtų nuo srauto svorio.
Evoliucija ir ilgaamžiškumas
Sistemos projektavimo principai yra gana stabilūs; Tai, kaip šiandien tvarkome duomenų replikavimą, per dešimtmetį iš esmės nepasikeitė. Greita inžinerija juda žaibišku greičiu. Raginimas, kuris puikiai veikė GPT-4, gali pasenti arba mažiau veiksmingas, kai išleidžiama nauja modelio versija, todėl jį reikia nuolat kalibruoti iš naujo.
Privalumai ir trūkumai
Greita inžinerija
Privalumai
+Maža patekimo į rinką kliūtis
+Beveik akimirksniu pasiekiami rezultatai
+Lankstus ir kūrybiškas
+Kodo nereikia
Pasirinkta
−Nenuoseklūs rezultatai
−Konkretaus modelio rezultatai
−Sunku derinti
−Didelės žetonų išlaidos
Sistemos projektavimas
Privalumai
+Labai nuspėjamas
+Sukurta mastui
+Standartizuoti modeliai
+Lengviau apsaugoti
Pasirinkta
−Sudėtinga įvaldyti
−Lėtas įgyvendinimas
−Didelės išankstinės pastangos
−Brangi infrastruktūra
Dažni klaidingi įsitikinimai
Mitas
Greita inžinerija yra tik "kalbėjimas" su kompiuteriu.
Realybė
Profesionali greita inžinerija apima struktūrizuotą logiką, kintamą injekciją ir sistemingą testavimą (vertinimus), siekiant užtikrinti, kad modelis nuosekliai atitiktų griežtas formatavimo ir saugos taisykles.
Mitas
Geras sistemos dizainas reiškia, kad programa niekada nesuges.
Realybė
Sistemos dizainas iš tikrųjų yra apie "grakščią nesėkmę". Gerai suprojektuota sistema daro prielaidą, kad viskas suges, pavyzdžiui, duomenų bazė atsijungia, ir apima perteklius, kad programa vis tiek veiktų.
Mitas
Greiti inžinieriai pakeis programinės įrangos inžinierius.
Realybė
Nors raginimai gali generuoti kodą, vis tiek reikia sistemos dizainerių, kurie sutvarkytų tą kodą į veikiančią, saugią ir keičiamo dydžio architektūrą, kuri nenutekėtų duomenų ir nekainuotų daug pinigų.
Mitas
Jums reikia tik didelių įmonių, tokių kaip "Amazon", sistemos projektavimo.
Realybė
Net ir mažam startuoliui reikia elementaraus sistemos dizaino, kad vartotojo duomenys būtų tinkamai saugomi ir kad jų programa netaptų lėta, klaidinga netvarka, kai tik ja naudojasi 100 žmonių vienu metu.
Dažnai užduodami klausimai
Kurį iš jų sunkiau išmokti?
Sistemos projektavimas paprastai turi daug staigesnę mokymosi kreivę, nes tam reikia gilaus aparatinės įrangos, tinklo ir sudėtingų programinės įrangos modelių išmanymo. Greitąją inžineriją lengviau pradėti, nes ji naudoja natūralią kalbą, tačiau norint ją įvaldyti iki profesionalaus, gamybai paruošto lygio, reikia labai specifinio analitinio ir lingvistinio griežtumo.
Ar greita inžinerija gali pataisyti prastai suprojektuotą sistemą?
Ne. Puikus raginimas negali pataisyti per lėto serverio ar nesaugios duomenų bazės. Jei jūsų sistemos dizainas silpnas, jūsų AI programa bus nepatikima, nepaisant to, kokie protingi yra jūsų raginimai. Galite galvoti apie sistemos projektavimą kaip santechniką, o greitą inžineriją kaip per ją tekančio vandens kokybę.
Kas yra "minčių grandinė" raginime?
Minčių grandinė (CoT) yra technika, kai prieš pateikdami galutinį atsakymą paprašote dirbtinio intelekto "mąstyti žingsnis po žingsnio". Tai verčia modelį judėti per loginę seką, o tai žymiai pagerina jo našumą atliekant sudėtingas matematikos ar samprotavimo užduotis, palyginti su tiesioginio atsakymo prašimu iš karto.
Kodėl "delsa" yra svarbus dalykas kuriant sistemą?
Delsa yra laikas, per kurį vartotojo užklausa nukeliauja į serverį ir atgal. Kuriant sistemą svarbi kiekviena milisekundė, nes lėtos programos nuvilia vartotojus. Dizaineriai naudoja tokias gudrybes kaip "talpykla" (dažnų duomenų saugojimas netoliese) ir CDN, kad kiek įmanoma sumažintų šį vėlavimą.
Ar turiu būti programuotojas, kad galėčiau atlikti greitą inžineriją?
Nebūtinai, bet tai labai padeda. Daugelis "greitųjų inžinierių" iš tikrųjų yra kūrėjai, kurie supranta, kaip integruoti šiuos raginimus į kodą naudojant API. Tačiau rašytojai ir logiškai mąstantys žmonės gali puikiai mokytis lingvistinėje raginimų kūrimo dalyje, nežinodami, kaip parašyti nė vienos Python eilutės.
Kas yra "apkrovos balansavimas" projektuojant sistemą?
Įsivaizduokite užimtą maisto prekių parduotuvę su tik viena kasininke; greitai susidaro linija. Apkrovos balansuotojas yra tarsi vadybininkas, kuris mato minią ir atidaro dar penkias juostas, nukreipdamas klientus į mažiausiai užimtą kasininką. Technologijų srityje jis paskirsto interneto srautą keliuose serveriuose, kad nė vienas nebūtų perkrautas.
Ar greita inžinerija yra tik laikina tendencija?
Konkretus pavadinimas "Greitas inžinierius" gali evoliucionuoti, tačiau pagrindinis įgūdis "instruktuoti dirbtinį intelektą" išliks. Kadangi dirbtinio intelekto modeliai tampa vis labiau integruoti į mūsų įrankius, žinojimas, kaip tiksliai su jais bendrauti, taps toks pat svarbus įgūdis, kaip ir mokėjimas efektyviai ieškoti "Google".
Kas yra "mikropaslaugos"?
"Microservices" yra sistemos projektavimo metodas, kai milžinišką programą suskaidote į mažas, nepriklausomas dalis. Pavyzdžiui, viena paslauga tvarko vartotojų prisijungimus, kita - mokėjimus, o trečia - dirbtinio intelekto raginimus. Tokiu būdu, jei mokėjimo paslauga sugenda, likusi programos dalis vis tiek gali veikti.
Kaip patikrinti raginimo sėkmę?
Jūs naudojate "Evals" (vertinimus). Tai reiškia, kad tas pats raginimas šimtus kartų paleidžiamas per dirbtinį intelektą su skirtingomis įvestimis ir rezultatų tikrinimas pagal teisingų atsakymų "auksinį rinkinį". Tai leidžia matematiškai įrodyti, ar greitas pakeitimas iš tikrųjų padarė dirbtinį intelektą protingesnį, ar tiesiog kitokį.
Kas geriau apsimoka kaip karjera?
Šiuo metu vyresnieji sistemų dizaineriai (programinės įrangos architektai) paprastai gauna didesnius atlyginimus, nes įrodyta, kad jų patirtis yra labai svarbi verslo stabilumui per dešimtmečius. Tačiau ekspertai greitojo mokymosi inžinieriai, turintys mašininio mokymosi patirties, šiuo metu mato labai didelius atlyginimus, nes įgūdžių rinkinys yra toks retas ir labai paklausus.
Nuosprendis
Pasirinkite greitąją inžineriją, kai reikia išgauti konkrečią informaciją ar kūrybinį turinį iš AI modelio. Investuokite į sistemos projektavimą, kai kuriate tikrąją platformą, kurioje bus laikomas dirbtinis intelektas, užtikrinant, kad jis galėtų saugiai valdyti realaus pasaulio srautą ir duomenis.