Новости
Модели
Продукты
keyboard_arrow_down
Глубокий поиск
Ищите, читайте и рассуждайте, пока не найдете лучший ответ.
Читатель
Читайте URL-адреса и ищите информацию в Интернете для получения более подходящей подготовки для получения степени магистра права.
Вложения
Мультимодальные многоязычные вложения мирового класса.
Реранкер
Нейронный ретривер мирового класса для максимального повышения релевантности поиска.
Более
keyboard_arrow_down
Классификатор
Классификация изображений и текста по нулевому и небольшому количеству кадров.
Сегментатор
Разрежьте длинный текст на куски и выполните токенизацию.

API-документы
Автоматическая генерация кода для вашего второго пилота IDE или LLM
open_in_new


Компания
keyboard_arrow_down
О нас
Связаться с отделом продаж
Стажерская программа
Присоединяйтесь к нам
open_in_new
Скачать логотип
open_in_new
Условия использования


Авторизоваться
login
Как это работает?
Экспериментальная установка
Soup’s on!
Технический блог
май 07, 2025

Рецепт "супа" моделей для эмбеддингов

Повысьте надежность и производительность с помощью model soups: усреднение весов. Никаких дополнительных затрат, лучшие результаты.
Bo Wang
Scott Martens
Bo Wang, Scott Martens • 9 минуты чтения

В эти трудные времена нет ничего лучше хорошей тарелки теплого супа.

Минестроне — один из классических итальянских супов: густой, сытный, ароматный, сочетающий в себе фасоль, сочные овощи и рис или пасту. Его вкус — результат сочетания разнообразных ингредиентов. Он немного похож на борщ в Восточной Европе, запеканки в Америке или домашнюю жареную смесь в Тихоокеанской Азии в том смысле, что он сочетает в себе доступные недорогие ингредиенты в любимое блюдо.

Мы можем использовать примерно тот же рецепт для моделей нейронных сетей, согласно серии статей, начиная с Wortsman et al. (2022).

Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time
The conventional recipe for maximizing model accuracy is to (1) train multiple models with various hyperparameters and (2) pick the individual model which performs best on a held-out validation set…
PMLR

«Model soups» (увы, не «model casseroles» или «model stir-fries») — это класс методов ансамблирования моделей, предназначенных для снижения затрат на оптимизацию обучающих данных и гиперпараметров модели. При обучении нейронной сети вы обычно перебираете различные данные и значения гиперпараметров и обучаете несколько раз, ища наилучший результат. Обучение требует больших вычислительных затрат, и расходы быстро растут.

Вместо этого «model soups» предполагает обучение нескольких моделей с различными гиперпараметрами и вариантами обучающих данных — как обычно, — но затем их объединение. Результатом является более производительная и надежная модель, чем одна лучшая. Это не экономит затраты, потому что вы все равно обучаете несколько моделей, но вы можете получить лучший результат за ту же цену.

Подход «model soup» уже доказал свою полезность для текстово-изобразительных мультимодальных моделей встраивания (Wortsman et al. 2022) и генеративных больших языковых моделей. (Takuya et al. 2025) В Jina AI мы начали использовать этот метод для обучения наших собственных моделей, и jina-embeddings-v3, и reader-lm-v2 включают в себя «model soups».

В этой статье мы рассмотрим «model soups» и покажем результаты некоторых наших работ с ними. В частности:

  1. Можем ли мы использовать «model soups» для повышения производительности путем объединения моделей в разных точках их обучения?
  2. Можем ли мы объединить модели, обученные на разных наборах данных и для разных задач, чтобы получить лучшую производительность и более высокую эффективность обучения, чем при обучении одной модели?

Это имеет важные потенциальные преимущества:

  • «Model soups» могут иметь лучшую и более надежную производительность.
  • Многоязычные модели встраивания часто страдают от предвзятости и сбоев в производительности, вызванных неравномерным объемом обучающих данных. Было бы большим преимуществом иметь возможность обучать лучшую модель, которую мы можем, для каждой задачи или набора данных по отдельности, а затем объединять их в равной степени.
  • Мы можем добиться лучшего непрерывного обучения и обновления модели, внося изменения в наши модели модульным способом, обновляя одну модель компонента за раз, а затем снова объединяя ее с другими.

tagКак это работает?

Объединение выходных данных нескольких моделей — старый метод в теории статистических решений. Например, в прогнозировании погоды обычной практикой является создание нескольких моделей, часто сделанных разными людьми с разными предположениями, а затем использование различных механизмов для усреднения их прогнозов. Если ошибки каждой модели распределены случайным образом, то усреднение моделей приведет к ответам с меньшим количеством ошибок.

Например, если у вас есть три разные модели, которые выдают бинарный ответ «да» или «нет», и каждая из них ошибается в 10% случаев, то две из трех ошибутся только в 2,8% случаев. Пять моделей с критерием принятия решения большинством голосов будут ошибаться только в 0,856% случаев.

Усреднение моделей работает по тому же принципу, но вместо объединения выходных данных разных моделей оно объединяет сами модели.

Используемый подход является расширением stochastic weight averaging (Izmailov et al. 2018), который опирается на понимание ландшафтов потерь нейронных сетей, чтобы показать, что простое усреднение весов может улучшить обобщающую способность модели при общих условиях.

Фактическая механика усреднения моделей до смешного проста: вы просто усредняете веса нескольких моделей.

Как объединяются модели для создания «model soup». Этот пример очень маленький и простой, но все же показывает процедуру: сложите веса и разделите на количество объединяемых моделей.

Если это кажется слишком простым, важно отметить, что при объединении моделей таким образом существуют ограничения. Вы не можете просто объединить веса любых двух нейронных сетей и ожидать, что это сработает.

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

В более технических терминах, предварительное обучение обычно создает модель, веса которой находятся вблизи нижней части области потерь, а точная настройка не приводит к легкому выходу из этой области потерь. Если все модели, подлежащие объединению, имеют веса в одной и той же области потерь, то их веса будут достаточно близки к одинаковым, и их усреднение, вероятно, сработает. Это не гарантируется, но эмпирически кажется, что это достаточно часто бывает правдой, чтобы быть полезным.

tagЭкспериментальная установка

Базовая модель: Для экспериментов, описанных здесь, мы использовали xlm-roberta-base от FacebookAI (Conneau et al. 2020) в качестве нашей предварительно обученной базовой модели. Эта модель имеет 280 миллионов параметров и была предварительно обучена на 2,5 ТБ данных Common Crawl, содержащих текст примерно на 100 языках.

Мы выполнили тонкую настройку xlm-roberta-base на нашем специально подобранном наборе обучающих пар предложений для обучения встраиваниям перед выполнением наших экспериментов.

Обучающие данные: Jina AI поддерживает специально подобранные наборы данных для обучения. Для первого эксперимента мы использовали триплеты предложений, специально подобранные для контрастного обучения на шести языках: английском, арабском, немецком, испанском, японском и китайском. Для второго эксперимента мы использовали наборы обучающих данных для конкретных задач на английском языке.

Оценка: Мы использовали соответствующие части набора тестов MMTEB (Enevoldsen et al. 2025) и набора тестов MIRACL (Zhang et al. 2023) для оценки моделей, полученных в результате нашего обучения и объединения.

tagЭксперимент 1: Усреднение одиночного прогона

Для этого эксперимента мы использовали контрастные триплеты предложений на всех шести языках, смешанные вместе, в общей сложности 6000 шагов обучения с размером пакета 1024 элемента. На каждом 2000-м шаге мы сохраняли состояние модели для усреднения, получая 3 модели, каждая из которых отражает разные точки в процессе обучения.

Мы усреднили три модели, чтобы получить окончательную модель. Затем мы протестировали объединенную модель и три сохраненные контрольные точки на наборах тестов MMTEB-STS и MIRACL.

Наши результаты представлены в таблице ниже:

Model MIRACL
(avg 6 languages)
MMTEB-STS English
(avg 8 benchmarks)
MMTEB-STS Multilingual
(avg 6 benchmarks)
Average of 20 benchmarks
No triplet training 0.3163 0.7859 0.7322 0.6276
Step 2000 0.4631 0.7924 0.7561 0.6813
Step 4000 0.4639 0.7902 0.7583 0.6812
Step 6000 (final) 0.4680 0.7891 0.7575 0.6818
Merged model
(all 3 stored checkpoints)
0.4669 0.7910 0.7579 0.6823

Объединение с предыдущими контрольными точками обычно не приводило к созданию модели с более высокой производительностью, чем лучшая среди сохраненных контрольных точек на отдельных тестах или на любой из трех используемых батарей тестов. Однако это привело к созданию лучшей модели по всем тестам, усредненным вместе.

В отдельных тестах разница между объединенной моделью и контрольной точкой с наилучшей производительностью в каждом случае составляет менее 0,01. Это верно не только для средних значений в таблице выше, но и для каждого отдельного теста.

Это демонстрирует, что объединение различных контрольных точек обучения может создать более надежную модель при очень небольших затратах на производительность.

Кроме того, объединив различные контрольные точки, мы можем эффективно защититься от переобучения. Переобучение в последнее время стало важной темой в нейронных сетях. (Springer et al., 2025) Сеть можно обучить таким образом, что она станет сложнее и хуже работать после дальнейшей тонкой настройки.

Поскольку контрольная точка с наилучшей производительностью в нашем эксперименте часто не является последней, мы, вероятно, переобучили нашу модель на 6000 шагах обучения. Объединенная модель очень близка к соответствию производительности лучшей контрольной точки во всех тестах, устраняя недостатки переобучения.

tagЭксперимент 2: Усреднение моделей, обученных для разных задач

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

  • Семантическая схожесть: Измерение относительного перекрытия или сходства смысла между двумя текстами, обычно сопоставимой длины.
  • Поиск документов на основе текстовых запросов: Нахождение документов, наилучшим образом удовлетворяющих запросу. Запросы, как правило, намного короче, чем документы, с которыми они сопоставляются.
  • Вопросно-ответные системы: Нахождение документа, который лучше всего отвечает на вопрос на естественном языке. Вопросы также, как правило, намного короче, чем тексты, с которыми они сопоставляются.

Обучение моделей для всех трех задач одновременно довольно сложно, поскольку цели очень разные, и мы надеемся, что model soups улучшат этот процесс.

Основываясь на предыдущем опыте, мы знали, что для каждой задачи требуется разное количество эпох обучения. Обучение обобщено ниже:

Задача Шаги обучения
(batchsize = 1,024)
Размер обучающего набора данных
(в элементах)
Question Answering (QA) 2,000 256,000
Document Retrieval 3,000 384,000
Semantic Similarity (STS) 1,000 128,000

Это позволило получить три модели, которые мы затем объединили в одну. Мы протестировали полученную модель на частях набора тестов MMTEB, относящихся к этим трем задачам: MIRACL, NanoBEIR и STSEval (английская и многоязычная части MMTEB).

MIRACL
(в среднем по 6 языкам)
NanoBEIR
(в среднем по 13 тестам)
MMTEB-STS English
(в среднем по 9 тестам)
MMTEB-STS Multilingual
(в среднем по 6 тестам)
Среднее по 34 тестам
Нет обучения на триплетах 0.3163 0.5089 0.7859 0.7322 0.5876
Обучение QA 0.4489 0.5332 0.7843 0.7535 0.6237
Обучение Retrieval 0.4272 0.5360 0.7766 0.7340 0.6154
Обучение STS 0.1779 0.4519 0.7994 0.7651 0.5508
Объединенная модель 0.4246 0.5309 0.7981 0.7640 0.6240

Здесь мы видим, что обученные для конкретных задач модели имеют наилучшие результаты для каждой задачи. MIRACL — это, прежде всего, тест для вопросно-ответных систем, даже если он называется поисковым, и обученная QA-модель превосходит все остальные, включая объединенную модель. NanoBEIR — это более традиционный набор тестов для информационного поиска, и мы видим, что обученная для поиска модель показывает лучшие результаты. Модель семантической схожести (STS) показывает довольно плохие результаты в этих тестах, но превосходит другие в явных задачах STS. Для каждой категории объединенная модель работает хуже, чем модель, обученная для одной задачи.

Но опять же, если усреднить результаты по всем тестам, объединенная модель превосходит другие, хотя ее результат представляет собой лишь очень небольшое улучшение по сравнению с QA-обученной моделью, и она очень плохо справляется с задачами STS.

Мы также объединили только модели QA и retrieval и оценили полученную модель на тех же тестах:

MIRACL
(в среднем по 6 языкам)
NanoBEIR
(в среднем по 13 тестам)
MMTEB-STS English
(в среднем по 9 тестам)
MMTEB-STS Multilingual
(в среднем по 6 тестам)
Среднее по 34 тестам Среднее
QA & IR
(19 тестов)
Среднее STS
(15 тестов)
Лучшая модель, обученная для задачи 0.4489 0.5360 0.7994 0.7651 0.6237 0.5066 0.7857
Объединенная модель 0.4246 0.5309 0.7981 0.7640 0.6240 0.4973 0.7845
QA+Retrieval объединенная модель 0.4610 0.5404 0.7878 0.7498 0.6288 0.5153 0.7726

Здесь мы видим, что, хотя мы можем улучшить производительность как вопросно-ответных систем, так и систем поиска, объединив обученные модели для этих двух задач, добавление обученных STS-моделей снижает производительность для конкретных задач во всех категориях. Это говорит о том, что семантическая схожесть в некотором важном отношении отличается от QA и retrieval, и STS-обученная модель не подходит для объединения с двумя другими.

Вероятно, это связано с тем, что вопросно-ответные системы и системы поиска включают сопоставление коротких текстов — вопросов и запросов — с более длинными документами, в то время как семантическая схожесть включает сравнение документов более схожей длины.

Wortsman et al. (2022) описывают селективный подход к усреднению, который они называют “greedy” merging. Он включает в себя взятие одной модели, обычно лучшей из набора моделей, а затем добавление к ней только тех моделей, которые индивидуально улучшают производительность. При наличии всего трех моделей не было особого смысла использовать greedy merging для этого эксперимента. Однако мы можем представить себе случай с большим количеством моделей и использованием такой техники в качестве основы для определения степени сходства между задачами. Здесь мы обнаружили, что семантическая схожесть отличается от двух других. Затем мы могли бы оценить, когда одна модель может выполнять множество задач, а когда более экономично использовать другую модель.

tagSoup’s on!

Model soups сочетают разнообразие, создавая нечто большее, чем сумма их частей. Ценность этого подхода заключается в его способности обеспечивать большую согласованность, надежность и действовать в качестве защиты от переобучения без дополнительных затрат на обучение. Наши эксперименты показывают, что объединение контрольных точек или моделей, специализирующихся на задачах, может повысить общую производительность, даже если это иногда достигается за счет пиков производительности для конкретных задач.

В конечном счете, model soups предлагают практичный и очень простой способ создания более адаптивных моделей, хотя и с некоторыми оговорками. Это не панацея, и она применима только тогда, когда модели уже очень похожи.

Как говорят в интернете, Your Mileage May Vary. Но это дешево и легко узнать, могут ли model soups помочь, когда вы обучаете свои модели.

Категории:
Технический блог
rss_feed
Офисы
location_on
Саннивейл, Калифорния
710 Lakeway Dr, Ste 200, Саннивейл, Калифорния 94085, США
location_on
Берлин, Германия (штаб-квартира)
Prinzessinnenstraße 19-20, 10969 Берлин, Германия
location_on
Пекин, Китай
Уровень 5, здание 6, ул. Хайдянь Вест, д. 48, Пекин, Китай
location_on
Шэньчжэнь, Китай
402, этаж 4, здание Fu'an Technology, Шэньчжэнь, Китай
Поиск Фонда
Глубокий поиск
Читатель
Вложения
Реранкер
Классификатор
Сегментатор
API-документация
Получить API-ключ Jina
Ограничение скорости
Статус API
Компания
О нас
Связаться с отделом продаж
отдел новостей
Стажерская программа
Присоединяйтесь к нам
open_in_new
Скачать логотип
open_in_new
Условия
Безопасность
Условия использования
Конфиденциальность
Управление файлами cookie
email
Jina AI © 2020-2025.