Хаб / Материалы / Замер
Замер26 сентября 20265 минут

Шестьдесят шесть секунд, в которых модель почти не виновата

Ответ по документам шёл около минуты, и первая мысль — взять модель поменьше. Проверили: не помогает. Время уходило на поиск. После его переноса на видеокарту ответ стал в 4,5 раза быстрее — и мы отдельно доказали, что качество не пострадало.

Минута ожидания убивает инструмент вернее, чем неточность. Пятнадцать секунд — время, в течение которого человек ещё смотрит в экран. Минута — время, за которое он переключается на другую задачу и не возвращается. Поэтому когда ответ по документам на стенде стал занимать около минуты, это было не неудобство, а угроза самой идее.

Очевидная гипотеза — и почему она неверна

Первая мысль любого, кто видел медленный ответ: модель слишком большая, возьмите поменьше. Мысль проверили. Модели разного размера отвечали почти одинаково долго — размер на времени ответа почти не сказывался. Значит, дело было не в модели.

Это стоит запомнить как приём. Если замена самой очевидной детали не меняет результат, время уходит куда-то ещё, и искать его надо замером, а не догадкой.

Куда уходило время

Один поиск по документам — без всякой модели, просто найти фрагменты и переранжировать их — занимал 16,5 секунды. А на каждый вопрос система формулирует несколько поисковых запросов: переспрашивает сама себя разными словами, чтобы не упустить нужный кусок. Почти весь «ответ» был поиском, а не рассуждением. Модель отвечала быстро и основную часть времени ждала, пока ей принесут фрагменты.

Поиск считался на процессоре. У этого выбора есть цена, и измеряется она десятками секунд на каждом вопросе.

Что сделали

Перенесли поиск и переранжирование с процессора на видеокарту — ту же потребительскую карту на 16 ГБ, на которой работает языковая модель, — и считали в половинной точности. Модели поиска не менялись, алгоритм не менялся: изменились только устройство и точность вычислений. Переиндексировать документы не понадобилось.

Что мерялиБылоСталоРазница
Один поиск по документам16,5 с0,3 св 57 раз
Полный ответ, среднее по трём моделям66 с15 св 4,5 раза

Пятнадцать секунд — это среднее, а за ним разброс от 9 до 25 секунд в зависимости от модели. И это само по себе показательно: пока поиск занимал почти всё время, модели отвечали одинаково медленно. Теперь, когда поиск перестал быть главной статьёй расходов, время ответа наконец зависит от модели — как и должно.

Главное: доказать, что не стало хуже

Половинная точность экономит память и время, и естественное подозрение — поиск стал быстрее, потому что стал грубее. Ускорение, купленное потерей точности, нам не нужно, поэтому проверяли на том же размеченном наборе вопросов, что и до переноса:

  • нужный фрагмент найден в 45 случаях из 45 — и до, и после;
  • в первой тройке результатов — 44 из 45, и до, и после;
  • вопросов, где изменился порядок результатов, — ноль;
  • наибольшее расхождение оценки релевантности — 0,0009.

И деталь метода, которую легко пропустить. Контрольный прогон на процессоре сняли в тот же день и уже после очередной правки нарезки документов. Иначе в сравнение смешались бы два изменения сразу, и было бы непонятно, чему обязан результат. Мелочь — но именно такие мелочи отличают замер от рекламы.

Чего этот замер не обещает

Пятнадцать секунд получены на конкретном железе стенда и на эталонном корпусе. На другой карте, другом процессоре и ваших документах число будет своим — и мы назовём его после замера, а не до. Ускорение относится к поиску по документам, а не ко всему, что умеет система.

Коротко

Время ответа по документам определяла не языковая модель, а поиск. Перенос поиска на видеокарту ускорил его в 57 раз, полный ответ — в 4,5 раза, и на размеченном наборе не сдвинулся ни один результат. Остальные замеры стенда — с условиями, на которых они сняты, — собраны на странице стенда.

Скорость и точность измеряются легко. Сложнее с документами, которые вообще не поддаются разбору, — особенно если они на русском: почему «Информация о продавце» превращается в «ИHΦopmaung onpogaBue».

Вопрос по этому материалу?
Напишите в бюро — отвечает тот же человек, который это собирал.
admin@heavylogic.su

Читать дальше

Все материалы →