Sakhanda Wire
NVDA MSFT GOOGL META AMZN
← До новин

Fastino випустила GLiNER2.5: архітектуру прогнозування меж, що усуває перелічення спанів під час вилучення інформації

Команди з вилучення інформації постійно стикаються з вибором. Малі моделі-енкодери дешеві, але негнучкі, а великі мовні моделі гнучкі, проте дорогі в розрахунку на документ. Fastino випустила GLiNER2.5, щоб скоротити цей розрив. У новій версії перерахування спанів замінено передбаченням меж: модель оцінює, де сутність починається і закінчується, замість оцінювання кожного можливого спану за сіткою ширини. Ця єдина зміна усуває максимальну ширину сутності, забезпечує контекст до 4 096 слів і зберігає лінійну залежність обчислень від довжини послідовності для фіксованої схеми. Вона також уможливлює спільне декодування сутностей і зв’язків, обмеження міток між завданнями та атрибути для окремих спанів. У 16 бенчмарках із нульовим навчанням багатомовний чекпойнт досягає загального macro F1 на рівні 56.17 проти 56.09 у GLiNER2, із приростом на 24.75 бала в XNLI. На Hugging Face доступні три чекпойнти за ліцензією Apache 2.0: на 74 млн, 194 млн і 287 млн параметрів.

Чи придатна вона для розгортання?

Так, Fastino випустила три чекпойнти GLiNER2.5 на Hugging Face за ліцензією Apache 2.0, із локальним виконанням на CPU, CUDA або MPS через pip install "gliner2[local]" (Python 3.10+). Наразі жоден провайдер інференсу не хостить ці чекпойнти, тому шляхом розгортання є самостійний хостинг.

  • Рівень компанії: будь-який. Чекпойнти на 74 млн і 194 млн параметрів працюють на стандартних CPU-серверах, тож команда з двох людей може запустити вилучення інформації без бюджету на GPU. Великі організації отримують альтернативу вилученню даних LLM із оплатою за токени, яку можна донавчати та розміщувати приватно.
  • Галузі: юридичні та контрактні операції, охорона здоров’я й клінічна документація, фінансові послуги, страхові вимоги, підтримка клієнтів та інструменти безпеки ШІ.
  • Застосування: виявлення та редагування персональних даних, вилучення положень із контрактів, графи знань для пам’яті агентів, маршрутизація агентів і моделей, класифікація для захисних обмежень, вилучення клінічних сутностей із атрибутами заперечення та дозування.

Що змінилося

Попередні моделі GLiNER знаходили сутності шляхом перерахування можливих спанів: кожна початкова позиція поєднувалася з кожною дозволеною шириною, а кожна така комбінація оцінювалася відповідно до схеми. Така конструкція прив’язувала обчислення до осі ширини та встановлювала жорстку верхню межу довжини сутності.

GLiNER2.5 усуває перерахування. Спільний енкодер і надалі за один прохід обробляє текст і запити до схеми. Замість оцінювання спанів модель передбачає оцінки початку й кінця на межах токенів, а також оцінки внутрішньої частини на токенах. Розріджений етап формування пропозицій обирає найперспективніші початки й кінці для кожного запиту та поєднує їх без обмеження відстані. Потім голова повторного ранжування оцінює кожного кандидата, використовуючи дані про межі та вміст спану. Кандидати на зв’язки формуються з того самого набору, а не окремим шляхом.

Команда Fastino повідомляє, що для фіксованої схеми та бюджету кандидатів обчислення залишаються лінійними щодо довжини послідовності.

П’ять можливостей, які це забезпечує

  • Вилучення з довгого контексту: усунення явних представлень спанів зменшило обсяг пам’яті, необхідний для навчання на послідовностях до 4 096 слів. Чекпойнти постачаються з параметром max_len=4096. Бібліотека також додає вбудовані допоміжні засоби для поділу на фрагменти (extract_entities_long, extract_long, Classifier.classify_long, JointIE.extract_long), які повторно відображають спани на символьні зміщення в оригінальному документі.
  • Необмежена довжина спану: GLiNER2 перераховувала спани до фіксованої ширини, зазвичай близько дванадцяти слів; довші сутності ніколи не оцінювалися. У GLiNER2.5 спан може починатися з першого токена й закінчуватися останнім. Пошук сорокаслівного положення про відшкодування збитків коштує стільки ж, скільки пошук імені з двох слів.
  • Спільне вилучення сутностей і зв’язків: користувачі оголошують типи сутностей, типізовані зв’язки та структурні правила (unique_head=True, no_self_loops()), а пошук у промені формує глобально узгоджену графову структуру. Недійсні комбінації ніколи не допускаються, тому результат відповідає схемі за побудовою. Перед використанням графа перевірте result.feasible.
  • Класифікація з обмеженнями: правила C.implies і C.excludes пов’язують мітки між завданнями під час декодування. Власна захисна модель Fastino GLiGuard ілюструє проблему, яку це вирішує: без обмежень запит може бути позначений як безпечний і водночас класифікований як такий, що містить ін’єкцію запиту. Якщо не існує допустимого призначення, класифікатор видає помилку.
  • Атрибути спанів: групи атрибутів, як-от тональність, прив’язуються до конкретних типів сутностей через applies_to і декодуються для кожного спану в тому самому прямому проході. Сутності повертаються кваліфікованими, а не пласкими.

Сімейство моделей

МодельПараметриЕнкодерМова
gliner2.5-small-v174MDeBERTa-v3-xsmallАнглійська
gliner2.5-base-v1194MDeBERTa-v3-baseАнглійська
gliner2.5-multi-v1287MmDeBERTa-v3-baseБагатомовна

Усі три моделі мають однаковий публічний API. Завантажуйте їх через AutoExtractor, а не застарілий завантажувач спанів GLiNER2.

Бенчмарки

Команда Fastino оцінює моделі в режимі нульового навчання на 16 загальнодоступних наборах даних, наводячи macro F1 у порівнянні з GLiNER2 аналогічних розмірів.

Загальне середнє: GLiNER2.5 Multi досягає 56.17 проти 56.09 у GLiNER2 Multi. GLiNER2.5 Base досягає 54.87 проти 53.34. Найпомітніший приріст спостерігається в XNLI, де показник Multi зріс із 37.55 до 62.30, тобто на 24.75 бала. Few-NERD для Base покращився з 47.22 до 55.14. Румунський RONEC, мова якого не використовувалася під час навчання, покращився для обох моделей.

Ключові висновки

  • Передбачення меж замінює перерахування спанів; ширина сутності більше не збільшує обчислювальні витрати.
  • Три чекпойнти за ліцензією Apache 2.0: 74 млн, 194 млн і 287 млн параметрів; усі працюють на CPU.
  • Спільне декодування повертає графи, дійсні відповідно до схеми, усуваючи рівні постобробної перевірки.
  • Загальний F1 зростає до 56.17 (Multi) і 54.87 (Base); середній показник вилучення для Multi знижується.
  • Під час поділу на фрагменти спан зберігається лише тоді, коли обидві його межі потрапляють в один фрагмент.

Ознайомтеся з технічним блогом Fastino, репозиторієм GitHub і документацією з архітектури меж. Також можете переглянути нашу сторінку GitHub із навчальними матеріалами, кодом і ноутбуками.

Також підписуйтеся на нас у Twitter і не забудьте приєднатися до нашого сабреддіту ML із понад 150 тисячами учасників та підписатися на нашу розсилку. Стривайте! Ви є в Telegram? тепер ви також можете приєднатися до нас у Telegram.

Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.

Вперше опубліковано виданням MarkTechPost

Читати оригінал на MarkTechPost ↗

Текст і зображення належать MarkTechPost і наводяться тут із зазначенням авторства та посиланням на оригінальну публікацію.

← До новин

Ще новини

Усі останні новини