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

Ребята, Подскажите, есть ли стать/исследования/анекдотичные данные))) по поводу того как длинна

вектора влияет на точность СТС? Хочу переехать с 1024 на 512, а то индекс занимает много памяти
Ну и наверное инференс чуть быстрее будет?

13 ответов

19 просмотров

У меня есть предположение, что чем компактнее вектор, тем он точнее сохраняет смысл. Все руки не дойдут проверить )

Ruslan-Ishtuganov Автор вопроса
Konstantin Galagan
У меня есть предположение, что чем компактнее вект...

Как такое может быть? 🤨 Ну, то есть, не могут же все ошибаться ...или таки могут?)) Наверное это вопрос к математикам, которые понимают в чем соль косинусного и иных видов расстояния между векторами. Я соль не понимаю, признаюсь честно ☺️

Ruslan Ishtuganov
Интуитивно кажется что наоборот ))

Не совсем)) Думаю здесь есть какая-то золотая середина, которая рознится от текста к тексту в зависимости от его обьема и тематики 🤷‍♀️

Konstantin Galagan
У меня есть предположение, что чем компактнее вект...

Вот что говорит Биг Браза: #### Высказывание: "У меня есть предположение, что чем компактнее вектор, тем он точнее сохраняет смысл." Анализ: 1. Определение "компактности" вектора: В контексте машинного обучения и вычислительной лингвистики, "компактность" вектора может обозначать низкоразмерное пространство признаков или сокращение размерности вектора. 2. Предполагаемые преимущества "компактных" векторов: - Снижение вычислительных затрат: Меньшая размерность может ускорить вычисления. - Предотвращение переобучения: В некоторых случаях, сокращение размерности может помочь уменьшить риск переобучения. - Визуализация: Низкоразмерные пространства легче визуализировать. 3. Потенциальные проблемы "компактных" векторов: - Потеря информации: Сокращение размерности может привести к потере информации. Некоторые детали или нюансы могут быть утеряны. - Искажение отношений: В некоторых методах уменьшения размерности, таких как PCA или t-SNE, отношения между точками могут искажаться. Рекомендации: 1. Проверка гипотезы: Прежде чем принимать такое предположение на веру, его следует проверить на практике. Вы можете обучить модели с различной размерностью эмбеддингов и сравнить их производительность на задаче нахождения степени сходства. 2. Исследование оптимальной размерности: Вместо того чтобы просто минимизировать размерность, следует исследовать, при какой размерности вектора достигается наилучший баланс между сохранением информации и вычислительной эффективностью. 3. Использование подходящих методов уменьшения размерности: Если решено уменьшать размерность, следует использовать методы, которые сохраняют отношения между точками, такие как UMAP или t-SNE (для визуализации), или автоэнкодеры (для обучения). Заключение: Компактность вектора может иметь свои преимущества, однако утверждение о том, что чем компактнее вектор, тем он точнее сохраняет смысл, требует экспериментальной проверки. Оптимальная размерность вектора будет зависеть от конкретной задачи и данных.

🅿️🅾️Ⓜ️🅰️♓️🈴 romad.ru
Как такое может быть? 🤨 Ну, то есть, не могут же в...

косинусу плевать на размерность вектора, в этом его прелесть. Я про наполнение самого вектора

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

"точность CTC" - ctc loss имеется ввиду? а что за downstream задача? dimension это просто грубо говоря, сколько фичей данная модель "экстрактит" . можно на нейронку в несколько слоев в конце повесить линейный слой с 1024. будет ли это хорошая сетка? неизвестно (скорее всего нет). видимо у вас какая-то берт-подобная модель , судя по dimension. ну надо сделать бенчмарк, померить качество на вашей же задаче. а еще лучше в дополнение - сделать probing тесты. т.е. сделать пару-тройку моделей, на основне конечной данной, который должны предсказывать или классифицировать какое-то нужное вам свойство (не знаю, длина текста например , если кажется, что данное свойство модели для удачного решения конечной задачи нужно). все остальное - это скорее похоже на гадание... короткие тексты или длинные

Ruslan-Ishtuganov Автор вопроса
᠌Vladimir Gurevich
"точность CTC" - ctc loss имеется ввиду? а что за ...

Не, прошу прощения за неоднозначность, лень было на англ переключать )) STS - semantic textual similarity конечно же имел ввиду. Задача классическая - поиск по векторам. Просто с 1024 вектором очень уж большой индекс получается (в редисе около 80гб заняло на 20 миллионов документов), вычислительная сложность высокая Думаю если взять вектора на 512 измерений (модель переделать или там снижение размерности), то и инференс побыстрее будет и места занимать в векторной бд будут меньше. Вот только вопрос насколько качество поиска упадет?

Ruslan Ishtuganov
Не, прошу прощения за неоднозначность, лень было н...

ничего страшного, - теперь понятно, а то до этого думал причем тут CTC вообще. это надо мерить. зависит от текста и конечных целевых метрик (важны ли там позиции или не важны, и т.п.) у меня была задача поиска людей и организаций. там вообще LSTM + dim=100 хватало. также был семантический поиск, хватало обычного берта. есть MTEB - это не только лидербоард, это еще и пакет, который довольно легко кастомизировать (отнаследовать классы) и добавить свой бенчмарк и прогнать. (если ванговать : я подозреваю что не упадет, если грамотно модель натренировать, я использую натюненую под свою задачу sentence transfomers мультиязыковую модель там ЕМНИП 384 измерений, прекрасно работает на STS)

Ruslan Ishtuganov
Не, прошу прощения за неоднозначность, лень было н...

Это нормально, там дело не в размере, а в используемом алгоритме. Например, если не хранить в Redis, а в Weaviate или Milvus, то можно будет использовать ANN алгоритм (быстрый), вместо KNN.

Ruslan-Ishtuganov Автор вопроса
Ruslan Ishtuganov
В редисе тоже анн есть - HNSW

У меня кстати в Elastic примерно так и выходит, но там raw text, а не эмбеддинги. Точно не помню, но на 40М текста примерно 200 Гб на диске.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта