- BrainTools - https://www.braintools.ru -

Облачно, возможны нейросети: кризис датасетов и ахиллесова пята систем машинного зрения — DIY-чтение на выходные

Собрали статьи про системы ИИ и разработку, опубликованные на нашей DIY-платформе «вАЙТИ». Есть как материалы в стиле «бери и делай» с примерами кода, так и посты с разбором проблем при использовании систем ИИ — например, о том, почему на первый взгляд рабочая система машинного зрения [1] на поверку оказывается неработоспособной.

Изображение: Daoud Abismail (Unsplash License)

Изображение: Daoud Abismail (Unsplash License)

Нейросети и машинное обучение

> Безопасный доступ к закрытым данным для ИИ: от заявок до федеративного обучения [2]. Разработка систем ИИ все чаще упирается в ограничения, связанные с данными, а не железом. Далеко не все компании горят желанием делиться датасетами, однако именно корпоративные массивы, медицинские и научные своды представляют наибольшую ценность для развития отрасли. Эта статья рассказывает, как бизнесу грамотно организовать доступ к данным, не рискуя нарушением комплаенса и утечками ПД. В частности, автор выделяет несколько моделей доступа к данным. Например, модель «открытых данных» хорошо работает в контексте статистики, геоданных и разного рода обезличенных агрегаций — в этом случае достаточно соблюдать стандарты публикации и подбирать корректные лицензии. С другой стороны, модель контролируемого доступа по заявкам предполагает возможность делиться датасетами по запросу и с подписанием соглашения (этот вариант отлично подходит для науки и медицины). Также в конце статьи представлены чек-листы для исследователей и владельцев датасетов, которые помогут наладить «здоровый» обмен данными в соответствии с требованиями регуляторов и корпоративных регламентов.

> Как ИИ упирается в данные: кризис датасетов в активной фазе [3]. Автор материала на примере систем машинного зрения показывает, почему исправные модели вдруг перестают работать корректно. Дело в том, что общие данные, на которых была обучена нейросеть, зачастую не отражают «боевые» условия, в которых она будет работать — отсюда и ошибки [4] при распознавании дорожных знаков в сумерки, проблемы с детекцией белых касок на стройках. Также автор статьи рассказывает, как собрать «нормальный» датасет (что он должен включать и во сколько обойдётся его подготовка).

> Почему ML-модель может работать идеально… и все равно быть сломанной [5]. Владелец продукта AIOps-платформы Artimate говорит о причинах, которые ведут к деградации МО-моделей. Это может быть как неожиданная модификация данных, так и недокументированное изменение кода и настроек пайплайна. Также статья поможет разобраться, что собой представляет дрейф данных и дрейф концепции — и как их идентифицировать с помощью теста Колмогорова — Смирнова и индекса стабильности популяции (PSI). В конце материала — дополнительные рекомендации SRE-инженерам.

> ИИ-пузырь внутри компании: антикейсы и стратегии выхода из «пилотного ада» [6]. Статья с «вредными советами» о том, как внедрять системы ИИ в бизнес-процессы так, чтобы точно ничего не заработало. Можно развернуть нейросеть поверх плохо отлаженных процессов или бесконтрольно отдать выбор ИИ-агентов на откуп сотрудникам. Автор со ссылками на исследования показывает, к каким последствиям может приводить каждый такой антикейс. В конце материала — лучшие практики того, как руководству компании принимать решения касательно ИИ-инструментов.

> Как DataOps договориться с MLOps: 5 шагов к единому Feature Store и стабильному инференсу [7]. Когда модель проседает по качеству, начинается поиск виноватых. Инженеры по данным пеняют на модель, якобы она неспособна правильно обрабатывать датасеты, а специалисты по машинному обучению [8] уверяют, что это данные некачественные. Технический директор Stacklevel Group рассказывает, чем различаются и где пересекаются области MLOps и DataOps, а также даёт советы, как эффективно совмещать эти практики. В первую очередь специалист затрагивает тему конструирования признаков (feature engineering [9]), поскольку именно этот процесс является «пограничной территорией», и разбирает типичные ошибки внедрения систем ИИ: отсутствие метрик качества данных и процедур отката (rollback). В заключительной части материала — пример того, как должна выглядеть зрелая конфигурация при работе с бизнес-критическими МО-моделями: с единым слоем признаков или версионированным репозиторием трансформаций.

Системы ИИ в облаке и не только

> Ollama Cloud Client: когда модели слишком тяжелы для локального запуска [10]. Николай Пискунов, руководитель направления Big Data и эксперт нашей программы Cloud DevSecOps [11] про разработку приложений с учетом принципов ИБ, рассказывает о своём проекте [12] на Spring Boot. Речь о клиенте, выполняющем роль посредника между пользовательскими приложениями и моделями в облаке. Статья является своеобразным дневником разработки, в котором автор описал, с какими проблемами он столкнулся и как их решал: «Когда я начал интеграцию с Ollama Cloud, меня ждал сюрприз, их API не совсем соответствует тому, что ожидает стандартный клиент Spring AI — пришлось делать ручной парсинг стрима». Разработчик поделился [12] кодом проекта на GitVerse.

> Гибридное облако как золотой стандарт: почему «или-или» уступает место «и» [13]. Вводная статья о преимуществах гибридной облачной инфраструктуры с рекомендациями, как стандартизировать доступ к разным средам и отслеживать метрики рабочих сервисов [логи, трассировки, наблюдение за бизнес-процессами]. Автор не обошёл стороной и риски неправильной реализации гибридной модели, к примеру, когда недооценка пропускной способности и стоимости трафика приводит к росту накладных расходов на передачу данных.

Изображение: ismailenesayhan (Unsplash License)

Изображение: ismailenesayhan (Unsplash License)

> Spring AI: феноменология цифрового сознания, или как я перестал бояться и полюбил облачные модели [14]. Это — продолжение статьи [10] Николая Пискунова про реализацию клиента для Ollama, посвященное принципам работы со Spring AI. Как подключаться к OpenAI, используя всего три строчки конфигурации, что нужно для развертки локальной Ollama, и как устраивать дебаты между нейросетями. По словам автора, самое интересное в проекте Spring AI — это возможность стриминга с генерацией ответов по токенам. Специалист приводит примеры кода с примечаниями для каждой функции — ознакомиться с исходниками также можно в репозитории на GitVerse [12].

> Low-latency инфраструктура: как устроены ЦОД и сети для минимизации задержек [15]. Генеральный директор облачной платформы, опираясь на опыт [16] собственной компании, показывает «внутреннюю кухню» дата-центров. К примеру, как грамотно спроектировать архитектуру ЦОДов и что учитывать для достижения минимального времени отклика. Так, в компании эксперта применяют сетевую топологию серверных и магистральных коммутаторов spine-leaf, чтобы минимизировать число промежуточных узлов. Другим важным фактором является география, автор рассказывает, как его команда объединила два столичных дата-центра и развернула инфраструктуру на ключевых точках обмена трафиком. Также автор поделился опытом миграции на отечественное и открытое программное обеспечение, включая гипервизор KVM и OpenStack.

Опыт разработки

> Как я научил торгового бота рисовать свечные графики и перестал спамить текстом [17]. Автор статьи разработал торгового бота, отправляющего в мессенджер данные о котировках, и рассказывает, как он учил ИИ-агента генерировать свечные графики (отражают изменение стоимости акций или валют). Для всех программных компонентов приводится код с примечаниями. Также разработчик затронул возникшие проблемы, например, когда в систему начали приходить ранее обработанные тики, и ему пришлось внедрить дедупликатор. В целом, материал можно рассматривать как полноценное руководство или практикум для совершенствования навыков программирования.  

> Классификация сайтов по тематикам с помощью нейросети [18]. В одной из своих прошлых статей [19] тимлид отдела обработки данных на платформе веб-маркетинга показал, как реализовать алгоритм, позволяющий относить сетевые ресурсы к той или иной тематике. В новом материале специалист продемонстрировал его усовершенствованную версию, которая классифицирует сайты ещё быстрее благодаря LLM. За основу проекта был взят открытый фреймворк Ollama — в статье есть поэтапная инструкция по его настройке через командную строку. Автор рассказывает, как устроен новый алгоритм для определения тематики сайта: с извлечением ключевых слов на основании содержимого сайта и автоматическим подбором по справочнику. Если захочется повторить проект и протестировать его самому, то весь исходный код размещён в репозитории [20] GitHub.

> Как мы создали нейросеть для определения возраста [21]. Аналитик, работающий в компании-поставщике систем ИИ для бизнеса, делится опытом реализации ИИ-инструмента для определения возраста покупателей в магазинах. Команда разбавляла обучающую выборку «необычными» датасетами — например, фотографиями обезьян и изображениями персонажей из аниме — чтобы усилить обобщающую способность системы ИИ распознавать нестандартные паттерны. Автор упоминает и то, как именно его команда испытывала инструмент — визуальные отчёты, мониторинг нагрузки на вычислительные серверы, автоматические тесты с отображением результатов в Prometheus/Grafana.

Beeline Cloud [22] — безопасный облачный провайдер. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.

О чём ещё мы пишем в нашем блоге на Хабре:

Автор: beeline_cloud

Источник [27]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/30630

URLs in this post:

[1] зрения: http://www.braintools.ru/article/6238

[2] Безопасный доступ к закрытым данным для ИИ: от заявок до федеративного обучения: https://vaiti.io/organizacziya-bezopasnogo-dostupa-k-zakrytym-dannym-dlya-ii-ot-zayavok-do-federativnogo-obucheniya/

[3] Как ИИ упирается в данные: кризис датасетов в активной фазе: https://vaiti.io/kak-ii-upiraetsya-v-dannye-krizis-datasetov-v-aktivnoj-faze/

[4] ошибки: http://www.braintools.ru/article/4192

[5] Почему ML-модель может работать идеально… и все равно быть сломанной: https://vaiti.io/pochemu-ml-model-mozhet-rabotat-idealno-i-vse-ravno-byt-slomannoj/

[6] ИИ-пузырь внутри компании: антикейсы и стратегии выхода из «пилотного ада»: https://vaiti.io/ii-puzyr-vnutri-kompanii-antikejsy-i-strategii-vyhoda-iz-pilotnogo-ada/

[7] Как DataOps договориться с MLOps: 5 шагов к единому Feature Store и стабильному инференсу: https://vaiti.io/kak-dataops-dogovoritsya-s-mlops-5-shagov-k-edinomu-feature-store-i-stabilnomu-inferensu/

[8] обучению: http://www.braintools.ru/article/5125

[9] feature engineering: https://en.wikipedia.org/wiki/Feature_engineering

[10] Ollama Cloud Client: когда модели слишком тяжелы для локального запуска: https://vaiti.io/ollama-cloud-client-kogda-modeli-slishkom-tyazhely-dlya-lokalnogo-zapuska/

[11] программы Cloud DevSecOps: https://cloud.beeline.ru/clouddevsecops/

[12] проекте: https://gitverse.ru/nickolden/ollama-client

[13] Гибридное облако как золотой стандарт: почему «или-или» уступает место «и»: https://vaiti.io/gibridnoe-oblako-kak-zolotoj-standart-pochemu-ili-ili-ustupaet-mesto-i/

[14] Spring AI: феноменология цифрового сознания, или как я перестал бояться и полюбил облачные модели: https://vaiti.io/spring-ai-fenomenologiya-czifrovogo-soznaniya-ili-kak-ya-perestal-boyatsya-i-polyubil-oblachnye-modeli/

[15] Low-latency инфраструктура: как устроены ЦОД и сети для минимизации задержек: https://vaiti.io/low-latency-infrastruktura-kak-ustroeny-czod-i-seti-dlya-minimizaczii-zaderzhek/

[16] опыт: http://www.braintools.ru/article/6952

[17] Как я научил торгового бота рисовать свечные графики и перестал спамить текстом: https://vaiti.io/kak-ya-nauchil-torgovogo-bota-risovat-svechnye-grafiki-i-perestal-spamit-tekstom/

[18] Классификация сайтов по тематикам с помощью нейросети: https://vaiti.io/klassifikacziya-sajtov-po-tematikam-s-pomoshhyu-nejroseti/

[19] статей: https://vaiti.io/avtoopredelenie-tematiki-biznesa-klienta-po-ego-sajtu/

[20] репозитории: https://github.com/polo-man/vaiti/blob/main/theme_classifier/website_theme_classifier_ollama.py

[21] Как мы создали нейросеть для определения возраста: https://vaiti.io/kak-my-sozdali-nejroset-dlya-opredeleniya-vozrasta/

[22] Beeline Cloud: https://cloud.beeline.ru/?utm_source=owned_media&utm_medium=habr&utm_campaign=beeline_cloud&utm_term=digestaiml

[23] Как создать FEN-to-Image Converter на Java: от шахматных фигур до красивых досок: https://habr.com/ru/companies/beeline_cloud/articles/1016014/

[24] Десятки «кораблей Тесея» уже готовы, ещё тысячи на подходе! ИИ в опенсорсе: https://habr.com/ru/companies/beeline_cloud/articles/1019600/

[25] Выходные — для развития: Пара открытых ресурсов для погружения в инженерию данных: https://habr.com/ru/companies/beeline_cloud/articles/1014908/

[26] Почему компании не жалеют миллиардные бюджеты на зарплаты ИИ-специалистов: https://habr.com/ru/companies/beeline_cloud/articles/1013380/

[27] Источник: https://habr.com/ru/companies/beeline_cloud/articles/1038222/?utm_campaign=1038222&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100