Арендовал 3090, чтобы отсеивать плохих кандидатов до дорогого LLM-этапа. Проиграл скрип... — 20 июля 2026 г. в 05:01:46.098
Арендовал 3090, чтобы отсеивать плохих кандидатов до дорогого LLM-этапа. Проиграл скрипту, который считает на процессоре за копейки. Проблема была видна в цифрах: косинусный поиск нагоняет по 391 кандидату на вакансию, и почти половина того, что доходит до LLM, - мусор. Тысячи холостых прогонов самого дорогого этапа в конвейере. Логично было взять сильный реранкер и резать мусор им. Я прогнал bge-reranker-v2-m3 и mmarco на полном тексте "вакансия x резюме". Оба еле отличали мусор от годных - почти как монетка. Дообучение CrossEncoder вообще не сошлось: у нас есть данные про тех, кто подошёл, но нет размеченных "не подошёл", и модель училась на противоречиях. А выиграло самое скучное - пересечение навыков. Оно и понятно: LLM-судья смотрит не на "похож ли текст", а на то, закрывает ли кандидат требования вакансии. Текстовый реранкер этого не видит - для него все кандидаты и так по теме. Гейт уже выложили: дешёвая проверка навыков до записи в базу режет ~9% мусора, сохраняя 99% годных. Без GPU, включается одной переменной. Иногда лучший апгрейд матчинга - не модель поумнее, а более честный вопрос к данным. Разбор с цифрами и графиками: https://iconicompany.com/blog/cheap-skill-gate-beats-gpu-rerankers-candidate-filtering

