Нека разберем голямата картина зад генеративния AI

През последните месеци се наблюдава възходът на така наречения „генеративен AI“, който е подполе на изкуствения интелект (AI). Инструменти като ChatGPT се превърнаха в една от най-изговаряните думи и се превръщат в основни инструменти за ежедневни задачи в много работни места („дори да се научите да кодирате“).

Думи като „DALL-E“, „ChatGPT“ и „Generative AI“ проникнаха в социалните мрежи, медиите, чатовете с колеги и всичко, свързано с нашия свят през последните няколко месеца. Буквално всички говорят за това.

Но какво е генеративен AI? Защо това е различно от „нормалния“ AI?

В тази статия ще изясним голямата картина зад генеративния AI. Така че, ако сте участвали в дискусии, но нямате ясни идеи по тази тема, тази статия определено е за вас.

Това е дискурсивно обяснение за разбиране на основите на това, което стои зад сцената на генеративния AI. Така че, не се притеснявайте: тук няма да намерите никакъв код. Само идеи и описания и те ще бъдат представени по много кратък и сбит начин. По-конкретно, ще се съсредоточим върху големите езикови модели и моделите за генериране на изображения.

Ето обобщение на това, което ще научите тук:

Table of Contents:

What is generative AI and how does it differ from trditional AI?
Large Language Models
Image generation

Какво е генеративен AI и как се различава от традиционния AI?

Generative AI е подполе на AI, което включва създаване на алгоритми, които могат да генерират нови данни като изображения, текст, код и музика.

Голямата разлика между генеративния AI и „традиционния AI“ е, че първият генерира нови данни въз основа на данните за обучение. Освен това работи с типове данни, които „традиционният AI“ не може.

Нека го кажем малко по-технически:

  • „Традиционният AI“ може да се определи като дискриминиращ AI. В този случай всъщност ние обучаваме модели на машинно обучение, така че те да могат да правят прогнози или класификации на нови, невиждани данни. Тези ML модели могат да работят само с числа, а понякога и с текст (например в случай на обработка на естествен език).
  • В генеративния AI ние обучаваме ML модел и той създава изход, който е подобен на данните, върху които е бил обучен. Тези видове ML модели могат да работят с различни видове данни като числа, текст, изображения и аудио.

Нека визуализираме процесите:

И така, в традиционния AI, ние обучаваме ML модел да се учи от данни. След това го захранваме с нови и невиждани данни и той може да дискриминира, като прави прогнози или класификации.

По отношение на представения пример, ние обучихме ML модел да разпознава кучета от изображения. След това захранваме обучения ML модел с нови и невиждани снимки на кучета и той ще може да класифицира дали тези нови изображения представляват кучета или не.

Това е типичната задача за алгоритъм за дълбоко обучение в случай на проблем с класификацията.

В случай на генеративен AI вместо това ние обучаваме ML модел с данни от различни източници, използвайки огромно количество данни. След това, благодарение на подкана (заявка на естествен език, вмъкната от потребител), моделът ни дава резултат, който е подобен на данните, върху които е бил обучен.

За да се придържаме към примера, нашият модел е обучен върху огромно количество (текстови) данни, които, наред с други, обясняват какво е куче. След това, ако потребител попита модела какво е куче, моделът ще опише какво е куче на естествен език.

Това е типичната задача, изпълнявана от инструменти като ChatGPT.

Сега нека видим някои видове генеративни AI модели.

Големи езикови модели

Нека започнем да се гмурнем в различните видове генеративни AI подполета, като започнем с Големите езикови модели (LLM). „LLM е“ (от Wikipedia):

компютъризиран езиков модел, състоящ се от изкуствена невронна мрежа с много параметри (десетки милиони до милиарди), обучени върху големи количества немаркиран текст, използвайки самоконтролирано обучение или полуконтролирано обучение.

Въпреки че терминът голям езиков модел няма формална дефиниция, той често се отнася до модели за дълбоко обучение с милиони или дори милиарди параметри, които са били „предварително обучени“ в голям корпус.

И така, LLM са модели за дълбоко обучение (DL) (известни още като невронни мрежи), обучени с милиони параметри върху огромно количество текст (ето защо ги наричаме „големи“) и са полезни за решаване на някои езикови проблеми като:

  • Класификация на текста
  • Въпроси и отговори
  • Резюмиране на документа
  • Генериране на текст

И така, друга важна разлика между стандартните ML модели е, че в този случай можем да обучим DL алгоритъм, който може да се използва за различни задачи.

Нека обясня по-добре.

Ако трябва да разработим система, която може да разпознава кучета в изображения, както сме виждали преди, трябва да обучим DL алгоритъм за „решаване на задача за класификация“, което е: кажете ни дали нови, невиждани изображения представляват кучета или не. Нищо повече.

Вместо това обучението за LLM може да ни помогне във всички задачи, които описахме по-горе. Така че това също така оправдава количеството изчислителна мощност (и пари!), необходима за обучение на LLM (което изисква петабайти данни!).

Както знаем, LLMs се запитват от потребителите благодарение на подканите. Сега трябва да открием разликата между бърз дизайн и бърз инженеринг:

  • Бърз дизайн. Това е изкуството да се създаде подкана, която е специално подходяща за конкретната задача, която системата изпълнява. Например, ако искаме да помолим нашия LLM да преведе текст от английски на италиански, трябва да напишем конкретна подкана на английски, като поискаме от модела да преведе текста, който поставяме, на италиански.
  • Бърз инженеринг. Това е процесът на създаване на подкани за подобряване на ефективността на нашия LLM. Това означава да използваме нашите знания за домейна, за да добавим подробности към подканата като конкретни ключови думи, конкретен контекст и примери и желания резултат, ако е необходимо.

Разбира се, когато подсказваме, понякога използваме комбинация от двете. Например, може да искаме превод от английски на италиански, който представлява интерес за определена област от знания, като механика.

Така например подкана може да бъде:” Преведете на италиански следното:

гредата е подложена на нормално напрежение.

Помислете, че сме в областта на механиката, така че „нормалният стрес“ трябва да е свързан с него“.

Защото знаете: „нормално“ и „стрес“ може да бъдат погрешно разбрани от модела (но дори и от хората!).

Трите типа LLMs

Има три типа LLMs:

  • Общи езикови модели. Те са в състояние да предвидят дума (или фраза) въз основа на езика в данните за обучение. Помислете например за вашата функция за автоматично довършване на имейли, за да разберете този тип.
  • Настроени модели с инструкции. Тези видове модели са обучени да предвиждат отговор на инструкциите, дадени във входа. Резюмирането на даден текст е типичен пример.
  • Настроени модели в диалоговия прозорец. Те са обучени да водят диалог с потребителя, като използват последващите отговори. Чатбот, задвижван от AI, е типичен пример.

Както и да е, имайте предвид, че моделите, които действително се разпространяват, имат смесени характеристики. Или поне могат да извършват действия, които са типични за повече от един от тези типове.

Например, ако мислим за ChatGPT, можем ясно да кажем, че той:

  • Може да предвиди отговора на инструкциите, като даде вход. Всъщност, например, той може да обобщава текстове, да дава представа за определен аргумент, който предоставяме чрез подкани и т.н., така че има функции като Instruction Tuned Model.
  • Обучава се да води диалог с потребителите. И това е много ясно, тъй като работи с последователни подкани, докато не сме доволни от отговора му. Така че, той също има функции като Dialog Tuned Model.

Генериране на изображения

Генерирането на изображения съществува от доста време, противно на това, което може да се вярва.

Както и да е, напоследък тя придоби популярност, особено с инструменти като „DALL-E“ или „стабилна дифузия“, които изчистиха употребата си, правейки тази технология достъпна за масите по света.

