Comment fonctionne la batterie adaptative et la luminosité adaptative d'Android Pie

Bien avant que Google annonce le nom de la tarte Android, la société parlait d’IA dans la dernière version de son système d’exploitation mobile. Deux des caractéristiques les plus intéressantes de l’IA sont la batterie adaptative et la luminosité adaptative. Les deux sont activés par défaut dans Pie, peuvent être facilement désactivés (Paramètres => Batterie => Batterie adaptative et paramètres => Affichage => Luminosité adaptative), et fonctionnent automatiquement en arrière-plan – L'apprentissage automatique se charge de toutes les tâches lourdes.

Pourtant, jusqu’à présent, Google n’a pas partagé beaucoup d’informations sur le fonctionnement exact de ces deux fonctionnalités, ni sur l’impact que les utilisateurs d’Android pourraient voir. Cela a du sens – les chiffres internes de la société en matière de dogfood ne sont pas nécessairement représentatifs, et il y a eu beaucoup d’itérations pendant le programme bêta (Android Pie a vu cinq aperçus de développeurs). Mais il y a trois semaines, Android Pie a été finalisé et a lentement commencé à être déployé. Nous avons donc rencontré Google pour discuter des détails.

Ben Poiesz, responsable produits d'une équipe chargée des fonctionnalités d'intelligence d'Android, s'est entretenu avec nous pour expliquer comment Adaptive Battery et Adaptive Brightness sont apparus, quels gains Google a-t-il obtenus au cours de la version bêta d'Android et les caractéristiques. Chaque utilisateur d'appareil Android a des préférences et des cas d'utilisation uniques, mais personne dans leur bon esprit ne souhaite optimiser activement la durée de vie de la batterie et la luminosité de l'écran, pas plus qu'il ne devrait.

L’équipe de Poiesz a collaboré avec DeepMind, une société d’application de la technologie de l’information acquise en janvier 2014 par Google, sur ces deux fonctionnalités. Ce n’était pas un projet de courte durée – le brainstorming et l’enquête ont commencé un peu avant le lancement d’Oreo en août 2017.

«Les équipes Android et DeepMind sont toutes deux présentes à Londres», a déclaré M. Poiesz. «Ils sont dans le même bâtiment, à différents étages. Cela nous a permis de travailler en étroite collaboration pour déterminer quelle était la bonne stratégie, quelle était la bonne API et comment construire quelque chose. C’est un bon nombre de personnes de chaque côté, mais malheureusement je ne peux pas dire de chiffres exacts. »

Là où Poiesz partage des numéros, gardez à l’esprit que nous parlons de la population Android P Beta, qui est plus grande que les versions précédentes d’Android, car elle n’était pas limitée aux téléphones Google, mais comprenait également des appareils Sony, Xiaomi, Nokia, Oppo, Vivo, OnePlus et Essential.

Poiesz note que le déploiement public d'Android Pie pourrait affecter les résultats de Adaptive Battery et Adaptive Brigthness en raison d'un biais d'auto-sélection. Les utilisateurs qui s’abonnent à la version bêta ne sont pas les mêmes que ceux d’Android: ils utilisent leurs appareils différemment, installent différentes applications, etc. Cela dit, Poiesz a promis que la population bêta «nous a donné des résultats statistiquement significatifs».

Batterie adaptative: réduction de 5% de l'unité centrale

En résumé, Adaptive Battery consiste à déterminer quelles applications vous utilisez fréquemment et à conserver ces applications en mémoire, alors que les applications que vous n’utilisez pas souvent sont purgées une fois que vous en avez fini avec. Autrement dit, Android Pie peut s’adapter à vos habitudes d’utilisation de sorte qu’il ne dépense que l’énergie dont les batteries Adaptive ont besoin.

Voici comment Poiesz explique la pensée derrière cette fonctionnalité.

«Malheureusement, jusqu’à P, il n’a pas été facile pour tout le monde de se méfier de la durée de vie de la batterie grâce aux applications qu’ils choisissent d’installer, aux bogues, etc. " il a dit. C'est ce que les utilisateurs d'Android ne devraient pas avoir à penser, pense-t-il, mais Android devrait plutôt s'en occuper.

Au fil des ans, Google a publié diverses fonctionnalités relatives à la durée de vie de la batterie, telles que Doze et App Standby. Tout le travail de base pour Adaptive Battery dans Android Pie, cependant, a été posé dans Android Oreo avec des limites d'exécution en arrière-plan.

Lorsque les applications ciblent Oreo, elles doivent utiliser des tâches et des alarmes (limitées dans le temps mais ne disposant pas d’heures de démarrage et d’arrêt bien définies) pour effectuer un travail en arrière-plan, par opposition aux services en arrière-plan. À mesure que de plus en plus de développeurs adoptent cette pratique, des fonctionnalités telles que Adaptive Battery deviendront plus efficaces.

“Adaptive Battery dans P était donc en train de regarder“ Le système d’exploitation peut-il fournir un niveau d’audit indépendant des applications que vous utilisez et de la manière dont vous interagissez avec elles? ”” A expliqué M. Poiesz. «Et puis, regardez comment les applications veulent fonctionner, puis prenez des décisions beaucoup plus intelligentes à propos de… Eh bien, quand devrions-nous exécuter des tâches? Quand devrions-nous exécuter des alarmes? Comment cette application devrait-elle pouvoir être traitée en arrière-plan? Doit-il être autorisé à s’en décharger ou à attendre qu’il soit sous tension ou à attendre des circonstances particulières où il est logique? Avoir le système d'exploitation a cette discrétion permet à l'utilisateur de ne pas avoir à s'en soucier. C'était le but principal de Adaptive Battery: apporter de la cohérence à l’appareil. »

La cohérence ne signifie pas nécessairement que le déchargement de la batterie est plus lent. Cela signifie éliminer les jours où vous manquez de jus.

«Si vous venez juste de passer une mauvaise journée de batterie par mois, vous vous souviendrez de cette mauvaise journée», a souligné M. Poiesz. "Vous êtes peut-être génial tous les deux jours, mais si c’est à l’arrière de votre tête qu’il pourrait échouer pour moi" – c’est un facteur de stress. L’objectif numéro un était d’apporter ce niveau de stabilité afin que les applications individuelles que vous pouvez installer sur votre appareil ne puissent pas contenir votre batterie. »

LIS  Splunk va acquérir la plateforme de gestion des incidents DevOps VictorOps pour 120 millions de dollars

Adaptive Battery utilise un réseau de neurones à convolution profonde pour prédire quelles applications vous utiliserez dans les prochaines heures et quelles applications vous n’utiliserez probablement que plus tard. DeepMind a essayé différentes stratégies mais s'est installé sur un réseau neuronal convolutionnel, car il fournissait le bon équilibre entre prendre la bonne décision et utiliser le moins possible d'énergie. L’équipe s’est appuyée sur DeepMind pour choisir la bonne approche d’apprentissage par machine, puis pour créer quelque chose de personnalisé pour Android, mais ce n’était pas clair dès le début. L’AI aurait même joué un rôle.

Peut-être que Android Pie pourrait simplement être plus intelligent en ce qui concerne les applications à limiter en utilisant des heuristiques classiques? Si une application s'exécute en arrière-plan, ce qui est sans doute une perte de puissance, et peut-être que le système d'exploitation pourrait le reporter jusqu'à ce que l'utilisateur connecte son périphérique. Faire cela d’une manière où Android ne rompt pas les applications était la partie délicate, mais une fois que cela a été réalisé, tout a été fait pour ajuster les heuristiques. L'étape suivante consistait à demander à quelques experts en apprentissage automatique si le problème était approprié.

«Ils l’ont regardée et ont dit« Oui, nous pensons qu’il ya quelque chose que nous pourrions faire ici », a expliqué M. Poiesz. «Nous avons donc construit le modèle de manière à ce qu’il soit en concurrence avec une heuristique de base. L'heuristique de base est [in] P aujourd'hui. Le but pour eux était que nous devions être meilleurs que la base de référence – ce qui signifie que non seulement l’apprentissage automatique doit faire de meilleures prédictions, mais qu’il doit faire suffisamment pour mieux prédire le coût de fonctionnement du modèle d’apprentissage automatique. Il doit faire beaucoup mieux, pas seulement un peu mieux. Et ils ont pu. Ils étaient des professionnels fous à l’idée de «l’apprentissage automatique par machine. Cela doit avoir un sens. "

Lors de sa conférence des développeurs d’E / S au début de l’année, le nombre de fichiers partagés par Google (une réduction de 30% des «réveils par processeur pour les applications») était basé sur un système d’alimentation interne. Mais c'était une mesure vague, et maintenant que la version bêta est en hausse, la société obtient des résultats concrets basés sur la population de bêta beaucoup plus large:

  • Un peu plus de 5% de réduction de l’ensemble du processeur, l’un des plus gros composants consommant de l’énergie
  • Réduction de plus de 15% de la CPU pour certains segments d'applications
  • Réduction de 10% de la transmission de données en arrière-plan, certaines applications pouvant atteindre 20%

