Saltar al contenido principalSaltar al pie de página

Opinión

Do tres en raia ao xadrez e de programar a escribir

Seguro que xogou algunha vez ao tres en raia e ao xadrez. Non fai falta ser un xadrecista consumado para saber que hai un abismo de complexidade entre ambos xogos.

O tres en raia é un xogo moi sinxelo na práctica. Desde un punto de vista formal tamén. Digamos que o número de posibilidades distintas de colocación das pezas, a medida que se van dispoñendo unha tras outra, é algo superior ao cuarto de millón, aínda que o número de partidas distintas é moito menor. Pode parecernos un número moi grande, pero é insignificante se o comparamos co número de partidas posibles no xadrez. Xa hai moito tempo que Claude Shannon, o pai da teoría da información, calculou que o número de partidas típicas posibles era superior a 10 elevado a 120. É dicir, un 1 seguido de 120 ceros. Este número coñécese como número de Shannon e nel cabe case un universo de universos, se temos en conta que o número de partículas estimadas como parte do universo coñecido é de 10 elevado a 80.

Veume á cabeza esta comparación mentres pensaba na diferenza de complexidade que hai entre a linguaxe natural —o galego, o castelán ou o inglés, poñamos por caso— e unha linguaxe de programación.

Unha linguaxe de programación, mesmo as máis complexas, teñen gramáticas moi simples e libres de ambigüidade, xa que non podemos permitir que un mesmo comando se interprete de dúas formas distintas. Non ocorre o mesmo coa linguaxe natural. Sen ir máis lonxe, calquera lingua está ateigada de palabras polisémicas, cuxa desambiguación require unha análise detallada do contexto no que aparecen.

Cando cometemos un erro ao escribir unha liña de código, sexa cal sexa a linguaxe de programación que esteamos usando, dito erro é detectado por un compilador ou intérprete —un tradutor entre a linguaxe de programación e a linguaxe máquina—, para converter ese programa en algo directamente entendible e executable pola computadora. Porén, isto non ocorre cando nos expresamos, xa sexa falando ou escribindo, onde os erros e as interpretacións equivocadas son comúns, como todos sabemos.

Ademais, para «entender» un texto non abonda con recoñecer cada unha das súas palabras. Normalmente non poderemos saber o que significa ese texto como unha mera concatenación de significados de palabras. Adoitará ser necesario integrar no proceso un contexto máis ou menos amplo, identificar e incorporar as intencións do falante ou ter un amplo coñecemento do mundo non escrito e das normas sociais, por citar só algunhas das complicacións coas que temos que tratar, aínda que non o fagamos de forma consciente a maioría das veces. A mesma frase pode significar cousas distintas segundo o interlocutor, a canle ou a cultura.

Sigamos co software. É razoable estimar en varios billóns o número de liñas de código creadas polos programadores ao longo da historia da computación. Por tanto, é moi posible que os corpus de adestramento dos mellores modelos de IA para codificación —escritura automática de software— conteñan miles de millóns de liñas de código, cos seus correspondentes comentarios e correccións. Isto supón que eses corpus terán unha gran diversidade, pero tamén unha importante reiteración de expresións e exemplos, e isto é bo para aprender, tanto para nós como para as máquinas. Por iso os modelos de IA, que aprenden con certa facilidade patróns que se repiten, son quen de aprender a construír, mellorar e corrixir código cun rendemento abraiante. Microsoft, por exemplo, xa xera entre o 20 % e o 30 % do seu código con IA, segundo recoñeceu o seu conselleiro delegado a principios de ano.

Os corpus de texto usados para adestrar os grandes modelos de linguaxe son aínda maiores, pero moito máis o é a complexidade e amplitude do que se pode dicir en calquera das nosas linguas. Ao contrario do que ocorre cunha liña de código, unha soa frase en internet pode ter erros, palabras polisémicas, vaguidade en palabras e expresións, conxugacións, irregularidades, variación dialectal, estranxeirismos… Como dixo a escritora Irene Vallejo: é o infinito nun xunco.

Tracking Pixel Contents