⚡️ Загружаем видео с ютуб
youtube-dl — интересный проект с открытым исходным кодом, позволяющий загружать видео с ютуба и других сервисов.
Устнаовка:
В python же просто импортируется модуль и создаётся класс для работы.
Если вам стало интересно, то рекомендуем посетить документацию.
#миниурок #youtube
youtube-dl — интересный проект с открытым исходным кодом, позволяющий загружать видео с ютуба и других сервисов.
Устнаовка:
pip install youtube-dl
Пользоваться утилитой можно из терминала с помощью команды youtube-dl url
.В python же просто импортируется модуль и создаётся класс для работы.
Если вам стало интересно, то рекомендуем посетить документацию.
#миниурок #youtube
🌟 Model2Vec: разработка компактных и быстрых моделей на основе Sentence Transformer.
Model2Vec - это библиотека, позволяющая создавать компактные и быстрые модели на основе предобученных моделей Sentence Transformer.
С помощью Model2Vec можно создавать эмбединг-модели для слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными моделями Sentence Transformer.
Вот некоторые ключевые особенности:
🟢 Быстрая дистилляция, процесс создания модели занимает всего несколько минут.
🟢 Быстрый инференс, который в 500 раз быстрее на CPU по сравнению с оригинальной моделью.
🟢 Возможность использования любой модели Sentence Transformer с любым словарем (BYOM и BYOV).
🟢 Мультиязычность, требуется лишь мультиязычная модель в качестве источника.
🟢 Интеграция с 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
# Выбор модели Sentence Transformer
model_name = "BAAI/bge-base-en-v1.5"
# Дистилляция модели
m2v_model = distill(model_name=model_name, pca_dims=256)
# Сохранение модели
m2v_model.save_pretrained("m2v_model")
▶️ Пример инференса:
from model2vec import StaticModel
# Загрузка модели из HuggingFace hub или локальной.
model_name = "minishlab/M2V_base_output"
# Можно передать токен, если загружаете приватную модель
model = StaticModel.from_pretrained(model_name, token=None)
# Создание эмбеддингов
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])
📌 Лицензирование: MIT License.
▪ Набор моделей (https://huggingface.co/minishlab)
▪ GitHub (https://github.com/MinishLab/model2vec)
(https://t.me/pythonl)
#AI #ML #LLM #Embedding #Model2Vec #python
@Python_Community_ru
Model2Vec - это библиотека, позволяющая создавать компактные и быстрые модели на основе предобученных моделей Sentence Transformer.
С помощью Model2Vec можно создавать эмбединг-модели для слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными моделями Sentence Transformer.
Вот некоторые ключевые особенности:
🟢 Быстрая дистилляция, процесс создания модели занимает всего несколько минут.
🟢 Быстрый инференс, который в 500 раз быстрее на CPU по сравнению с оригинальной моделью.
🟢 Возможность использования любой модели Sentence Transformer с любым словарем (BYOM и BYOV).
🟢 Мультиязычность, требуется лишь мультиязычная модель в качестве источника.
🟢 Интеграция с 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
# Выбор модели Sentence Transformer
model_name = "BAAI/bge-base-en-v1.5"
# Дистилляция модели
m2v_model = distill(model_name=model_name, pca_dims=256)
# Сохранение модели
m2v_model.save_pretrained("m2v_model")
▶️ Пример инференса:
from model2vec import StaticModel
# Загрузка модели из HuggingFace hub или локальной.
model_name = "minishlab/M2V_base_output"
# Можно передать токен, если загружаете приватную модель
model = StaticModel.from_pretrained(model_name, token=None)
# Создание эмбеддингов
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])
📌 Лицензирование: MIT License.
▪ Набор моделей (https://huggingface.co/minishlab)
▪ GitHub (https://github.com/MinishLab/model2vec)
(https://t.me/pythonl)
#AI #ML #LLM #Embedding #Model2Vec #python
@Python_Community_ru