Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

WritingBench: uma ferramenta de avaliação de benchmarking para testar a capacidade de redação de modelos grandes

Introdução geral

O WritingBench é um projeto de código aberto desenvolvido pela equipe do X-PLUG e hospedado no GitHub. É uma ferramenta projetada especificamente para testar a capacidade de escrita de modelos grandes, fornecendo 1239 tarefas de escrita do mundo real. Essas tarefas abrangem 6 domínios principais e 100 subdomínios, combinando requisitos de estilo, formatação e comprimento com uma média de 1546 palavras por tarefa. O projeto cria tarefas por meio de uma combinação de geração de modelos e otimização manual para garantir variedade e utilidade. Cada tarefa vem com 5 critérios de pontuação específicos, que podem ser pontuados pelo modelo grande ou por um modelo de avaliação dedicado. O código e os dados do WritingBench são gratuitos e abertos, e são adequados para que os desenvolvedores otimizem os recursos de redação do modelo grande. Observe que o projeto não fornece requirements.txt os usuários precisam configurar seu próprio ambiente.

WritingBench:测试大模型写作能力的基准评估工具-1


 

Lista de funções

  • Oferece 1.239 tarefas autênticas de redação em seis campos: acadêmico, comercial, jurídico, literário, educacional e de marketing.
  • Com suporte a 100 segmentos, as tarefas estão próximas das necessidades reais.
  • Gere 5 critérios de pontuação dinâmicos para cada tarefa para avaliar a qualidade da redação.
  • Suporta tanto a pontuação automática de modelos grandes quanto a pontuação de modelos de avaliação especializados.
  • Inclui diversos materiais de referência, como demonstrativos financeiros ou modelos jurídicos.
  • O código-fonte aberto, os conjuntos de dados e os scripts de avaliação são fornecidos e podem ser baixados e modificados livremente pelo usuário.

 

Usando a Ajuda

O WritingBench é um projeto de código aberto baseado no GitHub e os usuários podem acessar https://github.com/X-PLUG/WritingBench para obter recursos. Ele não requer um serviço on-line, basta fazer o download e executá-lo localmente. Abaixo está um guia passo a passo detalhado sobre como usá-lo e como operar seus recursos:

Acesso aos recursos do projeto

  1. Abra seu navegador e digite https://github.com/X-PLUG/WritingBench.
  2. Clique no botão verde "Code" (Código) no canto superior direito e selecione "Download ZIP" (Baixar ZIP) para fazer o download ou cloná-lo com o comando Git:
git clone https://github.com/X-PLUG/WritingBench.git
  1. Extraia os arquivos localmente, a pasta contém o código, os dados e a documentação.

Preparação do ambiente de tempo de execução

WritingBench não está disponível requirements.txt portanto, você precisará instalar o ambiente Python e as bibliotecas dependentes manualmente. As etapas são as seguintes:

  1. Certifique-se de que o Python 3.8 ou posterior esteja instalado, digitando no terminal python --version Verificar.
  2. Vá para a pasta do projeto:
cd WritingBench
  1. Instale as bibliotecas de dependência básica. Oficialmente, nem todas as dependências estão listadas explicitamente, mas presume-se que as seguintes bibliotecas sejam necessárias com base na funcionalidade:
  • pip install torch(para modelos de avaliação, pode ser necessário suporte à GPU).
  • pip install transformers(para operações com modelos grandes).
  • pip install requests(pode ser usado para processamento de dados).
  • Outras bibliotecas que possam ser necessárias podem ser instaladas adicionalmente com base na mensagem de erro.
  1. Se estiver usando um modelo de avaliação dedicado, o PyTorch e o CUDA precisarão ser instalados; consulte https://pytorch.org/get-started/locally/ para obter a versão específica.

Descrição da estrutura do projeto

A estrutura do diretório após o download é a seguinte:

  • evaluate_benchmark.pyScripts de avaliação.
  • prompt.pyModelo de dica.
  • evaluator/Avaliar o catálogo de interfaces.
  • critic.pyInterface de modelo de avaliação dedicada.
  • llm.pyInterfaces de avaliação de modelos grandes.
  • benchmark_query/Catálogo de dados da missão.
  • benchmark_all.jsonlConjunto de dados completo de 1239 tarefas.
  • requirement/Subconjunto categorizado por estilo, formato e tamanho.

Uso de dados da tarefa de redação

  1. show (um ingresso) benchmark_query/benchmark_all.jsonlVisualizar 1239 tarefas.
  2. Cada tarefa inclui uma descrição, domínios e materiais de referência. Por exemplo, "Escreva um resumo de 500 palavras para o relatório financeiro do terceiro trimestre de 2023".
  3. Gere respostas com seu grande modelo e código de amostra:
from your_model import Model
task = "为2023年Q3财务报告写500字总结"
model = Model()
response = model.generate(task)
with open("response.txt", "w") as f:
f.write(response)

Ferramentas de avaliação operacional

O WritingBench oferece suporte a dois tipos de avaliação:

Pontuação de modelos grandes

  1. compilador evaluator/llm.pyPara adicionar configurações de API:
self.api_key = "your_api_key_here"
self.url = "Your API endpoint"
self.model = "Your model name"
  1. Execute o script de avaliação:
python evaluate_benchmark.py --evaluator llm --query_criteria_file benchmark_query/benchmark_all.jsonl --input_file response.txt --output_file scores.jsonl
  1. O resultado consiste nas pontuações e na justificativa de cada um dos cinco critérios de pontuação.

Pontuações de modelos de avaliação dedicados

  1. Faça o download do modelo de julgamento em https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B.
  2. Coloque o modelo no caminho local, edite evaluator/critic.py::
self.model = LLM(model="path/to/critic_model", tensor_parallel_size=1)
  1. Avaliação operacional:
python evaluate_benchmark.py --evaluator critic --query_criteria_file benchmark_query/benchmark_all.jsonl --input_file response.txt --output_file scores.jsonl
  1. O resultado mostra a pontuação (0-10) para cada critério.

Personalização de tarefas e pontuação

  1. existir benchmark_query/ Adicione um novo arquivo JSON à descrição e aos materiais da tarefa.
  2. modificações prompt.py ou roteiros de avaliação para ajustar os critérios de pontuação.
  3. Após o teste, você pode fazer o upload no GitHub e compartilhá-lo.

Processo de geração de dados

As tarefas são geradas das seguintes maneiras:

  1. O Big Model gera tarefas iniciais de 6 domínios principais e 100 subdomínios.
  2. Otimize as tarefas por meio de ajustes de estilo, requisitos de formatação, etc.
  3. 30 etiquetadores para coletar material de código aberto.
  4. 5 especialistas examinam tarefas e materiais para garantir a relevância.

Essas etapas ajudam os usuários a se familiarizarem rapidamente com o WritingBench, testando e otimizando os recursos de gravação de modelos grandes.

 

cenário do aplicativo

  1. desenvolvimento de modelos
    Os desenvolvedores usam o WritingBench para testar o desempenho do modelo em trabalhos acadêmicos ou textos publicitários e para melhorar as deficiências.
  2. Pesquisa educacional
    Os pesquisadores analisam a capacidade dos modelos grandes de gerar materiais de instrução ou corrigir redações.
  3. auxílio à escrita
    Os usuários inspiram a criatividade com dados de tarefas ou verificam a qualidade dos artigos com uma ferramenta de pontuação.

 

QA

  1. Por que não há um arquivo requirements.txt?
    Ele não está oficialmente disponível, provavelmente para dar aos usuários a flexibilidade de configurar as dependências de acordo com seu modelo e ambiente.
  2. Preciso fazer networking?
    Não é necessário, basta fazer o download e executar localmente, mas é preciso ter conexão com a Internet para fazer o download de modelos ou dependências.
  3. Como o modelo de julgamento é obtido?
    Baixado do site https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " WritingBench: uma ferramenta de avaliação de benchmarking para testar a capacidade de redação de modelos grandes
pt_BRPortuguês do Brasil