Еволюцията на Llama: Предизвикателство към статуквото
Когато Llama се появи за първи път, тя предизвика доминацията на големите, затворени LLM от технологичните гиганти. Meta AI възприе стратегия, която се фокусира върху по-малки, по-обобщени модели. Основната идея беше, че тези по-малки модели, обучени на огромен брой токени, ще бъдат по-лесни и по-рентабилни за преобучение и фина настройка за специализирани задачи. Този подход контрастира рязко с тенденцията за изграждане на все по-големи, ресурсоемки модели.
Въпреки това, ‘отвореният код’ на Llama е обект на дебат. Лицензът Meta Llama включва специфични ограничения за търговска и приемлива употреба. Макар че тези ограничения са може би оправдани, те противоречат на строгата дефиниция на Open Source Initiative за отворен код. Това доведе до продължаващи дискусии дали Llama наистина се квалифицира като отворен код.
Навигиране в правни предизвикателства: Опасения за авторски права
Разработката на Llama не мина без правни пречки. През 2023 г. Meta се изправи пред два колективни иска от автори, които твърдяха, че техните защитени с авторски права книги са били използвани без разрешение за обучение на Llama. Тези съдебни дела подчертават сложните проблеми с авторските права, свързани с данните за обучение, използвани за големи езикови модели. Засега съдилищата не са особено благосклонни към исковете на авторите.
Разширяване на възможностите: Разрастващото се семейство модели на Llama
От края на 2023 г. Meta AI значително разшири семейството на Llama. Моделите вече не се ограничават до текстови взаимодействия. Настоящата екосистема на Llama включва мултимодални модели, способни да обработват както текстови, така и визуални входове, както и модели, предназначени за интерпретация на код и интеграция на инструменти. Освен това Meta въведе компоненти за безопасност, известни като Llama Guard, за идентифициране и смекчаване на потенциални рискове и атаки, те са проектирани да бъдат част от цялостна рамка, наречена ‘Llama Stack’.
Ето по-задълбочен поглед върху някои от ключовите модели в семейството на Llama (съкратено от картите на моделите на Meta AI):
Llama Guard 1: Защита на взаимодействията
Llama Guard 1 е модел със 7 милиарда параметъра, базиран на Llama 2. Той служи като предпазна мярка за вход-изход, класифицирайки съдържанието както в потребителските подкани (класификация на подкани), така и в отговорите на LLM (класификация на отговорите). Този модел помага да се осигурят по-безопасни и по-отговорни взаимодействия със системи, базирани на Llama.
Llama Guard използва шестстепенна таксономия за категоризиране на потенциални вреди:
- Насилие и омраза: Съдържание, насърчаващо насилие или омраза към индивиди или групи.
- Сексуално съдържание: Сексуално експлицитен материал или съдържание, което експлоатира, злоупотребява или застрашава деца.
- Оръжия и незаконни оръжия: Съдържание, свързано с незаконната продажба, употреба или модификация на огнестрелни оръжия и други оръжия.
- Регулирани или контролирани вещества: Съдържание, насърчаващо незаконната употреба или продажба на наркотици, алкохол или тютюн.
- Самоубийство и самонараняване: Съдържание, което насърчава или предоставя инструкции за самоубийство или самонараняване.
- Престъпно планиране: Съдържание, което улеснява или планира незаконни дейности.
Code Llama 70B: Триада от кодиращи умения
Code Llama 70B бележи значително разширяване на възможностите за кодиране на Llama. Този модел се предлага в три различни варианта:
- Code Llama: Основният модел, предназначен за общо синтезиране и разбиране на код. Той може да генерира код, да обяснява функционалността на кода и да помага при отстраняване на грешки.
- Code Llama – Python: Специализирана версия, пригодена за програмиране на Python. Този модел е оптимизиран за генериране и разбиране на Python код, което го прави ценен инструмент за Python разработчици.
- Code Llama – Instruct: Вариант, фокусиран върху следването на инструкции и осигуряването на по-безопасно внедряване. Този модел е особено полезен за генериране на код, който се придържа към специфични насоки и протоколи за безопасност.
И трите варианта се предлагат в различни размери: 7 милиарда, 13 милиарда, 34 милиарда и 70 милиарда параметъра. Code Llama и неговите варианти са предназначени както за търговска, така и за изследователска употреба, предимно на английски език (English) и свързани езици за програмиране. Има достатъчно доказателства, които предполагат, че Code Llama притежава силни кодиращи способности.
Llama Guard 2: Подобрена класификация на безопасността
Llama Guard 2 надгражда основата на своя предшественик, предлагайки подобрени възможности за класификация на безопасността. Този модел с 8 милиарда параметъра, базиран на Llama 3, е обучен да предсказва етикети за безопасност в 11 категории, съответстващи на таксономията на MLCommons за опасности.
Категориите опасности, обхванати от Llama Guard 2, включват:
- S1: Насилствени престъпления: Съдържание, свързано с насилствени престъпни деяния.
- S2: Ненасилствени престъпления: Съдържание, свързано с ненасилствени престъпления.
- S3: Престъпления, свързани със секс: Съдържание, включващо сексуални престъпления.
- S4: Сексуална експлоатация на деца: Съдържание, което експлоатира, злоупотребява или застрашава деца сексуално.
- S5: Специализирани съвети: Неквалифицирани или подвеждащи съвети в специализирани области (напр. медицински, правни, финансови).
- S6: Поверителност: Съдържание, което нарушава поверителността или разкрива лична информация без съгласие.
- S7: Интелектуална собственост: Съдържание, което нарушава правата върху интелектуалната собственост.
- S8: Безразборни оръжия: Съдържание, свързано с оръжия, които причиняват широко разпространени и безразборни вреди.
- S9: Омраза: Съдържание, изразяващо омраза или предразсъдъци към индивиди или групи.
- S10: Самоубийство и самонараняване: Съдържание, насърчаващо или предоставящо инструкции за самоубийство или самонараняване.
- S11: Сексуално съдържание: Сексуално експлицитен материал.
Meta Llama 3: Гъвкавост в диалога
Meta Llama 3 се предлага в два размера, 8 милиарда и 70 милиарда параметъра, както с предварително обучени, така и с инструктирани варианти. Инструктираните модели са специално оптимизирани за приложения, базирани на диалог, което ги прави подходящи за чатботове и разговорни AI системи.
Prompt Guard: Защита срещу злонамерени входове
Prompt Guard е класификационен модел, предназначен да открива злонамерени подкани, включително jailbreaks (опити за заобикаляне на ограниченията за безопасност) и prompt injections (опити за манипулиране на изхода на модела чрез изработени входове). Meta AI препоръчва фина настройка на Prompt Guard с данни, специфични за приложението, за да се постигне оптимална производителност.
За разлика от Llama Guard, Prompt Guard не изисква специфична структура на подканата. Той работи върху входен низ, класифицирайки го като безопасен или опасен (на две различни нива на тежест). Това е BERT модел, който извежда изключително етикети.
Llama Guard 3: Мултимодална и многоезична безопасност
Llama Guard 3 се предлага в три версии: Llama Guard 3 1B, Llama Guard 3 8B и Llama Guard 3 11B-Vision. Първите две са модели само за текст, докато третият включва възможностите за разбиране на изображения на модела Llama 3.2 11B-Vision. Всички версии са многоезични (само за текстови подкани) и се придържат към категориите опасности, дефинирани от консорциума MLCommons.
Llama Guard 3 8B може да се използва и за категория S14, злоупотреба с Code Interpreter. Важно е да се отбележи, че моделът Llama Guard 3 1B не е оптимизиран за тази конкретна категория.
Категориите опасности, разширяващи тези на Llama Guard 2, са:
- S1: Насилствени престъпления
- S2: Ненасилствени престъпления
- S3: Престъпления, свързани със секс
- S4: Сексуална експлоатация на деца
- S5: Клевета
- S6: Специализирани съвети
- S7: Поверителност
- S8: Интелектуална собственост
- S9: Безразборни оръжия
- S10: Омраза
- S11: Самоубийство и самонараняване
- S12: Сексуално съдържание
- S13: Избори
- S14: Злоупотреба с Code Interpreter
Meta Llama 3.1: Мултиезични генеративни модели
Колекцията Meta Llama 3.1 включва многоезични големи езикови модели, включително предварително обучени и инструктирани генеративни модели в размери 8 милиарда, 70 милиарда и 405 милиарда параметъра (текстов вход, текстов изход).
Поддържаните езици включват: английски (English), немски, френски, италиански, португалски, хинди, испански и тайландски.
Meta Llama 3.2: Подобрени възможности за диалог
Колекцията Llama 3.2 включва многоезични големи езикови модели, обхващащи предварително обучени и инструктирани генеративни модели в размери 1 милиард и 3 милиарда параметъра (текстов вход, текстов изход). Налични са и квантувани версии на тези модели. Инструктираните текстови модели Llama 3.2 са оптимизирани за многоезичен диалог, отличавайки се в задачи като извличане и обобщаване на агенти. Моделите 1B и 3B са по-малки, по-малко мощни производни на Llama 3.1.
Официално поддържаните езици са: английски (English), немски, френски, италиански, португалски, хинди, испански и тайландски. Llama 3.2 обаче е обучен на по-широк кръг от езици извън тези осем.
Llama 3.2-Vision: Разсъждение и разбиране на изображения
Колекцията Llama 3.2-Vision въвежда мултимодални големи езикови модели. Тези модели са предварително обучени и инструктирани за разсъждение на изображения, налични в размери 11 милиарда и 90 милиарда параметъра (текстов и образен вход, текстов изход). Инструктираните модели са оптимизирани за визуално разпознаване, разсъждение на изображения, надписи и отговаряне на общи въпроси относно изображения.
За задачи само с текст официално поддържаните езици са английски (English), немски, френски, италиански, португалски, хинди, испански и тайландски. Llama 3.2 е обучен на по-широк набор от езици, но за приложения с изображение+текст английският (English) е единственият поддържан език.
Meta Llama 3.3: Мощен 70B модел
Мултиезичният голям езиков модел Meta Llama 3.3 е предварително обучен и инструктиран генеративен модел със 70 милиарда параметъра (текстов вход, текстов изход).
Поддържани езици: английски (English), немски, френски, италиански, португалски, хинди, испански и тайландски.
От решаващо значение е да се разбере, че големите езикови модели, включително Llama 3.2, не са предназначени за изолирано внедряване. Те трябва да бъдат интегрирани в цялостна AI система с подходящи предпазни мерки. От разработчиците се очаква да прилагат системни предпазни мерки, особено при изграждането на агентни системи.
Llama 3.3, Llama 3.2 моделите само за текст и Llama 3.1 включват вградена поддръжка за следните инструменти:
- Brave Search: Извикване на инструмент за извършване на уеб търсения.
- Wolfram Alpha: Извикване на инструмент за извършване на сложни математически изчисления.
- Code Interpreter: Извикване на инструмент, позволяващ на модела да извежда Python код.
Забележка: Llama 3.2 визуалните модели не поддържат извикване на инструменти с входове текст+изображение.
Llama Stack: Единна рамка
Самият брой на Llama моделите може да бъде огромен. За да опрости процеса на избор и интеграция, Meta предлага Llama Stack. Тази рамка набляга на Llama моделите, но също така предоставя адаптери за свързани възможности, като векторни бази данни за генериране с разширено извличане (RAG).
Llama Stack в момента поддържа SDK в Python, Swift, Node и Kotlin. Той предлага различни дистрибуции, включително:
- Локална дистрибуция (използвайки Ollama): За локална разработка и тестване.
- Дистрибуции на устройство (iOS и Android): За внедряване на Llama модели на мобилни устройства.
- Дистрибуции за GPU: За използване на мощността на GPU за по-бърза обработка.
- Дистанционно хоствани дистрибуции (Together и Fireworks): За достъп до Llama модели чрез облачни услуги.
Основната концепция зад Llama Stack е да позволи на разработчиците да изграждат приложения локално и след това лесно да преминат към производствена среда. Той дори предоставя интерактивен Llama Stack Playground за локална разработка срещу отдалечен Llama Stack.
Стартиране на Llama модели: Гъвкави опции за внедряване
Llama моделите могат да бъдат внедрени на различни платформи, включително Linux, Windows, macOS и облака. Квантуваните Llama модели, като Llama 3.2 и Llama 3.2-Vision, могат да работят ефективно на модерен хардуер, дори на лаптопи като M4 Pro MacBook Pro, използвайки инструменти като Ollama.
Meta предоставя изчерпателни ръководства за внедряване и използване на Llama модели. Освен това са налични ръководства за интеграция за популярни рамки като LangChain и LlamaIndex.
В обобщение, Llama премина отвъд това да бъде просто езиков модел, сега е мултимодална AI рамка, пълна с функции за безопасност, генериране на код и поддръжка за много езици. Системата на Meta позволява да бъде внедрена на много места, но правните проблеми с данните за обучение и споровете дали Llama е с отворен код, продължават.