Открыть сервис

Malm

Malm — это открытое веб-приложение, написанное на языке программирования Python, предназначенное для проведения краудсорсинговых экспериментов в области искусственного интеллекта (ИИ), в частности, для сбора обратной связи от пользователей о поведении языковых моделей и других агентов ИИ. Разработанное исследовательской компанией OpenAI, Malm (ранее известное как «Elicit») служит интерфейсом для взаимодействия людей с ИИ-агентами, позволяя оценивать их ответы, корректировать поведение и предоставлять данные для обучения с подкреплением на основе человеческой обратной связи (RLHF).

История

Проект Malm был анонсирован компанией OpenAI в 2022 году как инструмент для масштабирования процесса сбора данных, необходимых для обучения больших языковых моделей (LLM). До появления Malm исследователи OpenAI использовали внутренние инструменты и платформу «Elicit», которая была менее масштабируемой и не предоставляла открытого доступа сторонним разработчикам.

Основной целью создания Malm было предоставление сообществу ИИ-разработчиков и исследователей возможности самостоятельно организовывать эксперименты по оценке моделей, не прибегая к услугам дорогих аутсорсинговых платформ. В 2023 году OpenAI выпустила исходный код Malm на платформе GitHub под лицензией MIT, что сделало его доступным для модификации и развёртывания на собственных серверах.

Архитектура и устройство

Malm представляет собой клиент-серверное приложение с веб-интерфейсом. Серверная часть написана на Python с использованием веб-фреймворка FastAPI, а клиентская — на JavaScript с библиотекой React. Приложение использует базу данных PostgreSQL для хранения результатов экспериментов, конфигураций и пользовательских сессий.

Основные компоненты

  • Плагины (plugins): Основной механизм расширения функциональности. Плагины определяют логику эксперимента: как генерируются запросы к ИИ-агенту, как отображаются ответы и какие действия может выполнять пользователь (оценка, исправление, голосование). Плагины могут быть написаны на Python и подключаются к серверу через API.
  • Интерфейс участника (Participant UI): Веб-страница, на которой пользователь видит задание (например, диалог с чат-ботом) и может взаимодействовать с ним. Интерфейс настраивается через плагины.
  • Интерфейс администратора (Admin UI): Панель управления для создания и мониторинга экспериментов, управления пользователями и просмотра статистики.
  • Пул агентов (Agent Pool): Модуль, отвечающий за подключение к различным ИИ-моделям (например, GPT-3, GPT-4, Anthropic Claude, локальные модели через API). Пул позволяет одновременно тестировать несколько моделей в одном эксперименте.
  • Система очередей: Использует Redis для управления задачами и обеспечения асинхронной обработки запросов при большом количестве участников.

Применение

Malm ориентирован на исследователей, разработчиков ИИ и специалистов по машинному обучению. Основные сценарии использования включают:

  • Сбор обратной связи для RLHF: Участники эксперимента оценивают ответы языковой модели по заданным критериям (полезность, безопасность, точность, стиль). Собранные оценки используются для дообучения модели методом обучения с подкреплением.
  • Сравнительное тестирование (A/B-тесты): Пользователям показывают ответы двух или более моделей на один и тот же запрос и просят выбрать лучший. Это позволяет ранжировать модели по качеству.
  • Обучение с демонстрацией: Участники могут корректировать ответы модели, показывая ей желаемое поведение. Такие данные используются для имитационного обучения (behavioral cloning).
  • Оценка безопасности: Эксперименты могут быть настроены для выявления нежелательного поведения модели (токсичность, предвзятость, опасные советы). Участники отмечают такие ответы, что помогает разработчикам улучшать фильтры и правила.
  • Тестирование диалоговых систем: Malm позволяет моделировать длинные диалоги, где участник общается с агентом, а затем оценивает всю беседу в целом.

Классификация экспериментов

Эксперименты в Malm можно классифицировать по типу взаимодействия с пользователем:

  • Оценочные (Rating): Пользователь ставит числовую оценку (например, от 1 до 5) ответу модели.
  • Ранжирующие (Ranking): Пользователь сортирует несколько ответов по качеству.
  • Корректирующие (Editing): Пользователь вносит правки в ответ модели, создавая эталонный вариант.
  • Диалоговые (Conversational): Пользователь ведёт диалог с агентом, а затем оценивает его ход.
  • Классификационные (Classification): Пользователь отмечает ответы по категориям (например, «безопасно» / «опасно»).

Развёртывание и настройка

Malm может быть развёрнут на собственном сервере или в облачной инфраструктуре. Для работы необходимы:

  • Python 3.9 или новее
  • PostgreSQL
  • Redis
  • Node.js (для сборки клиентской части)

Процесс развёртывания включает клонирование репозитория, установку зависимостей, настройку переменных окружения (подключение к базе данных, ключи API для моделей) и запуск сервера. OpenAI предоставляет документацию по развёртыванию и примеры плагинов.

Ограничения и критика

Несмотря на открытость исходного кода, Malm имеет ряд ограничений:

  • Зависимость от API моделей: Для работы с коммерческими моделями (например, GPT-4) требуется наличие API-ключей и оплата использования. Это делает эксперименты затратными при большом масштабе.
  • Сложность настройки: Для создания сложных экспериментов требуется знание Python и понимание архитектуры плагинов. Новички могут столкнуться с трудностями при адаптации.
  • Качество обратной связи: Результаты экспериментов сильно зависят от инструкций, данных участникам. Плохо сформулированные задания могут привести к некачественным данным.
  • Этические вопросы: Использование краудсорсинга для обучения ИИ поднимает вопросы оплаты труда участников и конфиденциальности данных. OpenAI не предоставляет встроенных механизмов для выплат, оставляя это на усмотрение организаторов.

Значение

Malm стал важным инструментом в области исследований ИИ, демократизируя доступ к методам обучения с подкреплением на основе человеческой обратной связи. До его появления подобные эксперименты были доступны лишь крупным лабораториям, имеющим собственные инфраструктуры. Открытый код позволил университетам, стартапам и независимым исследователям проводить собственные эксперименты, что ускорило развитие более безопасных и полезных языковых моделей.

Источники

  • OpenAI. «Malm: Open-source platform for human feedback». OpenAI Blog, 2022.
  • Документация проекта Malm на GitHub: репозиторий и руководство по развёртыванию.
  • Статья «RLHF: Reinforcement Learning from Human Feedback» в журнале «Nature Machine Intelligence», 2023.
  • Обзор инструментов для краудсорсинга в ИИ на портале «Towards Data Science», 2023.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →