Комментарии 6
MVP (Minimum Value Product)
Minimum Viable Product, https://ru.wikipedia.org/wiki/Минимально_жизнеспособный_продукт
Самый большой плюс, что обошлись локальной моделью, а то сейчас многие предлагают закидывать весь массив данных в LLM, а та мол уже как-нибудь сама разберется.
Спасибо!
В данной работе применены две модели:
BERTopic использует для вычисления эмбеддингов модель
paraphrase-multilingual-MiniLM-L12-v2, скачанную с Hugging Face.В библиотеке SpaСy для извлечения именованных сущностей (получения тегов) в использую модель
ru_core_news_lg. Она устанавливается консольной командойpython -m spacy download ru_core_news_lg.
Отмечу, что при использовании локальной LLM модели конфиденциальные данные организации не обрабатываются на сторонних ресурсах. Это важно для соблюдения политики информационной безопасности и предотвращения утечек данных.
но подскажите, ведь записей много, с какой скоростью у вас они анализировались?
Данных действительно много: более чем 300 млн.записей разбросаны среди 1200 таблиц. Эмбеддинги вычислялись на видеокарте MSI GeForce RTX 3070 Ti VENTUS 3X 8G с помощью CUDA. BERTopic автоматически использует GPU для этой цели при наличии такой возможности.
Время получения векторизованного представления зависит от длины обрабатываемой строки: чем больше в ней токенов, тем больше требуется вычислений и, соответственно, времени для её обработки. 1.5 млн. записей обрабатываются приблизительно за 1,5-2 часа. Значит, для обработки всех записей с такой скоростью потребуется 300-400 часов (13-17 дней). Но т.к. можно параллельно создать несколько моделей для подмножества таблиц и потом объединить воедино полученные близкие кластеры (для этого в BERTopic предусмотрена функция merge_topics), то время может быть существенно сокращено. Причём данный подход с объединением близких тематик также можно использовать, если добавлены новые записи в одну или несколько таблиц - это позволяет не создавать модель для всего объёма данных, а лишь дообучить её.
Аналогичный подход используется при построении кластеризованной модели для оптимизации поиска по геометрии объектов (см. 1-ю статью). Каждая таблица кластеризуется отдельно, а затем все полученные кластеры добавляются в единую модель (таблицу). Алгоритм DBSCAN провёл кластеризацию 1.5 млн. записей приблизительно за 60 сек. Для кластеризации всех объектов БД по геометрии понадобится 3-4 часа.

Создание системы по управлению цифровыми активами для базы данных PostGIS. Часть 3. Семантические связи между таблицами