A Neurobit é uma empresa de saúde digital sediada em Nova York, Singapura e Bangalore. Eles estão desenvolvendo tecnologias para prever e planejar desfechos de saúde adversos muito antes de eles acontecerem, usando sinais vitais coletados durante o sono como biomarcador.
A empresa construiu o maior banco de dados de sono do mundo, com mais de um trilhão de pontos de dados fisiológicos multicanal. A escala de dados com que treinaram seus modelos lhes dá a robustez para generalizar o modelo para qualquer novo cenário. Seu caso de uso se assemelha a muitos esforços recentes de IA de empresas de Health Tech de nova geração e de novas iniciativas de IA das grandes empresas de tecnologia.
Encontramos semelhanças entre os casos de uso da Neurobit e os de outras empresas de saúde de grande e médio porte com as quais conversamos:
Quando conhecemos a equipe da Neurobit, eles vinham conduzindo ensaios médicos com mais de 120 centros de pesquisa, universidades e mais de 1.000 participantes. A maioria desses participantes estava na mesma localização geográfica.
Quando a pessoa acorda, os sensores enviam dados fisiológicos ao servidor para processamento. Cada requisição precisa que 20 modelos diferentes sejam chamados para gerar a saída final.
O volume de dados que chegava em cada requisição era grande (mais de 400 mb) e, durante os horários de alto tráfego, a equipe observava um atraso significativo no tempo de resposta e até a perda de requisições, com perda de dados do usuário.

Essa situação estava causando implicações financeiras adversas significativas para a equipe:
Como em outros casos de uso de machine learning no setor de health tech, a equipe não podia se dar ao luxo de perder dados de clientes ou ter respostas atrasadas.
A equipe sabia que implantar seus modelos no Kubernetes, com uma fila para armazenar as requisições antes de serem processadas, conseguiria resolver seus problemas de confiabilidade.
No entanto, as normas de proteção de IP da empresa limitavam o acesso ao modelo apenas a alguns membros da equipe de machine learning, e não à equipe de DevOps.
A equipe de machine learning tinha banda e expertise limitadas em Kubernetes para realizar isso por conta própria. Em vez disso, eles queriam trabalhar no desenvolvimento de novos modelos.
A stack existente que estava sendo usada para os deployments de machine learning era:
A stack funcionava bem para a equipe até certa escala. Mas, quando o caso de uso escalou, a equipe começou a enfrentar problemas de confiabilidade ao servir o modelo, que exigiam atenção imediata.
Como a empresa lida com PII sensíveis e dados de saúde, manter a segurança das APIs de modelo era de extrema importância para eles. Eles não queriam que nenhum dado de cliente saísse de sua nuvem e queriam reforçar as normas de autenticação e segurança das APIs que vinham usando.
A equipe precisava de uma forma de capacitar sua equipe de machine learning, que tinha acesso ao modelo, para conseguir implantar e gerenciar modelos no Kubernetes de forma independente. Os objetivos que a equipe da Neurobit queria alcançar por meio de uma parceria com a TrueFoundry eram:
A equipe da TrueFoundry ajudou a equipe da Neurobit a instalar o agente e o control plane da TrueFoundry em seu cluster em uma chamada de 2 horas. Eles foram informados sobre os acessos e permissões necessários e foram guiados por cada etapa da instalação em uma única chamada.
A equipe teve a opção de instalar apenas os módulos da plataforma TrueFoundry que eram relevantes para eles (deployment de modelos e autenticação).
Após a instalação, a equipe recebeu uma demonstração da plataforma e a documentação.
A equipe da Neurobit conseguiu começar a usar a plataforma para seus deployments de modelo logo no primeiro dia. Eles podiam conectar diretamente seus repositórios Git à plataforma; esse código era automaticamente dockerizado e implantado na plataforma usando a UI, as APIs ou o SDK Python da TrueFoundry. Não foram necessárias alterações de código nem foi preciso aprender nenhum framework adicional para todos os fluxos de trabalho que a equipe estava tentando concluir.
A equipe demonstrou um ótimo ritmo, pois queria resolver rapidamente os problemas de confiabilidade. Em poucos dias, eles começaram a explorar cada vez mais recursos da plataforma e nos forneceram feedback.
Em duas semanas, a equipe conseguiu:
Por meio do deployment dos modelos de machine learning na TrueFoundry, a equipe conseguiu:
Quando os desafios de maior prioridade com os modelos de machine learning foram resolvidos, a equipe da TrueFoundry decidiu ir além para garantir que a equipe da Neurobit estivesse preparada para o sucesso. Durante nossas conversas com a equipe da Neurobit, entendemos que havia espaço para otimizar ainda mais a arquitetura de microservices da empresa. Isso poderia ter um possível impacto no tempo de inferência e nos custos de nuvem que a equipe estava tendo.
Acabamos fazendo uma revisão aprofundada da arquitetura de microservices com a equipe.

Obtivemos o seguinte entendimento da arquitetura que a equipe seguia:
Todo esse processo levava cerca de 7 minutos para cada requisição.

Tentamos entender a tolerância a falhas e os tempos de inferência que a equipe exigia. Com esse entendimento, sugerimos que a equipe da Neurobit passasse a saída de um serviço diretamente para o outro por meio do protocolo gRPC.
A vantagem dessa arquitetura era que.
Esse novo pipeline foi hospedado na plataforma TrueFoundry e reduziu o tempo de inferência do modelo de cerca de 7 min/requisição para cerca de 2 min/requisição.
À medida que nossa parceria com a equipe da Neurobit avança, vimos o negócio colher os benefícios dos tempos de resposta mais rápidos, da confiabilidade e da escala que a plataforma TrueFoundry ajudou a equipe da Neurobit a alcançar.

A TrueFoundry ajudou a equipe da Neurobit a migrar todas as suas cargas de trabalho de machine learning para o Kubernetes sem precisar lidar com a complexidade de aprender algo novo relacionado ao Kubernetes. Também ajudou a equipe a se tornar independente no tratamento de todas as operações avançadas no Kubernetes, como fazer deployments assíncronos, configurar autoscaling, deployments serverless etc.
Também conseguimos ajudar a equipe a migrar alguns de seus recursos de software para uma arquitetura de microservices sobre o Kubernetes, de modo que sua stack esteja preparada para o futuro e funcione com níveis ótimos de utilização.

À medida que continuamos a colaborar com a Neurobit e a ajudá-los a alcançar a escala e o nível de impacto com Inteligência Artificial que se propuseram, somos gratos por todos os aprendizados que conseguimos extrair do engajamento com a equipe. Isso ajudou a moldar tanto a forma como pensamos o engajamento com clientes quanto a dar uma direção sólida ao nosso produto.
Alguns de nossos principais aprendizados incluem:
Codesenvolvemos alguns recursos importantes da plataforma enquanto tentávamos resolver os casos de uso que a equipe da Neurobit precisava que habilitássemos. Eles incluem:
Esperamos colaborar com a equipe da Neurobit no longo prazo e aprender com eles enquanto tentamos ajudá-los ao longo do caminho. Alguns dos desenvolvimentos futuros que podem estar reservados para esse engajamento incluem:
Animados para ver o que vem a seguir!
