Эмбеддинг бенчмарка
47 subscribers
25 photos
1 video
25 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Yet another release

Gradio сделали daggr (DAG-based Gradio workflows).

Они пишут, что его лучше использовать когда:
1. Вы хотите использовать gradio spaces или свои функции
2. У вас сложное воркфлоу, что и надо смотреть на выход каждого компонента
3. Фиксированный пайплайн с различными входными данными
4. Хотите сравнивать несколько вариантов

И потом сравнивают себя с ComfyUI (у daggr code first способ) и Airflow/Prefect (daggr для прототипирования/демо, а не оркестратjh) и в отличие от Gradio тут удобнее дебажить воркфлоу.

Я лично не понял для кого это особо, тк они не сравнивают себя даже с n8n/langflow, но мб пригодится кому-то https://huggingface.co/blog/daggr

Есть список готовых worflow если интересно https://huggingface.co/collections/ysharma/daggr-hf-spaces
👍432🎉1
MAEB

Мы релизнули новую версию MTEB с поддержкой аудио. Также добавили более 90 задач и 50 моделей

Статья: https://huggingface.co/papers/2602.16008
Лидерборд: http://mteb-leaderboard.hf.space/?benchmark_name=MAEB%28beta%29
🔥83
Jina-v5

Jina релизнули модель. Как всегда делали претрен и lora адаптеры по задачам. В качестве базовых моделей взяли EuroBert (nano, 0.2B) и small (Qwen3-0.6B-Base) и дистиллировали из (Qwen3-Embedding-4B).

- Используют только Query: и Document: промпты. Для не ретрив задач Document: .
- Для соотношения эмбедингов дообучали проекцию на модели-студента, тк проекция на учителе хуже работала
- Для дистиляции используют косинусное расстояние
- По датасетам только 300 datasets in over 30 languages
- Для разных задач используют разные loss (для асиметриного ретрива InfoNCE+Distil+GOR, STS CoSENT или InfoNCE в зависимости от триплета)

Модели: https://huggingface.co/collections/jinaai/jina-embeddings-v5-text
Статья: https://huggingface.co/papers/2602.15547
Блог: https://jina.ai/news/jina-embeddings-v5-text-distilling-4b-quality-into-sub-1b-multilingual-embeddings/
1👍1
Добавил на ледерборд график изменения счета по времени (как на papers with code)
🎉4🥰3🔥2
Немного драмы Open-Source

Наверное все так или иначе использовали httpx (transformers v5 перешли с requests на httpx, так что так по итогу он много где используется), но думаю мало кто обращал внимание, что у него не было новых релизов больше года (!) и было очень мало комитов за это время. За месяц до последнего релиза мейнтейнер (lovelydinosaur) объявил, что хочет сделать 1.0 версию и даже вроде делал созвоны с обсуждениями, но на этом прогресс встал.

Видимо в последний месяц у автора случилась фаза мании и началось:
1. Сделана обновленная версия httpx в другом репозитории с интересной политикой, что issue и pr не принимаются (maintainer driven issues), а есть только какие-то чаты со всеми обсуждениями
2. Закрыл раздел issue в оригинальном репозитории httpx по странным причинам (видимо самый подробный комментарий про это)
3. А так же сделал шаги для новой версии mkdocs (об этом ниже)

Если с httpx еще как-то можно понять мотивацию выпуска версии 1.0 (хотя идея разделения httpx на sync (httpx) async (atthpx) версии мне кажется очень странной), то с mkdocs все хуже.

За последнее время у mkdocs было много проблем. Изначально его тоже основал lovelydinosaur, но он перестал им заниматься и пришли другие мейнтейнеры. Но последний мейнейнер, который поддерживал проект 4 года, ушел 2 года назад и с тех пор проект почти не развивался. Он назвал главными причинами конфликты с другими мейнтейрами, а особенно с создателем самого популярного плагина mkdocs-material (если интересно почитать историю конфликта). В прошлом году задавались вопросом про поддержку mkdocs и автор material-mkdocs сделал свой mkdocs на rust - zeniscal. А тем временем разрабатывается mkdocs 2.0, который судя по всем комментариям мало кому нужен и имеет много проблем.
1. Почему-то новая версия в другом репозитории
2. Не будет поддержки сторонних плагинов
3. Ухудшение работы с темами
4. И такая же система контрибуций как в httpx

Хотя бы эти все изменения не затронут django-rest-framework (который, тоже часть encode).

Если используйте что-то из этих библиотек, проверьте лимит версий который у вас установлен, а то может в какой-то момент все поломаться
🤔7🔥2😢2
Эмбеддинг бенчмарка
Немного драмы Open-Source Наверное все так или иначе использовали httpx (transformers v5 перешли с requests на httpx, так что так по итогу он много где используется), но думаю мало кто обращал внимание, что у него не было новых релизов больше года (!) и…
Если вдруг кому-то интересно предыдущий мейнтейнер кикнул всех из pypi и хочет продолжить проект (discussion на gh).

И даже было предложения от других участников мейнтейнить текущий проект, но был получен ответ
We're not having any more conversation in all-male online spaces. Not happening.


Так что будущее у httpx вряд-ли будет хорошее (по крайней мере от этих авторов, мб кто-нибудь форкнет еще)
🫡6🔥2😁2
Эмбеддинг бенчмарка
Astral (авторы ruff, uv, ty) теперь часть OpenAI https://astral.sh/blog/openai https://openai.com/index/openai-to-acquire-astral/
Подсмотрел в чате @opensource_findings_chat (source) что в OpenAI теперь:
- Eric Traut, автор pyright
- Jelle Zijlstra, мейнтейнер black и автор pyanalyze
- и ty теперь...

OpenAI making typing now I guess
😁43🔥2
Вчера uv выпустили версию 0.11.0, где поломали установку flash-attn (issue). Видимо авторы uv не защитили PhD. Уже откатили изменения в 0.11.1
😁9🥰2🔥1🤮1
Multimodal "Sentence" Transformers

Вышла новая версия Sentence Transformers (5.4) с поддержкой мультимодальности. Входные данные:
text: str
image: PIL.Image
audio: torchcodec.AudioDecoder | {"array": np.ndarray, "sampling_rate": 16_000}
video: torchcodec.VideoDecoder | {"array": np.ndarray }
# или
[{"role": ..., "content": { ... }}]

Пример:
from PIL import Image
from sentence_transformers import SentenceTransformer

model = SentenceTransformer(
"Qwen/Qwen3-VL-Embedding-2B",
revision="refs/pr/23",
)

multimodal_embeddings = model.encode([
{"text": "Describe this image", "image": Image.open("cat.jpg")},
])

similarity = model.similarity(text_embeddings, image_embeddings)

from sentence_transformers import CrossEncoder

# Load a multimodal reranker
model = CrossEncoder("Qwen/Qwen3-VL-Reranker-2B", revision="refs/pr/11")

results = model.rank(
query="https://example.com/product.jpg",
documents=["A red sneaker", "A blue dress", "A leather bag"],
)

Полный список адаптированных моделей: https://huggingface.co/collections/tomaarsen/sentence-transformers-v54-integrations

Также улучшилась поддержка Cross-Encoder и теперь можно из любой LLM делать cross-encoder
from sentence_transformers import CrossEncoder
from sentence_transformers.cross_encoder.modules import Transformer, LogitScore

transformer = Transformer("Qwen/Qwen3-Reranker-0.6B", transformer_task="text-generation", revision="refs/pr/11")
true_id = transformer.tokenizer.convert_tokens_to_ids("1")
false_id = transformer.tokenizer.convert_tokens_to_ids("0")

model = CrossEncoder(modules=[transformer, LogitScore(true_token_id=true_id, false_token_id=false_id)])


Пост с описанием и списком обновленных моделей: https://huggingface.co/blog/multimodal-sentence-transformers
🔥5🎉3🥰1