rednote-hilab/dots.llm1.base
é o primeiro grande modelo de linguagem dots.llm1 de código aberto da Xiaohongshu, hospedado na plataforma Hugging Face. O modelo adota a arquitetura Mixed Expert (MoE) com 142 bilhões de parâmetros, e apenas 14 bilhões de parâmetros são ativados durante a inferência, levando em conta o alto desempenho e o baixo custo. O dots.llm1 foi treinado usando 11,2 trilhões de corpus não sintéticos de alta qualidade e obteve uma média de 91,3 no teste de idioma chinês, superando o DeepSeek V2, V3 e a série Ali Qwen2.5. Oferece suporte a 32.768 tokens de contextos ultralongos, adequados para tarefas como geração de texto e diálogo. A página fornece pesos de modelo, arquivos de configuração e exemplos de uso para os desenvolvedores integrarem e pesquisarem.
Lista de funções
- Gerar texto de alta qualidade para diálogos, continuação de artigos e geração de códigos.
- Usando a arquitetura MoE, a inferência ativa apenas 14 bilhões de parâmetros, reduzindo o custo computacional.
- Suporta 32.768 tokens de contextos muito longos, adequados para o processamento de documentos longos ou tarefas complexas.
- Fornece pontos de verificação de treinamento a cada 1 trilhão de tokens para ajudar a estudar a dinâmica de treinamento do modelo.
- Oferece suporte a implantações do Docker e do vLLM para otimizar cenários de inferência de alta taxa de transferência.
- Integração de Hugging Face Transformers, exemplos de código Python são fornecidos.
- Capacidade de processamento chinês otimizada, com pontuações de teste superiores às de vários modelos convencionais de código aberto.
Usando a Ajuda
Instalação e implementação
Para usar o dots.llm1.base, é necessário preparar um ambiente de computação habilitado para GPU (recomenda-se pelo menos 8 GB de memória de vídeo). Veja a seguir as etapas detalhadas da implantação:
1. implantação via Docker
O Docker é o método oficial de implantação recomendado com suporte para aceleração de GPU e raciocínio de alto rendimento. As etapas são as seguintes:
- Certifique-se de que o Docker e o NVIDIA Container Toolkit estejam instalados.
- Extraia e execute a imagem do Docker:
docker run --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-p 8000:8000 \
--ipc=host \
rednotehilab/dots1:vllm-openai-v0.9.0.1 \
--model rednote-hilab/dots.llm1.base \
--tensor-parallel-size 8 \
--trust-remote-code \
--served-model-name dots1
- Teste se o serviço está funcionando:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "dots1",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is MoE in AI?"}
],
"max_tokens": 32,
"temperature": 0
}'
Um retorno bem-sucedido indica que o serviço está sendo executado normalmente.
2. uso de transformadores de rosto de abraçar
Se o Docker não for usado, os modelos poderão ser carregados via Python:
- Instale a dependência:
pip install transformers torch
- Carregamento de modelos e divisores:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
model_name = "rednote-hilab/dots.llm1.base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype=torch.bfloat16)
- Executar a geração de texto:
text = "人工智能中的MoE架构是什么?"
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs.to(model.device), max_new_tokens=100)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)
3. raciocínio de alto rendimento usando vLLM
O vLLM é adequado para cenários de raciocínio em grande escala. Instale o vLLM e execute-o:
vllm serve rednote-hilab/dots.llm1.base --port 8000 --tensor-parallel-size 8
Funções principais
Geração de texto
O dots.llm1.base é bom para gerar texto coerente, adequado para redação acadêmica, continuação de artigos e assim por diante. Etapas da operação:
- Preparar texto de entrada, como documentação técnica ou descrições de problemas.
- Usando o código Python ou um serviço Docker, defina o
max_new_tokens
Controla o comprimento da saída. - Verifique o conteúdo do resultado para garantir que ele seja logicamente coerente.
Missões de diálogo
Ao solicitar o projeto, o modelo pode implementar a função de diálogo. Exemplo:
messages = [{"role": "user", "content": "讲解MoE架构的核心原理。"}]
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_tensor.to(model.device), max_new_tokens=200)
result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=True)
print(result)
Desenvolvimentos de pesquisa e treinamento
O modelo fornece pontos de verificação intermediários para cada 1 trilhão de tokens que os pesquisadores podem usar a partir dodots1
Downloads coletivos para analisar o processo de treinamento de modelos do MoE.
Recursos de arquitetura de modelos
O dots.llm1 usa uma arquitetura Transformer de decodificador unidirecional, substituindo a rede feedforward como MoE, contendo 128 especialistas em roteamento e 2 especialistas compartilhados. Seis especialistas em roteamento e dois especialistas compartilhados são selecionados dinamicamente por marcador de entrada, ativando um total de oito redes de especialistas. O modelo usa a função de ativação SwiGLU para otimizar a captura da relação de dados. A camada de atenção usa um mecanismo de atenção de várias cabeças (MHA) combinado com a normalização RMSNorm para melhorar a estabilidade numérica. A estratégia de balanceamento de carga otimiza o uso da rede de especialistas por meio de termos de polarização dinâmica.
advertência
- Recomenda-se uma GPU com pelo menos 8 GB de memória de vídeo.
- O peso do modelo é de aproximadamente 4 GB e requer uma rede estável para fazer o download.
- fazer uso de
torch.bfloat16
Otimize o desempenho e verifique a compatibilidade do hardware. - As tarefas do idioma chinês são excelentes, mas os avisos precisam ser ajustados para otimizar o diálogo.
cenário do aplicativo
- pesquisa acadêmica
Os pesquisadores podem analisar os pontos de verificação intermediários para explorar a dinâmica do treinamento e a eficiência dos parâmetros das arquiteturas MoE. - criação de conteúdo
Integrar modelos em ferramentas de redação para gerar rascunhos de artigos, relatórios ou documentação técnica. - sistema de diálogo
Desenvolver robôs de atendimento ao cliente ou assistentes educacionais que suportem longos diálogos contextuais. - Assistência de código
Gerar trechos de código para ajudar os desenvolvedores a escrever algoritmos ou scripts rapidamente.
QA
- Qual é a diferença entre a versão dots.llm1.base e a versão inst?
A versão BASE é adequada para o preenchimento de texto, e a versão INST foi ajustada com comandos para otimizar os recursos de diálogo. - Como podemos reduzir o custo do raciocínio?
A arquitetura MoE ativa apenas 14 bilhões de parâmetros, combinando vLLM e Docker para otimizar o uso de recursos. - Quais são os idiomas suportados?
Suporta principalmente chinês e inglês com um comprimento de contexto de 32.768 tokens. - Como os dados de treinamento podem ser de alta qualidade?
Usando um corpus não sintético de 11,2 trilhões, o conteúdo de alta qualidade é filtrado por meio de um pipeline de processamento de três níveis.