170 похожих чатов

25 ответов

12 просмотров

русский

Павел
русский

Ну щас E5 multilingual это sota

datascience xc
Ну щас E5 multilingual это sota

Хочу поделиться инфой о сравнительном тесте на скорую руку двух моделей из коробки. 1. это та, из-за которой чуть ли не дебаты в чате развернулись - 'amberoad/bert-multilingual-passage-reranking-msmarco' 2. это модель - 'intfloat/multilingual-e5-large' тестирование на маленьком корпусе из 5 товаров: corpus = ["Apple iPhone 12 Pro Max smartphone", "Samsung Galaxy S21 Ultra smartphone", "Apple MacBook Pro laptop", "Samsung Galaxy Book Pro laptop", "IRU ноутбук"] Результат работы по эмбеддингам от 1-й модели For Apple iPhone 12 Pro Max smartphone, the most similar text is: Samsung Galaxy S21 Ultra smartphone For Samsung Galaxy S21 Ultra smartphone, the most similar text is: Apple iPhone 12 Pro Max smartphone For Apple MacBook Pro laptop, the most similar text is: Samsung Galaxy Book Pro laptop For Samsung Galaxy Book Pro laptop, the most similar text is: Apple MacBook Pro laptop For IRU ноутбук, the most similar text is: Apple MacBook Pro laptop Результат работы второй модели: For Apple iPhone 12 Pro Max smartphone, the most similar text is: Apple MacBook Pro laptop For Samsung Galaxy S21 Ultra smartphone, the most similar text is: Apple iPhone 12 Pro Max smartphone For Apple MacBook Pro laptop, the most similar text is: Samsung Galaxy Book Pro laptop For Samsung Galaxy Book Pro laptop, the most similar text is: Apple MacBook Pro laptop For IRU ноутбук, the most similar text is: Apple MacBook Pro laptop Как видим, вторая модель ошиблась в одном месте - в первом результате из списка, сработав видимо по бренду, а не по категории. Семантика не сработала или не так сработала, как ожидалось Надеюсь инфа будет полезна многим На всякий случай перепроверить бы, а то может я где-нить второпях накосячил. С уважением, Александр Ничего личного. Прошу не обижаться и не раздражаться на этот мой пост. Просто привязался к последнему сообщению, которое быстро нашел и которое было по теме, чтобы в воздух не выпуливать непонятно для кого. Чтобы нить повествования сохранить, точнее тематическую нить

Konstantin Galagan
Сами циферки симилярити покажете?

затерлись... перепроверял себя)) остались только для одного варианта для первой модели выкладываю все что есть corpus = ["Apple iPhone 12 Pro Max smartphone", "Samsung Galaxy S21 Ultra smartphone", "Apple MacBook Pro laptop", "Samsung Galaxy Book Pro laptop", "IRU ноутбук"] embeddings = model.encode(corpus) similarity_scores = cosine_similarity(embeddings) print(similarity_scores) [[0.99999994 0.8385359 0.8233567 0.79202276 0.59452665] [0.8385359 0.99999994 0.72502774 0.7745926 0.6027187 ] [0.8233567 0.72502774 0.9999995 0.89929533 0.6540586 ] [0.79202276 0.7745926 0.89929533 1. 0.62671715] [0.59452665 0.6027187 0.6540586 0.62671715 1.0000001 ]] similarity_matrix = np.array(similarity_scores) # Заменяем диагональные элементы на очень большое отрицательное число np.fill_diagonal(similarity_matrix, -np.inf) # Находим индексы наиболее близких текстов most_similar_indices = np.argmax(similarity_matrix, axis=1) # Выводим пары наиболее близких текстов for i, index in enumerate(most_similar_indices): print(f"For {corpus[i]}, the most similar text is: {corpus[index]}") For Apple iPhone 12 Pro Max smartphone, the most similar text is: Samsung Galaxy S21 Ultra smartphone For Samsung Galaxy S21 Ultra smartphone, the most similar text is: Apple iPhone 12 Pro Max smartphone For Apple MacBook Pro laptop, the most similar text is: Samsung Galaxy Book Pro laptop For Samsung Galaxy Book Pro laptop, the most similar text is: Apple MacBook Pro laptop For IRU ноутбук, the most similar text is: Apple MacBook Pro laptop

Alexander Fedorenko
затерлись... перепроверял себя)) остались только д...

на самом деле данный тест на паре таких примеров ничего говорит. какой-нибудь маленький SimLex , говорил бы может. Бенчмарки такие сложные с кучей датасетов как у mteb непросто так(кстати mteb довольно легко расширяется под свои бенчмарки) проблема с товарами, именованными сущностями и прочими штуками (и без контекста в виде предложений), - это особые такие слова, которые без контекста для моделей на дистрибутивной семантике могут порой означать несильно много, - почти что обычный суп из сабтокенов(поэтому fasttext порой может даже лучше показывать качество на таких коротких текстах). поэтому без доп обучения (файнтюнинга) на парах, или триплетах, модели довольно плохо понимают что должно матчиться хуже/лучше. например простой такой dummy тест показывает, что матчить-то они и абракадбру будут (еще можно shuffle по нграммам попробовать, таким фокусом тоже удается некоторые нетюненые или плохо тюненые энкодеры обмануть по именованным сущностям или по товарам)

᠌Vladimir Gurevich
на самом деле данный тест на паре таких примеров н...

результат тестов моделей из коробки показал, что multilingual-e5 - лучшая 'https://tfhub.dev/google/universal-sentence-encoder-multilingual-large/3' found_top_1= 122 percent_top_1= 28.57142857142857 found_top_3= 240 percent_top_3= 56.20608899297424 'amberoad/bert-multilingual-passage-reranking-msmarco' found_top_1= 65 percent_top_1= 15.22248243559719 found_top_3= 96 percent_top_3= 22.482435597189696 'cross-encoder/ms-marco-MiniLM-L-12-v2' found_top_1= 2 percent_top_1= 0.468384074941452 found_top_3= 9 percent_top_3= 2.107728337236534 'intfloat/multilingual-e5-large' found_top_1= 270 percent_top_1= 63.23185011709602 found_top_3= 341 percent_top_3= 79.85948477751757 Но это для моих данных, не знаю как для ваших....

Alexander Fedorenko
результат тестов моделей из коробки показал, что m...

Оно? https://huggingface.co/vprelovac/universal-sentence-encoder-multilingual-large-3

Konstantin Galagan
Оно? https://huggingface.co/vprelovac/universal-se...

я брал с гугл)) https://tfhub.dev/google/universal-sentence-encoder-multilingual-large/3

datascience xc
А можно код сравнения?

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

Alexander Fedorenko
к сожалению, не получится. Этот тест интегрирован ...

А тогда вы можете проскорить модели, если я дам ссылку?

datascience xc
А тогда вы можете проскорить модели, если я дам сс...

если не срочно, то сделаю просто день сегодня загружен, а к вечеру думаю смогу

Alexander Fedorenko
к сожалению, не получится. Этот тест интегрирован ...

Уточняю: учитывалось только 100% попадание? ответы рядом с высоким скором игнорируем?

там две формы - топ1 - по максимуму и топ3 - список из первых трех по максимуму и уже результат модели сравнивался с ответом из текста. Верный ответ в топ1, или в топ3, или нигде...))

Alexander Fedorenko
там две формы - топ1 - по максимуму и топ3 - списо...

я к чему. У нас похожий тест, и мы придумали оценку для мисматча. Смотрим куда попала модель, и смотрим топ-3 по сходству. Если попадание в топ-1, присуждаем два балла, если топ-2, 1 балл, топ -3, 0 баллов. Дальше -1. Потом суммируем положительные баллы. Кто больше набрал, тот и молодец )

Konstantin Galagan
я к чему. У нас похожий тест, и мы придумали оценк...

тут вариантов может быть много, в зависимости от решаемой задачи нас больше волнует гарантия попадание в топ3

Dmitry
А какой это язык?

модель-многоязычная для теста использовался текст на русском с вкраплением английских слов

мой поинт , что не бывает какой-то лучшей в природе. бывают модели у которых лучше получается позитивный bias аккумулировать на каких-то тасках, а на каких-то хуже. это и пытается mteb сделать, результаты которого по каким-то таскам и по каким-то двум измерениям можно потом в парето плот положить и выбрать нужную точку. с другой стороны есть конкретные downstream задачи типа матчинга продуктов. которые потом можно сравнивать на выбранных нескольких точках. но имхо тут уже лучше тюнить модели. по метрикам - found это среднее по first relevant rank? в принципе если порядок не важен, то метрика отличная, и очень легко explainable (причем даже людям кто не разбирается в IR) . но если порядок важен, метрика слабая(проблема обычно в метриках в аггрегации, - т.н. проблема "среднего по больнице"). есть несколько лучший аналог FRR это MRR(mean reciprocal rank) - тоже самое почти что, только у нас не среднее считается по ранкам, а гармоническое среднее, - и у нас тогда метрика становится более чувствительной к изменениям в ранках. (на моих данных по разному, от задачи зависит. недавно на коротких текстах, где ошибки char base я тюнил вообще byt5 энкодер, но мне еще скорость важна, поэтому скорее всего буду вообще дистиллировать во что-то не трансформерное, буду смотреть)

᠌Vladimir Gurevich
мой поинт , что не бывает какой-то лучшей в природ...

А я думал, что из моего сообщения понятно, в каком смысле я объявил, что какая-то модель лучшая))

Alexander Fedorenko
А я думал, что из моего сообщения понятно, в каком...

да понятно, на каких-то ваших закрытых, которые никто не видел и не может потестировать на своих, а потому все эти сообщения с циферками абсолютно бесполезны)

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта