Веб-сайт | КомпасХаб | КомпасРанг | Документация | Установка | Отчеты о проблемах
английский | 简体中文
присоединяйтесь к нам в Discord и WeChat
Важный
Поставьте нам звезду , вы будете получать все уведомления о выпусках от GitHub без каких-либо задержек ~ ️
в OpenCompass !
Подобно тому, как компас направляет нас в нашем путешествии, OpenCompass проведет вас через сложную среду оценки больших языковых моделей. Благодаря мощным алгоритмам и интуитивно понятному интерфейсу OpenCompass позволяет легко оценить качество и эффективность ваших моделей НЛП.
Изучите возможности OpenCompass! В настоящее время мы нанимаем на полную ставку исследователей/инженеров и стажеров . Если вы увлечены LLM и OpenCompass, не стесняйтесь обращаться к нам по электронной почте. Мы хотели бы услышать ваше мнение!
Мы рады сообщить, что OpenCompass был рекомендован Meta AI . Нажмите «Начать работу с Llama», чтобы получить дополнительную информацию.
Внимание
Уведомление о критических изменениях. В версии 0.4.0 мы объединяем все файлы конфигурации AMOTIC (ранее расположенные в ./configs/datasets, ./configs/models и ./configs/summarizers) в пакет opencompass. Пользователям рекомендуется обновить ссылки на конфигурацию, чтобы отразить это структурное изменение.
[2024.10.14] Теперь мы поддерживаем многоязычный набор данных QA OpenAI MMMLU. Не стесняйтесь попробовать!
[2024.09.19] Теперь мы поддерживаем Qwen2.5 (от 0,5B до 72B) с несколькими серверными модулями (huggingface/vllm/lmdeploy). Смело дайте им попробовать!
[2024.09.17] Теперь мы поддерживаем OpenAI o1( o1-mini-2024-09-12
и o1-preview-2024-09-12
). Смело дайте им попробовать!
[2024.09.05] Теперь мы поддерживаем извлечение ответов посредством постобработки модели, чтобы обеспечить более точное представление возможностей модели. В рамках этого обновления мы интегрировали XFinder в качестве нашей первой модели постобработки. Для получения более подробной информации обратитесь к документации и попробуйте!
[2024.08.20] OpenCompass теперь поддерживает SciCode: исследовательский тест кодирования, курируемый учеными.
[2024.08.16] OpenCompass теперь поддерживает новый тест оценки длинноконтекстной языковой модели — RULER. RULER обеспечивает оценку длительного контекста, включая извлечение, многоскачковую трассировку, агрегацию и ответы на вопросы посредством гибких конфигураций. Ознакомьтесь с конфигурацией оценки RULER прямо сейчас!
[2024.08.09] Мы опубликовали пример данных и конфигурации для CompassBench-202408. Добро пожаловать в CompassBench для получения более подробной информации.
[2024.08.01] Мы поддержали модели Gemma2. Добро пожаловать, попробуйте!
[2024.07.23] Мы поддержали наборы данных ModelScope, вы можете загружать их по требованию, не скачивая все данные на локальный диск. Добро пожаловать, попробуйте!
[2024.07.17] Мы рады объявить о выпуске технического отчета NeedleBench. Мы приглашаем вас посетить нашу документацию поддержки для получения подробных рекомендаций по оценке.
[2024.07.04] OpenCompass теперь поддерживает InternLM2.5, который имеет выдающиеся возможности рассуждения , контекстное окно 1M и более эффективное использование инструментов . Вы можете попробовать модели в OpenCompass Config и InternLM..
[2024.06.20] OpenCompass теперь поддерживает переключение между серверами ускорения вывода одним щелчком мыши, что повышает эффективность процесса оценки. В дополнение к стандартному серверу вывода HuggingFace теперь также поддерживаются популярные серверы LMDeploy и vLLM. Эта функция доступна через простой переключатель командной строки и через API-интерфейсы развертывания. Подробное использование см. в документации.
Более
Мы предоставляем сообществу таблицу лидеров OpenCompass для ранжирования всех общедоступных моделей и моделей API. Если вы хотите присоединиться к оценке, предоставьте URL-адрес репозитория модели или стандартный интерфейс API на адрес электронной почты [email protected]
.
Вернуться наверх
Ниже приведены шаги для быстрой установки и подготовки наборов данных.
Мы настоятельно рекомендуем использовать conda для управления средой Python.
conda create --name opencompass python=3.10 -y Конда активирует OpenCompass
pip install -U opencompass ## Полная установка (с поддержкой большего количества наборов данных) # pip install "opencompass[full]" ## Среда с платформами ускорения моделей ## Управление различными платформами ускорения с использованием виртуальных сред ##, поскольку они обычно имеют конфликты зависимостей с друг друга. # pip install "opencompass[lmdeploy]" # pip install "opencompass[vllm]" ## Оценка API (например, Openai, Qwen) # pip install "opencompass[api]"
Если вы хотите использовать новейшие функции opencompass или разработать новые функции, вы также можете собрать их из исходного кода.
git clone https://github.com/open-compass/opencompass opencompass cd opencompass пип установить -e . # pip install -e ".[full]" # pip install -e ".[vllm]"
Вы можете выбрать один из следующих методов подготовки наборов данных.
Вы можете загрузить и извлечь наборы данных с помощью следующих команд:
# Загрузите набор данных в data/folderwget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip разархивируйте OpenCompassData-core-20240207.zip
Мы поддерживаем автоматическую загрузку наборов данных с сервера хранения OpenCompass. Вы можете запустить оценку с дополнительным --dry-run
чтобы загрузить эти наборы данных. В настоящее время поддерживаемые наборы данных перечислены здесь. Дополнительные наборы данных будут загружены недавно.
Также вы можете использовать ModelScope для загрузки наборов данных по требованию.
Установка:
pip install modelscope[framework]export DATASET_SOURCE=ModelScope
Затем отправьте оценочную задачу, не загружая все данные на локальный диск. Доступные наборы данных включают:
humaneval, triviaqa, commonsenseqa, tydiqa, Strategyqa, cmmlu, ламбада, piqa, ceval, math, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, Race, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, саммиты, ГАОКАО-СКАМЬЯ, OCNLI, cmnli
Для правильной работы некоторых сторонних функций, таких как Humaneval и Llama, могут потребоваться дополнительные действия. Подробные инструкции см. в руководстве по установке.
Вернуться наверх
Убедившись, что OpenCompass установлен правильно в соответствии с вышеуказанными шагами, и наборы данных подготовлены. Теперь вы можете начать свою первую оценку с помощью OpenCompass!
Ваша первая оценка OpenCompass!
OpenCompass поддерживает настройку ваших конфигураций через CLI или скрипт Python. Для простых настроек оценки мы рекомендуем использовать CLI, для более сложной оценки предлагается использовать сценарий. Дополнительные примеры сценариев вы можете найти в папке configs.
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen# Python scriptsopencompass ./configs/eval_chat_demo.py
Дополнительные примеры сценариев вы можете найти в папке configs.
Оценка API
OpenCompass по своей конструкции не делает различий между моделями с открытым исходным кодом и моделями API. Вы можете оценить оба типа моделей одинаково или даже в одних настройках.
экспорт OPENAI_API_KEY="YOUR_OPEN_API_KEY"# CLIopencompass --models gpt_4o_2024_05_13 --datasets demo_gsm8k_chat_gen# Python scriptsopencompass ./configs/eval_api_demo.py# Вы можете использовать o1_mini_2024_09_12/o1_preview_2024_09_12 для моделей o1 мы устанавливаем max_completion_tokens=8192 по умолчанию.
Ускоренная оценка
Кроме того, если вы хотите использовать серверную часть вывода, отличную от HuggingFace, для ускоренной оценки, например LMDeploy или vLLM, вы можете сделать это с помощью приведенной ниже команды. Убедитесь, что вы установили необходимые пакеты для выбранного бэкэнда и что ваша модель поддерживает ускоренный вывод с его помощью. Дополнительную информацию см. в документации по механизмам ускорения вывода здесь. Ниже приведен пример использования LMDeploy:
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen -a lmdeploy# Python scriptsopencompass ./configs/eval_lmdeploy_demo.py
Поддерживаемые модели
OpenCompass имеет предопределенные конфигурации для многих моделей и наборов данных. С помощью этих инструментов вы можете перечислить все доступные конфигурации моделей и наборов данных.
# Список всех конфигураций инструментов Python/list_configs.py# Список всех конфигураций, связанных с инструментами llama и mmlupython/list_configs.py llama mmlu
Если модели нет в списке, но она поддерживается классом Huggingface AutoModel, вы также можете оценить ее с помощью OpenCompass. Вы можете внести свой вклад в поддержание списков моделей и наборов данных, поддерживаемых OpenCompass.
opencompass --datasets demo_gsm8k_chat_gen --hf-type Chat --hf-path internlm/internlm2_5-1_8b-chat
Если вы хотите использовать несколько графических процессоров для параллельной оценки модели, вы можете использовать --max-num-worker
.
CUDA_VISIBLE_DEVICES=0,1 opencompass --datasets demo_gsm8k_chat_gen --hf-typechat --hf-path internlm/internlm2_5-1_8b-chat --max-num-worker 2
Кончик
--hf-num-gpus
используется для параллельной модели (формат Huggingface), --max-num-worker
используется для параллельной обработки данных.
Кончик
конфигурация с _ppl
обычно предназначена для базовой модели. Конфигурация с _gen
может использоваться как для базовой модели, так и для модели чата.
Через командную строку или файлы конфигурации OpenCompass также поддерживает оценку API или пользовательских моделей, а также более разнообразные стратегии оценки. Прочтите краткое руководство, чтобы узнать, как выполнить задачу оценки.
Вернуться наверх
Мы рады представить OpenCompass 2.0, расширенный пакет, включающий три ключевых компонента: CompassKit, CompassHub и CompassRank.
CompassRank был значительно улучшен и теперь включает в себя как тесты с открытым исходным кодом, так и собственные тесты. Это обновление позволяет провести более полную оценку моделей в отрасли.
CompassHub представляет новаторский интерфейс браузера для тестирования тестов, призванный упростить и ускорить исследование и использование обширного набора тестов как для исследователей, так и для практиков. Чтобы повысить узнаваемость вашего собственного эталонного теста в сообществе, мы искренне приглашаем вас разместить его на CompassHub. Вы можете начать процесс подачи, нажав здесь.
CompassKit — это мощный набор инструментов оценки, специально предназначенный для больших языковых моделей и больших языковых моделей. Он предоставляет обширный набор инструментов для эффективной оценки и измерения производительности этих сложных моделей. Добро пожаловать, чтобы попробовать наши инструменты для ваших исследований и продуктов.
OpenCompass — это универсальная платформа для оценки больших моделей, призванная предоставить справедливый, открытый и воспроизводимый эталон для оценки больших моделей. Его основные особенности включают в себя:
Комплексная поддержка моделей и наборов данных : предварительная поддержка более 20 моделей HuggingFace и API, схема оценки моделей из более чем 70 наборов данных с около 400 000 вопросов, всесторонняя оценка возможностей моделей в пяти измерениях.
Эффективная распределенная оценка : одна строка команды для реализации разделения задач и распределенной оценки, позволяющая выполнить полную оценку моделей миллиардного масштаба всего за несколько часов.
Разнообразные парадигмы оценки . Поддержка нулевых, однократных оценок и цепочек мыслей в сочетании со стандартными или диалоговыми шаблонами подсказок, что позволяет легко стимулировать максимальную производительность различных моделей.
Модульная конструкция с высокой расширяемостью . Хотите добавить новые модели или наборы данных, настроить расширенную стратегию разделения задач или даже поддержать новую систему управления кластером? Все, что касается OpenCompass, можно легко расширить!
Механизм управления экспериментами и отчетности : используйте файлы конфигурации для полной записи каждого эксперимента и поддержки отчетов о результатах в режиме реального времени.
Язык | Знание | Рассуждение | обследование |
Определение слова
Идиоматическое обучение
Семантическое сходство
Разрешение кореферента
Перевод
Многоязычный ответ на вопросы
Многоязычное резюме
| Ответы на вопросы знаний
| Текстовое следствие
Здравый смысл
Математическое рассуждение
Применение теоремы
Комплексное обоснование
| Неполная средняя школа, средняя школа, университет, профессиональные экзамены
Медицинские осмотры
|
Понимание | Длинный контекст | Безопасность | Код |
Понимание чтения
Краткое содержание содержания
Контент-анализ
| Понимание длительного контекста
| Безопасность
Надежность
| Код
|
Модели с открытым исходным кодом | Модели API |
|
|
Вернуться наверх
Субъективная оценка
Выпуск CompassAreana.
Субъективная оценка.
Длинный контекст
Долгосрочная оценка с использованием обширных наборов данных.
Длинноконтекстная таблица лидеров.
Кодирование
Таблица лидеров оценки кодирования.
Служба оценки языка, отличного от Python.
Агент
Поддержка различных фреймворков агентов.
Оценка использования инструментов LLM.
Надежность
Поддержка различных методов атаки.
Мы ценим любой вклад в улучшение OpenCompass. Пожалуйста, ознакомьтесь с рекомендациями по участию, чтобы узнать о передовой практике.
Некоторый код в этом проекте взят из OpenICL и изменен.
Некоторые наборы данных и реализации подсказок изменены из цепочки мыслей и инструкций-оценки.
@misc{2023opencompass, title={OpenCompass: универсальная оценочная платформа для базовых моделей}, автор={Участники OpenCompass}, Howpublished = {url{https://github.com/open-compass/opencompass}}, год={ 2023}}
Вернуться наверх