guia
Com o advento da era AIGC, tecnologias de aprendizado de máquina também estão surgindo, como o nascimento de chatgpt e modelos de difusão, trazendo novas oportunidades e desafios para a inteligência artificial. Para empresas e indivíduos, se não conseguirem acompanhar essa onda de tendências, podem ser eliminados. Portanto, como pesquisar e aplicar a nova tecnologia de aprendizado de máquina tornou-se o foco de atenção de todas as esferas da vida. Como um excelente sistema de agendamento de código aberto, o Apache DolphinScheduler, combinado com o Ray AI Runtime, pode criar fluxos de trabalho de aprendizado de máquina reutilizáveis, melhorar a eficiência e a reutilização do trabalho de aprendizado de máquina e ajudar as empresas a lidar melhor com os desafios da era AIGC.
Neste artigo, apresentaremos as vantagens do Apache DolphinScheduler e do Ray AI Runtime e como combiná-los para criar um fluxo de trabalho de aprendizado de máquina reutilizável. Ele visa fornecer algumas ideias e orientações para os profissionais de aprendizado de máquina para ajudá-los a lidar melhor com os desafios da era AIGC.
visão geral
Apache DolphinSchedulerName
O Apache DolphinScheduler é um sistema de código aberto distribuído e facilmente extensível para agendamento de tarefas de fluxo de trabalho DAG visual. Aplicável a cenários de nível empresarial, fornece uma solução para visualizar tarefas operacionais, fluxos de trabalho e processos de processamento de dados ao longo do ciclo de vida.
O Apache DolphinScheduler foi projetado para resolver dependências complexas de tarefas de big data e fornecer aplicativos com dados e relacionamentos em várias orquestrações de OPS. Resolva o problema de que o ETL de P&D de dados depende da complexidade e não pode monitorar o status de integridade da tarefa. Apache DolphinScheduler monta tarefas em uma forma de streaming DAG (Directed Acyclic Graph, DAG), que pode monitorar o status de execução de tarefas em tempo hábil e oferece suporte a operações como repetição, falha de recuperação de nó especificado, suspensão, recuperação e encerramento de tarefas .
Apache DolphinScheduler tem as seguintes vantagens sobre outras ferramentas:
Alta escalabilidade, suporte multinuvem, multiambiente, cluster com suporte para dimensionamento elástico
Oferece suporte a mais de 30 tipos de tarefas do sistema e oferece suporte a extensões personalizadas
Visualização de suporte, Python, configuração de API, fácil de usar
Poderosos recursos de agendamento, suporte a gatilho de calendário de tempo, gatilho de dependência, suporte a dependência entre projetos e função multilocatário
Design distribuído para garantir a estabilidade do sistema
Design de permissão simples, suporte a LDAP
Bom desempenho, pode suportar milhões
A comunidade é muito ativa, pelo menos uma versão é lançada todo mês
Raio LIGADO
O Ray AI Runtime (AIR) é um conjunto de ferramentas escalável e unificado para aplicativos de aprendizado de máquina. O AIR oferece a capacidade de dimensionar facilmente cargas de trabalho individuais, fluxos de trabalho de ponta a ponta e estruturas de ecossistema populares usando a linguagem de programação Python.
O AIR se baseia no melhor das bibliotecas de Ray, incluindo pré-processamento, treinamento, ajuste, pontuação, serviço e aprendizado de reforço, criando um ecossistema para as necessidades de integração. Pré-processamento, treinamento, ajuste, pontuação, saque e aprendizado por reforço
Pré-processamento : o pré-processamento de dados é uma técnica comum para converter dados brutos em recursos para modelos de aprendizado de máquina. O Ray AIR fornece vários pré-processadores e interfaces que podem ser aplicados a dados de treinamento offline e dados de inferência online.
Treinamento : o Ray Train pode expandir o treinamento do modelo de estruturas comuns de aprendizado de máquina, como Torch, XGBoost e TensorFlow, e integra-se perfeitamente com as bibliotecas Ray, como Ray Tune e Predictors.
Tuning : Tune é uma biblioteca Python para realizar experimentos e ajustar hiperparâmetros em qualquer escala. Usando algoritmos avançados, como treinamento baseado em população (PBT) e HyperBand/ASHA, você pode ajustar suas estruturas de ML favoritas, como PyTorch, XGBoost, Scikit-Learn, TensorFlow e Keras.
Pontuação : Depois de concluir o treinamento do modelo, o Ray AIR Predictor pode ser usado para inferência e previsão.
Servindo : Ray Serve é uma biblioteca de serviço de modelo extensível para construir APIs de inferência online. Ele oferece suporte a uma variedade de estruturas, concentrando-se em fortes recursos de combinação de modelos, criando serviços de inferência complexos e desenvolvendo o Ray, que pode facilmente expandir um grande número de máquinas.
Aprendizado por Reforço : RLlib é uma biblioteca de código aberto para aprendizado por reforço que oferece suporte a uma variedade de cargas de trabalho de RL altamente distribuídas e de nível de produção e fornece uma API unificada e simples para uma ampla variedade de aplicativos do setor. Se você deseja treinar agentes em um ambiente multiagente, usando apenas conjuntos de dados off-line ou usando um simulador conectado externamente, o RLlib fornece uma solução fácil de usar.
Crie fluxos de trabalho de aprendizado de máquina reutilizáveis
Neste exemplo, criamos um fluxo de trabalho de aprendizado de máquina reutilizável usando Apache DolphinScheduler e Ray AIR.
O caso de exemplo vem do treinamento e serviço de dados tabulares com Keras e Ray AIR.
Todo o código está disponível aqui dolphinscheduler-ray-example
Iniciar Apache Dolphinscheduler
Execute o seguinte comando para iniciar o DolphinScheduler Standalone
docker run --name dolphinscheduler-standalone-server -p 12345:12345 -p 25333:25333 -p 8265:8265 -d jalonzjg/dolphinscheduler-standalone-server:3.1.4-ray
Altere o comando para iniciar as seguintes portas
12345: Usado para acessar a IU do DolphinScheduler
25333: Para enviar fluxos de trabalho usando o SDK pydolphinscheduler
8265: painel de raios
Em seguida, podemos fazer login http://<ip>:12345/dolphinscheduler/ui
para acessar o Apache Dolphinscheduler
Nome de usuário: administrador
Senha: dolphinscheduler123
Criar um fluxo de trabalho
DolphinScheduler pode usar python para enviar fluxos de trabalho, execute o seguinte comando, você precisa estar no diretório dolphinscheduler-ray-example
python3 -m pip install -i https://pypi.org/simple/ apache-dolphinscheduler==4.0.0
export PYDS_HOME=./
python3 pyds-workflow.py
Depois de fazer login no DolphinScheduler, podemos ver os seguintes itens
Depois de clicar no projeto, podemos ver 3 fluxos de trabalho
start-ray: inicia um cluster ray no docker
stop-ray: pare o cluster do raio
pipeline: treine o modelo e implante o modelo no cluster ray local
cluster de raio inicial
Em seguida, podemos fazer login no painel do ray <ip>:8265
visitando
executar pipeline
parâmetros de inicialização
tamanho do batch
época
Para o fluxo de trabalho definido pelo DolphinScheduler, você pode criar um fluxo de trabalho de aprendizado de máquina reutilizável por meio de parâmetros, sendo necessário apenas extrair os parâmetros da tarefa.
exibição de tarefa
Em seguida, podemos visualizar as tarefas correspondentes na instância do fluxo de trabalho
train_model: modelo de treinamento, incluindo obtenção de dados e modelo de treinamento, consulte
train_model.py
o arquivo para obter detalhesservindo: Implante o modelo, use o Ray AIR Predictor para implantar rapidamente o modelo, consulte
serving.py
o arquivo para obter detalhestest_serving: modelo para testar a implantação, consulte
test_serving.py
a documentação para obter detalhes
Em seguida, podemos clicar duas vezes na tarefa correspondente para visualizar o log da tarefa, conforme mostrado na figura abaixo
Como prática de combinar DolphinScheduler e Ray AI Runtime, implementamos um fluxo de trabalho de aprendizado de máquina reutilizável por meio de dados tabulares para treinamento e implantação.
Ao mesmo tempo, como um tempo de execução de aprendizado de máquina distribuído de alto desempenho, o Ray AI Runtime tem excelente desempenho e escalabilidade e é excelente na aceleração do treinamento e raciocínio de aprendizado de máquina. A combinação com o DolphinScheduler permite que o DolphinScheduler agende e gerencie melhor as tarefas distribuídas de aprendizado de máquina. A combinação dos dois pode atender melhor aos requisitos reais de aplicativos de fluxos de trabalho de aprendizado de máquina. Ao mesmo tempo, o DolphinScheduler e o Ray AI Runtime têm vantagens complementares, que podem aproveitar melhor seus respectivos pontos fortes e fortes e continuar a promover o desenvolvimento de aprendizado de máquina e aplicativos práticos.
Com o advento da era AIGC (conteúdo gerado por IA), as empresas precisam lidar com várias tarefas complexas de aprendizado de máquina, como chatgpt de treinamento, difusão e outros modelos. Essas tarefas precisam ser executadas em um ambiente distribuído, exigindo agendamento e gerenciamento eficientes. A combinação do DolphinScheduler e do Ray AI Runtime pode fornecer às empresas um fluxo de trabalho de aprendizado de máquina eficiente e escalável, ajudando as empresas a treinar e gerenciar tarefas complexas de aprendizado de máquina para obter maior sucesso na era AIGC.
Participe da contribuição
Com o rápido crescimento do código aberto na China, a comunidade Apache DolphinScheduler deu início a um desenvolvimento vigoroso. Para fazer um agendamento melhor e fácil de usar, damos as boas-vindas aos parceiros que amam o código aberto para se juntar à comunidade de código aberto e contribuir para a ascensão do código aberto da China. , Deixe o código aberto local se tornar global.
Há muitas maneiras de participar da comunidade DolphinScheduler, incluindo:
Contribuindo com o primeiro PR (documentação, código) Também esperamos ser simples, o primeiro PR é usado para se familiarizar com o processo de envio e colaboração da comunidade e sentir a simpatia da comunidade.
A comunidade reuniu a seguinte lista de problemas para iniciantes: https://github.com/apache/dolphinscheduler/issues/5689
Lista de problemas não iniciantes: https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22
Como participar no link de contribuição: https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html
Vamos lá, a comunidade de código aberto DolphinScheduler precisa da sua participação para contribuir com a ascensão do código aberto da China, mesmo que seja apenas um pequeno ladrilho, o poder combinado é enorme.
A participação no código aberto permite que você concorra de perto com especialistas de todas as esferas da vida e melhore rapidamente suas habilidades. Se você quiser contribuir, temos um grupo de incubação de sementes para colaboradores. Você pode adicionar o assistente da comunidade WeChat (Leonard-ds) para ensinar a você (colaboradores) Independente do nível, a pergunta deve ser respondida, a chave é ter um coração disposto a contribuir).
Adicionar assistente da comunidade WeChat (Leonard-ds)
Indique que deseja participar da contribuição ao adicionar o WeChat Assistant.
Vamos lá, a comunidade de código aberto está ansiosa pela sua participação.
Clique para ler o texto original, acenda a Estrela para nos apoiar