Introdução geral
O ImBD (Imitate Before Detect) é um projeto pioneiro de detecção de texto gerado por máquina apresentado na AAAI 2025. Com o uso generalizado de modelos de linguagem grande (LLMs), como o ChatGPT, o reconhecimento de conteúdo de texto gerado por IA tornou-se cada vez mais desafiador, e o projeto ImBD propõe uma nova abordagem "Imitar antes de detectar" que melhora a detecção por meio de uma compreensão mais profunda dos recursos estilísticos do texto da máquina e sua imitação. Esse método é o primeiro a propor a preferência de estilo do texto de máquina alinhado e estabelece uma estrutura abrangente de detecção de texto, que pode identificar com eficácia o texto gerado por máquina que foi modificado por seres humanos. O projeto adota a licença de código aberto Apache 2.0 e fornece uma implementação completa do código, modelos pré-treinados e documentação detalhada, o que facilita aos pesquisadores e desenvolvedores a realização de mais pesquisas e o desenvolvimento de aplicativos com base nisso.
Lista de funções
- Oferece suporte à detecção de alta precisão de texto gerado por máquina
- Fornecer modelos pré-treinados para implantação e uso diretos
- Novo algoritmo de alinhamento de recursos de estilo textual implementado
- Inclui conjuntos de dados experimentais detalhados e referências de avaliação
- Fornecer treinamento completo e código de inferência
- Oferece suporte a dados de treinamento personalizados para o ajuste fino do modelo
- Inclui documentação detalhada da API e exemplos de uso.
- Fornece ferramentas de linha de comando para testes e avaliações rápidas
- Suporta processamento de texto em lote
- Inclui ferramentas de visualização para exibir os resultados dos testes
Usando a Ajuda
1. configuração ambiental
Primeiro, você precisa configurar seu ambiente Python e instalar as dependências necessárias:
git clone https://github.com/Jiaqi-Chen-00/ImBD
cd ImBD
pip install -r requirements.txt
2. preparação de dados
Antes de começar a usar o ImBD, é necessário preparar dados de treinamento e de teste. Os dados devem conter as duas categorias a seguir:
- Texto original preparado manualmente
- Texto gerado ou modificado por máquina
Requisitos de formato de dados:
- Os arquivos de texto precisam ser codificados em UTF-8
- Cada amostra ocupa uma linha
- Propõe-se dividir o conjunto de dados em conjunto de treinamento, conjunto de validação e conjunto de teste na proporção de 8:1:1
3. treinamento de modelos
Execute o seguinte comando para iniciar o treinamento:
python train.py \
---train_data path/to/train.txt \\
--val_data path/to/val.txt \\
--model_output_dir path/to/save/model \\
---batch_size 32 \\
--learning_rate 2e-5 \\
--num_epochs 5
4. avaliação do modelo
Avalie o desempenho do modelo usando conjuntos de teste:
python evaluate.py \
--model_path path/to/saved/model \
--test_data path/to/test.txt \
--output_file evaluation_results.txt
5. detecção de texto
Detecção de textos individuais:
python detect.py \
---model_path path/to/saved/model \
--input_text "Conteúdo do texto a ser detectado" \
--output_format json
Detecção de texto em lote:
python batch_detect.py \
---model_path path/to/saved/model \
--input_file input.txt \
--output_file results.json
6. funções avançadas
6.1 Ajuste fino do modelo
O modelo pode ser ajustado com seu próprio conjunto de dados se você precisar otimizar o texto específico do domínio:
python finetune.py \\
--pretrained_model_path path/to/pretrained/model \\
---train_data caminho/para/domínio/dados \\
--output_dir path/to/finetuned/model
6.2 Análise de visualização
Analise os resultados dos testes usando a ferramenta de visualização integrada:
python visualize.py \
--results_file path/to/results.json \
--output_dir path/to/visualizations
6.3 Implementação do serviço de API
Implante o modelo como um serviço de API REST:
python serve.py \
---model_path path/to/saved/model \
--host 0.0.0.0 \
--port 8000
7. advertências
- As GPUs são recomendadas para o treinamento de modelos para aumentar a eficiência
- A qualidade dos dados de treinamento tem um impacto significativo no desempenho do modelo
- Atualizar regularmente o modelo para acomodar novos recursos de texto gerados por IA
- Atenção ao controle de versão do modelo durante a implementação em ambientes de produção
- Recomenda-se que os resultados dos testes sejam salvos para análise posterior e otimização do modelo
8. perguntas frequentes
P: Quais idiomas são compatíveis com o modelo?
R: No momento, oferecemos suporte principalmente ao inglês; outros idiomas precisam ser treinados com conjuntos de dados correspondentes.
P: Como posso melhorar a precisão dos meus testes?
R: O desempenho pode ser aprimorado com a adição de dados de treinamento, ajuste dos parâmetros do modelo e ajuste fino usando dados específicos do domínio.
P: Como a velocidade de detecção pode ser otimizada?
R: A velocidade de detecção pode ser aprimorada com o processamento em lote, a quantificação do modelo e o uso da aceleração da GPU.