Open Source — подход к созданию программного обеспечения, при котором исходный код программы делается доступным для всех. Это означает, что любой человек может использовать программу, изучать ее, изменять под свои нужды и делиться этими изменениями с другими.
В контексте искусственного интеллекта Open Source-инструменты включают библиотеки, фреймворки, датасеты, модели и платформы, которые помогают разработчикам создавать, обучать и тестировать ИИ-системы.
Почему важны проекты ИИ с открытым исходным кодом
Доступность. Программное обеспечение с открытым исходным кодом можно свободно использовать, копировать и распространять. ПО открыто для всех, независимо от профессии, возраста, места жительства или других факторов.
Коллективная разработка. Благодаря тому, что код открыт, над проектом могут работать множество разработчиков со всего мира. Это ускоряет развитие программы и улучшает ее качество.
Гибкость. Open Source позволяет настраивать инструменты под определенные цели, внедрять новые возможности и модифицировать уже имеющиеся.
Безопасность. Так как код открыт, его могут проверять множество людей, что помогает находить и устранять уязвимости быстрее, чем в закрытых программах.
Экономия. Многие программы с открытым исходным кодом бесплатны, что позволяет сэкономить на лицензиях.
Open Source инструменты для ИИ
ICT.Moscow представил карту российских инструментов Open Source для разработчиков ИИ. В нее вошли 128 проектов, созданных с декабря 2022 года. Их авторами стала 41 российская команда.
Open Source инструменты для ИИ-разработки можно разделить на несколько категорий, каждая из которых решает определенные задачи.
Библиотеки и фреймворки
Это инструменты для создания моделей машинного обучения. Они упрощают работу, скрывая сложные технические детали (например, принцип работы градиентного спуска или реализация свертки в нейронных сетях) за готовыми функциями.
Py-Boost (Сбер) — библиотека для машинного обучения, которая ускоряет градиентный бустинг на табличных данных благодаря новому алгоритму SketchBoost. Работает только с видеокартами (GPU) и использует библиотеки CuPy и Numba.
AggMe (SberDevices ) — фреймворк для объединения различных разметок датасетов (ограничивающих прямоугольников, сегментационных масок, временных интервалов) в единую. Он предназначен для улучшения работы моделей компьютерного зрения в задачах обнаружения объектов, сегментации изображений и аннотирования видео.
Yandex Cloud ML SDK ( Yandex Cloud) — набор инструментов на Python, который упрощает работу с моделями Yandex Cloud, такими как YandexGPT, для генерации текста и изображений, создания ИИ-ассистентов и другими. Легко интегрируется с фреймворком LangChain.
Бенчмарки
Это инструменты для оценки точности прогнозов и проверки устойчивости к помехам ИИ-моделей. Они состоят из тестовых наборов данных, стандартных метрик измерения, эталонных моделей для сравнения.
RuMT-Bench (Сбер) — бенчмарк для оценки того, насколько хорошо ИИ-ассистенты понимают русский язык и отвечают на вопросы. Это адаптация MT-Bench, где модель GPT-4 от OpenAI оценивает ответы других моделей по 10-балльной шкале, сравнивая их с GPT-3.5 Turbo. Чтобы оценить свою модель, нужно сгенерировать ответы на вопросы ruMT-Bench и загрузить их для оценки.
MERA (Sber AI, MTS AI, НИУ ВШЭ и Сколтех) — открытый бенчмарк для оценки больших русскоязычных языковых моделей, созданный для решения проблемы предвзятости в существующих бенчмарках. Он представляет собой независимую рейтинговую таблицу с проверенными задачами и настройками. Первая версия MERA включала логические задачи, экзаменационные вопросы и тесты на выявление стереотипов.
RealCodeEval (SberDevices) — бенчмарк, который проверяет, насколько хорошо ИИ пишет код Python в реальных проектах. Он состоит из 219 функций, взятых из репозиториев GitHub. ИИ должен написать функцию, а затем запустить тесты. Сравнивается, сколько тестов проходит код, написанный ИИ, и код, написанный человеком.
Датасеты
Это коллекции данных, необходимые для обучения и тестирования моделей. Качественные датасеты — основа для создания точных моделей ИИ.
Slovo (SberDevices) — набор данных для обучения ИИ распознаванию русского жестового языка (РЖЯ). Он содержит 20 тысяч видео с 1000 различными жестами и 400 видео без жестов, собранных с участием 194 носителей РЖЯ. В Slovo есть обучающая и тестовая выборки, а также готовые модели компьютерного зрения.
∇²DFT (AIRI, Сколтех и ПОМИ РАН) — датасет с информацией о квантовых свойствах и геометрии 1,9 млн лекарственных молекул (15,7 млн вариантов). Он нужен для обучения нейросетей, которые могут предсказывать свойства молекул с помощью теории функционала плотности. Набор данных включает электромеханические свойства, траектории оптимизации энергии и 13 моделей для предсказания энергии и работы с теорией функционала плотности.
Skoltech3D (Сколтех) — это открытый набор данных для обучения ИИ трехмерной реконструкции сложных объектов. Он содержит 1,4 млн снимков 107 объектов, сделанных при разном освещении и с помощью разных датчиков (смартфонов, промышленных камер, 3D-сканеров). Данные доступны в формате RGB и глубины и разделены на архивы по 25 Гб.
Методы
Это наборы действий, процедуры, необходимые для выполнения какой либо задачи.
ReBRAC (T-Bank AI Research) — улучшенный метод обучения с подкреплением, основанный на RAC. Разработчики добавили глубину нейросети и регуляризацию. В результате ReBRAC обучает ИИ в 4 раза быстрее и на 40% качественнее.
PROWN (AIRI)– это «водяной знак» для нейросетей, который позволяет доказать их кражу через API. В модель встраиваются секретные триггеры, которые проявляются при специальной проверке, не зависят от изменений в модели и гарантируют сохранение защиты с определенной вероятностью.
Архитектуры
Это шаблон построения ИИ-модели, который определяет:
структуру слоев (полносвязные, сверточные, рекуррентные);
схему их взаимодействия (последовательная, ветвящаяся, с обратными связями);
поток данных (направление и преобразование информации между слоями).
AASIST3 (AIRI) — ИИ-архитектура для распознавания поддельных голосов, созданных нейросетями. Она нужна для защиты от голосового мошенничества и повышения безопасности голосовой аутентификации.
Платформы
Это инструменты для управления инфраструктурой, необходимой для обучения и развертывания моделей. Они помогают масштабировать задачи и управлять ресурсами.
YTsaurus — платформа для хранения и обработки огромных объемов данных, работающая по принципу MapReduce, но поддерживающая и другие подходы, такие как ClickHouse и Spark. В основе лежит «Кипарис» — надежное древовидное хранилище для любых видов данных.
Топ-7 моделей искусственного интеллекта
Kandinsky (Сбер) — нейросеть, которая рисует картинки по текстовым запросам на 101 языке (включая русский и английский) в более чем 20 стилях. Она понимает детали и создает фотореалистичные изображения и даже короткие видеоролики. Использовать ее можно через Telegram, VK, Fusion Brain или GigaChat. С момента запуска в 2022 году нейросеть сгенерировала более 200 млн изображений. Последняя версия, Kandinsky 3.1 (апрель 2024), генерирует изображения в 10 раз быстрее и поддерживает разрешение до 4K.
MiVOLO (SberDevices) — нейросеть, которая определяет пол и возраст человека по фотографии, даже если лица не видно. Она использует гибридную модель VOLO и обрабатывает изображения тела и лица по отдельности. По словам разработчиков, MiVOLO определяет возраст лучше, чем человек. Обучена на открытом наборе данных LAGENDA. В феврале 2024 года вышла улучшенная версия MiVOLOv2.0 с меньшим количеством ошибок.
mGPT (Сбер) — это большая многоязычная языковая модель (13 млрд параметров) с контекстом 512 токенов, обученная на 600 Гб текста на 61 языке (в основном из Википедии). Основана на архитектуре GPT-3 и может генерировать текст на разных языках, включая языки СНГ и малых народов России. После дополнительного обучения mGPT может решать специализированные задачи в области обработки естественного языка.
Switti (Yandex Research) — нейросеть, которая генерирует изображения по тексту. В отличие от других моделей, Switti генерирует изображения с разной степенью детализации независимо друг от друга, что делает ее на 20–30% быстрее. Дополнительные слои нормализации стабилизируют обучение на большом наборе данных (более 100 млн изображений). По качеству Switti сравнима со Stable Diffusion, но генерирует изображения быстрее. Интересно, что при смешивании двух текстовых запросов Switti создает усредненное изображение.
T-Pro (Т-Технологии) — большая языковая модель (32,8 млрд параметров) на основе Qwen-2.5, специально адаптированная для русского языка. Она была обучена на большом количестве русскоязычных данных, кода и книг с использованием видеокарт NVIDIA H100. T-Pro можно использовать «из коробки» с подробными инструкциями или тонко настроить под конкретные задачи. Разработчики не рекомендуют использовать T-Pro в качестве готового голосового ассистента и советуют применять метод RAG и тонкую настройку для создания продуктов.
AIpom (НИУ ВШЭ) — модель для определения границ между оригинальным текстом и текстом, сгенерированным ИИ, в научных статьях. Она объединяет две нейросети (Mistral-7B-OpenOrca и DeBERTa-V3-Large), дообученные на бенчмарке M4. Декодер находит фрагменты, похожие на сгенерированные ИИ, а энкодер уточняет их, определяя, написан ли каждый токен человеком или ИИ.
Headless-AD (T-Bank AI Research и AIRI) — модель контекстного обучения, которая способна самостоятельно обучаться новым действиям в незнакомой среде, используя всего несколько примеров. Она может выполнять в 5 раз больше действий, чем при обучении, и не требует переобучения для решения новых задач. Headless-AD основана на дистилляции алгоритма (AD) и позволяет выполнять любую комбинацию действий, сохраняя качество и не требуя дополнительных ресурсов.
Заключение
Отечественные Open Source инструменты для ИИ стремительно развиваются. Только за январь этого было выпущено столько же решений, сколько за весь 2020 год. Причем их создают не только крупные технологические компании, но научные организации, стартапы и группы энтузиастов.