Велика мовна модельВелика мовна модель або велика модель мови (ВММ або LLM від англ. large language model) — це модель мови, що складається з нейронної мережі з багатьма параметрами (від десятків мільйонів до мільярдів), навчених на великій кількості немаркованого тексту за допомогою самокерованого або напівкерованого навчання[1]. LLM з'явилися приблизно у 2018 році та добре справляються з різноманітними завданнями. Це змістило фокус досліджень обробки природної мови з попередньої парадигми підготовки спеціалізованих керованих моделей для конкретних завдань. Хоча термін «велика мовна модель» не має формального визначення, він часто відноситься до моделей глибокого навчання з мільйонами або навіть мільярдами параметрів, які були «попередньо навчені» на великому корпусі. LLM — це моделі загального призначення, які відмінно справляються з широким спектром завдань, на відміну від навчання для одного конкретного завдання (наприклад, аналіз настроїв, розпізнавання іменованих об'єктів або математичне міркування)[2]. Діапазон і майстерність, з якою вони можуть виконувати завдання, як правило, є функцією кількості ресурсів (даних, розміру параметрів, обчислювальної потужності), виділених для них[3]. АрхітектураВеликі мовні моделі найчастіше використовують архітектуру типу трансформер, яка з 2018 року стала стандартною технікою глибокого навчання для послідовних даних (раніше найбільш поширеними були рекурентні архітектури, такі як LSTM). ТокенізаціяLLM — це математичні функції, вхід і вихід яких є списками чисел. Отже, слова потрібно перетворити на числа. LLM використовують окремий токенізатор, який відображає між текстами та списками цілих чисел. Цей токенізатор зазвичай спочатку адаптується до всього навчального набору даних, а потім заморожується до того, як LLM буде навчений. Токенізатор виконує подвійну роль, яка включає стиснення тексту, що економить обчислювальні ресурси. Наприклад, загальні слова або фрази на кшталт «де знаходиться» можуть бути закодовані в один токен замість семи символів. Іншою функцією токенізаторів є стиснення тексту, що економить обчислення. Звичайні слова чи фрази, як-от «де є», можна закодувати одним маркером замість 7 символів. У серії OpenAI GPT використовується токенізатор, де 1 маркер відображає приблизно 4 символи, або приблизно 0,75 слова, у звичайному англійському тексті[4]. Незвичайний англійський текст менш передбачуваний, тому менш стискається, тому для кодування потрібно більше токенів. Токенізатор не може виводити довільні цілі числа. Зазвичай вони виводять лише цілі числа в діапазоні , де називається розміром його словникового запасу. Деякі токенізери здатні обробляти довільний текст (зазвичай, працюючи безпосередньо з Unicode), але деякі ні. Зустрічаючи текст, який не кодується, токенізатор виводить спеціальний маркер (часто 0), який представляє «невідомий текст». Це часто записується як [UNK], наприклад, у статті BERT. Інший спеціальний маркер, який зазвичай використовується, це [PAD] (часто 1), для «заповнення». Це використовується тому, що LLM зазвичай використовуються для пакетів тексту одночасно, і ці тексти не кодуються до однакової довжини. Оскільки LLM зазвичай вимагають, щоб вхідні дані були масивом без зубців, коротші закодовані тексти повинні бути доповнені, поки вони не збігаються з довжиною найдовшого. НавчанняБільшість LLM попередньо навчені таким чином, що враховуючи навчальний набір текстових маркерів, модель передбачає маркери в наборі даних. Існує два загальних стилі такої попередньої підготовки[5]:
Див. такожПримітки
|