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.
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
- Abra seu navegador e digite https://github.com/X-PLUG/WritingBench.
- 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
- 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:
- Certifique-se de que o Python 3.8 ou posterior esteja instalado, digitando no terminal
python --version
Verificar. - Vá para a pasta do projeto:
cd WritingBench
- 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.
- 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.py
Scripts de avaliação.prompt.py
Modelo de dica.evaluator/
Avaliar o catálogo de interfaces.critic.py
Interface de modelo de avaliação dedicada.llm.py
Interfaces de avaliação de modelos grandes.benchmark_query/
Catálogo de dados da missão.benchmark_all.jsonl
Conjunto de dados completo de 1239 tarefas.requirement/
Subconjunto categorizado por estilo, formato e tamanho.
Uso de dados da tarefa de redação
- show (um ingresso)
benchmark_query/benchmark_all.jsonl
Visualizar 1239 tarefas. - 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".
- 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
- compilador
evaluator/llm.py
Para adicionar configurações de API:
self.api_key = "your_api_key_here"
self.url = "Your API endpoint"
self.model = "Your model name"
- 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
- 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
- Faça o download do modelo de julgamento em https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B.
- Coloque o modelo no caminho local, edite
evaluator/critic.py
::
self.model = LLM(model="path/to/critic_model", tensor_parallel_size=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
- O resultado mostra a pontuação (0-10) para cada critério.
Personalização de tarefas e pontuação
- existir
benchmark_query/
Adicione um novo arquivo JSON à descrição e aos materiais da tarefa. - modificações
prompt.py
ou roteiros de avaliação para ajustar os critérios de pontuação. - 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:
- O Big Model gera tarefas iniciais de 6 domínios principais e 100 subdomínios.
- Otimize as tarefas por meio de ajustes de estilo, requisitos de formatação, etc.
- 30 etiquetadores para coletar material de código aberto.
- 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
- 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. - Pesquisa educacional
Os pesquisadores analisam a capacidade dos modelos grandes de gerar materiais de instrução ou corrigir redações. - 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
- 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. - 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. - Como o modelo de julgamento é obtido?
Baixado do site https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B.