Pour le chiffre de 5%, gardez à l'esprit que les gains obtenus par l'équipe DeepMind étaient encore plus importants, théoriquement parlant. En pratique, cependant, le coût de l’exploitation du modèle d’apprentissage automatique doit être pris en compte.

J'ai demandé un peu plus de contexte concernant le deuxième chiffre.

«Disons que vous avez une application qui effectue beaucoup de traitement; il a un travail programmé », a élaboré M. Poiesz. «Et vous n’utilisez pas cette application, mais elle continue à traiter. Ce système limiterait alors cette application jusqu'à ce que vous soyez sous tension. Et tout ce CPU qui aurait été utilisé lorsque vous étiez débranché peut être poussé lorsque vous êtes sous tension. C’est juste des économies directes. Parce que tout ce que vous faites pendant que vous êtes branché est une économie. Cela dépend fortement de ce que fait l’application. Vous pourriez avoir une application qui n’utilise pas d’arrière-plan, donc les économies sont nulles. Vous pouvez également avoir une application très agressive pendant le travail en arrière-plan et vous pourriez réaliser des économies substantielles. »

Fait intéressant, l’économie de données mobiles n’était pas un objectif, mais si vous y réfléchissez, les économies y ont du sens. «Si les applications fonctionnent moins lorsque vous êtes débranché, cela signifie qu'elles ne transmettent pas non plus. Les données sont également le pouvoir. Parce que c’est le moment où vous allez allumer le modem, vous allez devoir passer à la diffusion, ce qui nécessite de l’alimentation. Mais cela entraîne également des économies dans les plans de données des consommateurs. »

Ces chiffres semblent sains et saufs, mais combien de temps faut-il pour que ces avantages prennent effet?

«Pour Adaptive Battery, vous le voyez immédiatement, car certaines règles sont différentes. Il existe un modèle de base, alors si vous aviez un nouveau téléphone sur Oreo, vous n’auriez plus d’applications avec ces restrictions. Et lorsque le modèle de base est chargé pour P, rien n’est plus laxiste car ces règles n’existaient pas auparavant, il est explicitement plus restrictif. Donc, vous obtiendrez des économies immédiatement, puis il continuera de s’affiner et de s’améliorer. »

Luminosité adaptative: 10% moins d'interactions

Vous pouvez penser à la luminosité adaptative en tant que luminosité automatique. Il apprend vos habitudes en suivant comment vous définissez votre curseur de luminosité dans différentes circonstances, puis essaie de le faire pour vous.

LIS  Comment réparer Chromecast ne fonctionne pas problème

Combien de temps faut-il à l'utilisateur moyen pour voir les avantages? «Mon expérience personnelle est d’environ une semaine quand j’ai l’impression de ne plus le peaufiner», a déclaré Poiesz. «Vous ne vous sentez pas comme si c'était pire, ce que nous voulions vraiment clouer – lorsque vous obtenez la mise à niveau, vous n’avez pas l’impression de voir un déclassement. C’est juste que ça s’améliore continuellement au fur et à mesure que vous interagissez avec elle. J'ai constaté qu'après une semaine, je me sentais à peine le toucher. »

La raison pour laquelle Poiesz ne pouvait pas répondre à tous les utilisateurs est simple: tout le monde est différent. La luminosité adaptative prend environ une semaine pour se stabiliser, mais elle continue d'apprendre tant que l'utilisateur fait des interactions. Si vous êtes proche du modèle de base, cela peut prendre moins de temps. Si vous êtes loin, cela pourrait être plus long.

«Les utilisateurs ont des préférences différentes en matière de luminosité», a expliqué M. Poiesz. «Les stratégies de luminosité que nous avions avant la nouvelle approche basée sur l’apprentissage automatique nous ont permis d’avoir encore un peu à faire avec les paramètres. La façon dont nous avons défini les courbes n’était tout simplement pas idéale – elle était encore très bonne au milieu, mais lorsque l’on a eu à faire face à des cas extrêmes, comme lorsque vous étiez dans le noir optimiser les deux scénarios. Vous deviez pousser le système plus vers le bon côté ou pousser le système plus vers le côté obscur. La luminosité adaptative est capable de tirer parti de tout le spectre beaucoup plus efficacement. Une fois que l'utilisateur lui a donné suffisamment d'intrants, il devient de mieux en mieux d'optimiser la courbe entre les extrêmes et la distance à parcourir pour atteindre les extrêmes. »

Tout cela était difficile car Google essayait simultanément d'améliorer la durée de vie de la batterie. Il n’est pas facile d’apprendre en permanence où le réglage optimal de la luminosité est adapté à chaque situation sans vider la batterie.

«L’objectif n’était pas nécessairement d’économiser de l’énergie, car le simple fait d’économiser de l’argent rend les utilisateurs mécontents parce qu’ils ne peuvent pas bien voir l’écran», a déclaré M. Poiesz. «C'était pour que l’écran soit à la hauteur des besoins de l’utilisateur pour regarder l’écran.»

En d’autres termes, Google a constaté que lorsque les utilisateurs modifiaient la courbe de luminosité dynamique de leur appareil, pour qu’il soit plus clair ou plus sombre, le système pouvait mieux identifier une extrémité du spectre, Le modèle d'apprentissage automatique est plus intelligent aux deux extrémités du spectre, au lieu d'être biaisé par l'un ou l'autre.

Contrairement à Adaptive Battery, qui ne nécessite aucune entrée au-delà de la simple utilisation de votre appareil Android, Adaptive Brightness brille vraiment lorsque vous ajustez manuellement votre luminosité au fil du temps.

«Le modèle de base que nous avons ici, si vous voulez quelque chose d'un peu différent, c'est quand vous devez lui donner cette entrée… en interagissant avec le curseur. Une fois que vous lui avez donné cette rétroaction tout au long de la journée – la plupart des gens jouent déjà avec le curseur, ce n'est pas nécessairement un phénomène nouveau – alors il ira de mieux en mieux. ”

Dans l’ensemble, l’équipe de Poiesz a vu les ajustements avec le curseur diminuer de 10% pendant la bêta, en termes de nombre de fois où les utilisateurs sont entrés et ont modifié la luminosité. De plus, les utilisateurs partageaient globalement des retours positifs sur la fonctionnalité de luminosité. Dans le même temps – et c'est essentiel -, sur l'ensemble, Android n'utilisait pas plus de puissance.

«En cas de dépassement, les gens vont bien. En général, à moins d’être dans le noir, si vous êtes un peu trop brillant, ce n’est pas grave. Si vous êtes trop faible, c’est un problème. Si nous évitons d’être trop sombres et que nous ne corrigeons pas trop en devenant trop vifs, la perception de l’utilisateur est alors «wow, c’est un écran meilleur et plus lumineux», même si en réalité, cela peut ne pas être ce qui se passe; vous pouvez juste être plus précis. Et c’est ce que nous trouvons: notre pouvoir total est effectivement le même. »

Tout cet apprentissage automatique a conduit à une découverte intéressante pour l'équipe: le modèle d'Oreo était trop sombre. Cela signifie que même si vous n’ajustez pas beaucoup (ou pas du tout le curseur), Pie devrait permettre une meilleure luminosité. Vous serez naturellement en mesure de trouver quelqu'un qui pensait que le modèle d’Oreo était parfait, mais dans l’ensemble, il fallait un coup de pouce, l’équipe a trouvé.

«La nouvelle ligne de base est sortie avec une luminosité plus élevée. Avoir cela comme point de départ a aidé. Maintenant que nous pouvons utiliser toute la gamme plus efficacement et ces modes automatiques, parce que l’algorithme est meilleur – ce qui, combiné à une meilleure base, donne aux gens l’impression que leur téléphone est plus lumineux, même si ce n’est pas le cas. »

Bref, la ligne de base de Pie est plus brillante que celle d’Oreo, et le nouveau modèle apprend quels domaines doivent être atténués. Gardez à l'esprit que la plupart du temps, votre écran peut être beaucoup moins lumineux que ce que vous auriez pu le définir vous-même, et parfois, les gens augmentent la luminosité et l'appellent un jour.

LIS  Un data scientist de Salesforce étudie l'état de la photographie assistée par l'IA

«Nous avons découvert une drôle de stat: Battery Saver, dans le passé, nous réduisions la luminosité de moitié. Nous avons pris cette fonctionnalité dans P », a déclaré Poiesz. «La raison en était que les gens ont relancé la luminosité [after Battery Saver kicked in]et parfois ils la poussaient plus brillamment qu’auparavant. Parce que c’est difficile de regarder des choses comme ça. L’idée était que, si la luminosité était adaptée à vos besoins, si vous activez l’économiseur de batterie, vos yeux n’ont pas changé. La luminosité est la luminosité. Qu'est-ce qui finit par se passer avec l'apprentissage automatique, il se règle avec l'endroit que vous voulez, et alors vous vous sentez heureux. "

Si vous demandez aux utilisateurs d’augmenter la luminosité, ils ne choisiront pas la luminosité optimale, mais avec le temps, le modèle d’apprentissage automatique le sera. Les gens ne vont pas définir un écran comme trop sombre pour eux-mêmes, mais ils vont dépasser, ce qui utilise plus de puissance.

«Voilà comment nous réalisons les économies globales. Si nous évitons que l’utilisateur ait à booster, à essayer de sortir de ces situations précaires, chaque fois que vous évitez cela, et que vous êtes au meilleur de sa forme, vous réalisez des économies », a déclaré M. Poiesz. “En tant qu'être humain, vous allez avoir du mal à trouver votre luminosité optimale. Personne ne veut vraiment faire ça. Donc, le modèle est assez indulgent en essayant de vous aider à trouver le bon niveau sans avoir à y penser. »

La luminosité adaptative ne comporte que deux entrées: la lumière ambiante du capteur de votre appareil et la luminosité que vous définissez. Pourquoi ne pas considérer d'autres facteurs, tels que la contribution de la lumière artificielle ou naturelle? Il y a quelques raisons. Tout d'abord, et surtout, tout l'apprentissage automatique et l'optimisation s'exécutent localement sur l'appareil.

«Plus le modèle est simple, plus le temps d'inférence est court et plus le coût d'exécution est faible, ce qui économise de l'énergie», a souligné M. Poiesz. «Vous devez toujours vous assurer que les économies engendrent des coûts supplémentaires liés à l’exécution du modèle.»

Tous les calculs ne sont pas effectués chaque fois que votre luminosité est ajustée automatiquement – uniquement lorsque vous intervenez. «C’est quand vous faites le levage le plus lourd – lorsque vous calculez ce que le modèle devrait être. Lorsque [the device is] dit: "Oh, voici une nouvelle entrée de luminosité du capteur d'ambiance, quel devrait être le niveau des nits pour l'écran?" – c'est relativement peu coûteux. En conséquence, vous ne remarquerez aucune différence significative dans le temps il faut pour que Android Pie ajuste la luminosité par rapport à ses prédécesseurs.

Ensuite, le fait que vous soyez à l’intérieur ou à l’extérieur n’a pas beaucoup d’importance en matière d’optimisation. Mais l’équipe a étudié d’autres facteurs, comme l’application que vous utilisez et le moment où vous passez d’une application à l’autre.

“Soudainement, votre luminosité a changé lorsque vous avez changé d’application, peut-être est-ce vraiment déconcertant”, a déclaré M. Poiesz. “Les choses les plus élémentaires que nous avons trouvées être plutôt efficaces, et quand nous avons fait notre dogfooding puis notre version bêta, les utilisateurs ont répondu très positivement.”

Et enfin, ce n'est que le début – d'autres optimisations sont en cours. «Nous allons examiner plus d'options au cours de cette année et la prochaine pour savoir plus d'informations à ajouter au modèle», a expliqué M. Poiesz.

Services de santé des appareils

Le plus gros problème avec Adaptive Battery et Adaptive Brightness est qu’ils peuvent être mis à jour séparément d’Android. L'équipe n'a pas à attendre pour Android 9.1 ou la prochaine mise à jour OTA (over-the-air) pour améliorer ses modèles. Cela est possible parce que les modèles résident dans une application Android (un fichier APK): Device Health Services.

Pour les curieux, il s'agit de la même application chargée de prévoir, dans l'application Paramètres, lorsque votre batterie sera épuisée, en plus de la batterie adaptative et de la luminosité adaptative.

«Ces deux composants peuvent être mis à jour en dehors de l'OTA traditionnel», a déclaré Poiesz. “Cela va nous donner beaucoup de flexibilité pour continuer à affiner les modèles. Le magasin [Google Play] peut mettre à jour la logique. Nous mettrons à jour si nous avons un meilleur modèle. Si les choses changent, la ligne de base change ou si nous trouvons une meilleure efficacité, nous la mettrons à jour. »

En fait, d'autres fabricants d'appareils Android peuvent choisir d'utiliser leurs propres modèles. Poiesz semblait douteux que les partenaires choisissent d’utiliser autre chose que Google. Bien que "je crois que DeepMind sera excité si quelqu'un peut faire mieux", at-il ajouté.

Puisqu'il s'agit d'un APK, pourrait-il être renvoyé vers les versions précédentes d'Android?

«Non, malheureusement. Nous avons dû faire beaucoup de crochets dans le système d’exploitation, pour que cet APK fournisse les données afin que le système d’exploitation puisse prendre ces décisions. L'application ne fait pas le travail ici, l'application est le modèle. Tout le travail se passe encore dans l'OS. »

C'est peut-être une bonne chose. Cela pourrait aider à pousser plus de périphériques vers Pie.


Lien source

Comments

comments

Laisser un commentaire