Python/ django
59.3K subscribers
2.02K photos
59 videos
47 files
2.75K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит-каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
加入频道
🌟 Model2Vec: создание компактных и быстрых моделей на основе Sentence Transformer.

Model2Vec - библиотека для создания компактных и быстрых моделей на основе предобученных Sentence Transformer моделей.

Model2Vec позволяет создавать эмбединг-модели слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными Sentence Transformer моделями.

Отличительные особенности:

🟢быстрая дистилляция, процесс создания модели занимает несколько минут;

🟢быстрый инференс, в 500 раз быстрее на CPU относительно родительской модели;

🟢BYOM и BYOV, можно использовать на любой Sentence Transformer модели с любым словарем;

🟢мультиязычность, все что нужно - только мультиязычная модель в качестве источника;

🟢интеграция с Huggingface, загрузка\выгрузка моделей привычными from_pretrained и push_to_hub.

Пайплайн Model2Vec трехэтапный. На первом этапе словарь пропускается через модель Sentence Transformer для получения векторов эмбедингов для каждого слова.

Далее, размерность полученных эмбеддингов сокращается с помощью метода главных компонент (PCA). Наконец, применяется zipf-взвешивание для учета частотности слов в словаре.

Model2Vec работает в двух режимах:

🟠Output, в котором модель работает подобно Sentence Transformer, используя subword токенизацию;

🟠Vocab, в котором создается набор статических эмбедингов слов, аналогично GloVe или Word2Vec.

Оценку производительности Model2Vec делали на наборе данных MTEB на задачах PEARL (оценка качества представления фраз) и WordSim (оценка семантической близости слов).

Результаты показывают, что Model2Vec превосходит по производительности GloVe и модели, основанные на WordLlama по всем задачам оценки.

▶️Пример дистилляции:


from model2vec.distill import distill

# Choose a Sentence Transformer model
model_name = "BAAI/bge-base-en-v1.5"

# Distill the model
m2v_model = distill(model_name=model_name, pca_dims=256)

# Save the model
m2v_model.save_pretrained("m2v_model")


▶️Пример инференса:


from model2vec import StaticModel

# Load a model from the HuggingFace hub, or a local one.
model_name = "minishlab/M2V_base_output"
# You can optionally pass a token if you're loading a private model
model = StaticModel.from_pretrained(model_name, token=None)

# Make embeddings
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])



📌Лицензирование : MIT License.


Набор моделей
GitHub


@pythonl

#AI #ML #LLM #Embedding #Model2Vec #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM