AI song contest, Mario 64 rétrocompilé, apprendre comme nos têtes blondes…

Voici les sujets qui figuraient dans la newsletter du 15 mai 2020.

Bon c’est la crise, le virus, tout est suspendu, alors on s’amuse comme on peut.

Rendez-vous compte : même l’Eurovision est annulé. Quelle tristesse de ne pas avoir l’occasion cette année de retrouver sa place dans les profondeurs du classement, juste derrière un berger Serbo-Croate, et contemplant de loin l’aveuglant éclat des blonds et soyeux chanteurs pop scandinaves au sourire inoxydable.

Cette année, pas d’Eurovision, mais un concours de chansons algorithmiques organisé par VPRO dans lequel 13 équipes de chercheurs proposent des chansons crées partiellement ou totalement par des algorithmes d’apprentissage machine.

Un pays peut participer plusieurs fois, on trouve trois équipes allemandes, c’est irrégulier, mais comme on participe deux fois aussi, je dis rien. J’atomise le suspens immédiatement : on a perdu. Mais on est quand même 4ᵉ sur 13, c’est un progrès. L’équipe gagnante est Australienne avec son titre “Beautiful the World”. Ils ont utilisé une IA entraînée sur des chansons de l’eurovision, ce qui peut expliquer la syntaxe étonnante je suppose.

Si la chanson vous paraît assez naturelle, c’est parce que le “concours” n’a pas de règle de production très stricte. Vous entendez une véritable chanteuse. Sa voix fait passer au second plan l’agencement approximatif des paroles et de la musique, laquelle a été aussi mixée et arrangée à la main.

Comme pour le vénérable concours musical annuel, chaque groupe est autorisé à son délire perso. Les Australiens ont ainsi inclus des cris d’animaux locaux à leurs sets d’apprentissages. Après être allé sur “zapping sauvage” pour écouter mon premier cri de Koala, je confesse n’avoir pas été en mesure de repérer le mignon petit animal drogué à l’eucalyptus. Les Français d’Algomus ont utilisé une méthode analogue (sans koala) : texte et partition générés par des réseaux de neurones (GPT2 pour le texte), arrangement manuel et une chanteuse bien humaine.

Je ne voudrais pas faire mon chauvin, mais on aurait dû gagner non ? Et comment expliquer que les Allemands nous devance avec cette horreur de “I’ll Marry you Punk Come” ? Y’a de la magouille moi j’vous l’dis.

Source : https://www.vprobroadcast.com/titles/ai-songcontest.html

! oiraM ,em s’tI

Récemment est sortie une version PC de Mario 64. Ce n’est pas une ROM émulée, c’est vraiment un portage de ce jeux Nintendo 64. Comment est-ce possible ?
La communauté de “reverse engineering” N64 a réussi à “décompiler” le jeu. C’est-à-dire à transformer sa ROM binaire en code source C. Ça n’est peut-être rien pour vous, mais pour moi ça veut dire beaucoup. Ça veut dire qu’il est libre, heureux d’être sur PC malgré tout.

Décompiler, comme on peut s’en douter, c’est faire l’inverse d’un compilateur qui transforme du code source lisible en code machine. C’est un tâche dantesque. À partir du code machine, on peut “désassembler”, c’est-à-dire retrouver les instructions assembleur si on connaît l’architecture matérielle. Mais décompiler est plus complexe car il faut aussi connaître les conventions du compilateur… ou bien tout faire à la main : comprendre la fonction et la réécrire soi-même.

Il existe des outils extrêmement puissants pour automatiser ça, le plus connu est Ghidra, de la NSA. Ghidra connaît de multiples processeurs et formats d’exécutables et même de conventions de compilateurs. On peut même l’utiliser pour modifier des ROM Gameboy et décompiler des jeux entiers, la plateforme étant bien connu et relativement simple.

Il existe ainsi un code source libre de presque tous les jeux Pokémon. Mais dans le cas de la Nintendo 64, c’est une autre paire de manches. Si l’architecture matérielle est bien connue, ce n’est pas le cas des outils de développement utilisés. Quel compilateur ? Sur quelle machine ? Comment les retrouver et simuler l’environnement de programmation complet ?

Pourtant, ça y est, il existe un code source de Mario 64. Mais ne croyez pas qu’il soit aussi facile que d’écrire “make” pour faire un portage PC. Tous les sous-systèmes graphiques et sonores manquent encore, ils sont évidemment bien différents sur PC et N64. On prend donc la mesure du travail effectué pour aboutir à cette version de Mario 64.

Et ce n’est pas fini : la communauté s’attaque maintenant à Zelda ! Il faudra une patience de bénédictin béatifié pour venir à bout d’un jeu encore plus complexe et qui a bénéficié de multiples optimisations inconnues, un jeu qui ne comporte pas moins de 15 700 fonctions… mais la passion est invincible.

Source : https://arstechnica.com/gaming/2020/05/beyond-emulation-the-massive-effort-to-reverse-engineer-n64-source-code/

Je parle souvent de modèles de Deep Learning : les GAN à la mode, ceux qui créés des visages à la demande ou des nouvelles robes. Ceux qui reconnaissent les objets, traduisent les textes ou discutent avec vous, comme Blender, pas plus tard que la semaine dernière.

Ces modèles sont impressionnants et énormes. Ils ont des milliards de paramètres. Ce sont justes des nombres, réglés très finement, en fonction des exemples qu’on donne au modèle pour qu’il apprenne à faire une tâche donnée. Grossièrement, plus un modèle a de paramètres, plus il est capable de faire des choses complexes, mais plus il demande de calcul pour être entraîné.

Or, entraîner un modèle coûte des dizaines de milliers de dollars. Un article estime à presque 7000$ l’entraînement de Bert, qui prend 4 jours à des serveurs spécialisés. GPT2 coûte 256$ de l’heure pendant des jours. Et il ne s’agit que d’une “séance”, si vous modifier quoi que ce soit dans le modèle : il faut réentrainer et repasser à la caisse. Pas étonnant que les plus avancés en matière de deep learning soient ceux qui ont les plus gros data centers.

Aussi, améliorer l’efficacité de l’entraînement est au cœur des recherches. À l’université de Carnegie Mellon, on s’est inspiré de la manière dont vos chers petits anges apprennent (quand ils sont de bonne humeur) : par étape. Il est probable que vous ne commenciez pas par montrer toutes les espèces possibles de chiens à votre enfant. Vous commencez sans doute par de grandes catégories chiens / chats / pangolins / babiroussas. Et ensuite, on raffine : caniche / fox terrier / St Bernard. En utilisant cette méthode, la classification peut être jusqu’à 7% plus efficace

Ce qui sous-entend qu’on peut aussi atteindre une bonne précision avec moins d’exemples et donc… moins d’argent. Une bonne nouvelle pour tous les doctorants en intelligence artificielle.

Source : https://www.technologyreview.com/2020/05/06/1001271/an-ai-algorithm-inspired-by-how-kids-learn-is-harder-to-confuse/

Le RGPD c’est bien. L’Europe a créé un précédent mondial avec cet ensemble de protections de la vie privée des citoyens et c’est incontestablement une bonne chose.

Mais au quotidien, c’est une plaie. Parce que CHAQUE site doit demander votre permission. Pire, si vous changez de machine, ou de navigateur : rebelote. Vous faites le ménage dans vos cookies : rerebelote. Bref, à la longue, je confesse donner mon consentement à tout sans plus trop réfléchir.

Mais ce n’est pas forcément de la faute du RGPD. Il arrive même qu’il ne soit pas possible d’avoir accès au contenu sans donner son consentement ou à minima, à passer par le processus souvent assommant et peu clair de sélection de ce qu’on veut ou non. Or, le comité européen pour la protection des données a voulu clarifier certains points et en particulier réaffirme qu’il est illégal de conditionner le contenu du site à l’acceptation des conditions, aka : le “cookie wall”.

Tout simplement parce que le “consentement” n’a pas d’objet si on a le choix entre tout ou rien, il n’y a pas vraiment de choix dans ce cas-là.

D’ailleurs, je me demande ce qu’il en est des conditions générales d’utilisation ? J’installe un logiciel, j’allume un téléphone pour la première fois, et je ne lis jamais les 45 pages de contrats en langage juridique qui sont déversées devant mes yeux vides.

Je me contente de scroller le plus vite possible vers les boutons “Accepter” en espérant n’avoir pas vendu mes organes par inadvertance. S’il vous plaît madame l’Europe, ne pourrait-on pas faire quelque chose pour simplifier un peu tout ça ?

Source : https://techcrunch.com/2020/05/06/no-cookie-consent-walls-and-no-scrolling-isnt-consent-says-eu-data-protection-body/

Devinez qui la BBC a retrouvé dans un petit atelier de réparation de téléphones à Manille ? Xavier Dupont de Ligonnès ? Non. Elvis ? Non, mais presque : Onel de Guzman.

Les moins de vingt ans ne peuvent pas le connaître mais certains plus de 40 pourraient avoir envie de l’étrangler. Début 2000, votre serviteur se connecte à internet par modem bas débit avec un forfait Wanadoo payé à la minute. Ne faites pas cette tête, s’il vous plait… c’est gênant.

Donc surfer longtemps, ça peut revenir cher, pour moi comme pour Onel. Il a alors une idée de génie : choper les identifiants de ses potes pour surfer sur leurs comptes. Il met alors au point un petit script qui, s’ils cliquent dessus, lui renvoie leurs infos.

Peut-être après avoir tenté de télécharger un trop grand nombre de longs métrages de nature pornographique à 56 Ko/s, Onel passe à la vitesse supérieure. Il modifie son script VBS pour qu’il se réplique et se propage tout seul via le carnet d’adresse des victimes. Il décide aussi, perfidement, d’appeler la funeste pièce jointe LOVE-LETTER-FOR-YOU.TXT.VBS. Il pense sans doute que la communauté des amateurs d’informatique de l’époque déborde de pauvres âmes solitaires en mal d’amour…

Il a manifestement raison, puisque le virus qu’on appellera “I love you” se propagera dans le monde entier touchant des dizaines de millions d’ordinateurs, d’innombrables entreprises et fera des milliards de dollars de dommages. C’est que pour se répliquer, il ne faisait pas dans la dentelle : il s’insère dans les fichiers JPG, DOC, CSS, VBE, JS et bien d’autres en ajoutant l’extension VBS pour permettre son exécution par WSH, installé par défaut sur Windows 98, et tant pis pour vos données.

Il fera les gros titres de la presse de l’époque, on en parlera même à la TV ! On ne peut pas dire que ça aie rapporté grand-chose à Onel, il n’aura pas son diplôme (son mémoire d’informatique sur un virus est mal passé), et ne trouve pas de poste dans la cybersécurité comme il le souhaitait à l’époque. Ne lui restent que des bribes de célébrité dont il se serait bien passé.

Source : https://www.lemonde.fr/pixels/article/2020/05/04/vingt-ans-apres-le-createur-du-virus-informatique-i-love-you-temoigne_6038636_4408996.html

Soutenez le podcast !

Tech Café est soutenu par ses auditeurs. Débloquez des avantages
et rémunérez Guillaume Vendé pour son travail avec Patreon !

Podcasteur technophile enthousiaste. Je réalise Tech Café et co-réalise Relife. J'anime aussi un blog audio : la voix de Guillaume.

Vos commentaires

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

En lire plus...

Licence Creative Commons
Le Podcast Tech Café de Guillaume Vendé est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale 4.0 International.
Soutenez Tech Café sur Patron !

Merci à

Julie (qui soutient aussi e-enfance.org), Dokcha, Lethargicpanda, Jean-Francois Enond, Ludovic Piot, lo, Florent Coulon, Lysandre Donoso, Xavier Thevenot, Maxime Sespin, Deltakosh, Olivier Verbreugh, francois, Damian H, Gaetano, Renaud JOLY, Youkou, Sébastien Simon, Clément, Amilek, Frederic Pernot, Sébastien Maintenay, Armand Delessert, sambid, Sébastien Pillard, Frank Ngno, Gontran LEYNAERT, Nicolas Guret, Loic, Ga3tan The Geek, Tulkas, Cassim Ketfi, tgonin, Prismx, Ludovic Robert, Alexis Agahi, Juxx, Baptiste A., Franck Yvonnet, LE MOUTON NOIR, Pierre Neuville, Thomas Piron, Benji BALATIN, Natyk, dahu57, Jean-Paul Chirac, Geoweler, GC 3DVR, marcobass, FSC511, Appolonides, psylopath, Dom Wangiroa, Julien GARCIA, Séverin, FabC01, Patxi, Jérémy G., M.Finto, Gianluca Lucchesi, kornishon, Vincent F., LeNutch, Ghazu, Sebos, yabe, AP Condomines, jeromezek, Emmanuel B, domicile, philippe, Mesapegasus75014, noury, REGINECARDIN, PiouPiou, Jean-luc Leon-dufour, Robin D., Bruno Chanel, Odile Fleury, Cyril Anne Wesstong, Fabien Hanesse, Gaël Ides, reydet eric, Cyrille DANES, Maxime Letellier, Goudy, Matthieu Riffault, Sebiiiii, lo, Rémi Odemard, Benoit Galati, Cyril Coroyer, Matthieu, Grug, David_zet, jbvernej, Grégory DEVISE, RawenRizbeh, gsempo, Mikaël LE BERRE, stephane fanelli, Théo Lecat, ryukenashi, Niko (de blablahightech.fr), Rudy, Yves Menoud, Zizou, Miguel, John Robert-Nicoud 6clicks, Jonathan Martin, Philippe SIDLER, Olivier Brisard, Remus Pot, MisterT, Bruno Autret, Blaise, jemini, tetedebeubeu, Marc SIMON, Philippe Torche, Thomas BONDOUX, Xavier Fabre, Magicbird, Maujoin Christophe, Philippe Bueche, Lo, bodtx, Philippe M., Guillaume ROQUES, Mathieu Lebrun, Patrice Descaillot, Ju', Olivier KARMANN, Babar, P, Erwann Menais, Nico Reagit, chemicalgamer, Flavien, n20cyber, Loïc FAGARD, Didier Luthi, Guilbeau Benoit, Jean-francois Relativo, Bertrand Soulier - Votre Coach Web, Mikaël Pâquet, Profduweb, yann Walkowiak, Nathan Martineau

Les livres de Guillaume Poggiaspalla

Mon offre

Machines de jeux

Découvrez aussi…

Relife : le podcast qui améliore votre quotidien !