
Hard negative mining: як модель вчать розрізняти «майже правильне»
Технічний матеріал на dev.to від інженера Shrijith Venkatramana пояснює hard negative mining: чому модель мало вчиться на очевидно хибних прикладах, як складні негативи шукають самою моделлю і чому false negatives обмежують результат.
Модель напрочуд мало вчиться на прикладах, які очевидно неправильні. У технічній статті на dev.to інженер Shrijith Venkatramana пояснює hard negative mining на простому прикладі з пошуку. Якщо подати запит «How do I rotate an AWS IAM access key?» разом із текстом про зміну розміру pod у Kubernetes, модель розрізнить їх без зусиль. Інша річ пара із запитом «How do I create an AWS IAM access key?»: та сама лексика й той самий об'єкт, але зовсім інша відповідь.
Прості негативи дешеві й часто марні
Під час контрастивного навчання модель отримує винагороду, коли релевантний документ (d+) має вищу оцінку, ніж нерелевантний (d-). Проста пара, 0,82 проти 0,12, майже не несе сигналу, бо модель уже знає, що вони різні. Складна пара, 0,82 проти 0,76, змушує її шукати розрізнювальну ознаку. Пошукові системи рідко помиляються, повертаючи щось зовсім не пов'язане; зазвичай помилка це неправильна версія бібліотеки або посібник зі встановлення замість настанови з налаштування. Та сама логіка діє всюди, де система має ранжувати або розрізняти: reranker, який бачить чотири фрагменти про PostgreSQL, повинен зрозуміти, чому один відповідає на запит, а інший лише дотичний.
Ідея старша за мовні моделі
Метод сформувався в комп'ютерному зорі. FaceNet, опублікований 2015 року Florian Schroff, Dmitry Kalenichenko та James Philbin, відображав обличчя у простір embedding і застосовував online triplet mining, підвищуючи складність трійок у міру навчання мережі. Dense Passage Retrieval від Karpukhin та колег переніс цю логіку в текстовий пошук 2020 року, а ANCE дослідників Microsoft, зокрема Lee Xiong і Chenyan Xiong, пішов далі: індекс approximate-nearest-neighbour знаходить складні негативи самою моделлю. RocketQA додав denoised hard negatives для dense passage retrieval.
Майнінг на практиці
Базова процедура отримує top k кандидатів для кожного запиту, прибирає відомий позитив і зберігає решту. Пастка в тому, що складне не означає хибне: дуже схожий документ може бути релевантним, і відштовхування його псує простір пошуку. Тому продакшен-пайплайни пропускають кандидатів через cross-encoder або LLM-суддю, щоб усунути ймовірні false negatives. Витрати це друге обмеження: мільйон навчальних запитів із 20 hard negative кожен дають близько 20 мільйонів кандидатських зв'язків. Автор радить дешевий перший етап пошуку, періодичний майнінг і оцінки вчителя, корисна смуга яких лежить посередині, приблизно від 0,4 до 0,8.
Чому це працює
У контрастивній функції модель винагороджується, коли позитив забирає більшу частину ймовірнісної маси. Коли негатив має 0,87 проти позитиву 0,90, втрата дає значно більший градієнт, ніж коли найкращий негатив стоїть на 0,20. Прості негативи вчать широких ділянок простору, складні межі рішення. Повторний майнінг після кожного раунду замикає цикл: краща модель породжує кращі помилки, а ті стають кращими навчальними даними.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.