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 →