Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
1348 - Telegram Web
Telegram Web
Forwarded from red_mad_robot
GenAI trends_feb2025_red_mad_robot.pdf
46.8 MB
↗️ А вот и он! Тренд-репорт про рынок GenAI в 2025 году, который мы презентовали в МШУ Сколково.

AI перестал быть просто трендом — это полноценный технологический цикл, меняющий бизнес-процессы, экономику и рынок труда. Стратегические аналитики red_mad_robot собрали ключевые тренды и события, которые помогут лучше понять, куда движется индустрия.

Что внутри:
📍 овервью рынка GenAI на февраль 2025: рост, инвестиции, ведущие игроки;
📍 топ-10 технологических трендов, которые определяют вектор развития рынка;
📍 как GenAI трансформирует рынок труда;
📍 эксперименты в GenAI: на что стоит обратить внимание;
📍 оценка бизнес-эффектов от внедрения GenAI.

Сохраняйте, изучайте, делитесь фидбеком.
Please open Telegram to view this post
VIEW IN TELEGRAM
Enterprise RAG Challenge
Как всегда меня немного затянуло =)

Прямо сейчас участвую в Enterprise RAG Challenge от @llm_under_the_hood, и хочу рассказать, что pdf2md challenge почти в кармане.

В итоге я тестировал около 6 стратегий поиска информации
Разметка смог протестировать только одну стратегию, но и самую затратную она и заняла больше всего времени.
Я топлю за on-premise так что никаких облачных моделей все на своем железе благо мы в NDT закупились у теперь у нас есть 10 штук 4090 !

Итак, мы взяли все 100 PDF финансовых отчетов, это примерно ~14454 страниц
Из них было 3026
Общее кол-во категорий 13 (направлений)

1) Команда помогла найти топ библиотеку и конвертировала все PDF в markdown в текст.
2) Даже топ подход теряет около 2-5 % данных просто потому, что не видит кодировки или выводит ромбики. Сюда входят даже платные сервисы и самая топовая обработка

Все модели поднимаются в FP16 на vLMM
Векторная модель intfloat/multilingual-e5-large развернутая на 4 2080ti пропускная способность бешеная в 32 батч сайз



3) Я поднял наш весь свободный кластер и классифицировал все 14к страниц через 6 серверов с vLLM 4090 с развернутыми qwen 2 VL 7b instruct (это заняло примерно 2 часа времени)
На выход были вот такие:
      "has_tables": true,
"table_count": 56,
"content_types": {
"image": 11,
"mixed_image_text": 11,
"chart": 3,
"text": 20,
"mixed_chart_text": 1,
"mixed_table_text": 33,
"table": 21
}

4) Далее мы перевели все таблицы в markdown, img 2 markdown процесс занял у нас примерно 4 часа

5) Далее мы векторизировали часть данных (чанки + названия компаний, они были предоставлены в subset)

И загрузили в Milvus с вот такой схемой:
{
"fields": [
{"name": "id", "type": "Int64"},
{"name": "text", "type": "VarChar(65535)"},
{"name": "page_number", "type": "VarChar(10)"},
{"name": "file_path", "type": "VarChar(2048)"},
{"name": "company_name", "type": "VarChar(256)"},
{"name": "embedding", "type": "FloatVector(1024)", "index": {"name": "embedding", "type": "COSINE", "nlist": 1024}},
{"name": "company_embedding", "type": "FloatVector(1024)", "index": {"name": "company_embedding", "type": "COSINE", "nlist": 1024}},
{"name": "sparse", "type": "SparseFloatVector", "index": {"name": "sparse", "type": "BM25"}}
]
}


Сейчас, кстати 6 утра, и хорошо отрабатывает вот так поиск с подходом ANN search:
{
"query": "",
"top_k": 5,
"search_type": "vector",
"text_weight": 0.7,
"company_weight": 0.3
}

