Обновить
Сначала показывать
Порог рейтинга
Уровень сложности

Как выбрать OCR в 2026-м: тестируем девять моделей на трех движках инференса на рукописном русском

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели11K

Вам нужен OCR. В техобзорах рекомендуют Tesseract, на Хабре все пишут про VLM, идете на Hugging Face — там PaddleOCR-VL, DeepSeek-OCR, Dots.OCR, Qwen2.5-VL, и каждая называет себя SOTA. Прибавим к этому vLLM, SGLang, TGI, Native HF Transformers, и вот вы зависли между десятками комбинаций. Мы протестировали девять моделей на трех движках инференса на рукописном русском и отразили в таблице, какая модель под какую задачу лучше подходит.

Велком под кат за таблицей и историей ее создания

Читать далее

Новости

Как переводить смешанный русский-казахский и не сойти с ума

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.1K

В Казахстане часто смешивают казахский и русский в соцсетях, переписке, быту. Но попробуйте скормить русско-казахскую фразу любой системе машинного перевода (Machine Translation), и она начнёт чудить. Не потому, что она глупая,  а потому что данных для обучения моделей переводить такую языковую кашу почти нет.

В этот раз разбираю научную работу коллег из MWS AI и нескольких университетов, в которой они предложили подход для генерации синтетического датасета под эту задачу на базе уже существующих обычных параллельных корпусов на казахском и русском. Да, это синтетические данные, но в условиях, когда альтернативы нет, это спасает. Их модель, обученная на синтетике, обошла известные коммерческие системы (ручная оценка) в узком, но реальном сценарии.

Велком под кат

Данные, которые нельзя выдумать: как мы собираем трейсы для тренировки агентских навыков Cotype

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.5K

Привет, Хабр! На днях мы выкатили третье поколение языковых моделей Cotype — флагманскую Cotype Pro 3 и ее облегченную версию Cotype Light 3 (к слову, лайт мы выкатили чутка раньше, но это не имеет значения). Почитать о характеристиках моделей можно вот в этом посте. Тут же мы расскажем вам о нюансах обучения — точнее о том, как мы учим наши модели выполнять многошаговые сценарии без запинок, что совершенно необходимо, так как они выступают ключевым компонентом наших корпоративных ИИ-агентов и мультиагентных систем.

Велком под кат

Как заставить ИИ соблюдать закон, не трогая веса. Выкладываем в открытый доступ внешний фильтр для LLM

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели11K

В прошлом году я уже рассказывал об AVI (Aligned/Agreement Validation Interface) — концепции внешнего, гибкого и независимого от модели фильтра, который работает как умный файрвол для LLM: отбивает промпт-атаки на входе, проверяет ответы модели на токсичность, этичность и нарушение закона — на выходе. Недавно мы доработали свою концепцию с точки зрения архитектуры, реализовали и выложили на GitHub рабочий сервис на Python и FastAPI: входной и выходной фильтры, RAG-модуль, докер-сборку с мониторингом (Prometheus, Grafana, Jaeger), а также инструментарий для воспроизведения экспериментов на FinanceBench. 

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

А по-научному и подробно все описано в журнале MDPI.Electronics (на английском).  

Поехали!

Как мы реализовали оптимальное обучение CV-моделей в Luna Line. Часть 2. Сегментация

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7K

И снова здравствуйте! Продолжаю свой рассказ о поиске «универсального рецепта» для обучения моделей в Luna Line. Теперь речь пойдет о сегментации. Если вы пропустили предыдущую публикацию по классификации, то вам лучше начать читать с нее, чтобы не запутаться. 

Дело в том, что когда мы разобрались с классификацией, наша же методология оставила послевкусие неудовлетворенности. Мы задавали себе вопрос: а действительно ли выбранное семейство показывает максимум своих возможностей или мы просто зажали его в рамки единого пайплайна? Для сегментации мы решили действовать иначе.

Читать далее

Как мы реализовали оптимальное обучение моделей в Luna Line. Часть 1. Классификация

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.9K

Привет, Хабр! Меня зовут Анастасия Белозерова, я тимлид исследовательской команды, работающей над продуктом Luna Line в VisionLabs (входит в MWS AI). Мы занимаемся созданием no-code-платформы для компьютерного зрения, которая позволяет пользователю (не программисту, а агроному, например) разметить данные, нажать на кнопку и получить идеально обученную CV-модель под свои рабочие задачи, даже если у него для этого данных всего-то 50 картинок. 

Под катом — хроники наших экспериментов по поиску «универсального рецепта» для обучения моделей под задачи классификации. Публикация про сегментацию будет чуть позже. Расскажу, какие мы выдвигали гипотезы, как их проверяли относительно поиска универсального решения и почему пересмотрели методологию экспериментов при переходе от одной задачи к другой.

Кто желает не читать, а смотреть и слушать, вот тут лежит видеозапись моего доклада по этой теме на Митапе D﹥﹤Vision. 

Но давайте сначала коротко расскажу о продукте.

Читать далее

Как работает адаптивный RAG, которому вообще не нужна LLM

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели15K

Один из самых популярных способов снизить процент галлюцинаций языковых моделей — метод RAG, то есть схема, в которой модель при необходимости обращается к внешним данным, а не опирается исключительно на внутренние знания. Все LLM текущего поколения работают с RAG, но он делает систему затратнее по вычислениям и сам по себе может допускать ошибки, если внешний контекст оказался плохим или нерелевантным. 

Сегодня я разберу исследование LLM-Independent Adaptive RAG: Let the Question Speak for Itself, в котором ученые из MWS AI, AIRI, Сколтеха и еще нескольких университетов предлагают решение этой проблемы через новый подход к adaptive retrieval, когда RAG запускается не автоматом, а только при необходимости, и для этого не нужна LLM.

Читать далее

I just want an agent. Часть 2. Как мы построили виртуальную команду для разработки ИИ-агентов

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.9K

В первой части я рассказывал про мета-агента — свой прототип системы, которая собирает ботов по описанию на естественном языке, и про то, как этот проект занял первое место на внутреннем конкурсе. Напомню концепцию: пользователь говорит «хочу бота» и отгружает требования, а агент проектирует архитектуру и отдает готовый JSON.

Но конкурсный прототип и продакшен-система — это разные вещи. Чтобы реализовать такой функционал для корпоративных пользователей и тем более продавать, нужно сделать так, чтобы наш ИИ-агент для производства ИИ-агентов работал надежно, не один раз, не только на демокейсах и, самое главное, не вытворял что-нибудь неожиданное посреди рабочего процесса. Это значит, что нам нужна инженерная система — с ролями, инструментами, ограничителями и накопленным опытом. 

Вторая часть моего лонгрида как раз посвящена тому, как мы реализовали продакшен-решение для создания ИИ-агентов, которое впоследствии стало главным вайб-код-инструментом нашей платформы MWS AI Agents Platform и получило название «ИИ-команда» (AI Force). 

Велком под кат

I just want an agent. Часть 1. Как я научил ИИ собирать ИИ‑агентов за пользователей и выиграл конкурс

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели12K

Привет, Хабр! Меня зовут Данила Катальшов, я технический лидер команды промпт-инженеров MWS AI. В конце прошлого года мы (в значении MWS AI) выпустили собственную платформу для сборки ИИ-агентов — MWS AI Agents Platform. Платформа избавляет от необходимости разбираться в программировании — можно собирать нужного бота, ИИ-агента или мультиагентную систему, просто перетаскивая блоки в визуальном конструкторе. Однако для работы на ней все равно нужно было инженерное мышление, по меньшей мере на уровне понимания циклов создания ИИ-решений, типов данных, связей между различными компонентами и прочее.

Чтобы закрыть этот общий гэп low-code-платформ, в рамках внутреннего корпоративного конкурса я собрал мета-агента (Meta Agent) — систему, где ИИ-агент выступает архитектором и собирает других агентов по текстовому описанию. В итоге проект занял первое место и, что более важно, потом мы с командой запилили уже полноценный аналогичный (ну почти) функционал для нашей MWS AI Agents Platform, который выкатили вот буквально на днях.

В этой части лонгрида речь пойдет о моем конкурсном проекте. А во второй — уже будет история о том, как реализован аналогичный вайб-код-функционал на платформе.

Поехали!

Трудности перевода: почему LLM не умеют писать нормальные докстринги на русском и как это исправить

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.2K

Каждый, кто пробовал заставить кодинг-LLM написать вменяемый комментарий к коду на русском, знает, какая это боль. Часто модели либо срываются на английский, либо выдают «кальку», либо игнорируют структуру. А всё потому, что они изначально заточены на английский язык. Огрехи встречаются, в частности, в терминологии: модели путают технические заимствования, например «деплой», «коммит», с их буквальным переводом, что делает текст неестественным для разработчика. В структуре тоже не всегда всё гладко: при генерации на русском модели часто «ломают» установленный для Docstring формат (описание, параметры, return, exceptions), из-за чего IDE перестают подхватывать документацию.

Существующие в природе датасеты для обучения кодинг-моделей вроде CodeSearchNet и The Vault либо не содержат русского языка, либо, как MCoNaLa, заточены на поиск, а не на генерацию документации. Именно эту проблему решают ученые из MWS AI: они самостоятельно собрали датасет StRuCom, как раз ориентированный на обучение ИИ генерировать комментарии к коду.

Под катом — история о том, как он был собран.

Читать далее

AutoML для NLU без ручной настройки: делимся библиотекой OpenAutoNLU

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.5K

Большинство существующих AutoML-библиотек либо не поддерживают обучение моделей для понимания естественного языка (Natural Language Understanding, или NLU) из коробки, либо не умеют обучать хорошие out of scope детекторы, либо неудобны и требуют расширенной экспертизы для использования.  

Для того чтобы решить эти проблемы, мы в MWS AI разработали OpenAutoNLU — опенсорс-библиотеку для NLU, включающую диагностику качества данных, гибко настраиваемый пайплайн обучения модуля фильтра запросов, которые не относятся ни к одному из известных текстовых классификаторов меток OOD, и функции LLM. Делимся ей на GitHub

Под катом разберу, как устроен фреймворк, за счет чего он работает с минимальным вмешательством разработчика и какие результаты уже есть.

Поехали!

ASR на CPU. Как выбрать бэкенд, настроить Triton и не потерять в точности

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели6.3K

Привет, Хабр! Меня зовут Владимир Никулин, я технический лидер команды продуктивизации нейросетевых решений в MWS AI. Мы развиваем платформу синтеза и распознавания речи Audiogram, которая, в свою очередь, является частью еще более масштабной платформы для создания ИИ-агентов — MWS AI Agents Platform.

Часто нашим заказчикам нужно компактное коробочное решение, которое можно запустить на CPU при отсутствии GPU или для простой экономии ресурсов. В этом материале по следам своего же доклада на AiConf на примере нашего модуля автоматического распознавания речи (Automatic Speech Recognition или кратко — ASR) я расскажу:

- как мы продуктивизировали модели на CPU, сохраняя качество (WER), сопоставимое с моделями, развернутыми в GPU-кластерах;

- какие подходы для сравнения по производительности и качеству использовали, чтобы не попасть в ловушку усреднения метрик;

- с какими неожиданностями мы столкнулись при смене версий Triton Inference Server и бэкендов (ONNX, OpenVINO).

Поехали!

Что не так с оценкой RAG-систем и какое решение предлагает динамический бенчмарк DRAGOn

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.8K

Привет, Хабр! В этот раз предлагаю разбор научной статьи DRAGOn: Designing RAG On Periodically Updated Corpus — будет полезна всем, кто интересуется RAG и хочет знать, как оценивать такие системы. 

Структура

1. Почему RAG сложно оценивать 
2. Идея DRAGOn
3. Как строится бенчмарк
4. Проверка качества QA 
5. Проверка бенчмарка на RAG-системах
6. Публичный лидерборд 
7. Ограничения, проблемы и практические выводы

Читать далее

Ближайшие события

Разрабатываем голосового ассистента на Rockchip. Часть 2

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели8.4K

Продолжаю разрабатывать DIY голосового ассистента на SOC-платформе Rockchip.

В первой части смы соединили в единый конвейер вызов распознавания речи, локального чат-бота и синтез ответа.

Если еще не читали, то вам сюда.

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

Читать далее

Курс Natural Language Processing & LLMs — новый сезон

Уровень сложностиСредний
Время на прочтение1 мин
Охват и читатели8.5K

новый запуск курса начинается 10 февраля

курс включает в себя все базовые технологии от TF-IDF до агентов, про вайб-кодинг тоже поговорим

Читать далее

Как мы собирали датасет для разработки ML-инструмента, помогающего спасать жизни

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели8.7K

Привет, Хабр! В этом посте речь пойдет о специфическом датасете, предназначенном для решения очень важной задачи — разработки ML-инструмента, помогающего своевременно выявлять предпосылки и предотвращать суициды. Мы с командой «Пситехлаб», специализирующейся на ИИ-решениях для психотерапии, собирали его по вечерам. Этот проект диссертационный, он не входит в мои обязанности в рамках работы в MWS AI, но опыт, приобретенный в компании, стал базой, без которой его бы не было.

Читать далее

Как мы первыми в России научились заселять в отель без паспорта — по лицу

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.3K

Привет, Хабр! 

Меня зовут Константин Евсеев, я тружусь в компании VisionLabs, которая специализируется на технологиях биометрии и компьютерного зрения. В этом посте расскажу о проекте, к воплощению которого я хотел приложить руку еще за четыре года до его появления. Конкретно — о разработке системы для заселения в отель по биометрии. Почему? Все просто: если ты инженер и видишь, что что-то можно улучшить, то руки чешутся, пока не сделаешь. 

Читать далее

Как сжимать языковые модели без дообучения

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.9K

Привет, Хабр! Меня зовут Валентин Малых, я - и.о. руководителя направления фундаментальных исследований в MWS AI. Сегодня я расскажу об одном нашем исследовании по сжатию LLM. Если простыми словами, то это про то, как сделать большую модель чуть-чуть менее требовательной в плане памяти и времени выполнения. Для это придумано три базовых техники: квантизация (загрубление весов модели), дистилляция (обучение уменьшенной копии) и прунинг (удаление части сети). Этот пост как раз будет про третий способ, точнее – недавно разработанный нами в сотрудничестве с зарубежными коллегами метод структурного прунинга по глубине без дообучения, который мы назвали ReplaceMe. Например, модель LLaMA-2 после нашего сжатия на 25% сохраняет 92,5% качества. Ниже – о том, как это работает.

Читать далее

Разрабатываем голосового ассистента на Rockchip. Часть 1

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели8K

Всем привет! Я Виктор Загускин, руководитель отдела голосового ML в MWS AI. Мы разрабатываем продукт формата «спичкит» — распознавание и синтез речи, анализ ее содержания. Наши клиенты используют эту технологию как кубики для создания прикладных продуктов. Чтобы лучше прочувствовать их потребности и боли, лучше познакомиться с тем, как реализовать голосовые ассистенты на основе современных решений, я решил попробовать сделать подобный продукт самостоятельно. Это будет работающий на локальном устройстве голосовой ассистент со встроенной LLM.

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

Первая часть цикла посвящена базе — выбору «железа», тулкитов для инференса, моделей для синтеза и распознавания речи и LLM. Поехали!

Читать далее

ML глазами практика и препода. Часть 2. Границы роста и цена энергии

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели9.2K

Всем привет! Это вторая часть моего лонгрида о том, как ИИ меняет ИТ и не только. Тут я размышляю на тему no-code-моды, физических ограничениях и энергетической цены нынешнего ИИ-бума, а также о трансформациях, которые происходят в науке и медицине благодаря нейросетям. 

Если вы не читали первую часть, то вам сюда

Читать далее