Mayo2022

Por @Alvy — 31 de mayo de 2022

Large Language Models are Zero-Shot Reasoners

Bajo el título Large Language Models are Zero-Shot Reasoners hay un profundo trabajo sobre IA en el que se explica uno de los problemas de los modelos de procesamiento lenguaje natural. Resulta que esos algoritmos, como el archifamoso GPT-3 de Google, a veces no son capaces de razonar de forma efectiva incluso en cuestiones aparentemente sencillas, como las de problemas aritméticos que resolverían alumnos de primaria.

Pero lo mejor del asunto es la solución. Tan obvia y simplona que resulta asombroso que se hubiera pasado por alto hasta ahora. Añadir frases como «vamos a razonar paso a paso» a los enunciados, para forzar a esos sistemas a utilizar la lógica, a ser realistas o a «pensar como detectives».

Para probar este tipo de algoritmos se utilizan unos benchmarks o tests de referencia como son el MultiArith o el GSM8K. Básicamente, los investigadores enfrentan su algoritmo a todas la batería de preguntas y se anota la puntuación. Toqueteando algunos parámetros o cambiando el algoritmo se puede hacer que mejore o, si el resultado empeora, tirarlo a la basura. Quizá fue una sorpresa que al añadir las frases en cuestión como comienzo de las respuestas, todo mejorara mágicamente. Entre ellas están todas estas:

#1 Pensemos paso a paso.
#2 Primero,
#3 Pensemos esto con lógica.
#4 Resolvamos el problema dividiéndolo en pasos.
#5 Seamos realistas y pensemos paso a paso.
#6 Pensemos como un detective, paso a paso.
#7 Pensemos.
#8 Antes de adentrarnos en la respuesta,
#9 La respuesta va a continuación de la prueba.

Large Language Models are Zero-Shot Reasoners

Todos estos trucos de la abuela mejoran la precisión entre los 45,7 y los 78,8 puntos en alguna de las pruebas. Teniendo en cuenta que si no se utiliza ningún texto de ayuda la puntuación típica son 17,7 puntos… ¡Vaya diferencia! El simple hecho de sugerir al algoritmo a que puede dar la respuesta dividiendo el problema en varios pasos, o a que ponga más peso en el razonamiento lógico parece mejorar notablemente los resultados.

Esta especie de conocimiento oculto de las IAs en general (no creo que sea de GPT-3 en particular) es algo que merece la pena explorar, y explotar. En el propio trabajo se sugieren algunas ideas, que ha ampliado la colmena de Twitter, como sugerir al algoritmo dar la respuesta en numerales arábigos, utilizar términos más o menos técnicos según el nivel de los problemas (ej. «pensemos» para razonamientos infantiles, «considérese» para trabajos formales y similares) u otras más rebuscadas como «La forma de resolver el problema es…»

Visto lo visto, quizá eso de que en el futuro habrá puestos de trabajo consistentes en entrenadores y descubridores de trucos y sutilezas lógicas para hacer que las IAs funcionen mejor no va a ser ninguna tontería.

Relacionado:

Compartir en Flipboard Publicar / Tuitear Publicar
PUBLICIDAD


Por @Wicho — 30 de mayo de 2022

Sensor de movimiento Aqara P1He estado probando el sensor de movimiento Aqara P1, que incorpora un par de mejoras que solucionan muchos, si no todos, los problemas que tenía la versión anterior. A saber: se pueden ajustar la frecuencia de muestreo y la sensibilidad. Si has intentado automatizar el encendido de unas luces con uno de estos sensores, te habrás dado cuenta ya de lo importante que es esto. Está disponible en Amazon por 29 euros.

Dentro de mi proyecto de instalar domótica en casa, una de las primeras cosas que pensé fue en poner un sensor de movimiento en el vestidor para que encendiera la luz al entrar y que al cabo de un tiempo sin detectar movimiento la apagara.

Vaya por delante que esto, en realidad, hay que hacerlo con un sensor de presencia para evitar que si te quedas sin moverte mientras decides qué ponerte el sensor siga detectándote y no se apague la luz cuando no debe. Que es algo que sin duda habrás vivido en el aseo de un local público. Pero los sensores de presencia son mucho más caros. Además de que hay pocos en el mercado y su disponibilidad en España es reducida. Y de que necesitan estar enchufados a la corriente porque consumen mucho más y no van con pilas.

Adiós, rigidez

Por eso lo que se usa en casi todas partes es un sensor de movimiento. Y te pasa lo que te pasa en los baños y tienes que hacer «el crusaíto» o hacer aspavientos con las manos… si las tienes libres. Y por eso en nuestro vestidor pasaba algo parecido. Porque el sensor de movimiento original de Aqara (el que no lleva P1 en el nombre) tiene una frecuencia de detección de una vez por minuto que no se puede modificar sin andar trasteándole el firmware.

Al principio programé una automatización que, al detectar movimiento en el vestidor, encendía la luz. Y otra que al dejar de detectar movimiento la apagaba. Pero eso que parecía tan lógico tenía el problema de que si justo en el momento en el que el sensor comprobaba si había movimiento no te detectaba y aún estabas dentro del vestidor, te quedabas a oscuras. Y por mucho que te movieras no se volvía a encender la luz por aquello de la frecuencia de refresco de un minuto.

Así que lo que hice fue eliminar la automatización que apagaba la luz al dejar de detectar de movimiento y añadir un temporizador de apagado un minuto a la que la enciende. Claro que en seguida me di cuenta de que era mala idea que coincidiera el final de la cuenta atrás con el momento en el que se reactivaba el sensor. Así que subí la cuenta atrás de apagado a dos minutos. Pero si en la única oportunidad que tenía el sensor en esos dos minutos para verte moviendo y, por tanto, reiniciar la cuenta atrás no te pillaba, volvíamos a las mismas.

Claro, puedes poner tres minutos en el tiempo de apagado. Pero aún así son sólo dos oportunidades de que te pille. O cuatro minutos… pero entonces ya empiezas a preguntarte si no será mejor encender y apagar a mano. Que no está la electricidad como para desperdiciarla, por mucho que pongas luces LED.

Al final solucioné de manera más o menos satisfactoria la papeleta con el plugin Dummy Switches de Homebridge. Con él puedes crear interruptores virtuales. Y una de sus variantes admite un temporizador. Así que creé uno que duraba dos minutos que se encendía al detectar movimiento el sensor y que al terminarse su cuenta atrás apagaba la luz del vestidor. Así disponía de un buffer de dos minutos desde el momento en el que el sensor dejara de detectar movimiento. Funcionaba bastante bien pero a veces aún se apagaban las luces cuando no tocaba.

Hola, flexibilidad

Captura de pantalla de un iPhone con los justes específicos del Aqara P1Pero con el sensor de movimiento P1 el tiempo de refresco es ajustable entre uno y 200 segundos y eso lo cambia todo. He puesto un P1 en el vestidor programado para dispararse cada 10 segundos. Igual que antes, cuando detecta movimiento lanza una escena en HomeKit que enciende la luz. Esa escena está programada para apagarse al minuto. Y desde entonces he tenido cero apagados no deseados porque en ese minuto hay cinco oportunidades de que el sensor te vea y reinicie el temporizador.

El inconveniente de esto es que a más disparos del sensor, menos duración de las pilas, que en principio deberían durar cinco años. Así que haré pruebas con otros tiempos de muestreo menores a ver como va la cosa.

El otro parámetro ajustable en el P1 es la sensibilidad. Puedes ponerla en alta, media o baja. Controla a qué distancia detecta movimiento y sirve para ajustar un poco más el funcionamiento de las automatizaciones. En el caso del vestidor me da un poco igual porque el sensor apunta hacia dentro, así que no hay encendidos en falso. Pero según tu caso de uso poder ajustar la sensibilidad puede ser importante. El sensor tiene un campo de visión de 170 grados hasta 2 metros y de 150 hasta 7 metros.

Un detalle extra que es configurable es que puedes decidir si quieres que se encienda un LED azul en el frontal del sensor al detectar movimiento. Es muy útil a la hora de depurar las automatizaciones tanto para ajustar sus tiempos como para ajustar la posición física del sensor, que puedes colocar de pie sobre cualquier superficie o en cualquier ángulo que necesites usando la rótula orientable que viene con él. Una vez que tengas todo como necesitas, puedes desactivar el LED para que las pilas duren más y para que no distraiga.

Como el resto de los sensores de Aqara, el P1 tiene que ir asociado a un hub de Aqara para poder funcionar¹. Si ya tienes uno, solo tendrás que añadir el P1. Si no lo tienes y el P1 va a ser tu primer sensor de Aqara, tendrás que comprar también un hub. Si ese hub está sincronizado con HomeKit en cuanto añadas el P1 al hub, aparecerá en HomeKit. Aunque, no tengo ni idea de por qué, el sensor de nivel de luz que incorpora el P1 no queda expuesto a HomeKit, así que no puedes usarlo. Ya pasaba lo mismo con el sensor de movimiento original. Lo que es bastante WTF.

Sí, se pueden usar sensores Aqara sin un hub si usas Homebridge con alguno de los plug ins que soportan el protocolo de comunicaciones Zigbeee y además la máquina en la que tengas instalado Homebridge tiene el adaptador hardware necesario. Pero es mucho menos lío comprar un hub. Y tampoco hay ya mucha diferencia de precio entre lo que te va a costar un adaptador de esos y un hub como el Aqara E1.

El siguiente paso va a ser probar el plugin Magic Occupancy Switch de Homebridge. Con él bien configurado –algo que aún no he conseguido– se supone que podré conseguir que el P1 siga controlando el encendido y apagado de las luces a menos que usemos el interruptor de la pared, en cuyo caso será el interruptor el que mande.

Por cierto que la hora de buscar el P1, como ya sabemos como van los buscadores para estas cosas, el truco está en fijarse que ponga Aqara en el frontal. El modelo anterior, aparte de ser más bajo, lo pone en la parte superior.

En definitiva, que si en el pasado te has peleado con los detectores de movimiento, dale al P1 una oportunidad. No te arrepentirás.

_____
¹El enlace a Amazon incluye nuestro código de asociados. Así que si compras allí el sensor o alguna otra cosilla a partir de ese enlace lo mismo ingresamos algo de dinero por ello.

Relacionado,

Compartir en Flipboard Publicar / Tuitear Publicar
PUBLICIDAD


Por @Wicho — 30 de mayo de 2022

Los restos del avión accidentado - Ejército de Nepal
Los restos del avión accidentado - Ejército de Nepal

El DHC-6 Twin Otter 300 de Tara Air que operaba un vuelo doméstico entre Pokhara y Jomson se estrellaba el domingo 29 de mayo de 2022 contra una montaña cerca de la localidad de Sanosware. No ha habido supervivientes entre sus 22 ocupantes. De las 19 personas que formaban el pasaje, dos eran de Alemania, cuatro de la India, y el resto eran del Nepal.

El avión, matriculado 9N-AET, tenía algo más de 42 años de servicio. Despegó a las 9:55 locales y quince minutos más tarde se perdió el contacto con él, cuando apenas quedaban cinco minutos para que llegara a su Jomson, un destino popular para hacer trekking.

Tara Air es una subsidiaria de Yeti Airlines; entre ambas ofrecen la mayor red de vuelos domésticos del país. Es el tercer accidente mortal para la aerolínea desde que empezó a operar en 2009. Es el décimo accidente mortal de aviación en Nepal en diez años.

No se saben todavía las causas del accidente. Y puede que sea imposible de determinar, ya que por su tamaño el avión no llevaba cajas negras. Aunque se especula con que la meteorología adversa pueda haber tenido que ver.

Compartir en Flipboard Publicar / Tuitear Publicar
PUBLICIDAD


Por @Alvy — 29 de mayo de 2022

Interactive Typography Tutorial – Learn UI Design

Este Tutorial de tipografía interactivo es interesante por dos razones. Primero, porque enseña las bases de la elección de una tipografía y sus atributos. Por otro, la explicación es guiada e interactiva, lo que quiere decir que puedes utilizar el ensayo-y-error para avanzar y practicar a la vez.

Si bien es cierto que sobre gustos no hay nada escrito, sobre reglas de diseño y tipografía hay literalmente miles de libros. Y quienes saben saben. Aunque algunas elecciones siempre pueden ser más o menos personales o discutibles, otras son reglas claras relativas a la legibilidad, el espaciado, el uso de los estilos y características de la presentación web. (Esto último es porque el tutorial está dentro del curso Learn UI Design 2.0, orientado a interfaces de usuario).

Por aquí hemos hablado alguna vez del número óptimo de caracteres por línea, los tamaños y la alineación o la adaptación a diferentes tipos de pantalla y tamaños, entre otros. Si se conocen los cinco o seis conceptos más importantes es difícil equivocarse, al menos. Para el resto hay que romper las reglas.

El tutorial procede enseñando a maquetar (si acaso ese sigue siendo el término técnico, que al menos era el que se aplicaba al papel) el comienzo de una novela de Greg Egan, uno de nuestros autores de ciencia-ficción favoritos (¡siempre es un plus!) Hay que elegir uno a uno todos los detalles que se explican (tipografía, tamaños, estilos, etc.) pero tras leer el razonamiento que hay tras cada uno de ellos. A veces se hace con opciones tipo test, a veces con deslizadores que permiten elegir los valores hasta que los indicadores «OK» aparecen en verde.

Interactive Typography Tutorial – Learn UI Design

Me ha parecido una forma muy original de enseñar todos estos principios, que cualquier persona puede apreciar con sólo ver el antes –lo que se vería en el navegador web sin maquetar– y el después, la pequeña obra terminada con todo su esplendor.

Relacionado:

Compartir en Flipboard Publicar / Tuitear Publicar
PUBLICIDAD