Tecnologia
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

La Inteligencia Artificial (IA) hoy ya puede hacer que una palabra o un conjunto de palabras generen el código de un programa que, con una letra, pueda predecir la instrucción que el programador piensa escribir y que, leyendo el código de un programa, pueda explicar en idioma natural lo que el programa hace.


También asombra que un sistema de IA comenzó a realizar estas tareas cuando los investigadores buscaban otro objetivo, tal como le ocurrió a Pfizer con Viagra.

La profesión de programador es una de las más modernas y se ha tornado muy relevante en el mundo, estimándose que existen en la actualidad 24 millones desarrolladores y se agregarán otros 5 millones para el año 2024.

Simultáneamente, ha aparecido IA con la posibilidad de convertir cualquier idea en código de programación en forma automática. ¿Es ésta una amenaza? ¿Podría más bien ser un refuerzo que facilite el trabajo de los programadores?

Es fascinante conocer como esto ha ocurrido y el impacto que pueda tener incluso la aparición del “Ciudadano Desarrollador”. Es importante comenzar con algunos antecedentes.

Hace unos cuatro años, investigadores en laboratorios como OpenAI comenzaron a diseñar redes neurales que analizaban inmensas cantidades de prosa, incluyendo miles de libros, artículos de Wikipedia y todo tipo de textos en Internet.

A las redes se les proveyó de todos los idiomas, sin enseñarle reglas de ninguno. La lnteligencia Artificial, sin embargo, logró identificar patrones en todo el texto y las redes aprendieron a predecir la próxima palabra en una secuencia.

Cuando alguien escribe unas pocas palabras estos “modelos de idioma universal” pueden completar los pensamientos con párrafos completos.

De esta manera GPT-3, un invento de OpenAI, puede escribir sus propios tuits, discursos, poesía y noticias. La IA está sorprendiendo con aplicaciones que ni nos imaginábamos y, en este caso, los asombrados fueron los investigadores del sistema.

Este podía escribir sus propios programas de computación, cortos y simples. Como un niño, aparentemente, había aprendido de una cantidad de programas publicados en Internet.

GPT-3

OpenAI es un laboratorio de Inteligencia Artificial, con una composición accionaria mixta: una parte comercial y otra sin fines de lucro. Allí se desarrolló el software GPT-3 (Transformador Generativo Pre-entrenado-3), el cual fue codificado con una extraordinaria masa de texto.

Se creó ese modelo de lenguaje, resultado del aprendizaje de la probabilidad sobre cuál palabra específica se encontraría a continuación de palabras precedentes y, también, para predecir cual sería la próxima letra en un texto.

El acceso a GPT-3 es restringido, ya que se puede correr el riesgo de producir “fake news” en masa o inundar las redes sociales con “trolls” provocadores. El año pasado el laboratorio comenzó a vender su producto a empresas aprobadas para usos específicos.

Múltiples empresas están usando GPT-3 para agregar IA al software que sus programadores usan para escribir código.

OpenAI Codex

OpenAI decidió extender la capacidad de GPT-3 con un nuevo sistema, OpenAI Codex y este es un descendiente directo de GPT-3 perfeccionado para tareas de programación. Su data de entrenamiento contiene material con lenguaje natural y miles de millones de líneas de código provenientes de fuentes públicas disponibles, incluyendo código en los repositorios públicos de GitHub.

OpenAI Codex es más poderoso en Python, pero también es experto en más de una docena de lenguajes incluyendo:

  • JavaScript
  • Go
  • Perl
  • PHP
  • Ruby
  • Swift and TypeScript
  • E, incluso, Shel

OpenAI Codex traduce lenguaje natural a código y es especiamente fuerte generando programas simples como respuesta a descripciones cortas en inglés. Igualmente funciona en el otro sentido: explicando código complejo en inglés simple.

También traduce de un lenguaje de programación a otro. Puede ayudar a novatos o a “Ciudadanos Desarrolladores” a aprender a codificar y es una herramienta que terminará promoviendo la productividad.

En este punto, se estima que OpenAI Codex ya produce el código correcto el 37% del tiempo.

GitHub Copilot

Github es el principal hospedaje de código fuente con 56 millones de usuarios y tiene más de 28 millones de repositorios públicos (lugares donde se almacenan paquetes de software).

Github, que es propiedad de Microsoft, compró una licencia para el uso de GPT en septiembre y decidió entrenar el software en el código fuente que almacena. OpenAI Codex es el modelo que empodera a GitHub Copilot, el cual se construyó en sociedad con Github hace sólo un mes.

Copilot que puede proveer buenas soluciones, aun cuando se requiere hacer adaptaciones ocasionalmente.
Los codificadores que lo usen están aprovechando la sabiduría colectiva de programadores profesionales, cuyos programas se encuentran en GitHub.

Iniciativas en marcha

1.- Tabnine

El software puede detectar que un usuario empezó a escribir código para órdenes de compra, comienza a sugerir código para nombres y precios de productos; y código para crear campos para cantidades, pagos y entregas.
2.- Visual Studio

Microsoft liberó una versión con un nueva funcionalidad IA predictiva que completa lo que programador escribe.

3.- Kite

Su funcionalidad Inteligencia Artificial predictiva reduce el número de tecleos en 50%.

4.- SourceAI

El usuario escribe una solicitud de código en lenguaje natural y recibe el programa en varios lenguajes.

5.- Debuild

Personas que no conocen programación escriben en inglés simple el programa que desean crear y lo escribe para ellos.

6.- New York University

Desarrolla un proceso de detección de errores (bugs) en los programas.

El objetivo es entrenar al modelo para que detecte los errores involuntarios y también las vulnerabilidades insertadas a propósito.

Esto es importante, ya que adicionalmente el uso de IA puede generar errores extremadamente sutiles que pueden resultar muy difíciles de identificar.

Fuente: thestandardcio.com / Por: Laszlo Beke -Presidente de la Junta Directiva de Beke Santos

Publicado por: TuDecides.com.mx
Edición: Adrián Soltero
Contacto: dir@tudecides.com.mx

Nota: Por lo general todos los artículos cuentan con fuente y autor del mismo. Si por alguna razón no se encuentra, lo hemos omitido por error o fue escrito por la redacción de TuDecides.com.mx.

 

Suscríbase para recibir novedades, regalos y artículos

Su email jamás será compartido con nadie. Odiamos el spam.

Te puede interesar...

Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
DoubleClick/Google Marketing
Accept
Decline
$family
Accept
Decline
$constructor
Accept
Decline
each
Accept
Decline
clone
Accept
Decline
clean
Accept
Decline
invoke
Accept
Decline
associate
Accept
Decline
link
Accept
Decline
contains
Accept
Decline
append
Accept
Decline
getLast
Accept
Decline
getRandom
Accept
Decline
include
Accept
Decline
combine
Accept
Decline
erase
Accept
Decline
empty
Accept
Decline
flatten
Accept
Decline
pick
Accept
Decline
hexToRgb
Accept
Decline
rgbToHex
Accept
Decline
min
Accept
Decline
max
Accept
Decline
average
Accept
Decline
sum
Accept
Decline
unique
Accept
Decline
shuffle
Accept
Decline
rgbToHsb
Accept
Decline
hsbToRgb
Accept
Decline
Básicas
Accept
Decline
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline
Analíticas
Accept
Decline
Functional
Tools used to give you more features when navigating on the website, this can include social sharing.
AddThis
Accept
Decline
$family
$hidden
Accept
Decline
overloadSetter
Accept
Decline
overloadGetter
Accept
Decline
extend
Accept
Decline
implement
Accept
Decline
hide
Accept
Decline
protect
Accept
Decline
attempt
Accept
Decline
pass
Accept
Decline
delay
Accept
Decline
periodical
Accept
Decline
$constructor
alias
Accept
Decline
mirror
Accept
Decline
pop
Accept
Decline
push
Accept
Decline
reverse
Accept
Decline
shift
Accept
Decline
sort
Accept
Decline
splice
Accept
Decline
unshift
Accept
Decline
concat
Accept
Decline
join
Accept
Decline
slice
Accept
Decline
indexOf
Accept
Decline
lastIndexOf
Accept
Decline
filter
Accept
Decline
forEach
Accept
Decline
every
Accept
Decline
map
Accept
Decline
some
Accept
Decline
reduce
Accept
Decline
reduceRight
Accept
Decline
forEachMethod
Accept
Decline
each
clone
clean
invoke
associate
link
contains
append
getLast
getRandom
include
combine
erase
empty
flatten
pick
hexToRgb
rgbToHex
min
max
average
sum
unique
shuffle
rgbToHsb
hsbToRgb