Моделі нескінченної уваги: виклики, рішення та компроміси
Вікно контексту фіксованого розміру у ванільних моделях створює значні труднощі під час роботи з великими документами і текстами. Запропоноване Google рішення, так званий механізм нескінченної уваги, вирішує цю проблему, розширюючи контекстне вікно до вражаючих мільйона або навіть 10 мільйонів токенів. Таке вдосконалення є вигідним для певних кейсів у роботі.
Це чудова новина для деяких сценаріїв, що здатна вирішити деякі нішеві проблеми. Хоча обробка 10 мільйонів токенів у кожному запиті зараз можлива, це, як на мене, занадто, й може призвести до непомірно високої ціни такого підходу, а також до затримки відповіді і низької швидкості.
Отже, векторні бази даних та інші методи управління даними, що дозволяють жонглювати даними за допомогою RAG, залишаються актуальними і важливими, оскільки вони не стають застарілими завдяки моделям Infini-Attention. Натомість Infini-Attention є додатковим інструментом в інструментарії RAG.
Погляд зблизька
Як і у випадку з будь-якою технологією, яка не є магією чи панацеєю, деталі мають велике значення. Важливо визначити, які нішеві проблеми вона може вирішити і де шукати недоліки. Проблема з контекстним вікном 10M, як я вже казав, полягає в ціні та швидкості. Важливо зрозуміти, як побудований механізм нескінченної уваги під поверхнею багатообіцяючої нової технології, щоб усвідомлювати будь-які інші нюанси та наслідки.
Поки попередні механізми уваги у ванільних моделях намагалися проаналізувати всі токени до всіх інших (створюючи так звану квадратичну складність, що призводило до споживання великих обсягів пам’яті), механізм Infini-Attention мав на меті вирішити цю проблему шляхом лінійної обробки даних.
Лінійна обробка є частиною причини, чому такі моделі здатні значно зменшити обсяг споживаної пам’яті. Інша частина рішення — це стиснення пам’яті. Важливо розуміти тип стиснення і те, як воно працює. Перш за все потрібно знати, що це різновид стиснення з втратою даних, коли знижується якість, або, можна сказати, зменшується роздільна здатність даних. Також обмежується розмір використовуваної пам’яті з фіксованою кількістю параметрів для зберігання та виклику інформації.
Моделі Infini-Attention обробляють великі тексти, розбиваючи їх на послідовності, які працюють за допомогою «локальної уваги» та «точкової (dot-product) уваги» (що використовується у ванільних моделях).
Сегменти — це, по суті, шматки тексту, але цей термін застосовується до розбиття контексту в LLM. Моделі Infini-Attention вводять додаткову пам’ять, відому як прихована глобальна компресійна пам’ять, яка слугує підказкою між сегментами. Ця глобальна пам’ять інтегрує інформацію з усіх послідовностей, покращуючи здатність моделі керувати великими текстами, підтримуючи загальне глобальне знання в усіх сегментах.
Глобальна пам’ять стиснення «втрачає» інформацію, оскільки знижує роздільну здатність і якість, а також має обмежений розмір. Оскільки кожен сегмент тексту обробляється з локальною увагою, глобальна пам’ять безперервно оновлюється, інтегруючи нову інформацію та змінюючи параметри в глобальній пам’яті з поточною інформацією про сегмент. Цей процес повторюється для кожної послідовності, оновлюючи глобальну пам’ять лінійно, зберігаючи загальний контекст документа. Глобальна пам’ять стиснення підтримує фіксовану кількість параметрів, щоб зберігати і викликати інформацію з обмеженими витратами на зберігання і обчислення.
Моделі нескінченної уваги пропонують можливість обробляти кожен сегмент з такою ж якістю, як і традиційні механізми уваги, водночас вони враховують глобальну пам’ять, оновлену знаннями з попередніх послідовностей. Модель підлаштовує свої параметри в глобальній пам’яті так, щоб найкраще вловити загальну суть інформації.
Однак таке стиснення може призвести до певної втрати деталей через його характер з можливістю зменшення та фіксований розмір пам’яті, подібно до проблеми vanishing aбо exploding gradients (градієнтів, що зникають або вибухають). Це може призвести до упередження щодо недавності, коли нова інформація відображається з більшою точністю, ніж стара. А це потенційно може зменшити увагу до більш ранніх частин послідовності. Цей компроміс необхідний для управління великими обсягами тексту без перевантаження пам’яті. Незважаючи на ці компроміси, моделі Infini-Attention демонструють обнадійливі результати.
Стиснення є інтуїтивно зрозумілим і необхідним рішенням для управління великими обсягами даних. Обмеження глобальної пам’яті — це ціна, яку доводиться платити під час обробки нескінченних або величезних обсягів інформації. Без цього обмеження, навіть якщо інформацію з кожної послідовності значно зменшити, глобальна прихована пам’ять однаково зростатиме нескінченно, що зробить систему некерованою. Тому утримувати глобальну приховану пам’ять обмеженого розміру також є необхідністю.
📌
Exclusive: Gemini’s data-analyzing abilities aren’t as good as Google claimsNew research shows that Google might be overstating its generative AI’s ability to reason over long documents..
Використання стиснення в моделях з нескінченною увагою може призвести до певної втрати деталей через втрати та обмежений обсяг пам’яті. Це може призвести до зсуву щодо свіжості/позиції, коли більш свіжа або частіше повторювана інформація буде представлена з більшою точністю, ніж старіша, що потенційно може призвести до того, що більш раннім частинам тексту приділятиметься менше уваги. Це компроміс, який ми повинні заплатити за обробку великих обсягів тексту без перевантаження пам’яті.
Якість роздільної здатності моделей з нескінченною увагою, призначених для зменшення обсягу пам’яті за рахунок постійного оновлення з кожною новою послідовністю, неминуче призводить до певної втрати деталей і менш якісних результатів. На відміну від ванільних моделей, моделі з нескінченною увагою, навчені на довгих шматках даних, дослідження і згодом час покаже, як це впливає на якість отриманих результатів. Точний вплив цих компромісів і природа стиснення з втратами стануть зрозумілішими з часом.
Хоча на цьому етапі важко кількісно оцінити точний вплив цих компромісів і природу стиснення з втратами, поточний прогрес демонструє обнайдійливі результати, які раніше були недосяжними. Незважаючи на властиві компроміси, моделі з нескінченною увагою, ймовірно, є значним поліпшенням порівняно з минулими можливостями. Вони пропонують значний потенціал в управлінні великомасштабними завданнями обробки текстів.
Дехто може припустити, що RAG більше не знадобиться, якщо моделі нескінченної уваги позбудуться своїх недоліків, хоча це, швидше за все, не так. Ви можете побудувати LongRAG з акцентом на те, що отримані фрагменти будуть набагато більшими, ніж ті, що подаються до моделей (читача), які підтримують великі контекстні вікна. LongRAG усуває необхідність переранжування і демонструє хорошу продуктивність з загальнодоступною інформацією з Вікіпедії.
📌
LongRAG: Enhancing Retrieval-Augmented Generation with Long-context LLMsZiyan Jiang University of Waterloo & Xueguang MaUniversity of Waterloo & Wenhu Chen University of Waterloo
Висновки
Не буває лиха без добра. Або ж можна сказати, що за все є своя ціна. Велике контексте вікно впливає на якість результату. Хоча в деяких випадках все ж таки є сенс дещо поступитись якістю, обмінявши її на можливість обробити великий текст. Велике контекстне вікно (навіть якщо колись і досягне гарної якості) не вбиває RAG, а лиш може слугувати одним з багатьох інструментів в наборі конвеєрного застосунку-обгортки навколо LLM.
📌
Читайте в моїй попередній статті більше про Vector DB, пошук схожості, RAG та агентів: Еволюція ботів з ШІ: використовуємо можливості агентів, моделей RAG і LLM.Підтримка
Якщо вам сподобалася ця стаття і ви хочете підтримати мене:
- Натисніть «Подобається 👍» та додайте «До обраного ⭐️» мою статтю; це допоможе мені. Також стежте за мною на DOU, щоб читати останні статті.
- Дайте відгук у коментарях нижче, навіть якщо це просте «дякую» - це допоможе мені розуміти, що моя робота була не марною. Якщо є помилки, скажіть, де, а найголовніше — як виправити, не претендую на роль всезнайки.
- Шукаю ентузіастів та однодумців, що знаються на Python і хотіли б втілити описані ідеї в моїх статтях у життя, і, можливо, навіть зробити сумісний проєкт: Напишіть мені в LinkedIn. Наразі працю над PoC RAG & KG, який використовує описані принципи у моїх статтях. Буду радий поділитись своїми напрацюваннями і знаннями.
24 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів