Для ViT и JFT-300M эксперименты дорогие, это web-scale...
Для ViT и JFT-300M эксперименты дорогие, это web-scale датасет, здесь обучали только самую большую FF модель. И здесь MRL показывает свою работоспособность. Кроме того, полученные эмбеддинги можно интерполировать, если нужен какой-то промежуточный размер -- точность на таким образом полученных репрезентациях лежит на кривой ровно там, где и можно было бы ожидать.
На таких фичах дёшево делать адаптивную классификацию с каскадами моделей по типу Виолы-Джонса. Начинаем с самого маленького эмбеддинга, получаем предсказание, если confidence ниже порога (обученного), добавляем следующий по размеру эмбеддинг. Получается качество эмбеддинга фиксированного размера при в 14 раз меньшей репрезентации.
Отдельная тема -- retrieval. Цель -- найти картинки из того же класса, что запрос, используя эмбеддинги. Оценивают по mean Average Precision@10. Эмбеддинги нормализованы и достаются через L2 близость. MRL бьёт бейзлайны, при этом ещё и лучше отдельных FF эмбеддингов. MRL-E чуть похуже.
В сочетании с adaptive retrieval (AR) можно сэкономить кучу места, не храня полные репрезентации. В AR сначала получают шорт-лист (K=200) кандидатов через низкоразмерную репрезентацию (Ds = 16), затем список переранжируют через более высокоразмерную (Dr = 2048) -- это сильно дешевле по вычислениям, чем сразу делать поиск соседей по полному эмбеддингу. AR с указанными выше параметрами настолько же точна, что и выборка по полному эмбеддингу (d = 2048), но в 128 раз более эффективна в теории, и в 14 раз быстрее на практике.
Определить оптимальные значения Ds и Dr может быть непросто, поэтому авторы предлагают подход Funnel Retrieval, где используется каскад последовательно увеличивающихся эмбеддингов. Начинаем с самых малых, затем полученный на каждом этапе список переранжируем более широким эмбеддингом, в два раза сокращая список и в два раза увеличивая размерность каждый раз.
Интересно, какие-нибудь из векторных баз это уже поддерживают? Ash? ;)
По крайней мере есть следующая работа про adaptive approximate nearest neighbour search с использованием матрёшек -- работа побывавшая одновременно и на ICLR 2023 (https://iclr.cc/virtual/2023/13999) и на NeurIPS 2023 (AdANNS, https://arxiv.org/abs/2305.19435) — что, так можно?
На out-of-domain датасетах робастность MRL репрезентаций не хуже обычных. Для retrieval она даже немного повыше. На few-shot learning через nearest class mean тоже хорошо. На новых классах из длинного хвоста даже улучшение.
В целом с увеличением эмбеддинга качество классификации растёт. Но есть некоторое число случаев, когда на малом размере эмбеддинга классификация лучше. Если оценивать качество на супер-классе (когда в разметке есть иерархия), то там не такая сильная просадка на малом размере репрезентации. То есть какую-то иерархию эти эмбеддинги тоже ловят.
Matryoshka Representations можно получить частичным файнтюном уже обученных моделей.
Итого, почти халявный способ улучшения репрезентаций. Было бы интересно обучить эмбеддинговую модель типа text-embedding-ada или тех, что делает Cohere, в такой постановке. Ну и вообще большой простор для улучшений -- отдельные лоссы, поиск весов, специальные структуры для поиска.
На таких фичах дёшево делать адаптивную классификацию с каскадами моделей по типу Виолы-Джонса. Начинаем с самого маленького эмбеддинга, получаем предсказание, если confidence ниже порога (обученного), добавляем следующий по размеру эмбеддинг. Получается качество эмбеддинга фиксированного размера при в 14 раз меньшей репрезентации.
Отдельная тема -- retrieval. Цель -- найти картинки из того же класса, что запрос, используя эмбеддинги. Оценивают по mean Average Precision@10. Эмбеддинги нормализованы и достаются через L2 близость. MRL бьёт бейзлайны, при этом ещё и лучше отдельных FF эмбеддингов. MRL-E чуть похуже.
В сочетании с adaptive retrieval (AR) можно сэкономить кучу места, не храня полные репрезентации. В AR сначала получают шорт-лист (K=200) кандидатов через низкоразмерную репрезентацию (Ds = 16), затем список переранжируют через более высокоразмерную (Dr = 2048) -- это сильно дешевле по вычислениям, чем сразу делать поиск соседей по полному эмбеддингу. AR с указанными выше параметрами настолько же точна, что и выборка по полному эмбеддингу (d = 2048), но в 128 раз более эффективна в теории, и в 14 раз быстрее на практике.
Определить оптимальные значения Ds и Dr может быть непросто, поэтому авторы предлагают подход Funnel Retrieval, где используется каскад последовательно увеличивающихся эмбеддингов. Начинаем с самых малых, затем полученный на каждом этапе список переранжируем более широким эмбеддингом, в два раза сокращая список и в два раза увеличивая размерность каждый раз.
Интересно, какие-нибудь из векторных баз это уже поддерживают? Ash? ;)
По крайней мере есть следующая работа про adaptive approximate nearest neighbour search с использованием матрёшек -- работа побывавшая одновременно и на ICLR 2023 (https://iclr.cc/virtual/2023/13999) и на NeurIPS 2023 (AdANNS, https://arxiv.org/abs/2305.19435) — что, так можно?
На out-of-domain датасетах робастность MRL репрезентаций не хуже обычных. Для retrieval она даже немного повыше. На few-shot learning через nearest class mean тоже хорошо. На новых классах из длинного хвоста даже улучшение.
В целом с увеличением эмбеддинга качество классификации растёт. Но есть некоторое число случаев, когда на малом размере эмбеддинга классификация лучше. Если оценивать качество на супер-классе (когда в разметке есть иерархия), то там не такая сильная просадка на малом размере репрезентации. То есть какую-то иерархию эти эмбеддинги тоже ловят.
Matryoshka Representations можно получить частичным файнтюном уже обученных моделей.
Итого, почти халявный способ улучшения репрезентаций. Было бы интересно обучить эмбеддинговую модель типа text-embedding-ada или тех, что делает Cohere, в такой постановке. Ну и вообще большой простор для улучшений -- отдельные лоссы, поиск весов, специальные структуры для поиска.
Источник: gonzo-обзоры ML статей
2023-11-03 20:10:57