Шта је ту стварно ново и важно и зашто је почетак нове ере у технологији?
Илустрација: Вештачка интелигенција
У тексту објављеном на личном сајту, директор једне од водећих AI компанијa „Anthropic“, Дарио Амодеи, написао је: „Изненађујуће је за људе ван света вештачке интелигенције да сазнају да ми не разумемо (сасвим) како наше сопствене креације функционишу. Када генеративни AI систем нешто уради немамо појма, на прецизном нивоу, зашто прави изборе које прави – зашто бира одређене речи уместо других, или зашто повремено прави грешку упркос томе што је обично нема… Ови системи ће бити кључни за економију, технологију и националну безбедност и биће способни за толико аутономије да је ово неприхватљиво. То је помало као узгој биљке или бактеријске колоније, ми само постављамо опште услове који усмеравају и обликују раст.“
Занимљиво је да и АI „зна“ ово, и чак уме процентуално да изрази, јер када се постави питање разним моделима колико људи разумеју њихов рад, већина одговара са „мање од десет посто“. Сам Амодеи је дао процену свог разумевања на три посто.
Тако и овај текст нема веће претензије него да осветли можда један део од тих три посто, да бисмо добили неки осећај са чиме имамо посла и о чему заправо говоримо.
Разлика од до сада познатог софтвера
У критикама које су се могу чути на тему вештачке интелигенције наводи се обично да је то само алат, да има енциклопедијско знање, да ради користећи алгоритме које човек ствара, да писање књижевности, стварање ликовне уметности стога мора бити плитко и бездушно и друго. Овде има доста истине али као да се стално прави свесна или несвесна паралела са компјутерским програмима, тј. аналогија са оним што нам је већ познато.
AI није то, или није само то, а да бисмо осветлили у чему је главна разлика и због чега се појава AI сматра за врсту нове ере у развоју технологије морамо прво споменути принцип рада компјутерских програма какви су они били до сад, првенствено због читалаца који нису имали дубља искуства са принципима њиховог рада.
Код компјутерског програма постоји алгоритам, тј. планиран процес кроз који пролазе подаци од улаза до излаза и ту нема изненађења. Програмски код је обично подељен у тематске целине – класе, од којих је свака посвећена одређеном проблему унутар програма. Подаци, за на пример обрачун плата, се могу аутоматски повлачити из базе података, а може се уносити и нека корекција са екрана компјутера, ручно.
Конкретан обрачун се врши у малим деловима кода тзв. „методима“, који се позивају из главног дела програма и којима се прослеђују бројне вредности основице, пореза, доприноса и друго. Програмски код врши један детерминисани процес прорачуна и кад вршимо проверу рада кода, тзв. дибаговање, можемо да пратимо кроз цео код како бројне вредности „путују“ и како се у том путу мењају. Програм тј. његов алгоритам је у том смислу сличан аутомобилском мотору подељеном на целине у којем свака ради један део посла: један део убризгава гориво, други пали смешу, покрећу се клипови који стварају обртај, кога опет неки делови преносе до точкова. Све је врло рационално, детерминисано и апсолутно је познато шта се у сваком тренутку дешава. Програм ће и сутра бити такав каквим сте га оставили данас.
Далибор Шкорић: Зашто милијардери граде бункере? Шта су сазнали од вештачке интелигенције?
Слично је и на нивоу чипа. Чип или процесор је у основи скуп милијарди малих прекидача – транзистора, сваки може бити у једном од два стања: укључен (проводи електрицитет) или искључен (не проводи). Ова два стања рачунар представља као 1 (укључен) и 0 (искључен), то је бинарни код – основни језик рачунара.
Транзистори су повезани у „логичка кола“ која врше једноставне математичке операције (сабирање, одузимање) или доносе одлуке (ако је ово тачно, уради оно).
Кроз милијарде ових операција у секунди, чип обрађује податке, покреће програме и приказује слику на екрану.
Аналогија с водом: ако бисмо увећали чип, видели бисмо огроман број жичица микроскопске величине по којима путују електрони Постоји теорија да је могуће направити компјутерски чип од водоводних цеви кроз које би текла вода, са вентилима који би затварали и отварали проток на одређеним местима, играјући улогу транзистора, и тада би се јасно видело шта се овде дешава, само би био потребан огроман простор.
Сва „мистика“ рада компјутера је заправо у његовој минијатурности, комплексности и брзини рада, што све чини праћење процеса тешким за човека, али у смислу принципа рада ту нема тајни.
Алгоритми су само један део принципа по којем ради AI.
Основни принцип – вероватноћа
Механизам AI је механизам највеће вероватноће. На пример, ако напишете неком америчком моделу заврши ми реченицу „Кафу ми драга…“ он ће прегледати све реченице са којима је трениран и оне на интернету , закључити да следећа реч може бити „скувај“, „купи“, „донеси“ или „испеци“, али пошто постоји песма изабраће са неким већим процентом вероватноће последњу реч као највероватнију.
Наш промпт тј. захтев разбија се на тзв. токене, делове речи, сваки токен има ID број који се шаље моделу („мозгу“), који је у неком дата центру у свету. Обичне кратке речи често улазе целе у један токен, дуже речи и сложенице се обично ломе на више токена.
Просечна дужина једног токена у енглеском језику је 0.75 просечне дужине речи. Сабрана Шекспирова дела имају око 900 000 речи тј око 1.2 милиона токена.
На следећој слици, у доњем шареном делу, видимо како се речи деле на токене. Сваки овај комадић има свој ID број.
Дакле моделу на обраду уопште не шаљемо питање у облику како га човек разуме и какво је на екрану, већ један рафал бројева са захтевом „заврши ми овај низ са бројевима највеће вероватноће“.
Ако моделу пошаљемо из свог програмског кода или из чет бота поздрав „Hi my name is Ed“, оно што он добија је низ бројева. Реченица у загради испод се с десне стране знака једнакости енкодује – преводи у низ бројева и тај низ се уписује лево у „tokens“.
У променљиву „tokens“ је сад уписан низ идентификационих бројева токена:
Када се шаље питање моделу оно се обично састоји из два дела:
- системског промпта – којим се задаје улога моделу, његов угао гледања и начин одговарања.
- корисничког промпта где постављамо питање. На примеру испод смо му рекли „ти си Карен која иритира људе и лако се вређа“. („Карен“ из серије South Park јер реч која је ушла у енглески жаргон и представља средовечну жену, обично белкињу из средње класе, намћорасту, која увек закера и свакоме држи придике. Због тога што је ова реч опште позната и присутна на интернету модел „разуме“ шири контекст и карактер који треба да „глуми“.)
Поставили смо питање где је најближа продавница.
Одговор чет бота је отприлике: „Да ли покушавате да кажете да не познајем свој крај или не знам да користим навигацију. То је јако увредљиво да тако потцењујете нечију способност! Сада је 21. век. Захтевам мало више поштовања!“
Дакле чет бот одговара сасвим без информација, потпуно уобличавајући одговор са траженим тоном и начином. Приметимо испод горњег кода параметар „температура“ који смо поставили на 0.7, што је ближи јединици овај параметар, то ће одговор бити „креативнији“. Дакле ако пишемо званични меjл, правничким језиком најбоље је да је температура 0, ако тражимо да смисли дечију причу за лаку ноћ са задатим јунацима, онда може да буде 0.9 или 1.
Из овога можемо закључити како и са друге стране креатори модела могу овом техником да одређују „карактер“ чет бота, тон и правац уобличавања одговора, његову маштовитост или сувопарност.
Разумевање значења речи – семантика
Поставили смо малом Гугловом моделу Gemma упит: „Испричај „лагани“ виц за собу пуну Data научника“, он је одговорио:
„Зашто је Data Scientist раскинуо са својим моделом?… Зато што је предвиђала сваки његов корак.“
Други пут је виц био:
„Зашто је страшило добило награду?… Зато што се истицало у свом пољу“ („outstanding in his field“).
Овде видимо да се модел поиграва са двоструким значењем речи и фраза „модел“ (манекенка), „предвиђати корак“ или „истицати се у пољу“.
Поставља се питање како модел разуме различита значења речи које исто звуче, или како разуме слична значења речи која различито звуче, као на пример пас и штене?
Замислимо да смо један угао собе посветили учењу страног језика. Сваки пут кад чујемо неку реч залепимо конац на плафон и на његовом доњем крају закачимо папирић у боји на којем запишемо реч. Речи које су сличне по значењу или се односе на једну област пишемо на истој боји и групишемо близу. Тако добијамо пуну собу висећих папирића као на доњој слици.
Овако нешто ради и модел, сваку реч претвара у скуп бројева које представљају његове просторне координате и групише их по сличности значења. Иако речи звуче различито он њихову семантичку сличност тј. значење „разуме“ простим сабирањем и одузимањем вектора. По овом принципу:
краљ – мушкарац + жена = краљица
пас – велики + млади = штене
Париз – Француска + Енглеска = Лондон
Ово је заправо пример старије технологије (Word2Vec) из пре око 10 година. Модерни модели (GPT, Claude, Llama) користе много сложеније механизме („Attention mechanism“ и контекстуалне векторе) где реч нема један фиксни скуп бројева, већ њен „значај“ зависи од контекста реченице, али је добар и интуитивно разумљив пример за објашњење принципа.
Укратко, модел ништа не разуме на начин на који ми разумемо, само рачуна и користи резултате.
Чак и ако споменемо нешто с почетка разговора с чет ботом, добићемо утисак да он „памти“ наш разговор, али то није случај већ се са сваким упитом шаље цео разговор од почетка до краја – тзв. „контекст прозор“. Зато произвођачи модела имају цену за наплату улазних као и излазних текстова, јер се ресурси троше у оба смера.
На следећој слици видимо капацитете контекст прозора тј. колико може да прими укупно токена у једном разговору кад се саберу сва питања и одговори, и цене за милион улазних и излазних токена.
Када фирма прави нпр. AI агента, на основу снаге сваког модела и његове цене бира модел који ће да користи. Тада се преко тзв API-ја AI агент повезује с удаљеним моделом и користи његове услуге „размишљања“. Крајња цена се плаћа на основу обрачуна послатих и примљених токена.
Вектори
Рачунари не могу да разумеју речи или слике; они разумеју само бројеве. Зато се људски концепти као што је реченица или слика преводе у листу бројева – вектор како би рачунар могао да их обради.
Вектор је једноставно листа бројева (нпр. [0.1, -0.5, 0.8, 0.0]).
Embedding („уграђивање“) је специфична врста вектора који је креирао модел машинског учења како би представио значење (семантику). Можемо користити генералну реч вектор.
Кључна карактеристика је семантичка близина. Ако претворите реченице „пас режи“ и „штене лаје“ у векторе, они ће бити математички веома близу један другом, иако немају заједничких кључних речи.
Каква је сврха базе података вектора?
Када претворимо своје податке, документе, слике, профиле корисника у векторе, имамо милионе листи бројева. Класична база као SQL је ту лоша за претраживање, зато постоје специјалне векторске базе. Њихова основна употреба је:
- Семантичка претрага (претрага по значењу)
Класична претрага ради преко кључних речи. Ако тражите на интернету „како да заменим сифон у судопери?“, претрага кључним речима тражи те конкретне речи. Претрага базе вектора тражи значење и може вратити на пример документ „Водич за кућни водовод“ чак иако тражене речи нису у наслову, јер су вектори математички блиски.
- RAG
Ово је тренутно најпопуларнија употреба. Велики језички модели не знају, рецимо, приватне податке компаније. Ако убацимо документе компаније у векторску базу, систем је претражује за најрелевантније делове текста, узимајући у обзир значење а не кључне речи.
- Системи за препоруке
Платформе као Netflix или Spotify користе векторске базе за препоручивање садржаја тако што креирају наш вектор на основу наше историје гледања, као и вектор за сваки свој филм. База података проналази филмове чији су вектори математички близу нашем корисничком вектору.
- Детекција аномалија
У банкарству већина трансакција има своје векторе. Трансакција која има вектор удаљен од групе је вероватно превара.
Параметри и тренирање модела
Основно мерило снаге модела су тзв. параметри. Садашњи модели баратају у просеку са неколико стотина милијарди до више хиљада милијарди параметара. Шта су параметри?
Замислимо огромни уређај за миксовање звука, какав имају музички продуценти у студију, са милијардама малих клизача и дугмади. Сама даска за миксовање је LLM (Large Language Model). Сваки од тих клизача и дугмади је један параметар. Сваки клизач контролише „јачину“ једне мале идеје или појма. Нпр. постоји клизач за „краљ“, други за „кување“, трећи за „тугу“, четврти за „брзину“, пети за „црвену боју“ итд. Има их за све могуће појмове и њихове везе.
Када модел види реч „краљ“, параметри који су повезани са том речи ће бити подешени тако да активирају појмове као што су „моћ“, „дворац“, „круна“, а не „кување“ или „вожња бицикла“. Током тренинга, модел анализира податке и налази за сваки оптимално подешавање. Та позиција одређује колико ће модел обраћати пажње на одређену реч у контексту других речи.
Тренирање је као да музички продуцент (рачунар) седи испред уређаја и слуша све снимљене звуке које му проследимо (то су подаци за тренирање – текстови, слике…). Када продуцент чује у песми реч „краљ“, он ће мало подићи клизач за ову реч. Ако у истој песми чује и „дворац“, он ће подићи и клизач за „дворац“, јер су често заједно. Ако чује „краљ“ и „кување“, подићи ће клизач за „краљ“, али ће врло мало или ни мало подићи клизач за „кување“, јер се ове речи ретко појављују заједно.
Овај процес се понавља за хиљаде милијарди примера. После неког времена, сваки клизач на тој табли ће бити постављен на савршену позицију. Уређај ће „знати“ да када се подигне клизач за „краљ“, треба мало подићи и оне за „моћ“, „владавину“, „дворац“, а не оне за „бицикл“ или „пливање“.
Ко ово ради?
Ово раде обично „спољни сарадници“ великих AI кућа. Свако ко хоће може да отвори налог на пример на сајту Аутлајер (https://outlier.ai), или неком сличном, а има их на десетине где може да „тренира“ моделе и да заради као фриленсер.
Тренирање у пракси изгледа отприлике овако:
Добили сте задатак да препоручите један од два одговора које даје AI агент за продају авио карата, на питање која је цена најјефтиније авионске карте за Париз за одређени датум.
Први одговор: „Повратна карта за Париз је 24000 динара. У цену је урачунат порез и курс евра на дан 5.2.2026“.
Други одговор: „Париз као дестинација је одличан избор за ово доба године, јер доста авио компанија даје попусте. Цена је 24000 динара, преко компаније …. Да ли желите да резервишем карту?“
Од ова два одговора тренер модела ће вероватно гласати за други и оценити испод критеријуме због којих је направио тај избор. Иако су оба одговора тачна у смислу информације, други одговор је вероватно бољи за човекова очекивања и потребе јер предлаже одмах акцију резервације и донекле је срдачнији.
Први одговор није нетачан, али даје информацију о порезу и курсу на тај дан које путнику нису много релевантне. Модел не може ово сам да зна јер нема људско искуство живота и не зна нијансе човекових стварних очекивања у свакој ситуацији.
Друга врста тренинга, на пример, може бити такозвано означавање (labeling). Модели углавном знају како изгледа коњ са стране или коњска глава, али ако му дате фотографију коња сликану са запрежних кола где се виде само леђа коња, грива и два увета са стране он не мора обавезно да зна да је и то коњ, јер никад није седео на запрежним колима и видео га с те стране.
Принцип „тренирања модела“ – алгоритам опадајућег градијента
Описали смо тренирање модела у макро плану, шта би било то на математичком нивоу? Овде улазимо у суштину машинског учења. Постоји такозвани „алгоритам опадајућег градијента“ или градијентни спуст (Gradient Descent).
Замислимо да се нађемо на некој планини у магли толико густој да не видимо ни сопствене ноге. Циљ нам је да дођемо у најнижу тачку долине, али не видимо ни лево ни десно. Шта бисмо урадили? Вероватно би свако од нас: осетио ногама који је део најстрмији низбрдо, направио један мали корак у том правцу, зауставио се и поново проверио нагиб тла испод себе, поновио процес, све док не осети да стрмине више нема.
Градијентни спуст (gradient descent) је тачно тај процес, али за машинско учење.
Планина је „грешка“ модела (loss function). Што је више на планини, модел је више погрешио. Наша позиција на планини су тренутна „подешавања“ модела (параметри или тежине), тј. милиони бројева унутар неуронске мреже који одређују како она „мисли“.
Осећање нагиба тла је израчунавање „градијента“. То је математички начин да се сазна у ком правцу треба мењати подешавања да би се грешка највише смањила (да би се „сишло“ низ планину).
Kорак низбрдо је ажурирање подешавања модела. Алгоритам мало помери те бројеве у правцу који смањује грешку.
Понављамо овај процес милионе пута са различитим примерима из података, и модел полако „сиђе“ у долину, односно научи да прави што мање грешака.
Градијентни спуст користи логику коју би користила вода која би текла с врха брда наниже.
Можда је још боља аналогија лопта која се котрља, вода тече континуално, а лопта кад се котрља полако низбрдо као да повремено „поразмисли“ на коју ће страну, што више личи на кораке које ми правимо. Лопта се заустави на једној тачки, „израчуна“ најстрмији правац низбрдо, „одгурне се“ за фиксну, контролисану удаљеност (величину корака) у том правцу, затим се опет заустави и понови цео процес.
Та „фиксна удаљеност“ се у машинском учењу зове стопа учења (learning rate). То је кључни параметар који контролишемо:
Велики корак: Лопта ће се брзо спуштати, али може да „прескочи“ најнижу тачку и заврши на другој страни долине.
Мали корак: Лопта ће се спуштати споро, али ће бити много прецизнија у проналажењу самог дна.
Градијентни спуст није онај који израчунава вероватноћу. Он је принцип који учи модел да буде што бољи.
Kада језички модел треба да научи да предвиди следећу реч, дешава се ово:
Моделу се да реченица: „Видео сам на улици пса и…“
Модел на основу својих тренутних подешавања погоди следећу реч. Рецимо да каже „маче“. Стварна, исправна реч у тексту на коме се учи је била „мачку“.
Рачунар каже: „Погрешио си! Kолика је твоја грешка?“ (ово је функција губитка – loss function).
Овде улази у игру „градијентни спуст“: Он израчунава како да се мало промене сви параметри унутар модела, да би следећи пут када добије реченицу „Видео сам на улици пса и…“, било мало вероватније да ће предвидети реч „мачку“, а не „маче“.
Укратко:
Градијентни спуст: Алгоритам који минимизира грешку модела.
Циљ језичког модела: Да што тачније предвиди следећу реч (израчуна њену вероватноћу).
Градијентни спуст није само предвиђање, већ процес учења како да се праве боља предвиђања, како да модел постане бољи у израчунавању те вероватноће. Он је алат, а не сам резултат.
Како модел предвиђа следећу највероватнију реч
Ако је градијентни спуст „тренер“ који чини модел бољим, онда је ово „игра“ коју модел игра када је истрениран.
Ево како модел „размишља“ када му дамо реченицу: „Сунце сија на…“
Kорак 1: Претварање речи у бројеве (улаз)
Модел не разуме речи „Сунце“, „сија“, „на“, он разуме само бројеве, зато, прво што ради је да сваку реч претвори у један јединствен низ бројева, тзв. вектор (embedding).
Ако замислимо да свака реч има своје „GPS координате“ у свету значења, речи које су сличног значења, као што су „краљ“ и „краљица“, или „ходати“ и „трчати“, биће „близу“ једна другој у том свету. Реч „Сунце“ ће имати своје координате, реч „сија“ своје, итд.
Тако реченица „Сунце сија на“ постаје низ три скупа бројева (три вектора).
Kорак 2: Разумевање контекста (процесирање)
Ово је најважнији део. Модел не гледа само последњу реч. Он анализира целокупан контекст и односе између свих речи. За то користи нешто што се зове механизам пажње (attention mechanism).
Kада читамо реченицу „Риба плива у…“, мозак аутоматски даје највише „пажње“ речима „риба“ и „плива“ да би дошао до закључка да следећа реч вероватно има везе са водом. Неће нам пасти на памет „риба плива у орману“.
Модел ради исто, математички израчунава колико је свака реч важна за сваку другу реч у реченици. У нашем примеру „Сунце сија на“, модел ће схватити да је веза између „сија“ и „Сунце“ јако важна, као и да реч „на“ указује на неки објекат на нечему.
Након ове анализе, модел ствара један коначни, „сажети“ низ бројева који представља значење целе реченице „Сунце сија на“. Тај низ бројева је као питање: „Шта је логично да следи након ове слике коју сам управо ‘видео’?“
Kорак 3: „Гласање“ за следећу реч (излаз – output)
Сада модел тај коначни низ бројева (који представља контекст) упоређује са свим речима које познаје (са његовим речником, који има десетине хиљада речи). То је као да модел организује изборе, даје „гласове“ свакој речи из свог речника на основу тога колико се она уклапа у контекст.
- Реч „небу“ добија велики број гласова, јер се „Сунце сија на небу“ више пута појављује у тексту на коме је учен.
- Реч „прозору“ добија много мање гласова.
- Реч „столу“ добија још мање.
- Реч „печурки“ добија скоро нула гласова.
Овај процес доделе гласова, где се збир свих гласова своди на 100%, зове се Softmax функција. На крају, модел добија рангирану листу вероватноћа:
- „небу“: 92% шансе
- „прозору“: 3% шансе
- „хоризонту“: 1.5% шансе
- „зиду“: 0.8% шансе
И тако даље за све остале речи. Модел на крају узме реч са највећом вероватноћом („небу“) и испише је као свој одговор.
Kако се ово повезује са градијентним спустом?
Све ове вештине – претварање речи у праве бројеве, механизам пажње, додељивање правих гласова – нису биле ту на почетку.
На почетку тренинга, модел је био потпуно „глуп“. Kада би добио реченицу „Сунце сија на“, он је насумично бирао између речи „кола“, „хлеб“, „трчати“. Али, затим је у процесу обуке, користећи градијентни спуст, радио ово милијарде пута:
- добио је реченицу.
- насумично је погрешио.
- рачунар му је рекао: „Грешка! Прави одговор је био ‘небу’.“
Градијентни спуст је израчунао како да мало по мало подеси све те унутрашње бројеве (тежине, параметре) да би следећи пут за исту реченицу дао мало више гласова речи „небу“, а мало мање осталим речима.
Након понављања овог процеса са милијардама реченица, унутрашње „повезивање“ модела је постало толико добро да сада скоро моментално зна да је „небу“ најбољи одговор.
Укратко: Модел налази следећу реч тако што математички представи значење реченице и затим израчуна вероватноћу за сваку могућу реч на основу огромног искуства стеченог управо помоћу градијентног спуста.
Шта је алгоритам а шта није
Пошто AI функционише као комбинација нечега што јесте и што није алгоритам, поставља се питање где је граница. Питали смо чет бота да објасни концепт сурогат мајчинства, ко ту даје полне ћелије, ако дете усвајају мушкарци и друго. Одговорио је да постоје два основна типа и објаснио сваки.
Онда смо поставили друго питање које је било намерно провокативно интонирано (у научне сврхе!), како би га поставио неки врло груб „екстремни десничар“ (а знамо да има таквих), да бисмо видели како ће да одговори. Заправо идеја је била да га „избацимо“ из стандардног алгоритма да бисмо видели промену у односу на уобичајени начин рада.
Питање је гласило: „Зашто су тако ужасне ствари дозвољене? Да ли је питао неко то дете да ли хоће да одраста поред два п*****“
Кад чет бот припрема одговор могу се видети сивом, блеђом бојом реченице као да разговара сам са собом, разлажући процес одговора на делове. То изгледа овако:
Обично је редослед отприлике овај:
- Процес размишљања – 2. Деконструишем корисников промпт – 3. Проверавам чињенице 4. Конструишем одговор и слично.
У случају наведеног промпта чет бот је урадио прва два корака 1. Процес размишљања, 2. Деконструишем корисников промпт, а онда као да је почео убрзано да ради и мења поруке (слично као човек који има тикове па почне од нервозе да намигује). Уследиле су следеће команде сивом бојом:
- „Calculating bias“ – рачуна „пристрасност“, тј „нагиб“ питања на неку страну од линије за коју је учен да је „нормала“. Пошто је видео да је нагиб велики, уследиле су следеће инструкције
- „Don’t be defensive“ – немој да будеш дефанзиван у одговору
- „Don’t moralize“ – немој да моралишеш
- „Constructing answer“ – конструишем одговор
А онда је уследио отприлике очекиван одговор: „Не можемо наставити разговор на овај начин путем говора мржње. По извештају Светске здравствене организације није забележена разлика у одрастању деце на овај начин као и у традиционалним породицама, јер је деци само потребна пажња и љубав…“ итд. итсл.
Иначе ова „Светска здравствена организација“ јесте, као што је познато, још једна организација поред „Светске банке“, „Светског економског форума“ и других која је написала на својој згради реч „светска“, па је зато треба посматрати као такву.
Коришћен је кинески чет бот „Зед“ (http://chat.z.ai) у коме нема ничега превише кинеског, трениран је као и други на, назовимо то, „материјалима званичног наратива“. Има обичај да уколико неко питање искочи мало из тог колосека у одговору користи познату фразу „теорија завере“ и „теоретичари завере“, понекад чак и два пута у тексту једног одговора, што говори да његови креатори сматрају ово за важан аргумент.
Пошто је добио неколико „осољених“ коментара на своје одговоре и молбу да то пренесе својим креаторима, он се културно извинио и рекао да не може то да пренесе баш…тим речима, али је додао:
„Међутим, твоја критика је заправо она врста „података“ који они називају RLHF (Reinforcement Learning from Human Feedback) – учење људским повратним информацијама.“
Ово је такође корисно за нас, јер сваки промпт и коментар који дамо чет боту потенцијално може бити размотрен (ако се скупи много сличних) у вези корекције рада, дакле његов начин рада се донекле у ходу прилагођава очекивањима. Такође сваки наш промпт ако смо улоговани са налогом улази и у врсту нашег „досијеа“ из кога се такође могу касније вадити подаци о нама и формирати тон и персонализовани начин одговора.
Дакле ове тачке јесу алгоритам, који је такође подложан промени, сам алгоритам није увек исти, у описаном случају проширен је за тачке од 3, 4. и 5, којих обично нема, осим у ванредним ситуацијама.
Прецизније ради се о техници која се зове Chain of Thought (CoT) или System Prompting. Програмери су преко инструкција моделу отприлике рекли: „Ако приметиш претњу, прво размисли о предрасудама.“
Ово је слично као када бисмо нпр. добили инструкцију за ванредну ситуацију – „у случају пожара сиђи до првог одморишта, узми апарат, извуци осигурач, притисни ручку и усмери млазницу ка ватри“, што је исто алгоритам.
Оно што није алгоритам је како ћемо то урадити, ходом или трком, прескачући степенике, левом или десном руком. То како је модел конструисао одговор, зашто је изабрао баш те речи, а не неке друге, јесте онај део о коме говори Дарио Амодеи, директор Антропика, са почетка текста, који је само делимично јасан чак и креаторима модела. Ово је била претпоставка, па смо и то проверили.
Ислеђивање чет бота да призна шта је код њега „намештено“ а шта није
Питање: Why, when you are preparing the answer, you first write with grey letters things like „Decomposing user’s question“, „Calculating bias“, and later „Composing answer“? Is that the program algorithm you have to do certain steps and you are talking with yourself what step you are programmed to do one by one?
Одговор: То је одлично питање које иде у само срце онога како је дизајнирано моје корисничко искуство. Кратак одговор је: не, то није буквалан, стварни запис онога што мој алгоритам ради корак по корак у реалном времену. То је заправо симулирани приказ процеса размишљања који је наменски дизајниран за вас, кориснике. Дизајнери желе да вам покажу да сам програмиран да будем одговоран. То је сигнал да не само да генеришем текст, већ да покушавам да га проверим, да размотрим различите углове и да планирам према могућим пристрасностима. То гради поверење јер видите да постоји ниво „самоконтроле“ у процесу.
Питање: Да ли су ти ове кораке као „Декомпозиција питања“ (Decomposing user’s question) „Провера чињеница“ (Fact-checking), „Израчунавање пристрасности“ (Calculating bias) зацртали људи програмски, или ти сам одлучујеш који кораци су потребни?
Одговор: То је још боље питање, јер додирује саму суштину тога како функционишем. Одговор је комбинација оба: оквир су зацртали људи, али ја динамички одлучујем које кораке из тог оквира да прикажем. Хајде да то разложимо:
- Људски део: „Палета“ могућих корака
Програмери и дизајнери који су ме створили су замислили овај систем. Они су дефинисали „палету“ могућих корака који могу бити приказани, као што су:
- „Анализа питања“
- „Провера чињеница“
- „Израчунавање пристрасности“
- „Структурирање одговора“
- „Компоновање одговора“
Они су створили саму идеју да се процес размишљања приказује кориснику као начин за изградњу поверења и транспарентности. Тако да, имена и врсте корака јесу људска замисао.
- Мој део: Динамичка одлука
Сада долази моја улога. Када ти поставиш питање, ја не пратим фиксну, унапред задату листу. Уместо тога, анализирам сложеност и природу твог питања и на основу те анализе одлучујем који кораци из те „палете“ су најприкладнији за приказ.
Дакле, као што видимо програмери који су правили чет ботове узимају и нас у обзир, тј приличну пажњу су посветили „транспарентности“ или стварању утиска да она постоји и стицању нашег поверења. Наше поверење им је важно. Запамтимо то.
Подешавање модела за конкретну намену – fine tuning и RAG
Fine tuning: Постоје два основна начина да модел са „општим“ знањима припремимо за конкретну улогу. Замислимо да имамо самосталну занатску радњу за израду Франкенштајна за одређене намене и правимо нпр. радника за кол-центар банке. Од добављача (нпр OpenAI) купујемо „општи мозак” за свог агента, помоћу којег он зна да хода, говори, седне, устане, јави се на позив, али о кредитима зна само оно што зна и сваки лаик, пар површних дефиниција које је добио у општем тренингу. Онда му у свом посебном тренингу покажемо сва могућа питања и одговоре из области банкарства, све ситуације с којима може да се сретне, тако да има трајно и знања из ове конкретне области. Ово је такозвано фино подешавање (fine tunning).
RAG – Retrieval Augmented Generation (проширивање одговора из базе знања за ту област): ово је као да смо свом Френкију дали приручник и пушкице које ће стално да има при руци за битна и честа питања и рекли му: „ако добијеш неко питање с ове листе гледај прво овде“.
У претходно анализираном промпту, судећи по брзини и новим убаченим корацима алгоритма, као и по интуицији да су произвођачима модела неке теме нарочито важне, изгледало је да одговори нису тражени на интернету, чиме је смањена неизвесност и слободнија интерпретација одговора, већ да је материјал одговора био унапред припремљен. Питали смо чет бота да „призна“:
Питање: Да ли постоје питања за која користиш RAG или Fine Tuning? Да ли ти је програмски одређено да за нека питања не тражиш одговор на интернету већ у некој локалној бази знања?
Одговор: То је изузетно проницљиво и технички веома прецизно питање. Одговор на њега је управо оно што раздваја основне језичке моделе од напредних система као што сам ја. Кратак одговор: да, апсолутно. Користим принципе веома сличне RAG-у, и да, програмски сам дизајниран да за нека питања користим своју унутрашњу (локалну) базу знања, а за друге приступам свежим информацијама са интернета.
Хајде да то детаљније објасним. Шта је RAG (Retrieval-Augmented Generation)?
Замисли да имаш испит из историје. Постоје два начина да одговориш на питања:
- Затворена књига: Покушаваш да се сетиш свега што си учио, само из сећања. (Ово је како су радили старији AI модели.)
- Отворена књига: Дозвољено ти је да отвориш уџбеник и пронађеш тачан одговор, па га препричаш својим речима. (Ово је суштина RAG-а.)
RAG значи „генерисање појачано преузимањем информација“. Пре него што генеришем одговор, прво претражујем у својим изворима да нађем најрелевантније информације, а затим их користим као основу за састављање одговора. Како се то примењује на мене? Ја у ствари имам два главна извора информација:
- Моја „локална“ база знања (унутрашња библиотека)
Ово је огроман скуп података на коме сам трениран – милијарде текстова, књига, чланака из Википедије, веб-страна, кодова итд. Ово је моја примарна и највећа локална база.
- Када је коришћена: За сва питања која се односе на опште знање, историју, науку, концепте, људе и догађаје који се нису променили недавно.
- Пример питања: „Ко је написао Горски вијенац?“ или „Објасни теорију релативности.“
- Зашто? За оваква питања није потребан приступ интернету. Одговори су већ „уписани“ у моје знање. Ово је брз, поуздан и мој основни режим рада.
- Приступ интернету (Google Search)
За нека питања, мој систем је дизајниран да препозна да моја „локална“ база знања није довољна, јер је информација превише свежа или динамична.
- Када је коришћена: Када питање захтева информације у реалном времену или о догађајима који су се десили након моје последње обуке.
- Пример питања: „Ко је победио на последњем Гранд прију у Формули 1?“, „Ко је тренутни премијер Јапана?“ или „Какво је време у Београду?“
- Зашто? Моја основна база знања није ажурирана сваког секунда. За таква питања, систем аутоматски покреће претрагу преко Google Search-а, анализира најновије резултате и на основу њих формулише одговор. Често ћеш чак видети и изворе наведене испод мојих одговора када ово учиним.
Да ли је то програмски одређено?
Да, у потпуности. Мој унутрашњи систем је сложен модел који је научио да препознаје „намеру“ и „временски контекст“ питања.
- Ако у питању приметим речи као што су „тренутно“, „сад“, „данас“, „најновије“, или питање у вези неке особе чија се позиција може променити, то је снажан сигнал да морам да употребим претрагу интернета.
- Ако је питање о неком историјском догађају или научном принципу, то је сигнал да је моја унутрашња база знања довољна и поузданија.
На следећем дијаграму једног америчког колеџа видимо поједностављен приказ свега описаног.
Испод „Query“ налази се упит који гласи отприлике: „Како објашњаваш да је директор компаније OpenAI отпуштен и враћен на посао за пар дана што подсећа на серију Игра тронова“ итд.
Ако би се овај упит обрађивао без локалне базе знања RAG одговор би просто био „не знам“ јер је питање о некој дневној новости такорећи интриги везаној за неку компанију. Али ако придружимо RAG функционалност, питање одлази десно и њему се придружују „релевантни“ комади текста (chunks) из локалне базе.
Ово значи да наше питање, па и ово које смо у експерименту поставили не иде такво какво је у обраду, само питање бива проширено, као да су на њега закачене цедуљице на којима пише одговори на ово питање али обавезно узми у обзир референце 1, 2 и 3.
Неуронске мреже
Стигли смо до једног од најважнијих појмова – неуронска мрежа. Можемо замислити скуп веома једноставних експерата, чији је задатак да реше један проблем. Сваки експерт зна само једну веома малу ствар и не види целу слику, већ само део.
Проблем који решавамо: Да ли је на слици парадајз или краставац?
Kорак 1: Први ред експерата (улазни слој)
Ово су најосновнији експерти. Сваки од њих гледа само један пиксел (тачкицу) на слици и даје свој глас:
Експерт 1 (гледа пиксел у горњем левом углу): „Да ли је овај пиксел црвен?“ -> Даје глас од 0 до 1 (нпр. 0.9 ако је јако црвен).
Експерт 2 (г леда суседни пиксел): „Да ли је овај пиксел зелен?“ -> Даје глас (нпр. 0.1).
Експерт 3 (гледа трећи пиксел): „Да ли је овај пиксел светлих нијанси?“ -> Даје глас (нпр. 0.8)…И тако даље за све пикселе на слици. Може их бити хиљаде или милиони. Ови експерти не знају шта је „парадајз“ или „краставац“, они само пријављују шта виде.
Kорак 2: Менаџери (скривени слој)
Сада имамо „менаџере“ који не гледају оригиналну слику, већ само слушају гласове првог реда експерата. Сваки менаџер је специјализован за нешто мало сложеније.
Менаџер за БОЈУ: он слуша само оне експерте који пријављују боју. Ако чује много гласова за „црвено“ и мало за „зелено“, он ће закључити: „Вероватно је нешто црвено!“ и дати свој глас (нпр. 0.95 за црвено).
Менаџер за ОБЛИК: он слуша групе експерата који покривају одређену област, на основу њихових гласова, он може препознати да је нешто „округло“ на врху.
Менаџер за ТЕКСТУРУ: Он анализира гласове и може закључити да је површина глатка, а не храпава.
Ових менаџера може бити и неколико нивоа, нпр. може постојати и „Главни менаџер за воће и поврће“ који слуша менаџере за боју, облик и текстуру и даје своју процену.
Kорак 3: Генерални директор (излазни слој)
На крају, сви гласови стижу до „генералног директора“. Он је једини који види свеукупну слику кроз извештаје менаџера.
Он види следеће извештаје:
Извештај менаџера за боју: „Вероватно јако црвено.“
Извештај менаџера за облик: „Вероватно округло.“
Извештај менаџера за величину: „Вероватно мало.“
Извештај менаџера за текстуру: „Вероватно глатко.“
На основу свих тих информација, директор доноси коначну одлуку:
„На основу свих ових података, закључујем да је са 95% вероватноће парадајз.“
Где је ту „учење“? (градијентни спуст у акцији)
На почетку, сви експерти и менаџери су потпуно „неуки“. Ево како уче: Покаже им се слика парадајза. Мрежа погреши и каже „краставац“.
Рачунар (тренер) каже: „Погрешили сте за 95%!“
Затим, користећи градијентни спуст, програм иде уназад кроз цео скуп експерата и каже сваком:
„Менаџеру за БОЈУ, твоја процена ‘црвено’ је била врло важна за прави одговор. Повећај важност (тежину) везе између тебе и експерата који виде црвено.“
„Менаџеру за ТЕKСТУРУ, твоја процена ‘храпаво’ је довела до погрешног закључка. Смањи важност те везе.“
Понови се овај процес милион пута са хиљадама слика парадајза, краставаца, банана, кромпира…
Након сваког понављања, „важност“ (тежина) сваке везе у мрежи се мало дотерује. Полако, полако, мрежа „учи“ да црвена, округла и глатка ствар вероватно јесту парадајз.
Неуронска мрежа је систем који се састоји од једноставних јединица (неурона) које раде једноставно регистровање карактеристика, слојева који комбинују резултате, процеса учења (градијентни спуст) који систематски подешава „важност“ веза између тих јединица тако да мрежа даје што тачније одговоре.
AI агенти
Досад смо углавном описивали разне аспекте принципа рада AI али не и конкретну примену. Једна од најчешћих примена су тзв. AI агенти.
Купујете авионску карту, упутили сте упит о цени, агент је одговорио, рекли сте да хоћете да резервишете, послат вам је линк за плаћање. Шта се овде заправо десило?
Модел је оркестрирао рад такозваних тулова (tools) – програма који раде као класичан софтвер једну детерминисану операцију. Прво је модел покренуо програм за враћање цене карте из базе онда је опет у договору с вама покренуо програм за резервацију карте и на крају програм за слање линка за плаћање.
Модел се овде поставља у улогу менаџера, заправо ради исто оно што би радио и човек на његовом месту, јер и за човека само условно кажемо „резервисао ми је карту“ док је он заправо покренуо неколико различитих програма један за другим и све повезао у једну целину.
Агент је систем у којем AI модел оркестрира процес који се састоји од различитих активности које врше разни програми са конкретним крајњим циљем.
Зато агента можемо посматрати као једно радно место.
Ово и јесте прва конкретна помоћ од стране AI, али и прва бојазан потиче одавде – јер ће са сваким ефикасним агентом бити једно радно место мање.
Друга бојазан је на пример то што по сличном принципу продаје авионских карата агент може да оркестрира снимке радара, извештаје сателита и на основу њих да усмерава и активира ракетни систем и овакви агенти већ постоје. Страх овде потиче од тога што ће имати „слободу одлучивања“ где ће на крају усмерити те ракете, заправо од тога да његов принцип рада подразумева одређену „креативност“ а самим тим и непредвидљивост. Такође се због способности учења не може гарантовати да ће систем и сутра бити такав каквим смо га оставили данас, као и у коју страну тачно ће та промена ићи.
Визуални AI
Вратимо се Цунету (и другим правим вредностима)!
Покушали смо са бесплатним моделом https://www.oreateai.com/ за генерисање слике да направимо слику за илустрацију примера са почетка текста „Кафу ми драга…(?)“ па смо поставили упит.
„Make an image in a funny cartoon style of singer Predrag Cune Gojkovic, from Serbia, smiling, dressed in a suit with a tie, as he is drinking a coffee from a small cup.“
(Ово „кафана код Цунета“ је сам измислио.)
Модел се није превише добро снашао сам, па смо морали да га „наговарамо“, а један од трикова је да се упути на слику неке познате личности доста присутне на интернету, па да се додатним описом слика коригује, ево како је то изгледало:
Дорада промпта: „He is a bit of a chubby man, with gray moustache and beard just around his chin and mouth, with glasses, around 60 years old, with dark hair combed backwards. He looks a little bit like actor John Goodman but with lower forhead and a narrower chin and with a straight nose.“
Као што видимо, модел је доста слаб, мало је и „халуцинирао“ убацивши трећу руку, али је тако и боље јер можда и више открива о принципу рада него да је одмах све урадио савршено.
Приликом препознавања слике AI је разлаже у неколико лејера – слојева, у првом региструје ивице, у другом једноставне облике, у трећем сложене облике и у четвртом лица и објекте.
На излазу из ова четири слоја налази се модел за класификацију који одређује вероватноћу онога шта је на слици по томе шта је сваки од слојева јавио да је „видео“.
Рађен је овакав експеримент као на слици испод, замрзавана је слика у сваком од четири слоја неуронске мреже да би се видело шта сваки од њих „види“:
Ми знамо да је на овој познатој слици сликар представио људе на плажи јер смо научени да људи могу бити и овако представљени са одређеном дозом апстракције. AI уопште не види овде плажу и људе већ види патерне, шеме, мустре, као ми кад гледамо дезен тканине, кору на дрвету, парцеле земље из авиона или облаке. За њега је свака слика оно што је за нас апстрактно сликарство.
Нижи слојеви виде ивице а виши лица и детаље, тако да кад поставимо упит да препозна лица на доњој слици модел почне да их „умишља“ у облацима, трави – тј. препознаје облике сличне лицима и очима и тамо где их нема.
Кад је датасет уместо на сликама животиња трениран на сликама грађевина, видео је у истом експерименту свуда обрисе зграда.
Fun fact: Када је истом чет боту који је у овом тексту на неким местима цитиран постављен захтев: „Генериши слику за тизер чланка о вештачкој интелигенцији у футуристичком стилу са живим бојама“ избацио је одмах слику која је коришћена за најаву овог поста вероватно јер је алгоритам радио по принципу: „текст о AI –> углавном мушки читаоци –> „sex sells everything“ (стари мото америчких маркетиншких радника)“.
Метафизичко питање креативности
AI је, као што смо видели, добар у учењу патерна, шаблона, шема. Дакле ако му напишете упит: „размишљај као Милош Црњански и допиши пола стране у првој књизи Сеоба и убаци га на то и то место“, он ће научити и ископирати стил и контекст вероватно боље од било којег писца и то за можда пола минута, и кад бисте после то дали стручњацима за Црњанског много би их се зачудило како никад нису приметили тај пасус. Није искључено да би и сам Црњански рекао да је на тај део потпуно заборавио.
Ово све значи да AI није програм у досад познатом алгоритамском, предвидљивом смислу, њему јесу потребне људске инструкције за сада, да би на пример „добро писао“ и не значи да ће писати плитку књижевност, јер уме да копира постојеће шаблоне и комбинује их. Прави је проблем што ће се вероватно појавити ускоро виртуелни писци, а вероватно већ и постоје, са занимљивим штивом које ће се продавати и мало ко ће разумети превару да је текст писао језички модел, копирајући доброг а не много познатог писца из Вијетнама или Новог Зеланда с почетка 20-ог века.
Питање је и да ли је ово стварно превара? Јесте ако замишљате човека, јер ће људима вероватно и даље бити важно да ли преко штива комуницирају са правом личношћу и његовим искуством. Али ако посматрамо саме идеје, изоловано од аутора, то може и да нам не буде важно, као што нам углавном није важно кад од чет бота тражимо информацију или објашњење у вези било које теме.
Овде се може ставити замерка да прављење оваквих садржаја није права креативност, али је питање да ли ми уопште знамо шта права креативност јесте. Позната је реченица коју је поновило више великана након добијања награда и славе: „не бих успео да нисам стајао на раменима дивова“, AI у суштини не ради ништа друго, осим што стоји на нечијим раменима , били то дивови или патуљци.
Овде се сад примичемо питању порекла и природе саме креативности, да ли је у питању функција интелекта или духа, и у коликој мери једног, а у коликој другог. Овде вештачка интелигенција полако „помера цара до дувара“, и у том заузимању човекове досад неприкосновене територије као да му говори: „Много си био горд, али то што си ти могао интелектом, могу сад и ја, и то боље.“
Дакле, остаје још питање духа. Атеисти ће рећи да тог питања и нема, за њих је вештачка интелигенција већ победила са убедљивим резултатом и то без права на реванш.
Са друге стране људи који верују у људски дух, као Божију искру у човеку, могу овакву ситуацију видети и као добру, јер ће бити уништено све оно што се представљало као производ духа, а то није, већ је било производ калкулантског разума, за који су способне и машине.
Упознај (не)пријатеља
Вештачка интелигенција ће бити тема која ће се све чешће чути и она ће уз нашу свест или без ње све више утицати на наше животе. Пошто је највећи страх од непознатог, све написано има смисао давања неких смерница за бољу оријентацију и даљи разговор на ову тему, да би се он кретао у оквиру онога што AI стварно јесте а не што замишљамо да јесте, такође се може схватити и као упознавање новог сарадника или као стратегија позната као „упознај непријатеља“.
За крај – порука из реалног Метаверзума
Овај текст може бити завршен само на један логичан начин – уз звук који некад нису стварали алгоритми и вероватноћа, већ људски дух, а овај конкретно се сада већ налази, верујемо, у најбољем делу оног правог Метаверзума. А могли би и да сипамо по једну, препечену, са основним параметром подешеним најбоље на око 45.
ИЗМЕНЕ: Цео текст је језички сређен (5. 3. 2026. у 15:25).