Можем да кажем, че генерирането на изображения може да бъде разделено на четири категории:

  • Вариационни автоенкодери (VAE). Вариационните автоенкодери савероятностни генеративни модели, които изискват невронни мрежи само като част от цялостната им структура“. С операционни думи, те кодират изображения до компресиран размер и ги декодират до оригиналния размер. По време на този процес те научават разпределението на данните.
  • Генеративни състезателни модели (GAN). Това обикновено са най-известните, поне като дума, която резонира в областта на генеративния AI. GAN е клас от ML рамка, в която две невронни мрежи са изправени една срещу друга, където печалбата на едната е загуба на другата. Това означава, че едната невронна мрежа създава изображението, докато другата предсказва дали е истинско или фалшиво.
  • Авторегресивни модели. В статистиката авторегресивен модел е представянето на случаен процес. В контекста на генеративните изображения, тези видове модели генерират изображения, като третират изображенията като последователност от пиксели.
  • Дифузионни модели. Дифузионните модели са вдъхновени от термодинамиката и определено са най-обещаващите и интересни видове модели в подполето на генериране на изображения.

Това е процесът, работещ под капака на дифузионните модели:

  • Процес на разпространение. Имаме първоначален, итеративен процес, при който структурата на изображението се „унищожава“ при разпространение на данни. С прости думи, е като итеративно да добавяме шум към изображението, докато всички пиксели се превърнат в чист шум и изображението не се разпознава (от човешкото око).
  • Процес на обратна дифузия. След това има процес на обратна дифузия, който е действителният процес на обучение: това възстановява структурата на данните. Сякаш нашият модел се научава как да „де-шуми“ пикселите, за да пресъздаде изображението.

Силата да свързваш всичко

Ако сте поддържали вниманието досега, в ума ви естествено трябва да изникне въпрос: „Добре, Федерико, ясно е. Но пропускам нещо: когато използвам „DALL-E“, вмъквам подкана и извежда изображение: не сме говорили за това, нали?!“.

Не, нямаме.

По-горе направихме кратко описание на най-обещаващия (и в момента най-използван) модел за генериране на изображения, но липсващата част е подканата.

Обсъдихме всъщност как работят на високо ниво. Значение: дадохме кратко обяснение как протича процесът на обучение.

Но истинската сила на тези модели се проявява, когато са съчетани с LLM. Това свързване всъщност ни дава възможността да комбинираме силата на бързото инженерство, за да поискаме от нашите модели резултати.

С други думи: комбинирахме възможността да използваме естествен език като входни данни за модели, които действително могат да го разберат и могат да генерират изображения според него.

Не е ли суперсила?!?

Изводи

В заключение можем да кажем, че генеративният AI е подполе на AI, което генерира нови данни, подобни на данните за влака.

Докато, от една страна, LLM могат да генерират текст въз основа на данни за обучение, а моделите за генериране на изображения могат да генерират нови изображения въз основа на изображенията за обучение, истинската сила на генериращия AI, поне в случай на изображения, разчита на комбинацията от LLM и модели за генериране на изображения. Това ни дава възможност да създаваме изображения според подканите като входни данни.

ЗАБЕЛЕЖКА: тази статия е свободно вдъхновена от курса Generative AI, предоставен от Google, и някои препратки са взети от него. Предлагам да вземете този курс за по-добро разбиране на генеративния ИИ.

БЕЗПЛАТНА ЕЛЕКТРОННА КНИГА PYTHON:

Започнахте да изучавате Python Data Science, но се борите с това? Абонирайте се за моя бюлетин и вземете моята безплатна електронна книга: това ще ви даде правилния учебен път, който да следвате, за да научите Python за Data Science с практически опит.

Хареса ли ви историята? Станете среден член за 5$/месец чрез моята реферална връзка: Ще спечеля малка комисионна без допълнителна такса за вас: