paint-brush
Comment j'ai gagné 1 million de dollars et l'ai dépensé pour créer un traducteur IApar@alexeir
487 lectures
487 lectures

Comment j'ai gagné 1 million de dollars et l'ai dépensé pour créer un traducteur IA

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

Trop long; Pour lire

Mon histoire personnelle sur le fait de gagner 1000000 $ rien qu'avec des applications mobiles et de les dépenser pour créer un nouveau système de traduction automatique basé sur l'IA. Un moyen long et difficile de créer un produit technologique profond complexe avec de petites ressources.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Comment j'ai gagné 1 million de dollars et l'ai dépensé pour créer un traducteur IA
Aliaksei Rudak HackerNoon profile picture

Comment tout a commencé

Il y a 10 ans, j'ai travaillé comme ingénieur logiciel et j'ai ensuite quitté mon emploi pour démarrer mes propres projets. Pour économiser de l'argent supplémentaire, je suis allé dans une petite ville natale, où je travaillais à la fois sur un site Web pour étudiants, un logiciel de comptabilité et des jeux mobiles. Le fait de ne pas avoir d'expérience en affaires a causé des problèmes de génération de revenus, de sorte que tous les projets ont dû être fermés. Je suis revenu dans la capitale pour trouver un travail, encore une fois. L'histoire s'est répétée plusieurs fois.


Quand j'étais à nouveau fauché, j'ai dû faire face à une crise économique totale. Je n'arrivais pas à trouver de travail et c'était horrible. C'était une bonne raison de voir le monde avec des yeux sobres. Je devais honnêtement admettre que je ne savais pas quel créneau choisir pour mon entreprise. Faire des projets que vous aimez semblait être un moyen de nulle part.


La seule chose dont j'étais capable était de créer des applications mobiles. Plusieurs années de travail dans des entreprises technologiques m'ont permis d'acquérir une expérience utile, j'ai donc décidé de créer des applications fondamentalement différentes (jeux, musique, art, santé, style de vie, langues) et de tester les besoins du marché. Des ensembles préparés d'actifs et de bibliothèques de codes ont permis de créer simplement des applications sur divers sujets : jeux 2D, traceurs GPS, utilitaires simples, etc. La plupart d'entre eux avaient plusieurs images, 2 boutons et une seule fonction. Mais c'était suffisant pour tester l'idée et le modèle de monétisation. Par exemple, une application de course suivait la vitesse, la distance et les calories brûlées de la personne. Rien de plus. L'achat de graphismes sur stocks et la réutilisation du code source m'ont aidé à créer des centaines d'applications simples en 2 ans.


Au début, les applications étaient gratuites. Ensuite, j'ai ajouté des publicités et des achats intégrés, et j'ai sélectionné des mots-clés et des icônes lumineuses. Les utilisateurs ont commencé à télécharger mes applications. Certaines applications différaient en termes de profit : traducteurs, navigation pour camions, simulateurs de musique (piano, batterie, accords de guitare, joueurs), ainsi que de simples jeux occasionnels.


Ensuite, j'ai remarqué qu'en seulement un mois, les traducteurs avaient été téléchargés plus d'un million de fois, prenant la 100e position dans la catégorie de classement. Il existe des centaines de langues dans le monde et les utilisateurs saisissent une requête pour chaque langue. Le créneau s'est avéré prometteur.

Environ 40 traducteurs simples ont ensuite été créés à l'aide de l'API Google. Cela m'a coûté 20 $ par 1 million de caractères. Puis sont apparues des versions améliorées des applications, où j'ai inclus des publicités, des achats intégrés et une traduction vocale.


J'ai gagné assez d'argent pour déménager dans une grande ville et acheter une maison. À ce moment-là, j'avais entre 50 et 70 applications de traduction et 5 millions de téléchargements au total. La croissance des utilisateurs a augmenté le coût de l'API Google Translate payante. La rentabilité des entreprises a donc sérieusement diminué. Les utilisateurs payants traduisaient des blocs de 1 000 caractères à la fois, ce qui nous obligeait à limiter leurs demandes. Lorsqu'ils ont été confrontés à cette limite de traduction, ils ont laissé de mauvaises critiques et ont obtenu leur remboursement. 70% des revenus couvraient nos dépenses. Avec de gros volumes de traduction, cette activité n'était pas prometteuse. Pour amortir les dépenses, il a fallu ajouter de la publicité aux applications ; qui effraie toujours les utilisateurs. C'est pourquoi nous avions besoin de notre API pour la traduction.


Outre Google, plusieurs entreprises ont fourni une API cloud pour la traduction. J'étais prêt à payer 30 000 $ pour leurs licences technologiques dans 40 langues à déployer sur site. Cela me permettrait de traduire un nombre illimité de fois pour un prix fixe et de servir n'importe quel nombre d'utilisateurs sur mes serveurs. Mais en réponse, j'ai obtenu le montant plusieurs fois plus élevé que prévu. C'était trop cher. J'ai décidé de recréer leur technologie pour la traduction.


Je me suis tourné vers un ami qui possède une société d'externalisation. Fin 2016, il m'a confié une équipe. Je m'attendais à résoudre le problème en six mois sur une base d'externalisation, sans dépendre de l'API de Google.


En route vers mon traducteur

Les travaux ont commencé. En 2016, nous avons trouvé plusieurs projets open source — Apertium, Joshua et Moses. Il s'agissait d'une traduction automatique statistique adaptée aux textes simples. De 3 à 40 personnes ont soutenu ces projets. Plus tard, il est devenu clair que nous avions besoin de serveurs puissants et d'ensembles de données de haute qualité qui coûtent cher. Même après avoir dépensé de l'argent en matériel et en un ensemble de données de qualité pour l'une des paires de traduction, la qualité laissait beaucoup à désirer.



Techniquement, cela ne se résumait pas au schéma "télécharger l'ensemble de données et former" pour créer un traducteur. Il s'est avéré qu'il y a un million de nuances dont nous n'étions même pas conscients. Nous avons essayé quelques ressources supplémentaires, mais nous n'avons pas obtenu de bons résultats. Néanmoins, le travail a continué et des pigistes ont rejoint l'entreprise.


En mars 2017, nous avons trouvé un projet open-source appelé OpenNMT. Le projet venait juste d'être lancé et offrait une traduction basée sur une nouvelle technologie — les réseaux de neurones.


Par conséquent, OpenNMT a fait un geste audacieux : ils ont partagé leurs développements en open source afin que des passionnés comme moi puissent s'impliquer dans ce travail. Ils ont créé un forum où leurs experts ont commencé à aider gratuitement les nouveaux arrivants. Et cela a rapporté un bon retour : des startups, et des travaux scientifiques sur la traduction ont commencé à apparaître puisque chacun pouvait prendre la base et mener ses expérimentations sur cette base.


Même si chacun a la puissance de calcul pour manipuler de grands ensembles de données, la question de trouver des spécialistes en NLP (Natural Language Processing) se pose avec acuité sur le marché. En 2017, ce sujet était beaucoup moins développé que le traitement d'images et de vidéos. Moins d'ensembles de données, d'articles scientifiques, de spécialistes, de cadres, etc. Il y a encore moins de personnes capables de créer une entreprise et de fermer l'une de leurs niches locales à partir de documents de recherche en PNL. Les entreprises de premier plan comme Google et les petits acteurs doivent acquérir un avantage concurrentiel sur les acteurs de leur catégorie.


Cela peut sembler étrange, mais pour être compétitifs, ils décident d'ajouter de nouveaux acteurs sur le marché. Pour qu'ils y apparaissent, vous devez rendre le marché attractif. Le seuil d'entrée est encore élevé et la demande de technologies de traitement du langage est en forte croissance (assistants vocaux, chatbots, traductions, reconnaissance vocale, analyse, etc.). Les grandes entreprises sont intéressées par des startups comme la nôtre qui se développent, captent de nouvelles niches et montrent croissance maximale. Ils sont heureux d'acheter des startups NLP pour renforcer leurs positions.


Après tout, même si vous avez tous les ensembles de données et algorithmes entre vos mains, cela ne signifie pas que vous ferez un traducteur de haute qualité ou une autre startup dans le vecteur NLP. Et même si vous le faites, c'est loin d'être le fait que vous obtenez une grande part du gâteau du marché. Par conséquent, vous avez besoin d'aide, et si quelqu'un réussit, achetez ou fusionnez.


Pour traiter rapidement les expériences de traduction et arrêter d'exécuter les tests depuis la console, un tableau de bord a été créé qui nous a permis d'effectuer toutes les tâches, de la préparation et du filtrage des données au déploiement des tests de traduction. Dans l'image ci-dessous : à droite, une liste de tâches et de serveurs GPU sur lesquels des modèles sont en cours d'apprentissage. Au centre se trouvent les paramètres du réseau de neurones, et en dessous se trouvent les ensembles de données qui seront utilisés pour la formation.


Continuer le travail

En 2018, j'ai consacré mon temps à résoudre le problème de la traduction de haute qualité dans les principales langues européennes. Je pensais qu'il me fallait encore six mois pour que tout s'arrange. J'étais limité en ressources, seules quelques personnes étaient impliquées dans des tâches de science des données. Il fallait aller vite. Il semblait que la solution au problème était quelque chose de simple. Je n'étais pas satisfait de la qualité de la traduction.


J'ai remarqué que notre communauté a commencé à parler d'une nouvelle architecture pour les réseaux de neurones - Transformer. Tout le monde s'est précipité pour former des réseaux de neurones basés sur ce modèle Transformer et a commencé à passer à Python (Tensorflow) au lieu de l'ancien Lua (Torch). J'ai décidé de l'essayer aussi.


Nous avons également pris un nouveau tokenizer, prétraité le texte et commencé à filtrer et à marquer les données d'une manière différente, sinon en traitant le texte après la traduction pour corriger les erreurs. La règle des 10K heures travaillées : il y a eu de nombreuses étapes vers l'objectif, et à un moment donné, j'ai réalisé que la qualité de la traduction était déjà suffisante pour être utilisée dans l'API de mes applications. Chaque changement a ajouté 2 à 4 % de qualité, ce qui n'était pas suffisant pour la masse critique où les gens continuent d'utiliser le produit au lieu d'utiliser les solutions des concurrents.


Ensuite, nous avons commencé à connecter différents outils qui nous ont permis d'améliorer encore la qualité de la traduction : reconnaissance d'entités nommées, translittération, dictionnaires spécifiques, système de correction des erreurs de mots. Après 5 mois de travail acharné, la qualité dans certaines langues est devenue bien meilleure et les gens ont commencé à se plaindre moins. C'était un tournant. Vous pouvez déjà vendre le logiciel, et puisque vous avez votre API pour la traduction, vous pouvez réduire considérablement les coûts. Vous pouvez augmenter les ventes ou le nombre d'utilisateurs, car votre seule dépense est la puissance de calcul.


Pour entraîner un réseau de neurones, j'avais besoin d'un bon ordinateur. Mais nous avons économisé de l'argent. Nous avons loué 20 ordinateurs réguliers (chacun équipé d'une carte vidéo GTX1080) et lancé simultanément 20 tests simples sur eux via le panneau de contrôle Lingvanex. Ça prenait une semaine pour chaque test, c'était long. Pour obtenir une meilleure qualité, vous deviez exécuter avec d'autres paramètres qui nécessitaient plus de ressources. Nous avions besoin de cloud computing et de plus de cartes vidéo sur une seule machine. Nous avons décidé de louer un service cloud Amazon 8 GPU V100 x 4. C'était rapide mais très cher. Nous avons commencé le test le soir et le matin, nous avons reçu une facture de 1 200 $. À cette époque, il y avait très peu d'options de location de serveurs GPU puissants à part cela. J'ai dû abandonner cette idée et chercher des options moins chères. Peut-être essayer de créer le mien ?


Nous avons commencé à consulter l'équipe et avons décidé qu'il était possible de fabriquer un ordinateur utilisant plusieurs GPU puissants et à un prix allant jusqu'à 10 000 dollars, ce qui résoudra nos problèmes et sera rentable en un mois. Deux semaines plus tard, tout était prêt.


Début 2019, j'ai finalement assemblé cet ordinateur chez moi et j'ai commencé à effectuer de nombreux tests, sans me soucier de ce que je devais payer pour les services cloud. J'ai commencé à remarquer que la traduction anglais-espagnol est proche de la traduction de Google selon la métrique BLEU. L'ordinateur a vibré toute la nuit, impossible de dormir. Il fallait s'assurer qu'il n'y avait pas d'erreurs dans la console. Le matin, j'ai fait un test pour traduire 100 phrases d'une longueur de 1 à 100 mots et j'ai vu que c'était une bonne traduction, y compris des phrases longues. Cette nuit a tout changé. J'ai vu la lumière au bout du tunnel et j'ai réalisé que je pouvais obtenir une bonne qualité de traduction.


Article scientifique

Gagner de l'argent grâce aux applications de traduction mobiles, j'ai décidé d'améliorer leur qualité, ainsi que de créer une version pour Android, Mac OS et Windows Desktop. J'espérais que lorsque j'aurais mon API de traduction, je terminerais le développement de l'application pour pénétrer d'autres marchés. Mais les concurrents sont allés beaucoup plus loin. Certaines fonctions et caractéristiques de base étaient nécessaires.


La première chose que j'ai décidé de faire était la traduction vocale hors ligne pour les applications mobiles sans accès à Internet. C'était un problème personnel. Par exemple, vous allez en Allemagne, téléchargez uniquement le package allemand sur votre téléphone (100 Mo) et obtenez une traduction de l'anglais vers l'allemand et vice versa. L'accès à Internet à l'étranger pourrait être un problème. Le Wi-Fi est souvent indisponible, lent ou autrement inutilisable. À l'époque, en 2017, des milliers d'applications de traduction de haute qualité nécessitaient une connexion Internet pour utiliser l'API Google. Nous avions pour défi de rendre les modèles neuronaux compacts pour pouvoir fonctionner rapidement sur les téléphones mobiles et traduire avec une bonne qualité.


J'ai trouvé des gars en Espagne avec une bonne expérience dans les projets de traduction automatique. Pendant environ 3 mois, nous avons mené conjointement des recherches dans le domaine de la réduction de la taille du modèle de réseau de neurones pour la traduction, pour atteindre 100 Mo par langue et ensuite fonctionner sur les téléphones mobiles.

La taille a dû être réduite de sorte que dans une certaine taille du dictionnaire (par exemple, 30 000 mots) pour intégrer autant d'options que possible pour traduire des mots de différentes longueurs et sujets.


Plus tard, le résultat de nos recherches a été rendu public et présenté à l'Association européenne de traduction automatique à Alicante (Espagne) en mai 2018, et l'un des membres de l'équipe a obtenu un doctorat. dessus.


Lors de la conférence, de nombreuses personnes souhaitaient acheter un produit, mais une seule paire de langues était prête (anglais — espagnol). La traduction hors ligne sur les neurones pour les téléphones portables était prête en mars 2018, et il était possible de la faire dans toutes les autres langues jusqu'à l'été. Mais je n'avais pas assez de temps et d'argent. J'ai dû suspendre cette fonctionnalité. Un an plus tard, j'y suis retourné et l'ai terminé.


Plus tard En plus de traduire le texte, la voix et les images, nous avons décidé d'ajouter la traduction des appels téléphoniques avec transcriptions, ce que les concurrents n'avaient pas. Nous savions que les gens dans différents pays utilisent souvent des téléphones portables ou fixes pour appeler l'assistance. Et pour une personne que vous appelez, il n'était pas nécessaire d'installer l'application. Cette fonction nécessitait beaucoup de temps et de dépenses, nous l'avons donc mise dans une application séparée. C'est ainsi que nous avons lancé le traducteur d'appels téléphoniques .


Également ajouté des chats vocaux avec traduction. Cela sera utile pour les groupes de touristes lorsque le guide pourra parler leur langue, et chacun des visiteurs écoutera en traduction. Et enfin — la traduction de fichiers volumineux sur le téléphone ou l'ordinateur.


Constitution de société

Le projet a grandi. Des applications sont apparues non seulement pour les plates-formes mobiles, mais également pour les ordinateurs, les appareils portables, les messageries instantanées, les navigateurs et les assistants vocaux. En plus de la traduction de texte, une traduction de voix, d'images, de fichiers, de sites Web et d'appels téléphoniques a été créée. Au départ, j'avais prévu de faire en sorte que mon API de traduction ne soit utilisée que pour mes applications. Mais ensuite j'ai décidé de l'offrir à tout le monde.


Jusqu'à ce moment-là, je gérais tout seul en tant qu'individu, engageant des gens pour externaliser. Mais la complexité du produit et le nombre de tâches ont commencé à croître rapidement, et il est devenu évident que vous deviez déléguer des fonctions et embaucher rapidement des personnes à votre propre équipe dans votre bureau. J'ai appelé un ami, et il a quitté son emploi et a décidé de créer la société Lingvanex en mars 2017.


Jusqu'en 2020, nous nous concentrions sur les applications de traduction mobiles. Récemment, l'Appstore Search Optimization (ASO) pour les applications mobiles a changé son algorithme. Les mots-clés de l'App Store d'Apple sans acheter d'installations payantes sont devenus inefficaces. L'acquisition d'utilisateurs avec du trafic payant est devenue très coûteuse. Néanmoins, cela m'a aidé à obtenir 40 millions de téléchargements et à gagner le premier million de dollars.


Fin 2020, nous avons décidé de passer au marché B2B. Nous pensons que toute entreprise internationale a besoin d'une fonctionnalité de traduction. Plus vous prenez en charge de langues, plus vous obtiendrez de revenus.


En cinq ans, j'ai reçu des milliers de questions "Pourquoi Lingvanex est meilleur que Google". J'ai essayé de donner des réponses différentes, mais maintenant j'essaie de répondre brièvement - confidentialité des données, fonctionnalité, prix, service d'assistance. Utilisez Lingvanex Translator si vous avez besoin de traduire de gros volumes de données ou lorsque vous avez besoin de confidentialité.


Aujourd'hui, nous avons trois options de traduction : l'API Cloud, le SDK et notre produit phare : le serveur de traduction.


Cloud API - Traduction de textes et de sites via notre API x4 fois moins cher que Google (5 $ par million de caractères). Le prix peut être critique pour les gros volumes de données. Nous prenons en charge le même format d'API REST que Google, il sera donc facile de migrer.


SDK de traduction - Si vous avez besoin d'ajouter une fonctionnalité de traduction hors ligne à votre application, c'est le meilleur choix. Nous prenons en charge les plateformes iOS, Android, Mac OS et Windows et 110 langues. Chaque langue ne fait que 70 Mo et utilise 200 Mo de RAM.


Serveur de traduction sur site - Traduction illimitée sécurisée et ultra-rapide de texte, fichiers, audio et HTML. Il fonctionne hors ligne et peut traduire des milliards de caractères par jour. De plus, le serveur peut effectuer une transcription audio en 19 langues. Il s'agit d'une image docker pour Ubuntu. Le prix commence à partir de 200 $ / mois et dépend d'un certain nombre de langues.


Sommaire

Au fil des ans, j'ai gagné environ 1 million de dollars de revenus grâce aux applications mobiles et j'ai dépensé la majeure partie des bénéfices pour créer mon propre système de traduction. Vous pouvez visiter notre site Internet pour tester la qualité de la traduction et en savoir plus sur nos produits.


Pour obtenir une démonstration gratuite des produits ou poser des questions, n'hésitez pas à me contacter par e-mail [email protected]


Également publié ici