O WhiteLightning é uma ferramenta de linha de comando de código aberto projetada para ajudar os desenvolvedores a gerar rapidamente modelos leves de classificação de texto com uma única linha de comando. A ferramenta gera dados sintéticos usando modelos de linguagem grandes, treina modelos ONNX de menos de 1 MB por meio de técnicas de destilação entre professores e alunos e oferece suporte à operação totalmente off-line para dispositivos de ponta, como Raspberry Pi, telefones celulares ou dispositivos de baixo consumo de energia. Desenvolvido pela empresa ucraniana Inoxoft ao longo de um ano, o WhiteLightning oferece suporte à programação em vários idiomas, com ênfase na proteção da privacidade e na implantação de baixo custo. Os usuários podem gerar modelos sem preparar dados reais, adequados para cenários como análise de sentimentos e filtragem de spam. O projeto está licenciado sob a licença GPL-3.0, o modelo está licenciado sob a licença MIT e o suporte da comunidade está disponível no GitHub e no Discord.
Lista de funções
- Gere um modelo de classificação de texto ONNX com menos de 1 MB com um clique, com suporte à classificação multiclasse, como análise de sentimentos e detecção de spam.
- Gerar dados de treinamento sintéticos usando modelos de linguagem grandes (por exemplo, Grok-3-beta, GPT-4o-mini) sem dados reais.
- Suporta operação off-line completa, sem necessidade de API na nuvem após a implantação do modelo, protegendo a privacidade dos dados.
- Compatível com Python, Rust, Swift, Node.js, Dart e outras linguagens de programação, adaptado a uma variedade de ambientes de desenvolvimento.
- Fornece contêineres Docker com suporte para macOS, Linux e Windows para simplificar a instalação e a operação.
- Integração com o GitHub Actions para dar suporte a processos de treinamento de modelos baseados em nuvem e automação de CI/CD.
- Oferece um gerador de comandos interativo para simplificar a configuração de parâmetros complexos.
- A geração de casos de borda é suportada para garantir o desempenho estável do modelo em cenários de entrada complexos.
- O processo de treinamento do modelo é transparente, com registros que mostram o progresso, a precisão e os valores de perda.
Usando a Ajuda
Processo de instalação
O WhiteLightning é distribuído por meio de contêineres do Docker para garantir a consistência e a simplicidade entre plataformas. Veja a seguir as etapas detalhadas de instalação:
- Instalação do Docker
Certifique-se de que o Docker esteja instalado no dispositivo. Os usuários do macOS e do Linux podem fazer download do pacote de instalação no site do Docker. Os usuários do Windows são aconselhados a executar o comando usando o PowerShell. Verifique a instalação do Docker:docker --version
Se não estiver instalado, consulte o guia oficial para concluir a instalação.
- Puxando espelhos brancosLightning Mirrors
Extraia a imagem mais recente do Docker Hub:docker pull ghcr.io/inoxoft/whitelightning:latest
O espelho tem todas as dependências incorporadas, portanto, não há necessidade de configurar ambientes adicionais do Python ou outros.
- Configuração da chave da API
O WhiteLightning precisa chamar modelos de linguagem grandes (como os fornecidos pelo OpenRouter) para gerar dados sintéticos durante a fase de treinamento e, portanto, precisa configurar chaves de API. Por exemplo:export OPEN_ROUTER_API_KEY="sk-..."
comandante-em-chefe (militar)
"sk-..."
Substitua-o pela chave real obtida no site do OpenRouter. A chave é usada apenas para treinamento, e o modelo gerado é executado sem conexão com a Internet. - Execução de contêineres
Execute o WhiteLightning usando o Docker para gerar um modelo de classificação. Por exemplo, categorizar as avaliações dos clientes como positivas, neutras ou negativas:docker run --rm -e OPEN_ROUTER_API_KEY="sk-..." -v "$(pwd)":/app/models ghcr.io/inoxoft/whitelightning:latest python -m text_classifier.agent -p "Categorize customer reviews as positive, neutral, or negative"
Descrição do comando:
--rm
Exclua automaticamente os contêineres após a execução para economizar espaço.-e
Defina a variável de ambiente da chave de API.-v "$(pwd)":/app/models
Monte o diretório atual no contêiner e salve o modelo gerado.-p
A atribuição de uma tarefa categorizada requer uma descrição sucinta dos objetivos da tarefa.
Os usuários do Windows$(pwd)
Substituir por${PWD}
.
- Verificar a instalação
Depois de executar o comando, a ferramenta gera o modelo ONNX em cerca de 10 minutos e o salva no diretório de montagem (por exemplomodels_multiclass/customer_review_classifier/customer_review_classifier.onnx
). Verifique o registro para confirmar que o treinamento foi concluído, exemplo de registro:✅ - INFO - Test set evaluation - Loss: 0.0006, Accuracy: 1.0000
Certifique-se de que o diretório de saída contenha os arquivos do modelo.
Uso das funções principais
O principal recurso do WhiteLightning é gerar e implementar modelos leves de classificação de texto com um clique. Aqui está o procedimento de operação detalhado:
Geração de um modelo de classificação de texto
Os usuários recebem-p
Os parâmetros especificam a tarefa de classificação, e a ferramenta conclui automaticamente a geração de dados sintéticos e o treinamento do modelo. Por exemplo, é gerado um classificador de spam:
docker run --rm -e OPEN_ROUTER_API_KEY="sk-..." -v "$(pwd)":/app/models ghcr.io/inoxoft/whitelightning:latest python -m text_classifier.agent -p "Classify emails as spam or not spam"
- fluxos de trabalho::
- As ferramentas invocam modelos de linguagem grandes (como o
x-ai/grok-3-beta
talvezopenai/gpt-4o-mini
) Gere dados sintéticos com um padrão de 50 entradas por categoria, incluindo casos extremos. - Treinamento de modelos ONNX leves com base em dados sintéticos usando a destilação entre professores e alunos.
- Após a conclusão do treinamento, o modelo é exportado para o diretório especificado e o registro mostra o progresso do treinamento (por exemplo
Epoch 20/20 - accuracy: 1.0000
).
- As ferramentas invocam modelos de linguagem grandes (como o
- exportaçõesArquivos de modelo (por exemplo
customer_review_classifier.onnx
) e registros que registram a geração de dados e os detalhes do treinamento.
Modelos operacionais e de implantação
O modelo ONNX gerado suporta a execução em várias linguagens, ocupa pouco espaço e é adequado para dispositivos de borda. A seguir, um exemplo de Python:
- Instale o tempo de execução do ONNX:
pip install onnxruntime
- Carregue e execute o modelo:
import onnxruntime as ort import numpy as np session = ort.InferenceSession("models_multiclass/customer_review_classifier/customer_review_classifier.onnx") input_data = np.array(["This product is amazing!"], dtype=np.object_) outputs = session.run(None, {"input": input_data}) print(outputs) # 输出结果,如 ['positive']
- Para outras linguagens (por exemplo, Rust, Swift), consulte a documentação de tempo de execução no site oficial do ONNX.
Configuração avançada
O WhiteLightning oferece configuração flexível de parâmetros para otimizar o desempenho do modelo:
- Loop de otimização de dicas: através de
-r
O parâmetro define o número de otimizações, padrão 1. Exemplo:-r 3
A adição de ciclos melhora a qualidade dos dados, mas aumenta o tempo de treinamento.
- Geração de casos de borda: através de
--generate-edge-cases
Habilite, ativado por padrão, para gerar 50 casos de borda por categoria:--generate-edge-cases True
Garantir que o modelo se comporte de forma consistente ao processar entradas complexas.
- Seleção de modelosSuporte a uma variedade de modelos de linguagem grandes que podem ser especificados no arquivo de configuração (por exemplo
x-ai/grok-3-beta
). - Ajuste do volume de dados: através de
--target-volume-per-class
Defina a quantidade de dados por categoria, padrão 50 entradas. Exemplo:--target-volume-per-class 100
Playground on-line
O WhiteLightning oferece um Playground on-line que permite aos usuários testar a geração de modelos sem precisar instalá-lo. Visite o Playground e insira uma descrição da tarefa (por exemplo, "Classificar tweets como felizes ou tristes"). Visite o Playground, insira uma descrição da tarefa (por exemplo, "Classificar tweets como felizes ou tristes"), clique em Generate (Gerar) e veja o resultado do modelo. O Playground é ideal para verificar rapidamente a eficácia de uma tarefa.
Apoio comunitário e comissionamento
- Ações do GitHubPara oferecer suporte ao treinamento na nuvem, acesse a página "Actions" (Ações) no repositório do GitHub, selecione "Test Model Training" (Treinamento de modelo de teste), configure os parâmetros e execute-o.
- ajustar os componentes durante o teste::
- Se o comando do Docker falhar, verifique se o serviço do Docker está em execução e confirme as permissões.
- Se a chave de API for inválida, obtenha-a novamente do OpenRouter.
- O arquivo de log está localizado no diretório de saída e registra mensagens de erro detalhadas.
- Suporte à comunidadeEntre no servidor Discord para se comunicar com os desenvolvedores ou enviar problemas para o GitHub.
advertência
- A fase de treinamento envolve a estabilização da conexão de rede para que a API seja chamada para gerar dados.
- O modelo é executado totalmente off-line e é adequado para cenários sensíveis à privacidade.
- Certifique-se de que o diretório de saída tenha permissões de gravação e que os usuários do Windows prestem atenção ao formato do caminho.
- O tempo de treinamento do modelo varia de acordo com a complexidade da tarefa e a quantidade de dados, geralmente de 10 a 15 minutos.
cenário do aplicativo
- Desenvolvimento de aplicativos móveis
O WhiteLightning gera modelos leves que são adequados para integração em aplicativos móveis, como software de bate-papo para análise de sentimentos. Os modelos ocupam pouco espaço, são executados com eficiência e são adequados para dispositivos de baixo consumo de energia. - Implantação de dispositivos de borda
Execute modelos de classificação de texto em um Raspberry Pi ou em um controlador industrial para processar registros em tempo real ou entradas do usuário. Execute off-line para evitar vazamento de dados, adequado para cenários industriais. - Cenários sensíveis à privacidade
Ao processar dados de texto confidenciais nas áreas médica e financeira, o modelo off-line do WhiteLightning garante que os dados não sejam carregados na nuvem, protegendo a privacidade. - Prototipagem rápida
Os desenvolvedores podem gerar rapidamente modelos de classificação, testar o efeito de diferentes tarefas e reduzir o ciclo de desenvolvimento, o que é adequado para startups ou equipes de pesquisa.
QA
- O WhiteLightning exige uma rede constante?
Somente a fase de treinamento exige que a rede chame a API para gerar dados sintéticos, e o modelo gerado é executado totalmente off-line. - Qual é o tamanho do modelo?
Em geral, os modelos têm menos de 1 MB, dependendo da complexidade da tarefa e do volume de dados, e são muito menores do que os modelos tradicionais de grande escala. - Quais linguagens de programação são compatíveis?
O modelo ONNX é compatível com Python, Rust, Swift, Node.js, Dart, C++, etc. Consulte a documentação do tempo de execução do ONNX. - Como você lida com as falhas no treinamento?
Verifique as chaves de API, as conexões de rede ou as permissões do Docker. Os arquivos de log registram erros detalhados, e a ajuda da comunidade pode ser procurada no GitHub ou no Discord. - É necessário preparar dados reais?
Não. O WhiteLightning usa modelos de linguagem grandes para gerar dados sintéticos e oferece suporte à modelagem de cenas com zero dados.