Site | BússolaHub | Classificação da Bússola | Documentação | Instalação | Relatando problemas
Inglês | 简体中文
junte-se a nós no Discord e WeChat
Importante
Star Us , você receberá todas as notificações de lançamento do GitHub sem demora ~ ️
para o OpenCompass !
Assim como uma bússola nos guia em nossa jornada, o OpenCompass irá guiá-lo pelo complexo cenário de avaliação de grandes modelos de linguagem. Com seus algoritmos poderosos e interface intuitiva, o OpenCompass facilita a avaliação da qualidade e eficácia de seus modelos de PNL.
Explore oportunidades no OpenCompass! No momento, estamos contratando pesquisadores/engenheiros e estagiários em tempo integral . Se você é apaixonado por LLM e OpenCompass, não hesite em nos contatar por e-mail. Adoraríamos ouvir de você!
Temos o prazer de anunciar que o OpenCompass foi recomendado pela Meta AI , clique em Get Started do Llama para obter mais informações.
Atenção
Aviso de alteração de última hora: Na versão 0.4.0, estamos consolidando todos os arquivos de configuração AMOTIC (anteriormente localizados em ./configs/datasets, ./configs/models e ./configs/summarizers) no pacote opencompass. Os usuários são aconselhados a atualizar suas referências de configuração para refletir esta mudança estrutural.
[2024.10.14] Agora oferecemos suporte ao conjunto de dados de controle de qualidade multilíngue OpenAI MMMLU. Sinta-se à vontade para experimentar!
[2024.09.19] Agora oferecemos suporte a Qwen2.5 (0,5B a 72B) com back-end múltiplo (huggingface/vllm/lmdeploy). Sinta-se à vontade para experimentá-los!
[2024.09.17] Agora oferecemos suporte a OpenAI o1 ( o1-mini-2024-09-12
e o1-preview-2024-09-12
). Sinta-se à vontade para experimentá-los!
[2024.09.05] Agora oferecemos suporte à extração de respostas por meio do pós-processamento do modelo para fornecer uma representação mais precisa dos recursos do modelo. Como parte desta atualização, integramos o XFinder como nosso primeiro modelo de pós-processamento. Para obter informações mais detalhadas, consulte a documentação e experimente!
[2024.08.20] OpenCompass agora oferece suporte ao SciCode: um benchmark de codificação de pesquisa com curadoria de cientistas.
[2024.08.16] OpenCompass agora oferece suporte ao novo benchmark de avaliação de modelo de linguagem de contexto longo – RULER. RULER fornece uma avaliação de contexto longo, incluindo recuperação, rastreamento multi-hop, agregação e resposta a perguntas por meio de configurações flexíveis. Confira a configuração de avaliação do RULER agora!
[2024.08.09] Lançamos os dados de exemplo e configuração do CompassBench-202408. Bem-vindo ao CompassBench para mais detalhes.
[2024.08.01] Oferecemos suporte aos modelos Gemma2. Bem-vindo a tentar!
[2024.07.23] Oferecemos suporte aos conjuntos de dados ModelScope, você pode carregá-los sob demanda sem baixar todos os dados para seu disco local. Bem-vindo a tentar!
[2024.07.17] Temos o prazer de anunciar o lançamento do relatório técnico do NeedleBench. Convidamos você a visitar nossa documentação de suporte para obter diretrizes de avaliação detalhadas.
[2024.07.04] OpenCompass agora suporta InternLM2.5, que possui excelente capacidade de raciocínio , janela de contexto de 1M e uso de ferramenta mais forte . Você pode experimentar os modelos em OpenCompass Config e InternLM.
[2024.06.20] O OpenCompass agora oferece suporte à alternância com um clique entre back-ends de aceleração de inferência, aumentando a eficiência do processo de avaliação. Além do back-end de inferência padrão do HuggingFace, ele agora também oferece suporte aos back-ends populares LMDeploy e vLLM. Esse recurso está disponível por meio de uma simples opção de linha de comando e por meio de APIs de implantação. Para uso detalhado, consulte a documentação.
Mais
Fornecemos o OpenCompass Leaderboard para a comunidade classificar todos os modelos públicos e modelos de API. Se você quiser participar da avaliação, forneça o URL do repositório do modelo ou uma interface API padrão para o endereço de e-mail [email protected]
.
Voltar ao topo
Abaixo estão as etapas para instalação rápida e preparação de conjuntos de dados.
É altamente recomendável usar conda para gerenciar seu ambiente python.
conda criar --name opencompass python=3.10 -y conda ativar opencompass
pip install -U opencompass ## Instalação completa (com suporte para mais conjuntos de dados) # pip install "opencompass[full]" ## Ambiente com estruturas de aceleração de modelo ## Gerencie diferentes estruturas de aceleração usando ambientes virtuais ## já que eles geralmente têm conflitos de dependência com uns aos outros. # pip install "opencompass[lmdeploy]" # pip install "opencompass[vllm]" ## Avaliação de API (ou seja, Openai, Qwen) # pip install "opencompass[api]"
Se quiser usar os recursos mais recentes do opencompass ou desenvolver novos recursos, você também pode construí-lo a partir do código-fonte
clone git https://github.com/open-compass/opencompass opencompass cd opencompass pip instalar -e. # pip install -e ".[completo]" # pip install -e ".[vllm]"
Você pode escolher um para o método a seguir para preparar conjuntos de dados.
Você pode baixar e extrair os conjuntos de dados com os seguintes comandos:
# Baixe o conjunto de dados para data/folderwget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip descompacte OpenCompassData-core-20240207.zip
Oferecemos suporte para download automático de conjuntos de dados do servidor de armazenamento OpenCompass. Você pode executar a avaliação com --dry-run
extra para baixar esses conjuntos de dados. Atualmente, os conjuntos de dados suportados estão listados aqui. Mais conjuntos de dados serão carregados recentemente.
Além disso, você pode usar o ModelScope para carregar os conjuntos de dados sob demanda.
Instalação:
pip instalar modelscope[framework]exportar DATASET_SOURCE=ModelScope
Em seguida, envie a tarefa de avaliação sem baixar todos os dados para o disco local. Os conjuntos de dados disponíveis incluem:
humaneval, triviaqa, commonsenseqa, tydiqa, strategyqa, cmmlu, lambada, piqa, ceval, matemática, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, corrida, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, summedits, GAOKAO-BANCO, OCNLI, cmnli
Alguns recursos de terceiros, como Humaneval e Llama, podem exigir etapas adicionais para funcionar corretamente. Para etapas detalhadas, consulte o Guia de instalação.
Voltar ao topo
Depois de garantir que o OpenCompass esteja instalado corretamente de acordo com as etapas acima e os conjuntos de dados estejam preparados. Agora você pode iniciar sua primeira avaliação usando o OpenCompass!
Sua primeira avaliação com OpenCompass!
Suporte OpenCompass para definir suas configurações via CLI ou um script python. Para configurações de avaliação simples recomendamos usar CLI, para avaliações mais complexas, sugere-se usar o método de script. Você pode encontrar mais scripts de exemplo na pasta configs.
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen# Scripts Pythonopencompass ./configs/eval_chat_demo.py
Você pode encontrar mais exemplos de script na pasta configs.
Avaliação de API
O OpenCompass, por seu design, não discrimina realmente entre modelos de código aberto e modelos de API. Você pode avaliar os dois tipos de modelo da mesma maneira ou até mesmo em uma configuração.
exportar 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# Você pode usar o1_mini_2024_09_12/o1_preview_2024_09_12 para modelos o1, definimos max_completion_tokens=8192 como padrão.
Avaliação Acelerada
Além disso, se quiser usar um backend de inferência diferente do HuggingFace para avaliação acelerada, como LMDeploy ou vLLM, você pode fazer isso com o comando abaixo. Certifique-se de ter instalado os pacotes necessários para o back-end escolhido e de que seu modelo suporta inferência acelerada com ele. Para obter mais informações, consulte a documentação sobre back-ends de aceleração de inferência aqui. Abaixo está um exemplo usando LMDeploy:
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen -a lmdeploy# Python scriptsopencompass ./configs/eval_lmdeploy_demo.py
Modelos Suportados
O OpenCompass possui configurações predefinidas para muitos modelos e conjuntos de dados. Você pode listar todas as configurações de modelos e conjuntos de dados disponíveis usando as ferramentas.
# Liste todas as configuraçõespython tools/list_configs.py# Liste todas as configurações relacionadas a llama e mmlupython tools/list_configs.py llama mmlu
Se o modelo não estiver na lista, mas for compatível com a classe Huggingface AutoModel, você também poderá avaliá-lo com OpenCompass. Você está convidado a contribuir para a manutenção do modelo suportado pelo OpenCompass e das listas de conjuntos de dados.
opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat
Se quiser usar várias GPUs para avaliar o modelo em paralelo de dados, você pode usar --max-num-worker
.
CUDA_VISIBLE_DEVICES=0,1 opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat --max-num-worker 2
Dica
--hf-num-gpus
é usado para modelo paralelo (formato Huggingface), --max-num-worker
é usado para dados paralelos.
Dica
a configuração com _ppl
é projetada normalmente para o modelo básico. a configuração com _gen
pode ser usada tanto para o modelo base quanto para o modelo de chat.
Através da linha de comando ou de arquivos de configuração, o OpenCompass também oferece suporte à avaliação de APIs ou modelos customizados, bem como estratégias de avaliação mais diversificadas. Leia o Início rápido para saber como executar uma tarefa de avaliação.
Voltar ao topo
Temos o prazer de apresentar o OpenCompass 2.0, um conjunto avançado com três componentes principais: CompassKit, CompassHub e CompassRank.
O CompassRank foi significativamente aprimorado nas tabelas de classificação que agora incorporam benchmarks de código aberto e benchmarks proprietários. Esta atualização permite uma avaliação mais abrangente dos modelos em toda a indústria.
O CompassHub apresenta uma interface de navegador de benchmark pioneira, projetada para simplificar e agilizar a exploração e utilização de uma ampla gama de benchmarks para pesquisadores e profissionais. Para aumentar a visibilidade do seu próprio benchmark dentro da comunidade, convidamos você a contribuir com ele para o CompassHub. Você pode iniciar o processo de submissão clicando aqui.
CompassKit é uma coleção poderosa de kits de ferramentas de avaliação adaptados especificamente para modelos de linguagem grandes e modelos de linguagem de grande visão. Ele fornece um extenso conjunto de ferramentas para avaliar e medir efetivamente o desempenho desses modelos complexos. Bem-vindo a experimentar nossos kits de ferramentas em suas pesquisas e produtos.
OpenCompass é uma plataforma completa para avaliação de modelos grandes, com o objetivo de fornecer uma referência justa, aberta e reproduzível para avaliação de modelos grandes. Suas principais características incluem:
Suporte abrangente para modelos e conjuntos de dados : pré-suporte para mais de 20 modelos HuggingFace e API, um esquema de avaliação de modelo de mais de 70 conjuntos de dados com cerca de 400.000 perguntas, avaliando de forma abrangente as capacidades dos modelos em cinco dimensões.
Avaliação distribuída eficiente : comando de uma linha para implementar divisão de tarefas e avaliação distribuída, completando a avaliação completa de modelos em escala de bilhões em apenas algumas horas.
Paradigmas de avaliação diversificados : Suporte para avaliações de disparo zero, de poucos disparos e de cadeia de pensamento, combinados com modelos de prompt padrão ou do tipo diálogo, para estimular facilmente o desempenho máximo de vários modelos.
Design modular com alta extensibilidade : deseja adicionar novos modelos ou conjuntos de dados, personalizar uma estratégia avançada de divisão de tarefas ou até mesmo oferecer suporte a um novo sistema de gerenciamento de cluster? Tudo no OpenCompass pode ser facilmente expandido!
Mecanismo de gerenciamento e relatório de experimentos : use arquivos de configuração para registrar completamente cada experimento e oferecer suporte a relatórios de resultados em tempo real.
Linguagem | Conhecimento | Raciocínio | Exame |
Definição de palavra
Aprendizagem de idioma
Similaridade Semântica
Resolução de Correferência
Tradução
Resposta a perguntas em vários idiomas
Resumo multilíngue
| Resposta a perguntas de conhecimento
| Implicação textual
Raciocínio de bom senso
Raciocínio Matemático
Aplicação do Teorema
Raciocínio Abrangente
| Ensino Médio, Ensino Médio, Universidade, Exames Profissionais
Exames Médicos
|
Entendimento | Contexto longo | Segurança | Código |
Compreensão de leitura
Resumo do conteúdo
Análise de Conteúdo
| Longa compreensão do contexto
| Segurança
Robustez
| Código
|
Modelos de código aberto | Modelos de API |
|
|
Voltar ao topo
Avaliação Subjetiva
Solte CompassAreana.
Avaliação subjetiva.
Contexto longo
Avaliação de contexto longo com extensos conjuntos de dados.
Tabela de classificação de contexto longo.
Codificação
Tabela de classificação de avaliação de codificação.
Serviço de avaliação de linguagem não python.
Agente
Oferece suporte a várias estruturas de agentes.
Avaliação do uso de ferramentas dos LLMs.
Robustez
Apoie vários métodos de ataque.
Agradecemos todas as contribuições para melhorar o OpenCompass. Consulte a diretriz de contribuição para obter as melhores práticas.
Alguns códigos neste projeto são citados e modificados do OpenICL.
Alguns conjuntos de dados e implementações de prompt são modificados de chain-of-thought-hub e instruct-eval.
@misc{2023opencompass, title={OpenCompass: uma plataforma de avaliação universal para modelos básicos}, autor={Contribuidores do OpenCompass}, howpublished = {url{https://github.com/open-compass/opencompass}}, ano={ 2023}}
Voltar ao topo