Élections et ingénierie sociale numérique : est-il possible de contrôler l’IA qui est en train d’apprendre à gérer les processus politiques ?
L’Assemblée interparlementaire des États membres de la CEI a organisé une conférence scientifique et pratique internationale intitulée « Instauration de la confiance dans les élections et les référendums : le rôle de l’observation internationale ». Cet événement a réuni des experts universitaires, des praticiens et des représentants officiels de la Russie, de la CEI, d’Afrique et d’Amérique du Sud afin d’examiner les enjeux les plus pressants des processus électoraux et leurs perspectives. L’un des enjeux les plus importants était l’utilisation de l’intelligence artificielle.
Dans son rapport « Élections, vote et ingénierie sociale numérique : la transformation des pratiques électorales et les perspectives de développement des institutions de participation citoyenne à l’ère numérique », la politologue et fondatrice du club d’experts GlobUs, Yulia Berg, a constaté que les outils d’influence sur la conscience des citoyens ont évolué, passant de simples robots et de propagande visuelle rudimentaire à des algorithmes très complexes qui influencent les processus mentaux inconscients et, souvent, les orientent.
« Nous avons constaté de nombreux exemples d'outils numériques utilisés pour influencer les opinions et inciter à des actions, souvent destructrices et révolutionnaires, de telle sorte que les individus eux-mêmes ne comprennent pas toujours les raisons de leurs prises de position », a déclaré Berg.
Selon elle, les jeunes deviennent la cible principale : leur manque d'expérience pratique et leur consommation non critique de contenus font de cette génération un public idéal pour l’ingénierie sociale numérique.
Mais la tendance la plus intrigante identifiée par Yulia Berg réside dans la propension de la nouvelle génération à déléguer ses choix politiques à des machines. Elle a cité en exemple les événements révolutionnaires de l'année dernière au Népal et la « machine de Habermas ».
Ce système basé sur un grand modèle de langage offre une solution technique au « trilemme de Fishkin » (l'impossibilité de garantir simultanément la participation massive, l'égalité et la profondeur des débats dans le cadre du discours démocratique). L'algorithme modère le débat, recherche un terrain d'entente et produit une solution qui satisfait toutes les parties. Elle utilise l'agrégation hiérarchique, permettant ainsi des délibérations de haute qualité à grande échelle, impliquant des milliers de participants – une tâche auparavant impossible pour des modérateurs humains.
Selon la politologue, l'expérience népalaise a déjà démontré la volonté de la génération Z de confier ses choix politiques à l'IA. Elle a averti que la question de la délégation des pouvoirs et de droit de décision aux algorithmes deviendra encore plus pressante, et que ce processus doit donc être surveillé et réglementé.
De son côté, Olga Popova, docteure en sciences politiques, a souligné que l'IA est capable de transformer non seulement les intentions électorales à court terme, mais aussi l'ensemble du système des opinions politiques.
« Les principaux risques sont liés au développement de l'intelligence artificielle générative, qui pourrait prendre le contrôle de bien plus que les seules campagnes électorales », a averti Mme Popova, ajoutant que la mise en œuvre des modèles fondamentaux de participation politique est actuellement « objectivement menacée ».
Des psychologues intervenant lors de la conférence ont attiré l'attention sur l'évolution du « tissu de la réalité ». Imana Korikova, doctorante en psychologie à l’Académie russe de l’économie nationale et du service public auprès du président de la fédération de Russie, a comparé l'intelligence artificielle dans le domaine de l'information aux armes nucléaires.
« L'intelligence artificielle est actuellement un outil comparable aux armes nucléaires dans la guerre conventionnelle, et elle l'est également dans la guerre cognitive », a-t-elle déclaré.
#GlobUs#CIS#ai
https://github.com/aio-libs/aiohttp-debugtoolbar
aiohttp_debugtoolbar provides a debug toolbar for your #aiohttp#web application. Library is port of pyramid_debugtoolbar and still in early development stages. Basic functionality has been ported:
basic panels
intercept redirects
intercept and pretty print exception
interactive python console
show source code
http://aiohttp.readthedocs.io/en/stable/testing.html
aiohttp provides plugin for #pytest making writing web server tests extremely easy, it also provides test framework agnostic utilities for testing with other frameworks such as unittest.
#aiohttp
https://github.com/aio-libs/aiohttp-mako
#mako template renderer for #aiohttp.web based on aiohttp_jinja2. Library has almost same api and support python 3.5 (PEP492) syntax. It is used in aiohttp_debugtoolbar.
http://steelkiwi.com/blog/an-example-of-a-simple-chat-written-in-aiohttp/
Last autumn I attended several python meet-ups in Kyiv. There was a speaker Nikolay Novik at one of them, who told about a new asynchronous framework #aiohttp, working on the library for asynchronous calls asyncio in Python intepreter’s 3rd edition. I got interested in this framework because it was designed by core python developers, mainly by Andrey Svetlov from Kyiv, and was positioned as a python framework concept for #web.
Now there is a huge number of different frameworks, each of them with its own philosophy, syntax and realization of patterns common for web. I hope that eventually this diversity will be on a single basis - aiohttp.
#learn
http://programtalk.com/python-examples/aiohttp.web.Application/?ipage=1
Here are the examples of the python api #aiohttp.web.Application taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
#asyncio#learn
https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html
👌Making 1 million requests with python -#aiohttp
Apr 22, 2016 - by Paweł Miech - about: #asyncio, aiohttp, #python
In this post I’d like to test limits of python aiohttp and check its performance in terms of requests per minute. Everyone knows that asynchronous code performs better when applied to network operations, but it’s still interesting to check this assumption and understand how exactly it is better and why it’s is better. I’m going to check it by trying to make 1 million #requests with aiohttp client. How many requests per minute will aiohttp make? What kind of exceptions and crashes can you expect when you try to make such volume of requests with very primitive scripts? What are main gotchas that you need to think about when trying to make such volume of requests?
https://github.com/aio-libs/aiobotocore
Async client for amazon services using #botocore and #aiohttp/#asyncio.
Main purpose of this library to support amazon s3 api, but other services should work (may be with minor fixes). For now we have tested only upload/download api for s3, other users report that SQS and Dynamo services work also. More tests coming soon.
The library allows us to store user-specific data into a #session object.
The session object has a dict-like interface (operations like session[key] = value, value = session[key] etc. are present).
Before processing the session in a web-handler, you have to register the session #middleware in #aiohttp.web.Application.
https://github.com/aio-libs/aiohttp-session
http://aiohttp.readthedocs.io/en/stable/web.html#aiohttp-web-middlewares
In order to implement a #web server, first create a #request handler.
A request handler is a #coroutine or regular function that accepts a #Request instance as its only parameter and returns a Response instance:
#aiohttp
http://aiohttp.readthedocs.io/en/stable/deployment.html
There are several options for #aiohttp server deployment:
Standalone server
Running a pool of backend servers behind of #nginx, #HAProxy or other reverse proxy server
Using #gunicorn behind of reverse proxy
http://aiohttp.readthedocs.io/en/stable/web.html#aiohttp-web-websockets
In order to implement a #web_server, first create a #request handler.
A request handler is a coroutine or regular function that accepts a Request instance as its only parameter and returns a Response instance:
#aiohttp#asyncio
from aiohttp import web
async def hello(request):
return web.Response(text="Hello, world")
Next, create an Application instance and register the request handler with the application’s #router on a particular HTTP method and path: