paint-brush
Como ganhei $ 1 milhão e gastei criando um tradutor de IApor@alexeir
487 leituras
487 leituras

Como ganhei $ 1 milhão e gastei criando um tradutor de IA

por Aliaksei Rudak2022/06/22
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Minha história pessoal sobre ganhar $ 1.000.000 sozinho em aplicativos móveis e gastei para criar um novo sistema de tradução automática baseado em IA. Maneira longa e difícil de criar produtos complexos de tecnologia profunda com poucos recursos.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Como ganhei $ 1 milhão e gastei criando um tradutor de IA
Aliaksei Rudak HackerNoon profile picture

Como tudo começou

Há 10 anos trabalhei como engenheiro de software e depois larguei o emprego para iniciar meus próprios projetos. Para economizar algum dinheiro extra, fui para uma pequena cidade natal, onde trabalhava em um site para estudantes, software de contabilidade e jogos para celular ao mesmo tempo. A falta de experiência em negócios causou alguns problemas na geração de receita, então todos os projetos tiveram que ser fechados. Voltei para a capital para arrumar um emprego, de novo. A história se repetiu algumas vezes.


Quando eu estava sem dinheiro novamente, enfrentei uma crise econômica total. Eu não conseguia encontrar um emprego e me senti horrível. Era um bom motivo para ver o mundo com olhos sóbrios. Tive que admitir honestamente que não sabia que nicho escolher para o meu negócio. Fazer projetos de que você gosta parecia um caminho para lugar nenhum.


A única coisa de que eu era capaz era criar aplicativos móveis. Vários anos de trabalho em empresas de tecnologia me permitiram ganhar alguma experiência útil, então decidi fazer aplicativos fundamentalmente diferentes (jogos, música, arte, saúde, estilo de vida, idiomas) e testar as necessidades do mercado. Conjuntos preparados de ativos e bibliotecas de códigos possibilitaram a criação simples de aplicativos em vários tópicos: jogos 2D, rastreadores GPS, utilitários simples, etc. A maioria deles tinha várias fotos, 2 botões e apenas uma função. Mas foi o suficiente para testar a ideia e o modelo de monetização. Por exemplo, um aplicativo de corrida rastreou a velocidade, a distância e as calorias queimadas da pessoa. Nada mais. A compra de gráficos em ações e a reutilização do código-fonte me ajudaram a criar centenas de aplicativos simples em 2 anos.


No início, os aplicativos eram gratuitos. Em seguida, adicionei anúncios e compras no aplicativo e selecionei palavras-chave e ícones brilhantes. Os usuários começaram a baixar meus aplicativos. Alguns aplicativos diferiam em lucro: tradutores, navegação para caminhões, simuladores de música (piano, bateria, acordes de guitarra, tocadores), além de jogos casuais simples.


Então percebi que em apenas um mês, os tradutores foram baixados mais de 1 milhão de vezes, ocupando a 100ª posição na categoria de classificação. Existem centenas de idiomas no mundo e as pessoas inserem uma consulta para cada idioma. O nicho revelou-se promissor.

Cerca de 40 tradutores simples foram criados posteriormente usando a API do Google. Custou-me $ 20 por 1 milhão de caracteres. Em seguida, surgiram versões aprimoradas de aplicativos, onde incluí anúncios, compras no aplicativo e tradução de voz.


Ganhei dinheiro suficiente para me mudar para uma cidade grande e comprar uma casa. Naquela época, eu tinha de 50 a 70 aplicativos de tradução e 5 milhões de downloads no total. O crescimento do número de usuários aumentou o custo da API paga do Google Tradutor. Portanto, a lucratividade dos negócios diminuiu seriamente. Os usuários pagantes traduziam blocos de 1.000 caracteres por vez, o que nos obrigou a limitar suas solicitações. Quando enfrentaram esse limite de tradução, deixaram críticas negativas e receberam seus reembolsos. 70% da receita cobria nossas despesas. Com grandes volumes de tradução, esse negócio não era promissor. Para amortizar as despesas, era necessário adicionar publicidade aos aplicativos; que sempre assusta os usuários. É por isso que precisávamos de nossa API para tradução.


Além do Google, várias empresas forneceram API em nuvem para tradução. Eu estava pronto para pagar US$ 30.000 por suas licenças de tecnologia em 40 idiomas para implantar no local. Isso me permitiria traduzir um número ilimitado de vezes por um preço fixo e servir qualquer número de usuários em meus servidores. Mas, em resposta, recebi uma quantia várias vezes maior do que o esperado. Era muito caro. Decidi recriar a tecnologia deles para tradução.


Procurei um amigo que é dono de uma empresa de terceirização. No final de 2016, ele alocou uma equipe para mim. Eu esperava resolver o problema em seis meses terceirizando, não dependendo da API do Google.


A caminho do meu tradutor

O trabalho começou. Em 2016, encontramos vários projetos de código aberto – Apertium, Joshua e Moses. Era uma tradução automática estatística adequada para textos simples. De 3 a 40 pessoas apoiaram esses projetos. Mais tarde ficou claro que precisamos de servidores poderosos e conjuntos de dados de alta qualidade que são caros. Mesmo depois de gastar dinheiro em hardware e um conjunto de dados de qualidade para um dos pares de tradução, a qualidade deixou muito a desejar.



Tecnicamente, não se resumia ao esquema “baixar conjunto de dados e treinar” para criar um tradutor. Acontece que há um milhão de nuances das quais nem sabíamos. Tentamos mais alguns recursos, mas não obtivemos bons resultados. Mesmo assim, o trabalho continuou e freelancers se juntaram à empresa.


Em março de 2017, encontramos um projeto de código aberto chamado OpenNMT. O projeto acaba de ser lançado e oferece tradução baseada em uma nova tecnologia — redes neurais.


Portanto, o OpenNMT fez uma jogada ousada: eles compartilharam seus desenvolvimentos em código aberto para que entusiastas como eu pudessem se envolver neste trabalho. Eles criaram um fórum onde seus especialistas começaram a ajudar os recém-chegados gratuitamente. E trouxe um bom retorno: startups e trabalhos científicos sobre tradução começaram a aparecer, pois todos podiam se basear e fazer seus experimentos com base nisso.


Mesmo que todos tenham o poder de computação para lidar com grandes conjuntos de dados, a questão de encontrar especialistas em NLP (Natural Language Processing) é aguda no mercado. Em 2017, esse tópico foi muito menos desenvolvido do que o processamento de imagens e vídeos. Menos conjuntos de dados, artigos científicos, especialistas, estruturas e muito mais. Há ainda menos pessoas capazes de construir um negócio e fechar qualquer um de seus nichos locais a partir de trabalhos de pesquisa em PNL. Tanto as empresas de primeira linha, como o Google, quanto os players menores, precisam obter uma vantagem competitiva sobre os players de sua categoria.


Pode parecer estranho, mas para competir, eles decidem adicionar novos players ao mercado. Para que eles apareçam lá — você precisa tornar o mercado atraente. O limiar de entrada ainda é alto e a demanda por tecnologias de processamento de linguagem está crescendo rapidamente (assistentes de voz, chatbots, traduções, reconhecimento de fala, análise etc.) Grandes empresas estão interessadas em startups como a nossa desenvolvendo, capturando novos nichos e mostrando crescimento máximo. Eles ficam felizes em comprar startups de PNL para fortalecer suas posições.


Afinal, mesmo que você tenha todos os conjuntos de dados e algoritmos em mãos — isso não significa que você fará um tradutor de alta qualidade ou outra startup no vetor NLP. E mesmo se o fizer, está longe de ser o fato de você obter uma grande fatia do bolo do mercado. Portanto, você precisa de ajuda e, se alguém conseguir, compre ou mescle.


Para lidar rapidamente com os experimentos de tradução e parar de executar testes no console, foi criado um Dashboard que nos permite realizar todas as tarefas, desde preparar e filtrar dados até implantar testes de tradução. Na figura abaixo: à direita está uma lista de tarefas e servidores de GPU nos quais os modelos estão sendo treinados. No centro estão os parâmetros da rede neural e abaixo estão os conjuntos de dados que serão usados ​​para treinamento.


Continue o trabalho

Em 2018, dediquei meu tempo a resolver o problema da tradução de alta qualidade nas principais línguas europeias. Achei que precisava de mais seis meses para tudo dar certo. Eu tinha recursos limitados, apenas poucas pessoas estavam envolvidas em tarefas de ciência de dados. Era preciso agir rápido. Parecia que a solução para o problema era algo simples. Não fiquei satisfeito com a qualidade da tradução.


Percebi que nossa comunidade começou a falar sobre uma nova arquitetura para redes neurais — Transformer. Todos correram para treinar redes neurais com base nesse modelo Transformer e começaram a mudar para Python (Tensorflow) em vez do antigo Lua (Torch). Resolvi experimentar também.


Também pegamos um novo tokenizador, pré-processamos o texto e começamos a filtrar e marcar os dados de uma maneira diferente, caso contrário, processamos o texto após a tradução para corrigir erros. A regra das 10K horas funcionou: foram muitas etapas até o objetivo e, em algum momento, percebi que a qualidade da tradução já era suficiente para usar na API dos meus aplicativos. Cada mudança adicionou 2–4% de qualidade, o que não foi suficiente para a massa crítica onde as pessoas continuam a usar o produto em vez de usar as soluções dos concorrentes.


Então começamos a conectar várias ferramentas que nos permitiam melhorar ainda mais a qualidade da tradução: reconhecimento de entidades nomeadas, transliteração, dicionários específicos, sistema de correção de erros de palavras. Após 5 meses de muito trabalho, a qualidade em alguns idiomas ficou muito melhor e as pessoas começaram a reclamar menos. Foi um ponto de viragem. Você já pode vender o software e, como possui sua API para tradução, pode reduzir muito os custos. Você pode aumentar as vendas ou o número de usuários, porque sua única despesa é o poder de computação.


Para treinar uma rede neural eu precisava de um bom computador. Mas economizamos dinheiro. Alugamos 20 computadores comuns (cada um equipado com uma placa de vídeo GTX1080) e simultaneamente lançamos 20 testes simples neles através do Painel de Controle Lingvanex. Levava uma semana para cada teste, era muito tempo. Para obter melhor qualidade, era necessário executar outros parâmetros que exigiam mais recursos. Precisávamos de computação em nuvem e mais placas de vídeo em uma máquina. Decidimos alugar um serviço de nuvem Amazon 8 GPU V100 x 4. Era rápido, mas muito caro. Começamos o teste à noite e pela manhã recebemos uma conta de $ 1.200. Naquela época, havia muito poucas opções de aluguel de servidores GPU poderosos além dele. Tive que abandonar essa ideia e buscar opções mais baratas. Talvez tentar criar o meu próprio?


Começamos a consultar a equipe e decidimos que é possível fazer um computador com várias GPUs potentes e a um preço de até 10 mil dólares, que resolverá nossos problemas e pagará em um mês. Duas semanas depois, estava tudo pronto.


No início de 2019, finalmente montei este computador em casa e comecei a fazer muitos testes, sem me preocupar com o que precisava para pagar pelos serviços em nuvem. Comecei a perceber que a tradução inglês-espanhol se aproxima da tradução do Google pela métrica BLEU. O computador tocou a noite toda, era impossível dormir. Era necessário garantir que não houvesse erros no console. De manhã, fiz um teste para traduzir 100 frases com comprimentos de 1 a 100 palavras e vi que era uma boa tradução, incluindo frases longas. Esta noite mudou tudo. Vi a luz no fim do túnel e percebi que posso conseguir uma boa qualidade de tradução.


Papel científico

Ganhando dinheiro com aplicativos tradutores móveis, decidi melhorar sua qualidade, além de fazer uma versão para Android, Mac OS e Windows Desktop. Eu esperava que, quando tivesse minha API de tradução, terminasse o desenvolvimento do aplicativo para entrar em outros mercados. Mas os concorrentes foram muito mais longe. Algumas funções e recursos principais eram necessários.


A primeira coisa que decidi fazer foi a tradução de voz offline para aplicativos móveis sem acesso à Internet. Esta foi uma questão pessoal. Por exemplo, você vai para a Alemanha, baixa apenas o pacote em alemão para o seu telefone (100 MB) e obtém uma tradução do inglês para o alemão e vice-versa. O acesso à Internet no exterior pode ser um problema. Wifi geralmente não está disponível, lento ou não utilizável. Na época, em 2017, havia milhares de aplicativos de tradução de alta qualidade que exigiam uma conexão com a Internet para usar a API do Google. Tínhamos o desafio de tornar os modelos neurais compactos para rodar rápido em celulares e traduzir com boa qualidade.


Encontrei caras na Espanha com boa experiência em projetos de tradução automática. Por cerca de 3 meses, realizamos pesquisas conjuntas na área de redução do tamanho do modelo de rede neural para tradução, para atingir 100 MB por idioma e depois rodar em telefones celulares.

O tamanho teve que ser reduzido para que em um determinado tamanho do dicionário (por exemplo, 30 mil palavras) fosse possível incorporar o máximo de opções possíveis para traduzir palavras de diferentes comprimentos e tópicos.


Posteriormente, o resultado de nossa pesquisa foi disponibilizado publicamente e apresentado na European Machine Translation Association em Alicante (Espanha) em maio de 2018, e um dos membros da equipe obteve o doutorado. nele.