Самое важное, что при просмотре найденного контекста я беру топ 3 чанка и загружаю полные страницы из файловой системы:
{
"results": [
{
"relevance": 0.8573796153068542,
"collection": "Financial_Services",
"text": "```markdown\n# Pintec Technology Holdings Limited\n## Consolidated Statements of Operations and Comprehensive Loss\n(RMB and US$ in thousands, except for share and per share data, or otherwise noted)\n\n### For the years ended December 31",
"company_name": "Pintec Technology Holdings Limited",
"file_path": "mk_embedded\\9e794a58e511f6a6a9a13b201d652deff9f9f69a.pdf.json",
"page_number": "204",
"id": "456258446756725963"
},

Что хоро вижу четкую связь между названием компании, текстом и найденной страницей (достаточно близко), нет сильной разреженности
Ну и далее 4 схемы для SO в реквестах есть тип данных которые хотят видеть это упрощает жизнь, куда же без него:
NUMBER_SCHEMA = {
"type": "object",
"properties": {
"value": {"type": "string"},
"confidence": {"type": "number"},
"reasoning": {"type": "string"}
},
"required": ["value", "confidence", "reasoning"]
}


BOOLEAN_SCHEMA = {
"type": "object",
"properties": {
"value": {"type": "boolean"},
"confidence": {"type": "number"},
"reasoning": {"type": "string"}
},
"required": ["value", "confidence", "reasoning"]
}

И так далее для других типов под каждый типо свой промпт
На текущий момент прогнались все вопросы пошел глядеть и сабмитить!
Все херня выбрасывай

Просмотрев ответы и поняв что я чукча релевантность найденного источника желает оставлять лучшего я решил переделать на давно работающий у нас подход роутер агент под каждую компанию созданна коллекция

И что это такое а то что я каждый док гружу как коллекцию

self.router_schema = {
"type": "object",
"properties": {
"collections": {
"type": "array",
"items": {"type": "string"},
"description": "List of collection names that match the query"
},
"companies": {
"type": "array",
"items": {"type": "string"},
"description": "List of company names from the query or ['unknown'] if impossible to determine"
},
"reasoning": {
"type": "string",
"description": "Brief explanation of why these collections and companies were chosen"
}
},
"required": ["collections", "companies", "reasoning"]
}


Крч пошел новый прогон где я прям уверен в нормальном мапинге)))

Кстати все снова опять на qwen 7b

И уже на 40 вопросах я вижу 100% попадание

Да я учел что есть вопросы где нужно вернуть несколько коллекций!
Засабмитил с роутер агентом
Заодно ввел классификации запросов по тематикам
Я все, вырубаю сервер =)

Enterprise RAG Challenge
LLaDA - это диффузионная языковая модель (LLM) что?


Появился новый тип LLM на основе диффузионных моделей

Отличие от авторегрессии(текущие LLM) в том, что в таких моделях каждый токен предсказывается последовательно, а в диффузионном подходе предсказывается целая матрица токенов в заданном фрейме

Это похоже на то, как идёт генерация изображений 100×100 пикселей из шума в понятную картинку

В этом подходе модель генерирует не последовательность, а целый текстовый фрейм. Нужны сравнения по весу, стоимости обучения и инференса - подход выглядит новаторским. На мой взгляд, это несколько усложняет процесс инференса и сборки датасета, но нужно тестировать! Посмотрим, что там по open-source.

Основные отличия вот в чем
Авторегрессивные модели (большинство существующих LLM):
Генерируют текст последовательно, токен за токеном слева направо
Каждый новый токен зависит от предыдущих токенов
Более прямолинейный процесс генерации

Диффузионные модели (LLaDA, Mercury):
Генерируют все токены одновременно, постепенно "очищая" шум
Работают по принципу "от грубого к точному" (coarse-to-fine)
Могут позволить более гибкое управление текстом (например, задание определенных слов в конкретных позициях)

До сих пор диффузионные модели доминировали в генерации изображений и видео, в то время как текст опирался на авторегрессию
Mercury от Inception Labs представлена как первая коммерческая диффузионная LLM

Судя по посту Karpathy, такой подход может привести к появлению моделей с уникальными сильными и слабыми сторонами


Потенциальные преимущества диффузионных LLM могут включать параллельную генерацию (возможно, более быстрый инференс) и более гибкое управление содержимым ждем open-source и гоу тестить!
VLM заменит CV?

Ты знал что qwen 2.5 VL вернет тебе bbox?

А теперь магия без рук!

Я взял этот квен Qwen2.5-VL-72B-Instruct-FP8-Dynamic

Взял на иммерс эту тачку https://immers.cloud/flavor/view/?id=984 (Цена, месяц = 269 660,16 ₽)

Наконец дождался пока vLLM обновится и станет поддерживать 2.5 VL

Взял вот такой код

OBJECT_JSON_SCHEMA = {
"type": "object",
"properties": {
"objects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bbox_2d": {
"type": "array",
"description": "Coordinates of the table bounding box [x1, y1, x2, y2]",
"items": {
"type": "integer"
}
},
"label": {
"type": "string",
"description": "Object label, e.g. 'table'"
}
},
"required": ["bbox_2d", "label"]
}
}
},
"required": ["objects"]
}



Получил вот такой ответ

{
"id": "chatcmpl-9a5edf7433e246b78376c4f18bdbf263",
"object": "chat.completion",
"created": 1741078401,
"model": "qwen2.5-vl-72b-instruct",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"reasoning_content": null,
"content": "{\"objects\": [{\"bbox_2d\": [54, 126, 532, 434], \"label\": \"table\"}]}",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}
],
"usage": {
"prompt_tokens": 724,
"total_tokens": 760,
"completion_tokens": 36,
"prompt_tokens_details": null
},
"prompt_logprobs": null
}



Но это только начало просто вернуть bbox таблицы это легко

По мимо этого мы можем получить содержимое, но ведь есть кейсы сложнее

А что если прислать сообщения из тг например?
Определить sender'ов и сразу в один проход достать текст?

  "objects": [
{
"bbox_2d": [
58,
292,
540,
360
],
"label": "Кстати вы знали что Qwen 2.5 VL может выдавать bbox объектов? https://qwenlm.github.io/blog/qwen2.5-vl/",
"sender": "user1",
"type": "text"
},
{
"bbox_2d": [
60,
374,
276,
404
],
"label": "о спасибо попробую",
"sender": "user2",
"type": "text"
},
{
"bbox_2d": [
60,
413,
490,
466
],
"label": "00:19, 72.9 KB",
"sender": "user2",
"type": "voice"
}



Да на х4 4090 это около 35 секунд, но!
Сам текст она достала нем немного ужасно, но с этим уже можно работать!

Я вас направил! Дальше я думаю вы знаете как использовать это в бизнесе и стартапах!
Снова ваш карманный AI-эксперт летал в Москву и вместе с командой @red_mad_robot рассказывал и обучал.

Речь как всегда, шла вокруг LLM и GenAI

Как вывод: сейчас всё меняется очень быстро

Полгода назад мы рассказывали про Naive RAG, а сегодня про MAS, MCP Deep Research и LLaDa

Что ж, попрактиковался с микрофоном, были очень интересные вопросы!
Neural Deep pinned «Мои пет-проекты в AI: от идеи до 9000 MAU за год Я тут по-тихому разрабатываю через Claude инструменты, которыми пользуюсь каждый день сам, и по недавней выгрузке имею ~9 000 активных пользователей в месяц Некоторым проектам меньше месяца, некоторым больше…»
This media is not supported in your browser
VIEW IN TELEGRAM
С 8 марта, вас ожидает чело́век павук
2025/06/30 08:30:03
Back to Top
HTML Embed Code: