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

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

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

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

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

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

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

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

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

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

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

    Изображение: ismailenesayhan (Unsplash License)
    Изображение: ismailenesayhan (Unsplash License)
  • Spring AI: феноменология цифрового сознания, или как я перестал бояться и полюбил облачные модели. Это — продолжение статьи Николая Пискунова про реализацию клиента для Ollama, посвященное принципам работы со Spring AI. Как подключаться к OpenAI, используя всего три строчки конфигурации, что нужно для развертки локальной Ollama, и как устраивать дебаты между нейросетями. По словам автора, самое интересное в проекте Spring AI — это возможность стриминга с генерацией ответов по токенам. Специалист приводит примеры кода с примечаниями для каждой функции — ознакомиться с исходниками также можно в репозитории на GitVerse.

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

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

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

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

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

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

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