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

25 ответов

13 просмотров

русский

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

Ну щас 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
А я думал, что из моего сообщения понятно, в каком...

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

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта