Introdução geral
O LongWriter é uma poderosa ferramenta de geração de textos longos desenvolvida pelo Grupo de Pesquisa em Mineração de Dados da Universidade de Tsinghua (THUDM). A ferramenta se baseia no avançado Modelo de Linguagem Contextual Longa (LLM) e é capaz de gerar textos longos com mais de 10.000 palavras. Os modelos principais do LongWriter incluem o LongWriter-glm4-9b e o LongWriter-llama3.1-8b, que se baseiam no treinamento do GLM-4-9B e do Meta-Llama-3.1-8B, respectivamente. . Esses modelos têm bom desempenho na geração de textos longos e são adequados para vários cenários de aplicativos que exigem a geração de textos grandes, como criação de romances, redação de artigos acadêmicos e geração de relatórios detalhados, etc. O LongWriter não é apenas de código aberto, mas também fornece um guia detalhado de implantação e uso para facilitar o início rápido dos usuários.
Lista de funções
- Geração de texto longoSuporte para geração de textos longos com mais de 10.000 palavras para uma ampla gama de cenários de aplicativos.
- Suporte a vários modelosDois modelos baseados no GLM-4-9B e no Meta-Llama-3.1-8B são fornecidos e os usuários podem escolher de acordo com suas necessidades.
- Implementação rápidaFornece guias de implantação detalhados e código de amostra para apoiar a implantação e o uso rápidos.
- código abertoTodos os códigos e modelos são de código aberto e podem ser baixados e modificados livremente pelos usuários.
- Criação automatizada de dadosFornecimento de ferramentas AgentWrite para dar suporte à construção automatizada de dados de saída ultralonga.
Usando a Ajuda
Instalação e implementação
- Preparação ambientalVerifique se o Python 3.8 ou superior está instalado e instale as bibliotecas de dependência necessárias, por exemplo, transformers>=4.43.0.
- Modelos para downloadDownload dos modelos necessários da Hugging Face, como LongWriter-glm4-9b ou LongWriter-llama3.1-8b.
- Instalação de dependênciasExecute o seguinte comando para instalar os pacotes Python necessários:
pip install transformers torch
- Modelos de carregamentoUse o código a seguir para carregar o modelo e realizar a inferência:
from transformers import AutoTokenizer, AutoModelForCausalLM
importar torch
tokenizer = AutoTokenizer.from_pretrained("THUDM/LongWriter-glm4-9b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("THUDM/LongWriter-glm4-9b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map = "auto")
model = model.eval()
consulta = "Escreva um guia de viagem de 10.000 palavras sobre a China"
response, history = model.chat(tokeniser, query, history=[], max_new_tokens=32768, temperature=0.5)
print(response)
Usando a ferramenta AgentWrite
- Configuração da chave de API: em
plan.py
responder cantandowrite.py
para configurar sua chave de API. - Construção de dados operacionaisExecute os seguintes comandos em sequência para gerar os dados finais:
python plan.py
python write.py
Funções principais
- Geração de texto longoDigite o assunto do texto a ser gerado e o modelo gerará textos longos de mais de 10.000 palavras com base na entrada.
- Seleção de modelosSelecione o modelo apropriado (por exemplo, LongWriter-glm4-9b ou LongWriter-llama3.1-8b) de acordo com as necessidades específicas.
- parametrizaçãoGeração otimizada: otimize a geração ajustando os parâmetros de geração (por exemplo, temperatura, número máximo de palavras novas, etc.).
Instruções operacionais detalhadas
- Geração de textoDigite um tema ou uma palavra de aviso na caixa de entrada, clique no botão Generate (Gerar), e o modelo gerará automaticamente um texto longo.
- treinamento de modelosFaça o download e treine o modelo usando uma mistura do conjunto de dados LongWriter-6k e outros dados SFT, seguindo o código de treinamento fornecido.
- Exemplo de implantação: Referência
vllm_inference.py
no arquivo para implementar rapidamente e experimentar a geração de textos ultralongos.