Na conferência, muitas pessoas queriam comprar um produto, mas apenas um par de idiomas estava pronto (inglês – espanhol). A tradução offline em neurônios para celulares ficou pronta em março de 2018, e foi possível fazer em todos os outros idiomas até o verão. Mas eu não tinha tempo e dinheiro suficientes. Tive que pausar esse recurso. Um ano depois, voltei a ele e o completei.


Mais tarde Além de traduzir texto, voz e imagens, decidimos adicionar a tradução de chamadas telefônicas com transcrições, que os concorrentes não tinham. Sabíamos que pessoas em diferentes países costumam usar telefones celulares ou fixos para ligar para o suporte. E para quem você está ligando não precisou instalar o app. Essa função exigia muito tempo e despesas, por isso a colocamos em um aplicativo separado. Foi assim que lançamos o Phone Call Translator .


Também foram adicionados chats de voz com tradução. Isso será útil para grupos de turistas quando o guia puder falar seu idioma e cada um dos visitantes ouvir na tradução. E finalmente — a tradução de arquivos grandes no telefone ou computador.


Incorporação da empresa

O projeto cresceu. Os aplicativos surgiram não apenas para plataformas móveis, mas também para computadores, dispositivos vestíveis, mensageiros instantâneos, navegadores e assistentes de voz. Além da tradução de texto, foi criada uma tradução de voz, fotos, arquivos, sites e chamadas telefônicas. Inicialmente, planejei fazer minha API de tradução para uso apenas em meus aplicativos. Mas então decidi oferecê-lo a todos.


Até aquela época, eu administrava tudo sozinha como pessoa física, contratando pessoas para terceirizar. Mas a complexidade do produto e o número de tarefas começaram a crescer rapidamente, e ficou claro que você precisa delegar funções e contratar rapidamente pessoas para sua própria equipe em seu escritório. Liguei para um amigo e ele largou o emprego e decidiu abrir a empresa Lingvanex em março de 2017.


Até 2020, nosso foco eram os aplicativos de tradução móvel. Recentemente, o Appstore Search Optimization (ASO) para aplicativos móveis mudou seu algoritmo. As palavras-chave na App Store da Apple sem a compra de instalações pagas tornaram-se ineficazes. A aquisição de usuários com tráfego pago ficou muito cara. No entanto, ajudou-me a obter 40 milhões de downloads e ganhar o primeiro milhão de dólares.


No final de 2020, decidimos mudar para o mercado B2B. Acreditamos que qualquer negócio internacional precisa de um recurso de tradução. Quanto mais idiomas você oferecer suporte, mais receita obterá.


Em cinco anos, recebi milhares de perguntas “Por que o Lingvanex é melhor que o Google”. Tentei dar respostas diferentes, mas agora tento responder brevemente - privacidade de dados, funcionalidade, preço, serviço de suporte. Use o Lingvanex Translator se precisar traduzir grandes volumes de dados ou quando precisar de privacidade.


Hoje temos três opções de tradução: Cloud API, SDK e nosso principal produto - Translation Server.


Cloud API - tradução de texto e sites através da nossa API x4 vezes mais barata que o Google ($ 5 por milhão de caracteres). O preço pode ser crítico para grandes volumes de dados. Oferecemos suporte ao mesmo formato de API REST do Google, portanto, será fácil migrar.


SDK de tradução - Se você precisar adicionar um recurso de tradução off-line ao seu aplicativo, esta é a melhor escolha. Oferecemos suporte às plataformas iOS, Android, Mac OS e Windows e 110 idiomas. Cada idioma tem apenas 70 MB e usa 200 MB de RAM.


Servidor de tradução no local - tradução segura e ultrarrápida ilimitada de texto, arquivos, áudio e HTML. Funciona offline e pode traduzir bilhões de caracteres por dia. Além disso, o servidor pode fazer transcrição de áudio em 19 idiomas. Ele vem como uma imagem docker para o Ubuntu. O preço começa em $ 200 / mês e depende de vários idiomas.


Resumo

Ao longo dos anos, ganhei cerca de US$ 1 milhão em receita com aplicativos móveis e gastei a maior parte do lucro para criar meu próprio sistema de tradução. Você pode visitar nosso local na rede Internet para testar a qualidade da tradução e saber mais sobre nossos produtos.


Para obter uma demonstração gratuita de produtos ou fazer perguntas, entre em contato comigo pelo e-mail [email protected]


Também publicado aqui