User Tools

Site Tools


ia:start

Inteligencia Artificial

Página mantenida por Joaquín Herrero Pintado.
Licencia CC BY-SA 4.0

Para sugerir cambios o notificar errores puedes localizarme en Mastodon (scholar.social y bsd.network), en Farcaster o en MyPublicInbox.

He dividido esta página en grandes bloques:

Capítulo 1. Estado del Arte
Capítulo 2. Taxonomía de la Inteligencia Artificial
Capítulo 3. Historia de la Inteligencia Artificial
Capítulo 4. Campos de aplicación de la Inteligencia Artificial
Capítulo 5. Machine Learning: máquinas que aprenden
Capítulo 6. Redes Neuronales
Capítulo 7. Inteligencia Artificial Generativa. LLMs.
Capítulo 8. Criticas a los LLM autorregresivos
Capítulo 9. Uso de Inteligencia Artificial Generativa sin depender de la nube
Capítulo 10. Modelos del Mundo
Capítulo 11. Aspectos filosóficos de la Inteligencia Artificial
Apéndice

A continuación puedes pinchar donde dice “Table of contents” para obtener un índice detallado de la página que te ayudará a navegar a la sección que más te interese. Puedes ocultar la tabla de contenido volviendo a pinchar en el mismo sitio.

Table of Contents


Prefacio

La inteligencia artificial (IA) se ha consolidado como una de las áreas de investigación y desarrollo más fascinantes y revolucionarias de nuestra era, prometiendo transformar no solo la forma en que interactuamos con la tecnología, sino también la estructura fundamental de nuestras sociedades.

Por esa razón, esta página adopta una postura deliberadamente amplia respecto a la IA, argumentando que una exploración verdaderamente profunda y significativa del campo debe ir más allá de explicar la ingeniería de software y hardware implicada. Consideramos esencial adoptar una perspectiva integrada que englobe investigaciones matemáticas rigurosas, avances computacionales innovadores y, crucialmente, una reflexión profunda sobre las implicaciones filosóficas y éticas de los avances en IA.

La tecnología no es neutra; está impregnada de valores, intenciones y efectos que trascienden su función aparente. Este hecho nos insta a adoptar una postura crítica respecto a cómo se diseñan, implementan y utilizan las tecnologías, reflexionando sobre las consecuencias éticas, sociales y políticas de nuestros avances tecnológicos. Aunque la velocidad de desarrollo en el campo de la IA puede parecer desalentadora, es crucial reconocer que los avances son el resultado de décadas de investigación. Consideramos esencial estar informados sobre los desarrollos teóricos y prácticos actuales para ser capaces de influir en el futuro de la IA.

Con el objetivo de contribuir a este conocimiento, esta página se esfuerza por divulgar los pensamientos, teorías y diseños actuales, permitiéndonos imaginar y moldear el mundo en el que viviremos mañana. Conocer las innovaciones en curso nos ofrece la oportunidad de influir en la dirección de la IA para el beneficio de todos. Solo si conocemos lo que se está cocinando podremos influir en el sabor del plato.

Joaquín Herrero Pintado

Una definición

La inteligencia artificial (IA) tiene por objeto que los ordenadores hagan la misma clase de cosas que puede hacer la mente. Algunas (como razonar) se suelen describir como “inteligentes”. Otras (como la visión), no. Pero todas entrañan competencias psicológicas (como la percepción, la asociación, la predicción, la planificación, el control motor) que permiten a los seres humanos y demás animales alcanzar sus objetivos.

La inteligencia no es una dimensión única, sino un espacio profusamente estructurado de capacidades diversas para procesar la información. Del mismo modo, la IA utiliza muchas técnicas diferentes para resolver una gran variedad de tareas.

Margaret Boden
“Inteligencia Artificial”, Turner Publicaciones. 2017.

“We usually prefer to treat A.I. systems as giant impenetrable continuities. Perhaps, to some degree, there’s a resistance to demystifying what we do because we want to approach it mystically. The usual terminology, starting with the phrase “artificial intelligence” itself, is all about the idea that we are making new creatures instead of new tools.”

Jaron Lanier. How to Picture A.I.
https://www.newyorker.com/science/annals-of-artificial-intelligence/how-to-picture-ai

[01] Estado del Arte

Exploramos aquí el panorama actual de este campo dinámico y multifacético, destacando los logros más recientes y las tendencias emergentes que definen la vanguardia de la investigación y el desarrollo en IA. Esta sección pretende ofrecer una visión actualizada de cómo la inteligencia artificial está remodelando nuestras capacidades tecnológicas, planteando al mismo tiempo nuevos desafíos y las áreas de preocupación, como los sesgos algorítmicos y la privacidad de los datos.

Captura de la entrevista que Lex Fridman hizo a Jaron Lanier el 6 de septiembre de 2021.

Kevin Patrick Murphy: “LLMs don’t  have communicative goals, they are just next token predictors. With RLHF they may bias the token distribution to maximize predicted human preferences, but they are not trying to explain or model the world by inventing abstractions. They just copy human abstractions.”

Yann LeCun: “Right. That's why we need JEPA world models and use them for planning to fulfill an objective.”

https://twitter.com/sirbayes/status/1776830537476509946?t=J3YOMXrz5lxkCXuCyAb-YA&s=19

Teorías

ChatGPT: He creado una imagen que representa la competencia entre las arquitecturas de inteligencia artificial Transformer, los modelos de difusión y JEPA, simbolizados como piezas únicas en un gran tablero de ajedrez. Cada conjunto de piezas refleja las características y enfoques distintivos de su respectiva arquitectura, compitiendo en el paisaje tecnológico futurista por avanzar y dominar el campo de la IA.

En el dinámico y en constante evolución campo de la Inteligencia Artificial (IA), tres arquitecturas innovadoras están marcando la pauta en la carrera por desarrollar los modelos más avanzados y eficaces: la arquitectura Transformer, los modelos de difusión y la Joint Embedding Predictive Architecture (JEPA).

  • La arquitectura Transformer, conocida por su eficiencia en el procesamiento del lenguaje natural y otras tareas de secuencia, ha revolucionado el entendimiento de las máquinas sobre el lenguaje humano gracias a su capacidad para capturar relaciones complejas en grandes volúmenes de datos.
  • Por otro lado, los modelos de difusión destacan en la generación de contenido, transformando patrones de ruido en imágenes, texto o sonido de alta fidelidad, abriendo nuevas fronteras en la creación artística y más allá.
  • Finalmente, JEPA, una propuesta más reciente de Yann LeCun, promete un salto cualitativo hacia una IA más autónoma y comprensiva, buscando imitar la capacidad humana de aprender de manera auto-supervisada y desarrollar modelos internos del mundo. Juntas, estas tres arquitecturas representan los frentes más prometedores en la búsqueda de una inteligencia artificial más avanzada y versátil.

Sociedad

En el libro Artificial Intelligence. A Modern Approach, cuarta edición (2022) se dice:1)

“El Estudio de Cien Años sobre IA de la Universidad de Stanford (también conocido como AI100) convoca paneles de expertos para proporcionar informes sobre el estado del arte en IA. Su informe de 2016 (Stone et al., 2016; Grosz y Stone, 2018) concluye que “aumentos sustanciales en los usos futuros de las aplicaciones de la IA, incluido más vehículos autónomos, diagnósticos sanitarios y tratamientos específicos, y asistencia física para el cuidado de las personas mayores” y que “la sociedad se encuentra ahora en una coyuntura en la que debe determinar cómo implementar tecnologías basadas en IA de manera que promuevan en lugar de obstaculizar valores democráticos como la libertad, la igualdad y la transparencia”.

AI100 también produce un índice de IA en aiindex.stanford.edu para ayudar a realizar un seguimiento de este escenario tan cambiante.

Está publicado el 2023 AI Index Report

Empresarial

En esta página puedes leer una traducción de este largo tuit de Andrew Chen2) que sirve para ilustrar el estado del arte en Inteligencia Artificial mediante localizar en la denominada curva S la innovación creada por los dispositivos móviles durante los pasados 15 años con la innovación que se está produciendo hoy en día en el campo de la Inteligencia Artificial.

Una curva S, también conocida como curva de adopción de tecnología, es un gráfico que ilustra la tasa de adopción de una nueva tecnología en el mercado a medida que pasa por diferentes etapas de crecimiento. La forma de la curva se asemeja a una “S” y consta de tres etapas principales:

  1. Etapa de introducción: Durante esta etapa, la tecnología es nueva y se introduce en el mercado. La tasa de adopción es lenta, ya que la tecnología aún no es conocida por la mayoría de los usuarios potenciales.
  2. Etapa de crecimiento: Durante esta etapa, la tecnología se vuelve más conocida y la tasa de adopción aumenta rápidamente. Los early adopters y los early majority adoptan la tecnología y comienzan a usarla ampliamente.
  3. Etapa de madurez: Durante esta etapa, la tecnología se ha vuelto omnipresente y la tasa de adopción se estabiliza. La tecnología se ha vuelto estándar y la mayoría de los usuarios potenciales la han adoptado.

Según Chen estamos es el final de una curva tecnológica, la de las aplicaciones móviles, y en el comienzo de otra, la de las aplicaciones de la IA generativa.

Más información

Espionaje industrial

Espionaje industrial se refiere a la práctica de robar secretos comerciales, tecnologías patentadas, procesos de fabricación, datos de clientes, o cualquier otra información confidencial corporativa para el beneficio de una entidad o país competidor.

Caso Linwei Ding (febrero 2024)

Fuentes:

Este caso específico involucra varios elementos típicos del espionaje industrial, como el robo de información confidencial y el uso de esa información para el beneficio de empresas en un país competidor. El caso subraya la importancia estratégica de la tecnología de inteligencia artificial (IA) y cómo se ha convertido en un punto focal de la competencia global, no solo entre empresas sino también entre naciones. La IA tiene el potencial de transformar industrias enteras, y el acceso a innovaciones y datos líderes en este campo puede proporcionar ventajas significativas.

La intensificación de los esfuerzos para robar datos de IA y la falta de transparencia en los avances de la IA en ciertas áreas del mundo es un recordatorio importante de los desafíos de seguridad y ética que enfrentan las empresas y los países en la carrera por la supremacía en la IA.

Razones del éxito actual de la Inteligencia Artificial

Algunas de las razones más importantes son:

  1. Disponibilidad de datos: La disponibilidad de grandes cantidades de datos etiquetados y no etiquetados ha permitido a los investigadores y desarrolladores de IA entrenar y perfeccionar algoritmos de aprendizaje automático y redes neuronales profundas de una manera más eficiente y eficaz.
  2. Avances en hardware: El desarrollo de hardware de alto rendimiento, como las unidades de procesamiento gráfico (GPU) y las unidades de procesamiento tensorial (TPU), ha permitido a los investigadores y desarrolladores de IA crear y ejecutar algoritmos de IA más complejos y sofisticados.
  3. Mejora de los algoritmos de aprendizaje automático: Los avances en algoritmos de aprendizaje automático, como las redes neuronales profundas y el aprendizaje profundo, han permitido a los investigadores y desarrolladores de IA crear sistemas de IA más sofisticados y eficaces.
  4. Inversión y financiación: La inversión y la financiación en el campo de la IA han aumentado significativamente en los últimos años, lo que ha permitido a los investigadores y desarrolladores de IA realizar investigaciones y desarrollar aplicaciones de IA más sofisticadas y avanzadas.
  5. Aplicaciones prácticas y comerciales: La creciente demanda de aplicaciones prácticas y comerciales de IA, como el reconocimiento de voz y de imágenes, ha impulsado el desarrollo y la adopción de IA en una variedad de industrias y sectores.

Datos de uso a febrero de 2024

Estadísticas destacadas sobre Inteligencia Artificial

  • Se prevé que el mercado mundial de la IA alcance un valor de 1,35 billones de dólares en 2030.
  • Para 2030, el crecimiento de la tecnología de IA tiene el potencial de aportar 15,7 billones de dólares a la economía mundial.
  • Se calcula que el funcionamiento de ChatGPT cuesta al menos 700.000 dólares al día.
  • Con Dall-E se producen más de 4 millones de imágenes generadas por IA al día.
  • El 57% de los estadounidenses está deseando que la tecnología de IA sustituya a las tareas domésticas.
  • el repositorio de modelos de lenguaje HuggingFace contiene más de medio millón de modelos de lenguaje (LLM) que podemos descargar y usar gratuitamente.

— fuente: https://www.techopedia.com/es/estadisticas-inteligencia-artificial

¿Estamos cerca de la Inteligencia Artificial General?

Este post de Yann LeCun en X muestra que siempre creemos que la tecnología actual es la que nos llevará inmediatamente a la IAG:

History of AI:

For x in [general problem solver, perceptron, heuristic programming, rule-based systems, neural nets, deep learning, deep RL, LLMs] :
Print(“In from three to eight years, we will have a machine with the general intelligence of an average human being.”)

Generations after generations of AI researchers have thought that the latest paradigm was going to open the door to human-level AI.
It's always harder than we think, and there is no single magic bullet.

But we are definitely making progress.
And there is no question that getting to human-level AI is merely a matter of time.

[02] Taxonomía de la Inteligencia Artificial

Una taxonomía es un sistema de clasificación que organiza conceptos, objetos o información en grupos o categorías basadas en características comunes o criterios específicos. Se utiliza ampliamente en diversas disciplinas, como la biología para clasificar organismos vivos, pero también puede aplicarse en otros campos como la información y la tecnología, para estructurar datos de manera coherente y sistemática.

2.1 ¿Inteligencia?

ChatGPT: Aquí tienes una imagen que representa la discusión teórica sobre la naturaleza de la inteligencia, contrastando la visión de la inteligencia como conocimiento del mundo a través del análisis de texto, como lo hacen los modelos de lenguaje de gran tamaño, contra la perspectiva de que la inteligencia también requiere interactuar y actuar sobre el mundo físico.

El Test de Turing

Muchos investigadores han expresado escepticismo respecto al Test de Turing como una medida adecuada de la inteligencia de una máquina. Hay varias razones por las cuales la comunidad de IA ha llegado a esta conclusión:

1. Superficialidad de la imitación: El Test de Turing evalúa si una máquina puede imitar la capacidad de un humano para sostener una conversación. Sin embargo, esta imitación no necesariamente refleja una comprensión o cognición real, ya que una máquina podría simplemente estar aplicando reglas preprogramadas o aprendidas para generar respuestas convincentes sin realmente entender el contenido.

2. Falta de requisitos de entendimiento o conciencia: La capacidad de una máquina para pasar el Test de Turing no implica que tenga conciencia, entendimiento real o incluso la capacidad de razonamiento que asociamos con la inteligencia humana. Puede simplemente ser muy buena manipulando símbolos lingüísticos según sus entrenamientos.

3. Enfoque limitado: La inteligencia humana es multifacética, incluyendo habilidades como el razonamiento lógico, la comprensión emocional, la creatividad, y más. El Test de Turing se centra principalmente en la habilidad lingüística, ignorando otras dimensiones cruciales de la inteligencia.

4. Sesgos culturales y lingüísticos: Las evaluaciones basadas en conversaciones pueden estar inherentemente sesgadas por factores culturales y lingüísticos, lo que podría dar ventaja o desventaja a ciertas máquinas dependiendo de los contextos específicos en los que se diseñaron o entrenaron.

5. Innovaciones en IA que van más allá de la imitación humana: La IA ha avanzado en áreas que no se miden adecuadamente con el Test de Turing, como el procesamiento de grandes conjuntos de datos, la identificación de patrones complejos y la realización de tareas específicas a un nivel que supera la capacidad humana. Estos avances sugieren que la medida de la “inteligencia” de una máquina podría ser mejor evaluada por su capacidad para realizar tareas útiles más que por su habilidad para imitar conversaciones humanas.

En respuesta a estas limitaciones, la comunidad de IA ha explorado otros enfoques y métricas para evaluar las capacidades de la inteligencia artificial, incluyendo pruebas específicas de tareas, evaluaciones de capacidad de aprendizaje autónomo, y medidas de creatividad y generalización. La idea es moverse hacia evaluaciones que capturen una gama más amplia de habilidades cognitivas y que reflejen mejor las complejidades de la inteligencia, tanto artificial como humana.

La paradoja de Moravec

La paradoja de Moravec es el descubrimiento en el campo de la inteligencia artificial (IA) y robótica de que, de forma antiintuitiva, el pensamiento razonado humano (el pensamiento inteligente y racional) requiere relativamente de poca computación, mientras que las habilidades sensoriales y motoras, no conscientes y compartidas con otros muchos animales, requieren de grandes esfuerzos computacionales. Este principio fue postulado por Hans Moravec, Rodney Brooks, Marvin Minsky y otros en la década de 1980. Moravec afirmó: «comparativamente es fácil conseguir que las computadoras muestren capacidades similares a las de un humano adulto en tests de inteligencia, y difícil o imposible lograr que posean las habilidades perceptivas y motrices de un bebé de un año».

Marvin Minsky escribió «En general, no somos conscientes de nuestras mejores habilidades», añadiendo que «somos más conscientes de los pequeños procesos que nos cuestan que de los complejos que se realizan de forma fluida».

Una posible explicación a la paradoja deriva de la teoría de la evolución. De acuerdo con la selección natural, las capacidades humanas han sido mantenidas y optimizadas; más aún, conforme más antiguas son esas habilidades, mayor tiempo ha habido para perfeccionarlas. De este modo, puesto que el pensamiento abstracto es un descubrimiento relativamente reciente en términos evolutivos, podría ser que no se hubiera alcanzado una solución eficiente por falta de tiempo.

— fuente: Paradoja de Moravec, Wikipedia

¿Qué es la inteligencia? Un concepto muy problemático

FIXME

2.2 Criterios de inclusión de un software como Inteligencia Artificial

ChatGPT: La ilustración muestra dos personajes al estilo manga que representan visualmente el concepto de software de inteligencia artificial frente a software que no es IA. Cada personaje destaca las características únicas de los tipos de software que representan, desde la vestimenta futurista y los accesorios que simbolizan la adaptabilidad y el aprendizaje, hasta la indumentaria más tradicional y simple con herramientas estáticas.

La distinción entre lo que se considera “inteligencia artificial” (IA) y lo que no puede ser una cuestión de interpretación y contexto, pero hay ciertos criterios ampliamente aceptados que pueden ayudar a hacer esta distinción.

En 2024 un software debería ser catalogado como “inteligencia artificial” cuando exhibe comportamientos que implican cierto grado de cognición, aprendizaje, adaptación, y autonomía, yendo más allá de la simple ejecución de instrucciones preprogramadas.

Aquí hay algunas consideraciones clave:

1. Capacidad de aprendizaje y adaptación: Un software generalmente se considera IA si puede aprender de los datos o experiencias y mejorar o adaptar su comportamiento con el tiempo sin ser explícitamente reprogramado. Esto incluye algoritmos de machine learning y deep learning.

2. Autonomía: La IA se caracteriza por su capacidad para realizar tareas de forma autónoma, tomando decisiones basadas en datos o criterios sin intervención humana directa.

3. Procesamiento del lenguaje natural (PLN): Los sistemas que pueden entender, interpretar y generar lenguaje humano de manera eficaz suelen ser considerados inteligencia artificial, ya que requieren comprensión y producción de lenguaje, tareas complejas que implican procesos cognitivos avanzados.

4. Reconocimiento de patrones y percepción sensorial: Los sistemas que pueden reconocer patrones complejos en grandes volúmenes de datos o que pueden interpretar entradas sensoriales del mundo real (como visión por computadora y reconocimiento de voz) a menudo se clasifican como IA.

5. Resolución de problemas y toma de decisiones: Los programas que pueden resolver problemas complejos, tomar decisiones o generar estrategias basadas en algoritmos de optimización, búsqueda heurística o simulación de razonamiento humano se consideran parte de la IA.

En contraste, un software que no incorpora aprendizaje, adaptación, autonomía, o que simplemente sigue un conjunto fijo de instrucciones sin la capacidad de ir más allá de esas directrices predefinidas, generalmente no se considera inteligencia artificial. Por ejemplo, un programa de base de datos que simplemente almacena y recupera información según comandos específicos, o un software de procesamiento de texto que sigue reglas fijas para la edición de texto, no sería considerado IA.

Todas las técnicas que calificamos como “Inteligencia Artificial” están incluidas en alguna de las siguientes tres categorías, según los criterios expuestos anteriormente.

2.3 IA Simbólica

ChatGPT: He creado una imagen para ilustrar el concepto de IA Simbólica, mostrando un mecanismo de relojería complejo y ornamentado, con cada engranaje y rueda dentada meticulosamente etiquetados con símbolos, símbolos lógicos y notaciones matemáticas. Sobre esta maquinaria, un cerebro brillante hecho de símbolos interconectados y ecuaciones flota, destacando la capacidad de la IA para “pensar” y tomar decisiones basadas en el razonamiento simbólico.

Características

La IA simbólica se basa en el uso de símbolos y reglas lógicas para representar conocimientos y razonar. Se enfoca en imitar el pensamiento lógico humano y se basa en el procesamiento del lenguaje natural, sistemas expertos y motores de inferencia.

Técnicas y Ejemplos

  1. Sistemas Expertos: Un sistema experto es una aplicación de inteligencia artificial que imita el razonamiento humano y la toma de decisiones en un dominio específico. Estos sistemas utilizan una base de conocimientos y reglas para procesar información y proporcionar respuestas a preguntas o soluciones a problemas en un área específica. Un ejemplo de sistema experto es el sistema de recomendación de películas en una plataforma de streaming. El sistema utiliza una base de conocimientos sobre películas y la información de los usuarios para proporcionar recomendaciones personalizadas de películas que puedan gustar a cada usuario en función de su historial de visualización y sus preferencias.
  2. Procesamiento del Lenguaje Natural (PLN): El procesamiento de lenguaje natural (PLN) es una rama de la inteligencia artificial que se enfoca en el desarrollo de algoritmos y sistemas capaces de comprender, interpretar y generar texto y lenguaje humano. El PLN implica la utilización de técnicas de aprendizaje automático, ciencia de datos y lingüística para analizar y procesar el lenguaje natural. Un ejemplo de aplicación de PLN es la asistente virtual de un smartphone, como Siri o Google Assistant. Estas asistentes virtuales pueden procesar el lenguaje natural de los usuarios y responder a sus preguntas o instrucciones, como “Haz una llamada a John” o “¿Qué tiempo hace afuera?”. El PLN permite a estas asistentes comprender el significado de las palabras y frases, y proporcionar respuestas precisas y útiles.
  3. Lógica Formal y Deductiva: La lógica formal y deductiva es una rama de la lógica que se enfoca en la inferencia lógica y la deducción de conclusiones a partir de premisas. En la lógica formal, se utilizan sistemas de reglas lógicas para deducir conclusiones a partir de premisas. Un ejemplo de la lógica formal y deductiva es el siguiente: Premisa 1: Todos los humanos son mortales. Premisa 2: Sócrates es humano. Conclusión: Sócrates es mortal. En este ejemplo, se utiliza la regla lógica de la inferencia deductiva llamada modus ponens (modo de poner) para deducir la conclusión a partir de las premisas. La regla de modus ponens establece que si una fórmula está en la forma “Todo A es B” y “Este es un A”, entonces se puede deducir que “Este es un B”. En este caso, la premisa 1 establece que todo humano es mortal, la premisa 2 establece que Sócrates es humano, y la conclusión deducida es que Sócrates es mortal.
  4. Teoría de Autómatas: Se refiere al uso de máquinas abstractas o sistemas matemáticos para la resolución de problemas. La teoría de autómatas es una rama de la teoría de la computación que se enfoca en el estudio de los autómatas, que son sistemas que pueden estar en un estado concreto dentro de un espacio finito de estados posibles y pueden cambiar de estado en función de las entradas que reciben. La teoría de autómatas se utiliza para modelar y analizar sistemas que pueden ser descritos como autómatas, como máquinas de estado finito, y se utiliza en la diseño y análisis de sistemas de comunicación, control y computación.
  5. Algoritmos de búsqueda: Apoyan técnicas de IA por su utilización para búsqueda de caminos en grafos, por ejemplo el algoritmo A*

2.4 IA No-Simbólica

ChatGPT: He creado una imagen para ilustrar el concepto de IA No Simbólica, mostrando una vasta red de neuronas interconectadas en un paisaje digital. Esta red, que representa la estructura y el proceso de aprendizaje de las redes neuronales, enfatiza su naturaleza fluida y adaptativa, capaz de aprender y tomar decisiones basadas en patrones y datos.

Características

La IA no simbólica se centra en modelos y técnicas que no utilizan representaciones simbólicas explícitas. En lugar de ello, se basa en patrones, aprendizaje automático y redes neuronales para aprender de los datos y realizar tareas.

Técnicas y Ejemplos

  1. Redes Neuronales y Aprendizaje Profundo (Deep Learning): Las redes neuronales son una clase de algoritmos de aprendizaje automático que se inspiran en la estructura y funcionamiento del cerebro humano. Estas redes están compuestas por una serie de capas de nodos (neuronas) que procesan información y hacen predicciones o clasificaciones. Para tareas como el reconocimiento de imágenes y voz, y el aprendizaje de secuencias temporales. Si esa red neuronal es profunda, es decir, si está compuesta por muchas capas, hablamos de “redes produndas” y “aprendizaje profundo”.
  2. Algoritmos Genéticos: Utilizados para encontrar soluciones óptimas en problemas complejos a través de métodos inspirados en la evolución natural. Estos algoritmos se utilizan para resolver problemas de optimización complejos, en los que se busca encontrar la solución óptima entre un gran número de posibles soluciones. Por ejemplo, podríamos utilizar un algoritmo genético para resolver el problema de encontrar la ruta más corta entre dos ciudades en un mapa. En este caso, cada individuo en la población representaría una ruta posible entre las dos ciudades, y la función de “fitness” evaluaría la calidad de cada ruta en función de su longitud. El algoritmo genético buscaría entonces la ruta más corta entre las dos ciudades, seleccionando y reproduciendo las rutas más cortas en cada generación hasta que se encuentre la solución óptima.
  3. Lógica Difusa: Para tratar con información imprecisa, ambigua o no binaria, permitiendo un enfoque más flexible y realista en comparación con la lógica tradicional. En la lógica difusa, se utilizan funciones de pertenencia para representar la verdad o falsedad de una afirmación en lugar de simplemente verdadero o falso, y la función de pertenencia podría tener diferentes valores posibles, como “muy bajo”, “bajo”, “medio”, “alto” y “muy alto”, que representarían la probabilidad de que la persona tenga la enfermedad en diferentes grados.
  4. Redes Bayesianas: Se basan en la teoría de la inferencia bayesiana y sirven para modelar la incertidumbre y modelar causalmente los datos. Trabajan con probabilidades y dependencias derivadas de los datos sin necesitar símbolos y reglas predefinidas. Se utilizan para el aprendizaje automático, clasificación, diagnóstico, predicción y toma de decisiones. Un ejemplo de una red bayesiana es la red bayesiana de Naive Bayes, que se utiliza para clasificar datos en diferentes categorías. Esta red utiliza una función de probabilidad condicional para calcular la probabilidad de que un dato pertenezca a una categoría específica, dada la información de los atributos del dato. La función de probabilidad condicional se basa en la distribución de probabilidad de los atributos en cada categoría, lo que permite a la red bayesiana aprender patrones y relaciones en los datos.

2.5 IA Híbrida

ChatGPT: He creado una imagen para ilustrar el concepto de IA Híbrida, mostrando la fusión entre la maquinaria precisa de la IA Simbólica y la red neuronal luminosa de la IA No Simbólica. Esta fusión simboliza la combinación de razonamiento basado en reglas y la capacidad de reconocimiento de patrones, capturando la esencia de un sistema de IA más versátil y capaz.

La IA híbrida intenta combinar lo mejor de ambos mundos, simbólico y no simbólico, para superar las limitaciones de cada enfoque individual. Busca integrar la capacidad de los sistemas simbólicos para representar conocimientos y reglas explícitas con la capacidad de aprendizaje y adaptación de los sistemas subsimbólicos.

Técnicas y Ejemplos

  1. Sistemas Neuro-Simbólicos: Combinan redes neuronales para el procesamiento y aprendizaje de patrones con sistemas simbólicos para el razonamiento y la interpretación.
  2. Agentes Inteligentes Híbridos: Sistemas que utilizan IA simbólica para tareas de razonamiento y toma de decisiones, junto con IA no simbólica para el procesamiento sensorial y motor.

Cada uno de estos enfoques tiene sus propias fortalezas y limitaciones. Mientras la IA simbólica es fuerte en representar conocimientos explícitos y razonar con ellos, la IA no simbólica es mejor en aprender de grandes cantidades de datos y manejar la incertidumbre. La IA híbrida busca aprovechar las ventajas de ambos enfoques para crear sistemas más robustos y versátiles.

Referencias

[03] Historia de la Inteligencia Artificial

La inteligencia artificial (IA) es un campo de estudio interdisciplinario que abarca la computación, la ciencia cognitiva, la filosofía, la lingüística y la ingeniería, y que tiene como objetivo crear sistemas informáticos que puedan realizar tareas que requieren inteligencia humana, como el razonamiento, el aprendizaje, la percepción y la comunicación natural.

Desde sus orígenes en la década de 1950, el campo de la IA ha experimentado una serie de avances y retrocesos, y ha evolucionado a lo largo del tiempo en respuesta a los avances tecnológicos y a los cambios en las prioridades de investigación y financiación.

En esta sección, presentamos una cronología de los hitos clave en el desarrollo del campo de la IA, desde sus orígenes hasta la actualidad. Comenzamos con los primeros esfuerzos, incluso literarios, por construir máquinas que puedan pensar y razonar como humanos, y seguimos con el auge y la caída de la IA en la década de 1960, la renovada investigación en redes neuronales en la década de 1980, y el resurgimiento de la IA en la década de 2010 gracias al aprendizaje profundo y a las técnicas de aprendizaje automático.

3.1 Principales nombres en la historia de la Inteligencia Artificial

Alan Turing
(1912 - 1954)
Considerado padre de la computación teórica y la Inteligencia Artificial. Es una figura central en la historia de la informática y la inteligencia artificial (IA), cuyas contribuciones sentaron las bases teóricas y conceptuales para el desarrollo de la computación y la inteligencia artificial como las conocemos hoy. Aunque vivió antes de que la “inteligencia artificial” se estableciera como campo de estudio, sus ideas e investigaciones han sido fundamentales para su evolución. Algunas de sus contribuciones más destacadas incluyen la máquina de Turing (1936) y el Test de Turing (1950).
The Turing Digital Archive
John McCarthy
(1927 - 2011)
Científico de la computación y científico de la cognición. Acuñó el término “Inteligencia Artificial” y organizó la famosa Conferencia de Darmouth de 1956. Desarrolló el lenguaje de programación LISP. McCarthy fue un pionero en la idea de que la IA podría basarse en la lógica formal. Introdujo el concepto de sistemas basados en el conocimiento, donde el conocimiento se representa en una forma que una computadora puede entender y razonar sobre él. Su trabajo en este área llevó al desarrollo de la lógica de programación y los sistemas expertos.
John McCarthy, Stanford University
Marvin Misky
(1927 - 2016)
Científico de la computación y científico de la cognición. Cofundador del laboratorio de Inteligencia Artificial del MIT en 1959 junto con John McCarthy. Su libro “La Sociedad de la Mente” (1986), presenta una teoría integral sobre cómo funciona la mente y cómo podría ser simulada artificialmente. Propuso que la inteligencia emerge de la interacción de componentes mentales no inteligentes que él llamó “agentes”. Esta teoría influyó en la forma en que los investigadores piensan sobre la inteligencia artificial y el procesamiento de la información en el cerebro.
Marvin Minsky Home Page. MIT.
Margaret Boden
(1936 - )
Profesora e investigadora en ciencias cognitivas en el Departamento de Informática de la Universidad de Sussex y filósofa. Reconocida por su trabajo en la relación entre la inteligencia artificial y la psicología humana. Sus investigaciones abarcan áreas como la creatividad, la mente, y la filosofía de la ciencia, especialmente en cómo estas áreas se intersecan con la inteligencia artificial. Boden ha explorado la naturaleza de la creatividad, cómo las computadoras pueden simular procesos creativos humanos y cómo el estudio de la IA puede informar nuestra comprensión de la mente humana.
Margaret Boden Home Page
Judea Pearl (1936 - ) Matemático, científico de la computación y filósofo. Ha realizado contribuciones fundamentales al campo de la inteligencia artificial, particularmente en el área de razonamiento probabilístico y redes bayesianas. Sus trabajos han proporcionado una base sólida para el manejo de la incertidumbre y la toma de decisiones en sistemas inteligentes. Algunas de sus aportaciones más destacadas incluyen: redes bayesianas, razonamiento causal y teoría de la decisión, todo lo cual le ha permitido explorar cómo los agentes inteligentes pueden tomar decisiones óptimas en entornos inciertos y aplicarlo a la construcción de agentes artificiales.
Judea Pearl's Homepage, UCLA
Geoffrey Hinton
(1947 - )
Informático y psicólogo cognitivo británico-canadiense. Pionero en el aprendizaje profundo. Popularizó las técnicas de retropropagación y las redes neuronales convolucionales (CNN). Premio Turing que compartió con Yann Lecun y Yoshua Bengio en 2018 por sus contribuciones al desarrollo del aprendizaje profundo. Tras abandonar Google, Hinton ha estado enfocado en expresar su preocupación sobre los riesgos asociados con la inteligencia artificial y ha hecho un llamamiento a una mejor comprensión de cómo funcionan estas tecnologías y a la regulación gubernamental.
Geoffrey Hinton. Univ. Toronto
Yann LeCun
(1960 - )
Científico informático franco-estadounidense que trabaja principalmente en los campos del aprendizaje automático, la visión por computadora, la robótica móvil y la neurociencia computacional. Yann LeCun ha sido una figura clave en el desarrollo y avance de la inteligencia artificial (IA), especialmente en el campo del aprendizaje profundo y las redes neuronales. Sus contribuciones han impulsado significativamente la visión por computadora, el procesamiento del lenguaje natural, y otras áreas de la IA. Sus aportaciones más influyentes son el desarrollo de las redes neuronales convolucionales (CNN) y la aplicación a ellas de los algoritmos de Backpropagation. Como Director de Inteligencia Artificial en Facebook (ahora Meta), LeCun ha liderado esfuerzos para integrar tecnologías de IA en productos y servicios. Premio Turing que compartió con Geoffrey Hinton y Yoshua Bengio en 2018 por sus contribuciones al desarrollo del aprendizaje profundo. En la actualidad trabaja en modelos de Inteligencia Artificial basados en interacciones con el mundo para superar el paradigma actual centrado en el lenguaje, para lo cual ha desarrollado la Arquitectura JEPA.
Yann LeCun Home Page

Gordana Dodig-Crnkovic
Doctora en Física Teórica por la Universidad de Zagreb, en 1988 y doctora en Ciencias de la Computación por la Universidad de Mälardalen en Suecia en 2006. En la actualidad es profesora de Ciencias de la Computación en la Universidad de Mälardalen y en la Universidad de Tecnología de Chalmers, ambas en Suecia. Su investigación actual se centra tanto en los mecanismos de la computación y la conexión entre la computación natural/morfológica como en la ética de la tecnología y el estudio del diseño computacional basado en valores. Dodig-Crnkovic es un ejemplo de la capacidad de conectar y darle coherencia a ideas provenientes de distintos campos de estudios, donde la computación tiene un papel principal, pero mirando siempre hacia la ciencia y la filosofía.
Publicaciones de Gordana Dodig
Jürgen Schmidhuber
(1963 - )
Científico informático alemán destacado por su trabajo en el campo de la inteligencia artificial, específicamente las redes neuronales artificiales. Es director científico del Instituto Dalle Molle para la Investigación de Inteligencia Artificial en Suiza. Ha desempeñado un papel crucial en el desarrollo y avance del campo de la inteligencia artificial (IA), especialmente en el ámbito del aprendizaje profundo. Su trabajo ha influido significativamente en la forma en que las redes neuronales se diseñan y entrenan hoy en día. Algunas de sus contribuciones más notables incluyen la Long Short-Term Memory (LSTM), las Redes Neuronales Recurrentes (RNNs), así como teorías sobre cómo la curiosidad y la creatividad pueden modelarse y implementarse en sistemas de IA. Schmidhuber invented everything. Las tesis de Schmidhuber sobre la naturaleza determinista del universo y, por tanto, las posibilidades de encontrar que la Inteligencia Artificial General es, en el fondo, algo simple tienen mucha conexión con la Teoría Algorítmica de la Información de Gregory Chaitin, influida, a su vez, por la metafísica de Leibniz.
Jürgen Schmidhuber's Home Page. IDSIA
Yoshua Bengio
(1964 - )
Científico informático canadiense, más conocido por su trabajo sobre redes neuronales artificiales y aprendizaje profundo. Es profesor del Departamento de Ciencias de la Computación e Investigación de Operaciones de la Universidad de Montreal y director científico del Instituto de Algoritmos de Aprendizaje de Montreal (MILA). Presentó un modelo de lenguaje probabilístico que puede predecir palabras y frases en función de las palabras y frases anteriores, lo cual daría lugar a los grandes modelos de lenguaje (LLM). Premio Turing que compartió con Geoffrey Hinton y Yann Lecun en 2018 por sus contribuciones al desarrollo del aprendizaje profundo. En la actualidad trabaja en formas de superar la base estadística de las principales arquitecturas de Intentemos y Artificial mediante lo que él denomina Aprendizaje Causal.
Yoshua Bengio

3.2 Principales hitos de la historia de la Inteligencia Artificial

En esta sección presentamos una lista de hitos importantes en el campo de la inteligencia artificial desde la década de 1950 hasta el presente, incluyendo algunos de los “inviernos” de IA y las razones principales por las que ocurrieron.

Código de colores:

  • Empresas y Personas
  • desarrollos teóricos relevantes
  • productos
AÑO SUCESO
Grecia clásica Los griegos manifiestan en sus obras literarias un afan por imitar, aumentar y superar a la naturaleza. Algunos ejemplos incluyen barcos guiados por la mente, que muestran una visión antigua de los futuros coches sin conductor. Hefesto, el dios trabajador, fabrica puertas automáticas, coches que se mueven solos, águilas como drones y sirvientes hechos de oro que eran capaces de razonar y tenían una mente y una fuerza que iba más allá de la de los humanos. Los sirvientes poseían todo el conocimiento divino de los dioses, imitando un gran sistema de datos.
Años 40s y 50s Primeros trabajos en Teoría de Grafos y Teoría de Redes. Estas teorías han permitido el desarrollo de algoritmos y modelos matemáticos para describir y analizar redes complejas en una variedad de campos, incluyendo redes sociales, biológicas, neurológicas y de comunicación, entre otras. En el campo de la IA, estas teorías han sido particularmente útiles en el estudio de aprendizaje automático y redes neuronales, donde las técnicas de análisis de grafos y redes se utilizan para comprender y optimizar el rendimiento de los algoritmos y modelos. Además, la teoría de grafos y redes ha permitido el desarrollo de técnicas de optimización y planificación en IA, así como la modelación y análisis de redes complejas en robótica y visión por computadora.
1950 Alan Turing publica Computing Machinery and Intelligence mientras trabajaba en la Universidad de Mánchester, donde propone el famoso Test de Turing con las palabras: “Propongo que se considere la siguiente pregunta, ¿Pueden pensar las máquinas?’”. Como es difícil definir la palabra “pensar”, Turing decide “reemplazar la pregunta con otra que está estrechamente relacionada y en palabras no ambiguas”.​ La nueva pregunta de Turing, que es en lo que consiste el Test de Turing es: “¿Existirán computadoras digitales imaginables que tengan un buen desempeño en el juego de imitación?”.​ Turing creía que sí era posible responder esta pregunta y en lo que resta de su ensayo se dedica a argumentar en contra de las objeciones principales a la idea de que “las máquinas pueden pensar”.​
1956 Se celebra la primera Conferencia Dartmouth sobre Inteligencia Artificial en Dartmouth College, NH, donde se acuña el término “inteligencia artificial” a propuesta de McCarthy. Asistieron los siguientes investigadores del MIT: John McCarthy, Marvin Minsky, Nathaniel Rochester, Claude Shannon, y otros.
1957 Frank Rosenblatt presenta el Perceptrón, un algoritmo de aprendizaje automático. El Perceptrón se basa en una sola capa de neuronas y se utiliza para resolver problemas de clasificación binaria, es decir, problemas en los que se debe asignar una etiqueta o clase a un conjunto de datos. El perceptrón utiliza un algoritmo de aprendizaje iterativo para ajustar los pesos de las conexiones entre las neuronas y mejorar el rendimiento del modelo. Tuvo un gran impacto en el campo de la IA en la década de 1950 y 1960. Sin embargo, el perceptrón también fue objeto de críticas y se consideró inadecuado para resolver problemas de clasificación no lineales. En la década de 1980, los investigadores desarrollaron redes neuronales más sofisticadas y sofisticadas que superaron las limitaciones del perceptrón y se utilizaron en una variedad de aplicaciones.
1957 Herbert A. Simon y Allen Newell crean el sistema de lógica y resolución de problemas Logic Theorist. Ver Logic Theorist
1959 El programa de IA SHRDLU, creado por Terry Winograd, demuestra la capacidad de procesar lenguaje natural y razonar sobre objetos en un mundo simulado. Ver SHRDLU
1963 John McCarthy inventa el lenguaje de programación Lisp, dominante en IA durante las siguientes décadas. Ver Lisp
1965 Los investigadores de IA en MIT desarrollan el sistema de procesamiento de lenguaje natural ELIZA usando un interface de bot conversacional. Ver ELIZA
1965 Se desarrolla el sistema de prueba de hipótesis Dendral en la Universidad de Stanford, diseñado para identificar moléculas orgánicas complejas y estaba basado en reglas y hechos proporcionados por expertos en química orgánica. Ver Dendral. Comienza la era de los Sistemas Expertos.
1974-1980 Primer invierno de la IA, donde el apoyo gubernamental y la financiación disminuyen debido a la falta de progreso y resultados tangibles en el campo de la IA.
1975 Desarrollado el sistema de diagnóstico MYCIN en la Universidad de Stanford, diseñado para diagnosticar infecciones bacterianas y estaba basado en reglas y hechos proporcionados por expertos en medicina. Ver MYCIN, El comienzo de la Inteligencia Artificial en el mundo de la medicina.
1979 Se desarrolla PROSPECTOR, un sistema experto diseñado para la toma de decisiones en problemas de exploración minera. Ayuda a los geólogos a evaluar la favorabilidad de un sitio o región de exploración para la ocurrencia de depósitos de mineral de tipos particulares. Ver PROSPECTOR.
1980 Desarrollado el sistema de diseño de circuitos electrónicos XCon/R1 en el Laboratorio de Investigación de la Fuerza Aérea de los Estados Unidos. Servía para diseñar circuitos electrónicos complejos y se basaba en reglas y hechos proporcionados por expertos en ingeniería electrónica. Ver R1.
1980 Se comienza a desarrollar el Perceptrón Multicapa basado en la idea de organizar las neuronas en capas, donde cada capa procesa la información y la transmite a la siguiente capa, lo que permite a la red aprender representaciones más complejas y abstractas de los datos de entrada. La idea clave detrás del Perceptrón Multicapa es la capacidad de aprender representaciones no lineales de los datos, lo que lo hace adecuado para una variedad de tareas, incluyendo el reconocimiento de patrones, la clasificación y el procesamiento del lenguaje natural. El perceptrón multicapa se ha convertido en una herramienta fundamental en el campo del aprendizaje profundo y ha tenido un gran impacto en el desarrollo de algoritmos y modelos de aprendizaje automático en los últimos años.
1980 Se desarrolla el sistema de red neuronal backpropagation, que impulsa el renacimiento de la IA en la década de 1980. Ver backpropagation.
1986 Se celebra la primera conferencia Neural Information Processing Systems (NIPS), un congreso sobre aprendizaje automático y neurociencia computacional que se celebra cada mes de diciembre hasta el día de hoy.
1985-1992 Segundo “invierno” de la IA.
80s En la década de 1980 y 1990, los DAG (Directed Acyclic Graph, grafos acíclicos con dirección) se utilizaron en el campo de la inteligencia artificial y el aprendizaje automático para representar redes neuronales feedforward y redes bayesianas. Los DAG también se utilizaron en el procesamiento del lenguaje natural y la recuperación de información para representar relaciones semánticas y sintácticas entre palabras y frases.
1988 Los artículos “Belief Networks” y “Graphical Models, Expert Systems, and Learning” escritos por Judea Pearl presentan una teoría general de las redes bayesianas y describe cómo las redes bayesianas pueden representar las relaciones probabilísticas entre variables aleatorias.
1988 Desarrollado el sistema de asesoramiento financiero FINANCIAL EXPERT en la Universidad de Harvard, diseñado para asesorar a los inversores sobre las inversiones y basado en reglas y hechos proporcionados por expertos en finanzas.
1990 Jürgen Schmidhuber pública el Informe técnico FKI-126-90 [AC90] que introducía varios conceptos que se han vuelto populares en el campo del aprendizaje automático: un sistema de aprendizaje por refuerzo (RL) y planificación basado en una combinación de dos redes neuronales recurrentes (RNN) llamadas controlador y modelo del mundo. El controlador intenta maximizar la recompensa acumulada esperada en un entorno inicialmente desconocido. El modelo del mundo aprende a predecir las consecuencias de las acciones del controlador. Esta arquitectura integrada es capaz de aprender, planificar y reaccionar. fuente
1991 Jürgen Schmidhuber crea la primera máquina de aprendizaje muy profundo: el fragmentador de secuencia neuronal, también conocido como compresor de historia neuronal [UN0-UN2]. Utiliza aprendizaje no supervisado/autosupervisado y codificación predictiva en una jerarquía profunda de redes neuronales recurrentes (RNN) para encontrar representaciones internas compactas de largas secuencias de datos, en múltiples escalas de tiempo y niveles de abstracción. Cada RNN intenta resolver la tarea de pretexto de predecir su próxima entrada, enviando solo entradas inesperadas al siguiente RNN anterior. Esto facilita enormemente el aprendizaje profundo supervisado posterior, como la clasificación de secuencias. Ver Why A.I. pioneer Jürgen Schmidhuber is convinced the ultimate breakthrough already happened
1991 Jürgen Schmidhuber y Sepp Hochreiter presentan el algoritmo de aprendizaje profundo “Long Short-Term Memory” (LSTM), que se utiliza en una variedad de aplicaciones, como el procesamiento del lenguaje natural y el reconocimiento de voz. Ver Long Short-Term Memory.
1991 Se desarrolla el algoritmo de aprendizaje automático “support vector machine” (SVM) por Vladimir Vapnik y Alexey Chervonenkis. Este algoritmo proporciona un método efectivo y eficiente para la clasificación y el reconocimiento de patrones en datos de alta dimensionalidad. La contribución clave de SVM es su enfoque de optimización para encontrar el hiperplano de separación entre dos clases de datos, lo que permite minimizar el error de clasificación y maximizar el margen entre las clases. Ver SVM
Década 90s La IA se enfrentó a una competencia cada vez mayor de otras tecnologías emergentes, como la World Wide Web y la informática móvil, lo que llevó a una disminución de la inversión y el interés en el campo.
1996 El libro Bayesian learning for neural networks escrito por Radford M. Neal ofrece una solución al sobreajuste en redes neuronales utilizando métodos bayesianos, proporcionando una comprensión teórica de los modelos subyacentes y técnicas de Monte Carlo de la cadena de Markov para su implementación práctica, lo que resulta en una mejor comprensión de cómo aplicar métodos bayesianos a problemas complejos.
1997 IBM Deep Blue derrota al campeón mundial de ajedrez Garry Kasparov. Deep Blue, un superordenador desarrollado por IBM, utilizó una combinación de algoritmos de búsqueda y evaluación de movimientos para derrotar a Kasparov en una partida de ajedrez de seis juegos. La victoria de Deep Blue fue significativa ya que demostró la capacidad de los sistemas informáticos para realizar tareas que requieren un alto nivel de habilidad y conocimiento, y marcó un hito importante en el desarrollo de la inteligencia artificial y el procesamiento de grandes cantidades de datos en tiempo real.
1997 Jürgen Schmidhuber y Fahlman presentan el algoritmo de aprendizaje de refuerzo “Neural Turing Machine” (NTM), que permite a las máquinas aprender a realizar tareas de procesamiento de secuencias y almacenamiento en memoria.
2000 El artículo “Causality: Models, Reasoning, and Inference” escrito por Judea Pearl presenta una teoría general de la causalidad y describe cómo las redes bayesianas pueden representar las relaciones causales entre variables aleatorias.
2003 El artículo A Neural Probabilistic Language Model por Joshua Bengio y otros presenta un modelo de lenguaje probabilístico impulsado por IA que puede predecir palabras y frases en función de las palabras y frases anteriores. Este artículo daría lugar a los grandes modelos de lenguaje (LLM) creados con la arquitectura Transformer.
2005 Geoffrey Hinton y sus colaboradores desarrollan la técnica de aprendizaje profundo “deep belief networks” (DBN).
2006 NVIDIA anuncia los CUDA cores (Compute Unified Device Architecture), con el lanzamiento de la GPU GeForce 8800 en los que cada núcleo realiza un cálculo, lo que posibilita la computación paralela para acelerar aplicaciones que requieren un alto rendimiento de cálculo, como el renderizado gráfico, la simulación física, la computación científica y el aprendizaje automático.
2010 Se celebra el primer Desafío de Reconocimiento de Objetos en Imágenes (ImageNet) y el equipo de la Universidad de Toronto, liderado por Alex Krizhevsky, gana el concurso con una red neuronal convolucional (CNN).
2011 IBM Watson gana en el programa de juego Jeopardy! contra dos de los mejores jugadores de la historia.
2013 Google contrató a Geoffrey Hinton en marzo de 2013. Este movimiento fue parte de la adquisición de DNNresearch Inc., una empresa fundada por Hinton y dos de sus estudiantes de posgrado, Alex Krizhevsky y Ilya Sutskever. La adquisición fue notable porque marcó un reconocimiento significativo por parte de Google del potencial del aprendizaje profundo, una rama de la inteligencia artificial en la que Hinton es una figura clave. DNNresearch Inc. se había especializado en el desarrollo de modelos y algoritmos avanzados de aprendizaje profundo, y su incorporación a Google tuvo un impacto considerable en los esfuerzos de la compañía en IA, particularmente en mejorar la precisión de los servicios que requieren reconocimiento de imágenes y procesamiento de lenguaje natural.
2013 Meta, anteriormente conocida como Facebook, contrata a Yann LeCun para liderar el laboratorio de inteligencia artificial de la compañía, conocido como FAIR (Facebook AI Research). Su nombramiento marcó un momento importante para Facebook (ahora Meta), subrayando el compromiso de la empresa con la investigación y el desarrollo avanzado en el campo de la inteligencia artificial. Bajo su liderazgo, FAIR se ha centrado en avanzar en la investigación de IA y en desarrollar tecnologías que puedan ser aplicadas a través de los productos y servicios de Meta, contribuyendo significativamente al progreso de la IA en la industria.
2013 Tomas Mikolov y varios científicos de datos de Google y publican en septiembre de 2013 el influyente paper Efficient Estimation of Word Representations in Vector Space que crea el concepto de embeddings y las técnicas Word2Vec, esto es, representaciones vectoriales de palabras. Estos vectores capturan información sobre el significado de la palabra en función de las palabras circundantes.
2015 Jürgen Schmidhuber y su equipo en el Instituto de Investigación de Inteligencia Artificial de Suiza (IDSIA) presentan el algoritmo de aprendizaje profundo “Deep Recurrent Neural Network” (DRNN), que puede aprender a predecir secuencias de datos complejas y a realizar tareas de procesamiento del lenguaje natural.
2015 El paper Deep Unsupervised Learning using Nonequilibrium Thermodynamics presentado por Sohl-Dickstein, Weiss, Maheswaranathan y Ganguli, propone una nueva técnica de aprendizaje profundo no supervisado basada en la termodinámica. La técnica propuesta en el paper se basa en la idea de que el aprendizaje profundo puede ser visto como un proceso de descenso de la energía en la que el objetivo del aprendizaje es encontrar un estado de equilibrio termodinámico en el espacio de los parámetros del modelo, donde la energía del sistema sea mínima. Está técnica dará lugar a los Modelos de Difusión.
2016 Se presenta AlphaGo, un programa de IA desarrollado por DeepMind, que derrota al campeón mundial de Go Lee Sedol.
2016 Se presenta OpenAI, una organización sin fines de lucro dedicada a promover y desarrollar la IA de una manera segura y benéfica.
2016 Los franceses Clément Delangue​, Julien Chaumond y Thomas Wolf, crean Hugging Face originalmente como una organización que desarrollaba una aplicación de chatbot dirigida a adolescentes.​ Tras abrir el modelo que usaba el chatbot, la empresa hizo un giro para centrarse en el cometido de ser una plataforma para alojar los modelos abiertos de aprendizaje automático. Ver: huggingface.com
2017 NVIDIA presenta la novedad de los Tensor Cores, que calculan la operación de una matriz 4×4 completa. Fueron presentados por primera vez en la GPU Volta V100 en mayo de 2017, que equipa 640 Tensor Cores diseñados para realizar operaciones matriciales y de tensor, como la multiplicación de matrices (matmul) y la convolución (conv), que son comunes en algoritmos de aprendizaje profundo. Estas operaciones se ejecutan de manera más eficiente en los Tensor Cores que en los procesadores CUDA tradicionales de NVIDIA, lo que resulta en un aumento significativo en el rendimiento y la eficiencia energética.
2017 El artículo ImageNet Classification with Deep Convolutional Neural Networks por Alex Krizhevsky, Ilya Sutskever y Geoffrey Hinton presentó un enfoque innovador para la clasificación de imágenes utilizando una red neuronal convolucional profunda, logrando una mejora significativa en la precisión de clasificación en comparación con el estado del arte anterior, y presentando técnicas importantes como la regularización “dropout” y la implementación eficiente de la convolución en GPU.
2017 El artículo Attention is All You Need, de Ashish Vaswani y sus colegas en Google Brain y el Instituto de Tecnología de Massachusetts (MIT) introduce los mecanismos de atención que formarían parte de la arquitectura Transformer
2017 El artículo Transformer: A Novel Neural Network Architecture for Language Understanding escrito por Ashish Vaswani y colaboradores presenta la arquitectura de red neuronal profunda Transformer, que se ha vuelto muy popular en el campo del procesamiento del lenguaje natural y se ha utilizado en una variedad de aplicaciones, como el procesamiento del lenguaje natural y el reconocimiento de voz.
2017 OpenAI publica el artículo Learning to Generate Reviews and Discovering Sentiment donde demuestran la potencia del aprendizaje no supervisado para aprender conceptos a partir de su propio análisis del lenguaje. ”Nos sorprendió mucho que nuestro modelo aprendiera una característica interpretable, y que simplemente predecir el siguiente carácter en las reseñas de Amazon diera como resultado el descubrimiento del concepto de sentimiento. Creemos que el fenómeno no es específico de nuestro modelo, sino que es una propiedad general de ciertas redes neuronales grandes que están entrenadas para predecir el siguiente paso o dimensión en sus entradas“.
febrero 2018 Elon Musk abandona OpenAI. Ver OpenAI y Elon Musk en el blog de OpenAI.
junio 2018 OpenAI publicó un artículo titulado “Mejorar la comprensión del lenguaje mediante el entrenamiento previo generativo”, en el que introdujeron el modelo de lenguaje GPT-1 junto con el concepto de Generative Pre-trained Transformer (GPT).
14 febrero 2019 OpenAI presenta GPT-2, un modelo de lenguaje de gran tamaño entrenado por OpenAI, que puede generar respuestas a las preguntas y prompts de los usuarios de una manera conversacional y natural.
junio 2019 El artículo BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding por Jacob Devlin y colaboradores presenta el modelo de lenguaje BERT (Bidirectional Encoder Representations from Transformers), que puede representar palabras y frases en un espacio vectorial de baja dimensionalidad y aprender a predecir palabras y frases en función de las palabras y frases anteriores.
2020 China superó a Estados Unidos por primera vez en términos de número de veces que otros citan un artículo académico sobre IA, una medida de la calidad de un estudio. Hasta entonces, Estados Unidos había estado muy por delante de otros países en la investigación de IA. Fuente: asia.nikkei.com.
mayo 2020 OpenAI presenta GPT-3, un modelo de lenguaje grande (LLM) que se entrenó en 570 GB de texto y puede generar texto coherente y natural en respuesta a prompts en lenguaje natural. GPT-3 es uno de los modelos de lenguaje más grandes y sofisticados que se han desarrollado hasta la fecha y ha tenido un gran impacto en el campo de la IA.
mayo 2020 OpenAI presenta su Arquitectura Ampere con la presentación de su GPU Ampere A100, que introduce un nuevo tipo de Tensor Core que mejora los de la arquitectura Volta. Los Tensor Cores de la arquitectura Ampere están optimizados para acelerar cálculos de aprendizaje profundo y análisis de datos y ofrecen un rendimiento significativamente mayor en comparación con los Tensor Cores de la arquitectura Volta.
mayo 2020 Patrick Lewis escribe el artículo Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks en el que se introduce la técnica RAG para uso de los LLM.
junio 2020 El artículo Denoising Diffusion Probabilistic Models de Jonathan Ho, Ajay Jain, y Pieter Abbeel demostró cómo los modelos de difusión podrían ser utilizados para generar imágenes de alta calidad, compitiendo con otros modelos generativos establecidos como las Redes Generativas Antagónicas (GANs) y los Modelos Autoregresivos. Este y otros trabajos similares sentaron las bases para el desarrollo de una variedad de aplicaciones de los modelos de difusión, incluyendo la síntesis de texto a imagen, mejoramiento de imágenes, generación de audio, y más.
noviembre 2020 El trabajo Score-based Generative Modeling through Stochastic Differential Equations (Modelado generativo basado en puntuaciones mediante ecuaciones diferenciales estocásticas), escrito por Jascha Sohl-Dickstein y sus coautores usa por primera vez el término “modelos de difusión” en el contexto de procesamiento de imágenes. En este artículo, los autores presentaron una nueva clase de modelos generativos basados en difusión que utilizan ecuaciones diferenciales estocásticas para modelar el proceso de difusión y recuperación.
enero 2021 OpenAI presenta DALL-E, un modelo que convierte una descripción de texto en una imagen.
mayo 2021 Google presenta LaMDA, un modelo de lenguaje de gran tamaño entrenado por Google, que puede generar respuestas a las preguntas y prompts de los usuarios de una manera conversacional y natural. LaMDA ganó una amplia atención del público cuando el ingeniero de Google, Blake Lemoine, afirmó que el chatbot había alcanzado un estado de autoconciencia y desarrollo de intenciones propias.
abril 2022 OpenAI presenta DALL-E 2, una versión actualizada de DALL-E que utiliza una red neuronal convolucional (CNN) y un generador de texto más sofisticado para crear imágenes de mayor calidad y realismo a partir de descripciones en lenguaje natural.
mayo 2022 OpenAI presenta su arquitectura Hopper con la presentación de su GPU Hopper H100. La arquitectura Hopper es la evolución de la Ampere.
27 junio 2022 Yann LeCun escribe el paper A Path Towards Autonomous Machine Intelligence que describe los conceptos de la arquitectura JEPA, en el que dice: “Nuestro objetivo es construir un machine intelligence avanzado que pueda aprender de forma más similar a como lo hacen los humanos, formando modelos internos del mundo que les rodea para aprender, adaptarse y elaborar planes de manera eficiente a la hora de completar tareas complejas.” Ver paper.
7 julio 2022 Jürgen Schmidhuber escribe en su blog el artículo “LeCun's 2022 paper on autonomous machine intelligence rehashes but does not cite essential work of 1990-2015” indicando que el trabajo de LeCun sobre JEPA “es esencialmente una repetición de nuestro trabajo anterior que LeCun no menciona”, refiriéndose a sus trabajos de 1991.
noviembre 2022 OpenAI presenta ChatGPT, un interfaz chatbot para usar un modelo de lenguaje de gran tamaño entrenado por OpenAI, que puede generar respuestas a las preguntas y prompts de los usuarios de una manera conversacional y natural.
24 febrero 2023 Meta lanza LLaMA 1, un LLM fundacional con 65-billion-parameter. Ver anuncio
14 marzo 2023 OpenAI presenta GPT-4, un LLM basado en la idea MoE (mixture of experts, implementada mediante varios modelos LLM expertos de tamaño más pequeño.
mayo 2023 Yoshua Bengio critica que no se haya priorizado la seguridad sobre la utilidad d la Inteligencia Artificial. El profesor Bengio se suma a las peticiones de regulación de la IA.
mayo 2023 Geoffrey Hinton, el “padrino de la inteligencia artificial”, abandona Google y alerta de los peligros de la IA.
13 junio 2023 Meta lanza I-JEPA: el primer modelo de IA basado en la visión de Yann LeCun de una IA más parecida a la humana. Ver anuncio.
18 julio 2023 Meta lanza el modelo de lenguaje LLaMA 2 con la intención de ser un modelo de código abierto y disponible gratuitamente para cualquier uso, incluido el comercial. Ver características.
octubre 2023 OpenAI presenta DALL-E 3 integrado en las versiones de pago de ChatGPT.
15 febrero 2024 Google presenta Gemini 1.5, un LLM que permite contextos de 10 millones de tokens basado en la idea MoE (mixture of experts), implementada mediante expertos que consisten cada uno de ellos en un subconjunto de los parámetros del LLM para optimizar su uso.
15 febrero 2024 OpenAI presenta SORA, una herramienta de inteligencia artificial para la creación de vídeos a partir de instrucciones de texto. Sora es un “modelo de difusión”: comienza con ruido aleatorio y lo transforma lentamente en un vídeo coherente eliminando el ruido en muchos pasos. Se basa en investigaciones anteriores de OpenAI como DALL-E para imágenes y GPT para lenguaje. Sora representa videos como grupos de datos más pequeños llamados “parches”, lo que le permite aprender de diversos conjuntos de datos de video.
20 febrero 2024 Meta presenta V-JEPA, un modelo de lenguaje no generativo desarrollado principalmente por Yann LeCun para enseñar a las máquinas a comprender y modelar el mundo físico mediante la visualización de vídeos. La idea principal detrás de JEPA (LeCun, 2022) es aprender, utilizando una parte de la entrada (contexto), a predecir otra parte de la entrada (objetivo), en un espacio latente abstracto. Ver anuncio.
febrero 2024 La empresa Groq, fundada en 2019, revoluciona el mundo de la IA creando la primera Unidad de Procesamiento del Lenguaje (LPU).™, un nuevo procesador específicamente desarrollado para tareas de Inteligencia Artificial y desarrollado por antiguos miembros del equipo de TPU de Google.
marzo 2024 Anthropic anuncia Claude 3 y afirma que los modelos establecen un nuevo estándar en la industria en una variedad de tareas cognitivas, acercándose incluso a la capacidad “casi humana” en algunos casos. H anunciado tres versiones (Claude 3 Haiku, Claude 3 Sonnet y Claude 3 Opus) con niveles ascendentes de complejidad
marzo 2024 Google presenta Gemma, una familia de modelos abiertos ligeros y de última generación de Google, construida a partir de la misma investigación y tecnología utilizada para crear los modelos Gemini. Su tamaño relativamente pequeño permite desplegarlos en entornos con recursos limitados, como un ordenador portátil, un ordenador de sobremesa o su propia infraestructura en la nube, democratizando el acceso a modelos de IA de última generación.
marzo 2024 En la GTC AI Conference, NVIDIA presentó la plataforma NVIDIA Blackwell basada en Tensor Cores para acelerar la inferencia en la IA generativa en tiempo real en modelos de lenguaje de 1T parámetros. Incluye la llamada computación confidencial que protege los datos confidenciales y los modelos de IA de accesos no autorizados con una sólida seguridad basada en hardware.

En 2024 se produce una explosión de nuevos LLM, muchos de los cuales son usables localmente mediante la descarga del archivo de pesos. El código de entrenamiento de estos modelos no es abierto aunque sí se distribuye abiertamente el archivo con los pesos del modelo pre-entrenado, lo cual permite usarlos para adaptarlos a nuestras necesidades mediante las técnicas de RAG y de Fine Tuning. Por ello se les suele llamar “open source” aunque el nombre más acertado sería “open weights”:

LLM Developer Usado por Núm. parametros Acceso
GPT OpenAI Microsoft, Duolingo, Stripe, Zapier, Dropbox, ChatGPT 175 billion+ API
Gemini Google Some queries on Bard Nano: 1.8 & 3.25 billion; others unknown API
PaLM 2 Google Google Bard, Docs, Gmail, and other Google apps 340 billion API
Llama 2 Meta Undisclosed 7, 13, and 70 billion Open source
Vicuna LMSYS Org Chatbot Arena 7, 13, and 33 billion Open source
Claude 2 Anthropic Slack, Notion, Zoom Unknown API
Stable Beluga Stability AI Undisclosed 7, 13, and 70 billion Open source
StableLM Stability AI Undisclosed 7, 13, and 70 billion Open source
Coral Cohere HyperWrite, Jasper, Notion, LongShot Unknown API
Falcon Technology Innovation Institute Undisclosed 1.3, 7.5, 40, and 180 billion Open source
MPT Mosaic Undisclosed 7 and 30 billion Open source
Mixtral 8x7B Mistral AI Undisclosed 46.7 billion Open source
XGen-7B Salesforce Undisclosed 7 billion Open source
Grok xAI Grok Chatbot Unknown Chatbot

Más información:

3.3 Velocidad de la innovación

En este tuit de Scott Stevenson se muestra en forma casi humorística lo durable de las tecnologías pasadas en contraste con lo poco perdurables que son las innovaciones en el campo de la Inteligencia Artificial, y la rapidez con la que las técnicas se sustituyen unas a otras.

Ver también

3.4 Va muy deprisa pero ¿hacia dónde?

FIXME

Referencias

[04] Campos de aplicación de la IA

En el campo del análisis de datos, la Inteligencia Artificial puede usarse para realizar las siguientes tareas:

  1. Análisis Exploratorio de Datos (EDA): El análisis exploratorio permite entender la naturaleza y las características de tus datos. Esto incluye estadísticas descriptivas, visualización de datos y detección de valores atípicos.
  2. Limpieza y Preprocesamiento: Basado en el EDA, consiste en limpiar los datos (como manejar valores faltantes) y preprocesarlos (normalización, codificación de características, etc.) para prepararlos para el análisis.
  3. Análisis de Series Temporales: Los LLM pueden aplicar técnicas de análisis de series temporales para entender patrones, tendencias y estacionalidad en los datos. Esto es crucial para datos de sensores que a menudo tienen una fuerte componente temporal.
  4. Modelado Predictivo: Para poder predecir eventos futuros o tendencias basadas en los datos, una IA puede ayudar a construir y entrenar modelos predictivos usando técnicas de aprendizaje automático.
  5. Detección de Anomalías: En el caso de monitoreo de sensores, la detección de anomalías es importante. Una IA puede ayudar a implementar algoritmos para identificar comportamientos inusuales o puntos de datos que se desvían de la norma.
  6. Visualización de Datos Avanzada: Como ayuda a interpretar los resultados, una IA puede generar visualizaciones avanzadas que resalten hallazgos clave y patrones en los datos.

Asistentes personales robóticos

FIXME

  • perros-guia robóticos (charla T3chFest 2024)
  • asistentes geriatricos (libro de Patricia Mccorduck)

4.1 IA y Medicina

AlphaFold resuelve el problema del plegamiento de proteinas.
https://es.wikipedia.org/wiki/AlphaFold

‘A landmark moment’: scientists use AI to design antibodies from scratch
https://www.nature.com/articles/d41586-024-00846-7?utm_source=tldrnewsletter FIXME

4.2 IA y Educación

4.3 IA y Ciberseguridad

Recomendaciones de seguridad al desplegar sistemas de Inteligencia Artificial

Recomendaciones de OWASP

El proyecto OWASP Top 10 para aplicaciones de modelos de lenguajes grandes tiene como objetivo educar a los desarrolladores, diseñadores, arquitectos, gerentes y organizaciones sobre los riesgos potenciales de seguridad al implementar y administrar modelos de lenguajes grandes (LLM). El proyecto proporciona una lista de las 10 vulnerabilidades más críticas que se ven a menudo en aplicaciones LLM, destacando su impacto potencial, facilidad de explotación y prevalencia en aplicaciones del mundo real. Ejemplos de vulnerabilidades incluyen inyecciones rápidas, fuga de datos, zona de pruebas inadecuada y ejecución de código no autorizado, entre otras. El objetivo es crear conciencia sobre estas vulnerabilidades, sugerir estrategias de solución y, en última instancia, mejorar la postura de seguridad de las aplicaciones LLM.

Recomendaciones de diversas agencias de ciberseguridad

This report was authored by the U.S. National Security Agency’s Artificial Intelligence Security Center (AISC), the Cybersecurity and Infrastructure Security Agency (CISA), the Federal Bureau of Investigation (FBI), the Australian Signals Directorate’s Australian Cyber Security Centre (ACSC), the Canadian Centre for Cyber Security (CCCS), the New Zealand National Cyber Security Centre (NCSC-NZ), and the United Kingdom’s National Cyber Security Centre (NCSC-UK). The goals of the AISC and the report are to:

  1. Improve the confidentiality, integrity, and availability of AI systems;
  2. Assure that known cybersecurity vulnerabilities in AI systems are appropriately mitigated; and
  3. Provide methodologies and controls to protect, detect, and respond to malicious activity against AI systems and related data and services.

Deploying AI Systems Securely. Best Practices for Deploying Secure and Resilient AI Systems, defense.gov

Referencias citadas en el documento:

4.4 IA e investigación científica

T3chFest 2024
Exolorando el universo subatomico: un viaje profundo a traves de Deep Learning
Saul Alonso @saul19am


4.5 IA y generación de código

4.6 IA y bósquedas en Internet

Referencias

[05] Machine Learning: máquinas que aprenden

5.1 La representación del aprendizaje

ChatGPT: Aquí tienes una imagen que ilustra el concepto de representaciones del aprendizaje en inteligencia artificial. Muestra la transición desde datos de entrada crudos, como píxeles en una imagen, a una representación más abstracta y significativa, como el concepto de un gato reconocido por un sistema de IA, pasando por una capa abstracta que representa el procesamiento de la red neuronal de la IA.

Las “Learning Representations” (Representaciones del Aprendizaje) en Inteligencia Artificial (IA) son una piedra angular de la mayoría de los sistemas de aprendizaje automático modernos. De hecho podemos decir sin miedo a equivocarnos que la idea de que una máquina construya de forma autónoma una representación de unos “input” que le pasemos sin necesidad de haber sido entregada específicamente para ello constituye el núcleo central del que se ocupa el “Deep Learning”.

La “representación” trata sobre cómo un modelo de IA puede aprender a transformar datos de entrada, como imágenes, texto o sonidos, en una forma que sea más útil para realizar tareas específicas como la clasificación, la detección o incluso la generación de contenido nuevo.

La idea detrás de las representaciones del aprendizaje es que, en muchos casos, los datos brutos no están en un formato que sea directamente amigable para la resolución de tareas complejas. Por ejemplo, una imagen digital para nosotros puede contener un objeto reconocible como un gato, pero para una computadora, es solo una matriz de píxeles con diferentes intensidades y colores. La capacidad de un modelo de IA para transformar esos píxeles en una representación interna que “entienda” que contiene un gato (sin necesidad de programar explícitamente cada detalle sobre qué hace a un gato un gato) es esencial para el procesamiento y reconocimiento automatizado de imágenes.

Estas representaciones no se programan manualmente. En cambio, se aprenden de los datos durante el proceso de entrenamiento del modelo. El modelo ajusta sus parámetros internos para producir representaciones que sean efectivas para la tarea en cuestión, a través de un proceso iterativo de prueba y error, guiado por una función de pérdida que mide qué tan bien el modelo está realizando su tarea.

Word2Vec

Word2vec es una técnica de procesamiento de lenguaje natural desarrollada por un equipo de investigadores de Google, encabezado por Tomas Mikolov en 2013.

Consiste en una familia de algoritmos de modelado de palabras que permite convertir palabras de un texto en vectores de números, de manera que las palabras con significados similares tengan vectores cercanos en un espacio vectorial de dimensión reducida. La importancia de word2vec radica en su capacidad para capturar relaciones semánticas y sintácticas entre palabras, lo que la convierte en una herramienta muy útil en una variedad de aplicaciones, como la búsqueda de información, el análisis de sentimientos, la traducción automática y la generación de textos. Además, word2vec es computacionalmente eficiente y puede ser entrenado con grandes corpus de texto, lo que lo hace adecuado para el análisis de datos a gran escala.

International Conference on Learning Representations

El Congreso Internacional sobre Representaciones del Aprendizaje, International Conference on Learning Representations, ICLR, es uno de los eventos más importantes en el campo de la IA, especialmente en lo que respecta al aprendizaje profundo. Promovido por figuras destacadas como Yann LeCun, uno de los pioneros del aprendizaje profundo, el ICLR reúne a investigadores, académicos y profesionales de la industria para compartir los últimos avances, investigaciones y aplicaciones en el campo de las representaciones del aprendizaje. Este congreso es una plataforma crucial para la discusión de cómo los modelos de aprendizaje automático pueden construir modelos del mundo así como los desafíos y oportunidades futuras en la investigación de IA.

Próximas ediciones:

ICLR 2024
The Twelfth International Conference on Learning Representations
Messe Wien Exhibition and Congress Center, Vienna Austria
May 7th, 2024 to May 11th, 2024

Más información

Embeddings

5.2 ¿Cómo aprenden las máquinas?

Existen fundamentalmente tres métodos mediante los cuales podemos enseñar a una máquina a aprender: aprendizaje autodirigido (Self-supervised Learning), aprendizaje supervisado (Supervised Learning) y aprendizaje por refuerzo (Reinforcement Learning). Cada uno de estos enfoques ofrece un camino distinto para que las máquinas adquieran conocimiento: desde el aprendizaje supervisado, donde las máquinas aprenden de ejemplos etiquetados claramente, pasando por el aprendizaje autodirigido, que permite a las máquinas inferir patrones y estructuras a partir de datos no etiquetados, hasta el aprendizaje por refuerzo, donde las máquinas aprenden a tomar decisiones estratégicas a través de la prueba y error.

Machine Learning: Self-supervised vs. Supervised vs. Reinforcement Learning

Estas son las tres formas diferentes de “tutelar” el aprendizaje de una máquina, que abarcan el espectro completo desde la supervisión completa hasta la autonomía completa.

A comienzos del siglo XXI Hinton, LeCun y Bengio descubrieron las grandes posibilidades del aprendizaje sin supervisión. Sin embargo en aquella época las formas más populares de aprendizaje fueron aquellas que se basaban en grandes cantidades de datos (el famoso “Big Data”) y se popularizaron los sistemas de aprendizaje con supervisión o refuerzo.

Sin embargo, 15 años después, una vez que hemos entrenado a nuestros modelos de Inteligencia Artificial con todo el contenido textual producido por el ser humano, vuelve a ponerse de moda el aprendizaje sin supervisión, aquel en el que la máquinas aprende por sí misma detectando patrones en los datos que procesa.

Como consecuencia de ese resurgir del entrenamiento sin supervisión han surgido las arquitecturas Transformer, Difusión y JEPA, que nos están introduciendo en la época de los grandes modelos de lenguaje que, cuando se escalan, exhiben una espectacular competencia como usuarios del lenguaje, una faceta que nos ha impresionado pues hasta ahora el uso competente del lenguaje ha sido un síntoma de inteligencia.

SL Supervised Learning (aprendizaje supervisado) Método de aprendizaje donde el modelo se entrena en un conjunto de datos etiquetado, lo que significa que cada ejemplo de entrenamiento está emparejado con la respuesta correcta. El modelo aprende a predecir la salida a partir de las entradas. Ejemplos de uso: Clasificación de correos electrónicos en spam o no spam, reconocimiento de números escritos a mano.
RL Reinforcement Learning (aprendizaje por refuerzo) Un tipo de aprendizaje donde un agente aprende a tomar decisiones optimizando un criterio de recompensa a través de la interacción con un entorno. No se proporcionan ejemplos correctos, sino que el agente debe descubrir a través de la experiencia qué acciones producen las mayores recompensas. Ejemplos de uso: Un robot aprendiendo a caminar, un programa de ajedrez mejorando su juego. La ventaja principal es que se obtiene la capacidad para aprender estrategias complejas y a largo plazo y puede operar en entornos donde la información es incompleta o proviene de la exploración.
SSL Self-supervised Learning (aprendizaje autosupervisado) Un subtipo de aprendizaje no supervisado donde el sistema genera automáticamente las etiquetas a partir de los datos, usualmente transformando la tarea de aprendizaje en una en la que el modelo aprende a predecir alguna parte de sus entradas a partir de otras partes. Ejemplos: Predecir la siguiente palabra en una oración, completar una imagen parcialmente oculta. Ventajas: Reduce la necesidad de datos etiquetados manualmente; puede descubrir patrones complejos en los datos.

SL y RL han sido los dos paradigmas o enfoques más populares en machine Learning aunque hay investigadores que los califican como muy bastante ineficientes para algunas aplicaciones, como, por ejemplo, los vehículos autónomos. SL necesita muchas muestras para aprender cualquier cosa. RL requiere una desproporcionada cantidad de ensayo/error para aprender algo. Algunas aplicaciones de la Inteligencia Artificial no tienen tantas muestras de lo que se pretende aprender o no es permisible usar ensayo y error como método de aprendizaje.

Tanto SL como RL necesitan millones de horas para aprender lo que los humanos aprendemos en unas pocas horas porque los humanos usamos un conocimiento de fondo, acumulado, que no está presente en esos enfoques del aprendizaje automático. Un bebé aprende cómo es el mundo por exposición a él, y ese conocimiento llega a integrarse en lo que denominamos sentido común. El bebé construye su modelo del mundo sin necesidad de entrenarle para realizar tareas concretas. El intento de reproducir este comportamiento en máquinas es lo que llamamos self-supervised Learning (SSL).

Una de las aplicaciones más potentes de la arquitectura Transformer es, precisamente, en el contexto del aprendizaje auto-supervisado, especialmente en el procesamiento del lenguaje natural (NLP). En este paradigma, los modelos como BERT (Bidirectional Encoder Representations from Transformers) se entrenan para predecir partes de los datos de entrada ocultos basándose en el resto de los datos disponibles. Por ejemplo, pueden aprender a predecir palabras faltantes en una oración. Esto no requiere etiquetas proporcionadas por humanos, ya que las predicciones se basan en otras partes de los datos de entrada.

No obstante, el aprendizaje supervisado sigue siendo fundamental para una amplia gama de aplicaciones, especialmente en tareas de clasificación y regresión donde se disponen de datos etiquetados. La precisión y eficiencia del aprendizaje supervisado en estos contextos son insuperables.

Por su parte, el aprendizaje por refuerzo es insustituible en contextos como juegos, robótica, y optimización de sistemas, donde se requiere una exploración activa del entorno y la toma de decisiones secuenciales.

En una época en la que fácilmente declaramos obsoletas las tecnologías tras un tiempo de uso, hay que tomar en cuenta que la evolución en la inteligencia artificial rara vez implica la obsolescencia completa de tecnologías previas. Más bien, se observa una integración y especialización donde nuevas técnicas abren posibilidades que antes eran inalcanzables, mientras que los enfoques establecidos se adaptan, mejoran y siguen siendo cruciales en muchas áreas. En la actualidad, innovaciones como los Transformers, modelos de difusión y la arquitectura JEPA amplían el conjunto de herramientas disponible para los investigadores y desarrolladores, permitiendo abordar problemas de IA con una riqueza y complejidad sin precedentes.

Más información

5.3 Redes Neuronales

ChatGPT: He creado una imagen para explicar el concepto de una red neuronal de manera simple y educativa, mostrando una red de nodos conectados que representan neuronas artificiales y sus conexiones, organizadas en capas que simbolizan el flujo de información desde la entrada hasta la salida, resaltando el proceso de transformación de datos y aprendizaje dentro de la red.

Una red neuronal es un modelo computacional inspirado en la estructura y el funcionamiento del cerebro humano. Está compuesta por unidades básicas llamadas neuronas artificiales o nodos, que están interconectadas entre sí formando una red. Estas conexiones se asemejan a las sinapsis en un cerebro biológico, permitiendo la transmisión de señales (o datos) entre las neuronas.

Las neuronas en una red neuronal se organizan en capas: una capa de entrada que recibe los datos externos, varias capas ocultas que procesan esos datos, y una capa de salida que entrega el resultado o predicción de la red. Cada neurona procesa las entradas recibidas, realizando cálculos sencillos y transmitiendo el resultado a las siguientes neuronas.

El proceso de aprendizaje en una red neuronal implica ajustar los pesos de las conexiones entre las neuronas, lo que se logra a través de un proceso iterativo llamado entrenamiento. Durante el entrenamiento, la red se expone a un gran conjunto de datos de entrenamiento, ajustando sus pesos para minimizar la diferencia entre las predicciones de la red y los resultados reales conocidos. Este proceso se realiza con algoritmos específicos, siendo el más común el algoritmo de retropropagación junto con técnicas de optimización como el descenso de gradiente.

Las redes neuronales son capaces de aprender patrones complejos y no lineales, lo que las hace particularmente útiles para tareas como el reconocimiento de imágenes, el procesamiento del lenguaje natural, la predicción de series temporales y más. Su capacidad para aprender directamente de los datos sin necesidad de una programación específica para cada tarea les permite adaptarse a una amplia variedad de problemas.

Parámetros de una red neuronal

El número de parámetros en un modelo de lenguaje de grandes dimensiones (LLM, por sus siglas en inglés) no se refiere directamente al número total de neuronas de la red neuronal profunda, sino más bien al número total de pesos (y a veces sesgos) que se pueden ajustar durante el entrenamiento del modelo. Estos parámetros son esenciales para el aprendizaje y la representación del conocimiento dentro del modelo, permitiéndole realizar tareas de procesamiento del lenguaje natural como la generación de texto, la comprensión del lenguaje, la traducción, entre otras.

Cada neurona en una red neuronal está conectada a otras neuronas en la siguiente capa (excepto en el caso de las capas de entrada y salida, dependiendo de la arquitectura). Cada una de estas conexiones tiene un peso, y cada neurona en las capas ocultas y de salida puede tener un sesgo. El peso de una conexión determina la importancia de la señal que pasa de una neurona a otra, mientras que el sesgo permite ajustar la salida de la neurona junto con la suma ponderada de sus entradas.

En los modelos LLM, el número de parámetros puede ser extremadamente grande. Por ejemplo, GPT-3, uno de los modelos LLM más conocidos, tiene 175 mil millones de parámetros.

Esta gran cantidad de parámetros permite a los modelos LLM capturar una vasta cantidad de información lingüística y cultural, lo que les confiere su notable capacidad para generar texto coherente y relevante en una amplia variedad de temas y estilos. Sin embargo, también plantea desafíos significativos en términos de requisitos de computación para el entrenamiento y la inferencia, así como en la interpretación y la gestión de posibles sesgos en los datos de entrenamiento.

Más información

5.4 Las Matemáticas de las Redes Neuronales

ChatGPT: He creado una ilustración educativa que muestra los cuatro elementos matemáticos fundamentales del álgebra lineal usados en inteligencia artificial: escalares, vectores, matrices y tensores. La imagen diferencia visualmente cada elemento, facilitando su comprensión.

Las redes neuronales son una de las herramientas más poderosas en el campo de la inteligencia artificial (IA), permitiendo a las máquinas aprender desde el reconocimiento de imágenes hasta la generación de texto. Aunque detrás de su funcionamiento existen conceptos matemáticos complejos, comprender los fundamentos no es tan difícil. Aquí te explicaremos los conceptos básicos de escalar, vector, matriz y tensor, que son elementos cruciales en la arquitectura de las redes neuronales.

Escalar

Un escalar es simplemente un número único. En el contexto de las redes neuronales, a menudo representa una única medida o valor, como la temperatura, el precio de una acción o la probabilidad de que una imagen contenga un gato. En matemáticas, los escalares son la forma más básica de representar datos.

Vector

Imagina un escalón más allá de los escalares; ahí encuentras los vectores. Un vector es una lista ordenada de números, dispuestos en una fila o una columna. Cada número en un vector puede representar una característica diferente de un dato. Por ejemplo, en una imagen, un vector podría representar la intensidad de rojo, verde y azul (RGB) de un pixel. En las redes neuronales, los vectores se utilizan para almacenar y manipular datos de entrada, pesos y sesgos, facilitando el procesamiento de múltiples piezas de información simultáneamente.

Matriz

Una matriz es, esencialmente, una tabla de números organizada en filas y columnas. Puedes pensar en ella como un conjunto de vectores apilados uno sobre otro. Las matrices son herramientas poderosas en las redes neuronales, ya que permiten realizar operaciones complejas sobre múltiples datos de entrada y sus respectivos pesos de manera eficiente. Por ejemplo, las transformaciones lineales que se aplican a los datos de entrada de una red neuronal se representan comúnmente como multiplicaciones de matrices.

Tensor

Finalmente, un tensor generaliza los conceptos anteriores (escalares, vectores y matrices) a una estructura de datos multidimensional. Mientras que un escalar es de 0 dimensiones, un vector es de 1 dimensión y una matriz de 2, los tensores pueden tener tres o más dimensiones. Esto los hace increíblemente útiles para manejar tipos de datos complejos como imágenes a color (que se pueden representar como tensores de 3 dimensiones) o series de tiempo de datos financieros (que podrían requerir tensores de mayor dimensión para su análisis). En las redes neuronales, los tensores permiten manipular y procesar grandes volúmenes de información de manera eficiente, facilitando el aprendizaje profundo.

A través de la manipulación de estas cuatro entidades matemáticas, las redes neuronales pueden aprender desde tareas simples hasta comprender y generar lenguaje humano, identificar objetos en imágenes y mucho más, abriendo un abanico de posibilidades en el campo de la IA.

Más información

5.6 Preguntas Frecuentes

La inteligencia artificial (IA) se refiere a la capacidad de las máquinas para realizar tareas que normalmente requieren inteligencia humana, como comprender el lenguaje natural, reconocer imágenes o tomar decisiones. El aprendizaje automático (machine learning, ML) es un subcampo de la IA que se enfoca en desarrollar algoritmos y modelos estadísticos que permiten a las máquinas aprender de los datos, sin ser explícitamente programadas. Podemos considerar la IA como un campo más amplio que incluye el ML, así como otras técnicas de procesamiento de lenguaje natural, visión artificial, robótica, etc.

El término “machine learning” (aprendizaje automático) se refiere a la capacidad de las máquinas para aprender de los datos y mejorar su rendimiento en una tarea a lo largo del tiempo, sin ser explícitamente programadas. El término “aprendizaje automático” se refiere específicamente a la capacidad de las máquinas para aprender de los datos y mejorar su rendimiento en una tarea a lo largo del tiempo, sin ser explícitamente programadas. ML es un término más amplio e incluye diferentes técnicas de aprendizaje, mientras que el AA se enfoca específicamente en la capacidad de las máquinas para aprender de los datos.

El deep learning (aprendizaje profundo) es una técnica de machine learning que utiliza redes neuronales artificiales muy profundas para analizar datos y tomar decisiones. El ML es un campo más amplio que incluye diferentes técnicas de aprendizaje, como el aprendizaje supervisado, no supervisado y por refuerzo. Es decir, el aprendizaje profundo es una técnica específica de ML que utiliza redes neuronales profundas para aprender de los datos y tomar decisiones.

El aprendizaje supervisado (aprendizaje supervisado) se refiere a una técnica de machine learning en la que el algoritmo aprende de los datos etiquetados, es decir, datos que ya tienen una respuesta correcta. El aprendizaje no supervisado (aprendizaje no supervisado) se refiere a una técnica de machine learning en la que el algoritmo aprende de los datos no etiquetados, es decir, datos que no tienen una respuesta correcta predefinida y el algoritmo debe encontrar patrones y relaciones en los datos por sí mismo.

El aprendizaje por refuerzo (reinforcement learning, RL) es una técnica de machine learning en la que el algoritmo aprende de los datos a través de la retroalimentación recibida después de tomar una acción en un entorno dinámico. El aprendizaje profundo (deep learning, DL) es una técnica de machine learning que utiliza redes neuronales artificiales muy profundas para analizar datos y poder tomar decisiones con dichos análisis.

Una red neuronal (neural network) es una estructura de software que imita el funcionamiento del cerebro humano y que se utiliza en machine learning para clasificar, regresar y clasificar datos. El aprendizaje profundo (deep learning, DL) es una técnica, una herramienta específica de machine learning que utiliza redes neuronales artificiales muy profundas para analizar datos y tomar decisiones.

El procesamiento del lenguaje natural (natural language processing, NLP) es una aplicación específica de la Inteligencia Artificial que se enfoca en el desarrollo de algoritmos y modelos que permiten a las máquinas comprender y procesar el lenguaje natural, como el español o el inglés. El machine learning (aprendizaje automático) es un campo más amplio que incluye diferentes técnicas de aprendizaje, como el aprendizaje supervisado, no supervisado y por refuerzo.

La visión artificial (computer vision) es una aplicación específica de la Inteligencia Artificial que se enfoca en el desarrollo de algoritmos y modelos que permiten a las máquinas comprender y analizar datos visuales, como imágenes y videos. El machine learning (aprendizaje automático) es un campo más amplio que incluye diferentes técnicas de aprendizaje, como el aprendizaje supervisado, no supervisado y por refuerzo.

El aprendizaje por refuerzo (reinforcement learning, RL) es una técnica de machine learning en la que el algoritmo aprende de los datos a través de la retroalimentación recibida después de tomar una acción en un entorno dinámico. El aprendizaje profundo (deep learning, DL) es una técnica de machine learning que utiliza redes neuronales artificiales muy profundas para analizar datos y tomar decisiones.

El aprendizaje no supervisado (unsupervised learning) se refiere a una técnica de machine learning en la que el algoritmo aprende de los datos no etiquetados, es decir, datos que no tienen una respuesta correcta predefinida. El aprendizaje por refuerzo (reinforcement learning, RL) es una técnica de machine learning en la que el algoritmo aprende de los datos a través de la retroalimentación recibida después de tomar una acción en un entorno dinámico.

No hay diferencia. El término “Deep Learning” se refiere a una clase de algoritmos de aprendizaje automático que utilizan redes neuronales profundas. Estas redes son estructuras compuestas por capas de nodos o “neuronas”, cada una de las cuales realiza operaciones simples. A medida que los datos pasan a través de las capas, el modelo ajusta sus pesos mediante un proceso conocido como “backpropagation”, basado en el gradiente del error respecto a los pesos de la red.

La equivalencia entre “Deep Learning” y “Gradient-based learning” se basa en el método fundamental que estas redes utilizan para aprender, que es el ajuste iterativo de los pesos de la red mediante el descenso del gradiente. Este proceso implica calcular el gradiente del error o pérdida respecto a los pesos del modelo y luego ajustar los pesos en la dirección que minimiza este error. De esta manera, el modelo “aprende” a partir de los datos proporcionados.

El descenso del gradiente es una técnica de optimización utilizada no solo en el deep learning, sino también en otros contextos de aprendizaje automático; sin embargo, es especialmente crítico en el aprendizaje profundo debido a la complejidad de las redes neuronales profundas y la necesidad de ajustar una gran cantidad de pesos para optimizar el rendimiento del modelo.

El deep learning es considerado “gradient-based” porque el núcleo de su proceso de aprendizaje involucra el uso de gradientes para actualizar los parámetros del modelo de manera que se reduzca el error o la función de pérdida. Esto se hace típicamente utilizando variantes del algoritmo de descenso del gradiente, como el descenso del gradiente estocástico (SGD), Adam, o RMSprop, los cuales son métodos que permiten encontrar mínimos locales en la función de pérdida al ajustar los pesos de la red en base a sus gradientes.

Más información

[06] Redes Neuronales

6.1 Estado del Arte de las Redes Neuronales

El procesamiento del lenguaje natural, la generación de música y de texto, y la conversión texto-voz son problemas que se pueden abordar mediante técnicas de aprendizaje profundo, específicamente con redes neuronales recurrentes. Las Long Short-Term Memory (LSTM) y las Gated Recurrent Unit (GRU) son dos de las arquitecturas más utilizadas en este campo, ya que mejoran las Redes Neuronales Recurrentes (RNN) básicas al añadir la capacidad de decidir qué información recordar o olvidar y en qué medida. Estas redes utilizan un estado interno, que puede o no coincidir con la salida de la red, y se transmite y modifica a lo largo del tiempo. Sin embargo, el modelo es el que decide cómo codificar la información en el estado y hay un límite a lo que estos modelos pueden almacenar en él.

Para aumentar la capacidad de almacenamiento de información de las redes neuronales, se han propuesto Memory-Augmented Neural Network (MANN), que son redes neuronales con acceso a algún tipo de memoria en la que pueden leer y escribir, como una pila, una cola o, en el caso de la Neural Turing Machine (NTM) propuesta por Alex Graves, una memoria direccionable de gran tamaño. La memoria es lo que da su nombre a esta arquitectura, ya que funciona de manera similar a cómo la cinta de una máquina de Turing enriquece las capacidades de una máquina de estados finitos.

Las Memory-Augmented Neural Network y la Neural Turing Machine han tenido un gran impacto en el campo de la IA, especialmente en el contexto de los modelos de lenguaje de gran tamaño (LLMs), ya que ofrecen una forma de mejorar la capacidad de memoria y almacenamiento de estos modelos, lo que les permite procesar y recordar información a largo plazo. Estas arquitecturas siguen siendo objeto de investigación y desarrollo en el campo de la IA, y se espera que sigan surgiendo nuevas aplicaciones y mejoras en los próximos años.

El impacto de estas tecnologías en los LLMs es significativo. Al proporcionar a los modelos de IA una forma de “recordar” información relevante, estos pueden generar respuestas que no solo son más precisas y relevantes sino también más coherentes a lo largo de interacciones prolongadas. Esto es especialmente útil en aplicaciones como la generación de texto, la comprensión del lenguaje natural, y las conversaciones interactivas, donde la capacidad de referirse a información previa puede hacer una gran diferencia en la calidad de la interacción.

— Fuente: Alejandro Cabana Suarez

6.2 Tipos/Arquitecturas de redes neuronales

Resumen

1. Redes Neuronales Recurrentes (RNN) fueron introducidas en la década de 1980. Uno de los primeros trabajos relevantes que describía una arquitectura que claramente se ajusta a lo que hoy conocemos como RNN es el de David E. Rumelhart, Geoffrey E. Hinton, y Ronald J. Williams, publicado en 1986 bajo el título “Learning representations by back-propagating errors”. Este trabajo no solo introdujo la idea de propagar errores hacia atrás en el tiempo para entrenar redes con conexiones recurrentes, sino que también sentó las bases para el desarrollo posterior de redes que podrían manejar secuencias de datos a través del tiempo.

2. CNN (Convolutional Neural Networks): Aunque los conceptos básicos se remontan a los años 80 con el Neocognitron, la forma moderna de las CNN se popularizó con el trabajo de Yann LeCun et al. en 1989, “Backpropagation Applied to Handwritten Zip Code Recognition”.

3. Long Short-Term Memory (LSTM): Fueron introducidas en 1997 por Sepp Hochreiter y Jürgen Schmidhuber en su artículo “Long Short-Term Memory”.

4. Gated Recurrent Unit (GRU): Propuestas en 2014 por Kyunghyun Cho et al. en el trabajo “Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation”.

5. Memory-Augmented Neural Network (MANN): Las redes neuronales con memoria aumentada comenzaron a ganar atención alrededor de 2014-2016, con varias propuestas en esos años, incluyendo las Neural Turing Machines y diferentes variantes.

6. Neural Turing Machine (NTM): Fue propuesta en 2014 por Alex Graves et al. en el trabajo “Neural Turing Machines”.

7. seq2seq (sequence-to-sequence): Fue introducido por Ilya Sutskever, Oriol Vinyals, y Quoc V. Le en 2014, en el artículo “Sequence to Sequence Learning with Neural Networks”.

8. GAN (Generative Adversarial Networks): Fueron propuestas por Ian Goodfellow y sus colegas en 2014, en el trabajo “Generative Adversarial Nets”.

9. GABM (Generative Agent-Based Models): Esta es menos común como término estándar en literatura de IA/ML y puede referirse a una combinación específica de modelos basados en agentes y técnicas generativas. 2024 puede ser el año de generalización del uso de agentes con los modelos LLM que tenemos actualmente

10. Modelos de Difusión: Comenzaron a ganar popularidad alrededor de 2015, pero se hicieron más prominentes en el campo de la IA en años recientes con trabajos como “Denoising Diffusion Probabilistic Models” por Jonathan Ho y colaboradores en 2020.

11. Arquitectura JEPA (Joint Embedding Predictive Architecture): Presentada por Yann LeCun, en un seminario en la conferencia NeurIPS (Conference on Neural Information Processing Systems) en diciembre de 2020. La arquitectura JEPA es una propuesta para avanzar hacia lo que LeCun describe como el “nivel siguiente” de la inteligencia artificial, centrado en sistemas que pueden aprender a entender el mundo a través de la observación y la interacción, logrando así un aprendizaje autónomo. LeCun pretende presentar productos concretos basados en esta arquitectura a lo largo de 2024

En detalle

Estas categorías incluyen distintas estructuras y modelos de redes neuronales diseñados para tareas específicas para manejar ciertos tipos de datos.

Recurrent Neural Networks (RNN)

ChatGPT: He creado una imagen para explicar el concepto de Redes Neuronales Recurrentes (RNNs), mostrando un cinturón transportador digital con símbolos que representan puntos de datos procesados secuencialmente por una celda de RNN. Esta visualización resalta la capacidad única de las RNNs para recordar y utilizar información de entradas anteriores, subrayando su aplicación versátil en campos como la traducción de texto, pronósticos financieros y composiciones musicales.

Una Red Neuronal Recurrente (RNN) es un tipo de red neuronal que se utiliza para procesar secuencias de datos, como palabras en un texto, notas en una canción o imágenes en un video. A diferencia de las redes neuronales tradicionales, que solo pueden procesar datos estáticos, las RNN pueden procesar datos que cambian con el tiempo.

La clave de las RNN es su capacidad de mantener un estado interno, que se transmite y modifica a lo largo del tiempo, lo que le permite recordar información sobre el pasado y utilizarla para procesar datos futuros. Esto hace que las RNN sean especialmente adecuadas para tareas en las que la información contextual es importante, como el procesamiento del lenguaje natural, la predicción de series de tiempo y el reconocimiento de voz.

Más información

Long Short-Term Memory (LSTM)

ChatGPT: He creado una imagen para explicar el concepto de Redes de Memoria a Largo y Corto Plazo (LSTM), utilizando la metáfora de un tren que viaja a través del tiempo. Cada vagón del tren representa una celda LSTM con compartimentos únicos que deciden qué información conservar, qué olvidar y qué expresar en cada parada, ilustrando la habilidad de las LSTM para recordar y olvidar selectivamente información a lo largo de secuencias extensas.

Tanto las Long Short-Term Memory (LSTM) como las las Gated Recurrent Unit (GRU) son ambos tipos de redes neuronales recurrentes (RNN) que pueden aprender dependencias a largo plazo en los datos mediante el uso de puertas y/o celdas de memoria. Estos mecanismos permiten a estos modelos seleccionar información de los pasos de tiempo anteriores, lo que los hace más poderosos que las RNNs tradicionales.

Las redes LSTM (Long Short-Term Memory), propuestas por Sepp Hochreiter y Jürgen Schmidhuber en 1997, son una evolución de las redes neuronales recurrentes (RNN). La motivación principal detrás del desarrollo de las LSTMs fue abordar el problema de la dependencia a largo plazo que las RNN tradicionales enfrentan. Las RNN simples tienen dificultades para aprender dependencias a largo plazo en los datos debido a los problemas de desvanecimiento y explosión del gradiente durante el entrenamiento.

En el caso de las LSTMs, el mecanismo para retener información es a través de una celda de memoria, que está controlada por puertas de entrada, olvido y salida. La puerta de entrada determina cuánta cantidad de la entrada actual debe agregarse a la celda de memoria, la puerta de olvido determina cuánta cantidad del estado de la celda de memoria anterior debe retenerse y la puerta de salida determina cuánta cantidad del estado de la celda de memoria debe usarse para calcular la salida.

Más información

CNN (Convolutional Neural Networks)

Especialmente diseñadas para procesar datos estructurados en forma de cuadrículas, como imágenes, donde pueden capturar efectivamente patrones espaciales gracias a su arquitectura de filtrado (convoluciones). Son ampliamente utilizadas en visión por computadora para tareas como clasificación de imágenes, detección de objetos y segmentación de imágenes.

Gated Recurrent Unit (GRU)

ChatGPT: He creado una imagen para explicar el concepto de Unidades Recurrentes Con Puertas (GRU), utilizando la analogía de un sistema de canales de agua con compuertas ajustables que controlan el flujo de información, destacando cómo las GRU gestionan el flujo de información al decidir qué retener y qué olvidar.

Las GRUs tienen una estructura más simple que las LSTMs, con solo dos puertas: una puerta de actualización y una puerta de reinicio. La puerta de actualización determina cuánta cantidad del estado oculto anterior debe retenerse y cuánta cantidad del nuevo ingreso debe agregarse, mientras que la puerta de reinicio determina cuánta cantidad del estado oculto anterior debe olvidarse.

La principal diferencia entre LSTMs y GRUs es que las LSTMs tienen una celda de memoria separada que puede almacenar información durante un período de tiempo más largo, mientras que los GRUs no tienen una celda de memoria separada y utilizan en su lugar el estado oculto para almacenar información a corto plazo. Esto hace que las LSTMs sean más adecuadas para tareas que requieren memoria a largo plazo, como la traducción de lenguaje o la generación de texto, mientras que los GRUs son más adecuados para tareas que requieren memoria a corto plazo, como el análisis de sentimientos o la detección de entidades nombradas.

Más información

Memory-Augmented Neural Network (MANN)

ChatGPT: He creado una imagen para explicar el concepto de Redes Neuronales Aumentadas con Memoria (MANNs), mostrando una red neural futurista conectada a una amplia unidad de memoria externa, ilustrando cómo la red puede acceder, almacenar y recuperar información de esta memoria aumentada para mejorar sus procesos de aprendizaje y toma de decisiones.

Memory-Augmented Neural Network (MANN) es un tipo de red neuronal que se utiliza para procesar secuencias de datos y almacenar información a largo plazo. A diferencia de las redes neuronales tradicionales, que solo pueden procesar datos estáticos, las MANN pueden almacenar y recordar información durante períodos de tiempo más largos.

Tanto las Redes Neuronales con Memoria Aumentada (MANN) como las Máquinas de Turing Neuronales (NTM) son ambos tipos de modelos de redes neuronales que incorporan componentes de memoria externos para mejorar su aprendizaje y capacidades de razonamiento.

El componente de memoria se puede implementar utilizando una variedad de estructuras de datos, como matrices, tensores o pares clave-valor. Las MANNs utilizan mecanismos de atención para seleccionar la lectura desde y la escritura en el componente de memoria, lo que les permite aprender y recordar información durante periodos de tiempo prolongados.

Más información

Neural Turing Machine (NTM)

ChatGPT: He creado una imagen para explicar el concepto de Máquinas de Turing Neurales (NTMs), enfocándome en su capacidad única de no solo leer sino también escribir en una unidad de memoria externa, mostrando un sistema de IA con 'cabezas' de lectura y escritura interactuando activamente con un banco de memoria. Esto resalta la habilidad de las NTMs para modificar datos almacenados, distinguiéndolas de otros modelos aumentados con memoria MANN.

Una Máquina de Turing Neuronal (NTM) es un tipo específico de modelo MANN que fue introducido por Alex Graves et al. en 2014. Los NTMs están inspirados en la Máquina de Turing, un modelo de computación teórica que consiste en una cinta y una cabeza de lectura/escritura. Del mismo modo, los NTMs tienen un conjunto de matrices de memoria que sirven como cinta y un conjunto de cabezas de lectura y escritura que pueden acceder y modificar las matrices de memoria. Los NTMs utilizan un conjunto de controladores para gestionar las operaciones de lectura y escritura, lo que les permite aprender y recordar datos secuenciales complejos.

La principal diferencia entre las MANNs y los NTMs es que las MANNs utilizan un único componente de memoria que se puede implementar utilizando varias estructuras de datos, mientras que los NTMs tienen un conjunto de matrices de memoria y un conjunto de cabezas de lectura y escritura que pueden acceder y modificar las matrices de memoria. Además, los NTMs utilizan un conjunto de controladores para gestionar las operaciones de lectura y escritura, mientras que las MANNs utilizan mecanismos de atención para seleccionar la lectura desde y la escritura en el componente de memoria.

Una Neural Turing Machine (NTM) es un modelo de aprendizaje automático que combina la arquitectura de una red neuronal recurrente (RNN) con una memoria externa controlada por atención, lo que le permite al modelo almacenar y acceder a información durante el procesamiento de secuencias de datos. La NTM fue presentada por primera vez en un artículo de investigación en 2014 y ha tenido un gran impacto en el campo de la IA debido a su capacidad para procesar y recordar información a largo plazo, lo que lo hace adecuado para una variedad de tareas, incluyendo el procesamiento del lenguaje natural, el reconocimiento de patrones y la predicción de series de tiempo.

Los LLM actuales suelen utilizar diferentes enfoques, como mecanismos de atención y la arquitectura Transformer, en lugar de la memoria controlada por atención utilizada en la NTM.

Más información

seq2seq (sequence-to-sequence)

ChatGPT: He creado una imagen que ilustra el concepto de modelos secuencia a secuencia (seq2seq) usando una analogía más natural y comprensible. Representa un río fluyendo desde una montaña, simbolizando la secuencia de entrada, que atraviesa un paisaje transformador, hasta desembocar en un lago sereno, representando la secuencia de salida transformada.

Un modelo seq2seq, abreviatura de “sequence-to-sequence”, es un tipo de modelo de aprendizaje profundo diseñado para transformar secuencias de entrada en secuencias de salida. Es comúnmente utilizado en tareas de procesamiento de lenguaje natural (PLN) como la traducción automática, donde la secuencia de entrada puede ser un texto en un idioma y la secuencia de salida es el texto traducido en otro idioma.

Los modelos seq2seq generalmente se basan en una arquitectura de codificador-decodificador:

  • Codificador: Toma la secuencia de entrada y la transforma en un vector de contexto fijo o una serie de vectores que representan la información contenida en la entrada. Este proceso convierte la información de la secuencia de entrada en una forma que el decodificador puede utilizar.
  • Decodificador: Toma el vector de contexto (o vectores) generado por el codificador y lo utiliza para producir la secuencia de salida, generando un elemento de la secuencia a la vez. En cada paso, la salida generada se utiliza como entrada para el siguiente paso de decodificación.

Esta arquitectura permite a los modelos seq2seq manejar secuencias de entrada y salida de longitud variable, lo que es esencial para muchas tareas de PLN. Además, los modelos seq2seq pueden ser mejorados con técnicas como atención y transformers, que ayudan a mejorar la capacidad del modelo para enfocarse en partes relevantes de la entrada mientras genera la salida, mejorando así la calidad y la precisión de las secuencias generadas.

GAN (Generative Adversarial Networks)

ChatGPT: He creado un dibujo que ilustra el concepto de Arquitectura GAN (Generative Adversarial Networks), mostrando dos entidades enfrentadas: un robot artista, que representa el componente generativo, pintando en un lienzo, y un robot crítico, simbolizando el componente adversario, evaluando la obra. Este diseño visualiza la interacción dinámica entre crear y evaluar, esencial en las GANs.

Las GAN, o redes generativas antagónicas (Generative Adversarial Networks en inglés), son un tipo de algoritmo de aprendizaje profundo que se utiliza en el procesamiento de imágenes y el procesamiento de señales. Las GAN consisten en dos redes neuronales que se entrenan juntas en un proceso competitivo: una red generativa y una red discriminativa.

La red generativa se entrena para producir muestras que imiten a un conjunto de datos de entrenamiento, como imágenes realistas. La red discriminativa, por otro lado, se entrena para distinguir entre las muestras generadas por la red generativa y las muestras reales del conjunto de datos de entrenamiento.

Durante el entrenamiento, la red generativa y la red discriminativa se entrenan en paralelo, y cada una intenta superar al otro. La red generativa intenta engañar a la red discriminativa produciendo muestras cada vez más realistas, mientras que la red discriminativa intenta detectar las muestras generadas por la red generativa con mayor precisión.

A medida que el entrenamiento continúa, la red generativa mejora su capacidad para producir muestras realistas, y la red discriminativa mejora su capacidad para distinguir entre las muestras reales y las generadas. Finalmente, la red generativa llega a un punto en el que produce muestras que son indistinguibles de las muestras reales, y la red discriminativa ya no puede distinguir entre ellas.

Las GAN se han utilizado con éxito en una variedad de aplicaciones, como la generación de imágenes realistas, la restauración de imágenes, la superresolución, la generación de música y la síntesis de voz. También se han utilizado en aplicaciones de aprendizaje activo y transferencia de estilo, y han demostrado ser una herramienta poderosa en el procesamiento de señales y el procesamiento de imágenes.

GABM (Generative Agent-Based Models)

Arquitectura Transformer

ChatGPT: He creado un dibujo que representa la arquitectura Transformer, ilustrando una máquina compleja con múltiples capas y secciones. Esta visualización enfatiza los mecanismos de atención, las capas de entrada y salida, y la codificación posicional, procesando flujos de datos que simbolizan la habilidad del modelo para aprender relaciones y patrones dentro de la información.

La arquitectura Transformer es un tipo de modelo de aprendizaje profundo introducido en el paper “Attention is All You Need” por Vaswani et al. en 2017. Es fundamentalmente diferente de sus predecesores debido a su uso único de la atención, específicamente la atención auto-dirigida, en lugar de depender de secuencias recurrentes o convoluciones. Esta arquitectura ha revolucionado el procesamiento del lenguaje natural (NLP) y ha encontrado aplicaciones en una amplia gama de tareas de IA, desde la generación de texto hasta la comprensión del lenguaje y más allá.

Componentes Clave del Transformer:

  1. Mecanismo de Atención: El corazón del Transformer es el mecanismo de atención, que permite al modelo ponderar la importancia de diferentes palabras en una oración. La “atención auto-dirigida” permite al modelo enfocarse en diferentes partes de la entrada para producir una salida, mejorando la capacidad del modelo para manejar dependencias a larga distancia. Esto es particularmente útil en tareas donde la relevancia de la información varía entre diferentes partes de la entrada, como en la traducción de idiomas o la generación de texto.
  2. Capas de Atención Múltiple (Multi-Head Attention): El Transformer utiliza múltiples “cabezas” de atención en paralelo para capturar diferentes aspectos de la información contextual, lo que permite un procesamiento más rico de la entrada.
  3. Codificadores y Decodificadores: arquitectura estándar del Transformer incluye bloques de codificadores y decodificadores. Los codificadores procesan la entrada, y los decodificadores generan la salida, con cada bloque compuesto por capas de atención y redes neuronales de alimentación directa (feedforward).
  4. Conexiones Residuales y Normalización de Capas: Cada subcapa dentro de los codificadores y decodificadores tiene una conexión residual alrededor de ella seguida de una normalización de capa. Esto ayuda a evitar el problema del desvanecimiento del gradiente en redes profundas, facilitando el entrenamiento de modelos muy grandes.

Ventajas del Transformer:

  • Eficiencia en Paralelización: A diferencia de los RNNs, que procesan datos secuencialmente, los Transformers pueden procesar toda la secuencia de entrada de una vez, lo que los hace altamente paralelizables y eficientes en términos de tiempo de entrenamiento.
  • Manejo de Dependencias a Larga Distancia: Gracias al mecanismo de atención, los Transformers pueden manejar dependencias a larga distancia mejor que las arquitecturas basadas en RNNs o CNNs.
  • Flexibilidad y Generalización: Han demostrado ser altamente eficaces en una amplia gama de tareas de procesamiento del lenguaje y análisis de secuencias, desde traducción automática hasta generación de texto.

Desde su introducción, la arquitectura Transformer ha sido la base para el desarrollo de modelos de lenguaje aún más potentes y eficientes, como BERT, GPT, y muchos otros, transformando el campo del NLP y estableciendo nuevos estándares para el rendimiento en diversas tareas de inteligencia artificial.

¿Cómo funcionan los mecanismos de atención que usa la arquitectura Transformer? Aunque existen diferentes tipos de mecanismos de atención, todos ellos siguen un proceso similar:

  1. Calcular las representaciones de contexto: primero, se calculan las representaciones vectoriales de las entradas y las consultas (si se utilizan).
  2. Calcular las puntuaciones de atención: a continuación, se calculan las puntuaciones de atención para cada par de representación de contexto y consulta (si se utiliza). Las puntuaciones de atención indican la relevancia de cada par de representaciones.
  3. Normalizar las puntuaciones de atención: las puntuaciones de atención se normalizan utilizando una función de softmax, lo que da como resultado una distribución de probabilidad sobre las representaciones de contexto.
  4. Calcular la representación de atención: la representación de atención se calcula ponderando las representaciones de contexto según las distribuciones de probabilidad calculadas en el paso anterior.

Existen diferentes tipos de mecanismos de atención, como la atención blanda (soft attention), la atención dura (hard attention), y la atención escalar (scalar attention). Cada tipo de atención tiene sus propias fortalezas y debilidades y se utiliza en diferentes escenarios

Más información

Modelos de Difusión

ChatGPT: He creado una imagen para explicar el concepto de “modelos de difusión”, mostrando una gota de tinta que se difunde en agua, transformándose gradualmente en una imagen o patrón claro y reconocible. Esta visualización simboliza cómo los modelos de difusión refinan datos ruidosos en información estructurada a través de un proceso de difusión inversa, destacando la transición del caos al orden.

La arquitectura subyacente de los modelos de difusión incluye elementos como redes de difusión (un tipo de modelo generativo que transforma patrones de ruido aleatorio en imágenes a través de un proceso iterativo) y puede integrar componentes de otras arquitecturas para mejorar su capacidad de generar imágenes de alta calidad basadas en texto.

Los modelos de difusión son, por tanto, una clase de algoritmos de aprendizaje profundo y han ganado popularidad en los últimos años para una variedad de tareas de procesamiento de señales y procesamiento de imágenes.

Los modelos de difusión se basan en el proceso de difusión, en el que una señal (como una imagen) se difunde gradualmente en el tiempo, y el objetivo es recuperar la señal original a partir de la versión difusa. Los modelos de difusión utilizan una red neuronal entrenada para modelar este proceso de difusión y recuperación, y han demostrado ser particularmente eficaces en la generación de imágenes realistas y de alta calidad.

El término “modelos de difusión” se utilizó por primera vez en el contexto del procesamiento de imágenes en el artículo “Score-based Generative Modeling through Stochastic Differential Equations” (Modelado generativo basado en puntuaciones mediante ecuaciones diferenciales estocásticas), publicado en 2019 por Jascha Sohl-Dickstein y sus coautores. En este artículo, los autores presentaron una nueva clase de modelos generativos basados en difusión que utilizan ecuaciones diferenciales estocásticas para modelar el proceso de difusión y recuperación.

Desde entonces, los modelos de difusión se han aplicado con éxito a una variedad de tareas de procesamiento de imágenes y procesamiento de señales, como la generación de imágenes, la restauración de imágenes, la superresolución y la denoising. Los modelos de difusión también se han extendido recientemente a otras modalidades de datos, como el audio y el video.

Los cuatro papers más importantes en desarrollar estos modelos han sido:

Productos

Más información

6.3 Características de diseño: Ventanas de Contexto

El concepto de “ventana de contexto” se relaciona con cómo los modelos de lenguaje y las redes neuronales manejan y procesan secuencias de información. Es un aspecto crucial en el diseño y funcionamiento de muchos tipos de redes neuronales, especialmente aquellas enfocadas en el procesamiento del lenguaje natural (NLP) y la comprensión de secuencias. La ventana de contexto se refiere a la cantidad de información pasada (por ejemplo, palabras en una oración, pasos en una serie temporal) que el modelo puede considerar o “ver” al momento de realizar predicciones o entender el estado actual de una secuencia.

ChatGPT: He creado un dibujo que ilustra el concepto de “ventana de contexto” en el contexto de ChatGPT, mostrando una pantalla de computadora que destaca una sección específica de una conversación. Esta sección resaltada simboliza el contexto inmediato que ChatGPT utiliza para comprender y responder al último mensaje, con el resto de la conversación desvaneciéndose en el fondo, representando las limitaciones de la IA para rastrear la historia completa de la conversación.

En el contexto de los modelos de lenguaje grande (LLM), una ventana de contexto se refiere al número máximo de tokens de entrada que un modelo puede procesar y considerar simultáneamente al predecir el siguiente token en una secuencia de texto.

En otras palabras, una ventana de contexto es una ventana deslizante de tamaño fijo que se mueve a lo largo de una secuencia de texto, y el modelo solo puede ver y procesar los tokens de entrada dentro de esa ventana en un momento dado.

Por ejemplo, si un modelo de lenguaje tiene una ventana de contexto de 512 tokens, solo puede considerar los primeros 512 tokens de entrada al predecir el sexto token. Después de predecir el sexto token, la ventana se desliza hacia adelante 1 token, y el modelo ahora considera los tokens 2 a 513 al predecir el séptimo token, y así sucesivamente.

Las ventanas de contexto son importantes en los modelos de lenguaje grande porque procesar secuencias de texto largas puede ser computacionalmente costoso y requerir una gran cantidad de memoria. Al limitar el tamaño de la ventana de contexto, los modelos pueden procesar secuencias de texto más largas de manera más eficiente y ahorrar recursos de computación.

Sin embargo, las ventanas de contexto también pueden limitar la capacidad de un modelo para capturar dependencias y relaciones a largo plazo en el texto. Si el contexto relevante para un token en particular se encuentra fuera de la ventana de contexto actual, el modelo puede tener dificultades para predecir adecuadamente el siguiente token. Por lo tanto, el tamaño de la ventana de contexto es un compromiso entre la eficiencia y la precisión del modelo.

La “ventana de contexto” puede ser vista como una característica de diseño que influye en cómo un modelo aborda tareas específicas, especialmente en cómo procesa y utiliza la información secuencial. Esta característica es fundamental en varios contextos:

  • En RNN, LSTM, y GRU: La ventana de contexto puede entenderse implícitamente como la capacidad del modelo para llevar información a través del tiempo, aunque técnicamente estas redes tienen la capacidad de “recordar” información a través de largas secuencias, su efectividad puede depender de la longitud de la secuencia y de cómo se maneja la desaparición del gradiente.
  • En Transformer y sus variantes: La ventana de contexto es explícitamente definida por el tamaño del mecanismo de atención, el cual determina cuántos elementos previos (por ejemplo, palabras en una oración) puede “ver” el modelo al procesar cada elemento. Los Transformers han sido notablemente eficaces en manejar ventanas de contexto más grandes en comparación con arquitecturas anteriores, gracias a su mecanismo de atención global.
  • En la generación de texto y otras tareas de NLP: La ventana de contexto determina cuánta información previa puede ser considerada por el modelo al generar texto o al tomar decisiones basadas en el texto, afectando directamente la coherencia y relevancia del contenido generado o analizado.

Prompt Engineering

La ingeniería de prompt es una disciplina relativamente nueva para el desarrollo y la optimización de prompts para utilizar eficientemente modelos de lenguaje (ML) en una amplia variedad de aplicaciones y temas de investigación. Las habilidades de ingeniería de prompt ayudan a comprender mejor las capacidades y limitaciones de los grandes modelos de lenguaje (LLM).

Los investigadores utilizan la ingeniería de prompt para mejorar la capacidad de los LLM en una amplia gama de tareas comunes y complejas, como responder preguntas y razonamiento aritmético. Los desarrolladores utilizan la ingeniería de prompt para diseñar técnicas de prompt robustas y efectivas que interactúen con los LLM y otras herramientas.

La ingeniería de prompt no solo se trata de diseñar y desarrollar prompts. Abarca una amplia gama de habilidades y técnicas útiles para interactuar y desarrollar con LLM. Es una habilidad importante para interactuar, construir y comprender las capacidades de los LLM. Puedes utilizar la ingeniería de prompt para mejorar la seguridad de los LLM y crear nuevas capacidades, como la incorporación de conocimientos de dominio y herramientas externas a los LLM.

Motivados por el gran interés en el desarrollo con LLM, hemos creado esta nueva guía de ingeniería de prompt que contiene todos los últimos artículos, guías de aprendizaje, modelos, conferencias, referencias, nuevas capacidades de LLM y herramientas relacionadas con la ingeniería de prompt.

Más información

6.4 Métodos de Optimización o Mejoramiento

Estos conceptos describen técnicas o modificaciones aplicadas a las arquitecturas de redes neuronales para mejorar su rendimiento, eficiencia o capacidades.

Descenso de gradientes: un pilar del aprendizaje automático

El Descenso de Gradientes es un algoritmo de optimización fundamental que juega un papel crucial en el campo del aprendizaje automático, especialmente en el entrenamiento de redes neuronales y grandes modelos de lenguaje. Es un método iterativo utilizado para minimizar la función de coste de un modelo, lo cual es esencial para mejorar su precisión y rendimiento. Aquí te proporcionamos una explicación detallada que puedes incluir en tu wiki personal.

¿Qué es el Descenso de Gradientes? (backpropagation)

El Descenso de Gradientes es un enfoque que busca encontrar el mínimo de una función de coste (o error) variando de manera iterativa los parámetros del modelo en la dirección opuesta al gradiente de la función en el punto actual. En otras palabras, este método ajusta los parámetros paso a paso, moviéndose gradualmente hacia el conjunto de valores que minimiza el error.

En este episodio del podcast de Lex Fridman, Jay McClelland explica cómo Geoffrey Hinton propuso este mecanismo para hacer más potentes las redes neuronales. El mecanismo ahora llamado “backpropagation” nación como una generalización del algoritmo denominado Delta Rule, inventado por un profesor del departamento de ingeniería electrónica de la Universidad de Stanford. La aplicación de este algoritmo a una red neuronal de una sola capa se conoce como backpropagation. El algoritmo de backpropagation es un método de optimización que funciona calculando el gradiente de la función de pérdida respecto a los parámetros del modelo y actualizando los parámetros en la dirección opuesta al gradiente.

¿Cómo Funciona el Descenso de Gradientes?

  1. Inicialización: Se inician los parámetros del modelo con valores aleatorios o una selección basada en algún criterio.
  2. Cálculo del Gradiente: Se calcula el gradiente de la función de coste, que indica la dirección de mayor aumento. El gradiente se calcula con respecto a cada parámetro del modelo.
  3. Actualización de Parámetros: Los parámetros se actualizan moviéndolos en la dirección opuesta al gradiente. Esto se logra mediante una tasa de aprendizaje \( \alpha \), que determina el tamaño del paso.
  4. Iteración: El proceso se repite hasta que el algoritmo converge a un mínimo, o hasta que se cumple un criterio de parada, como un número máximo de iteraciones o un cambio mínimo en la función de coste entre iteraciones consecutivas.

Importancia del Descenso de Gradientes

El Descenso de Gradientes es crucial porque permite que los modelos de aprendizaje automático se ajusten y mejoren con el tiempo. Sin este método, sería desafiante encontrar los valores óptimos de los parámetros que minimizan el error del modelo. Es especialmente importante en modelos complejos, como las redes neuronales profundas, donde la intuición o los métodos analíticos no pueden fácilmente sugerir la forma de ajustar los parámetros.

Tipos de Descenso de Gradientes

  • Descenso de Gradiente Estocástico (SGD): Actualiza los parámetros para cada muestra de entrenamiento. Es más rápido pero puede ser más errático.
  • Descenso de Gradiente por Lotes: Utiliza todo el conjunto de datos para calcular el gradiente y actualizar los parámetros en cada iteración. Es más estable pero puede ser muy lento para grandes conjuntos de datos.
  • Descenso de Gradiente Mini-Lote: Compromiso entre los dos anteriores, usando un subconjunto del conjunto de datos para cada actualización. Ofrece un equilibrio entre la eficiencia computacional y la estabilidad del aprendizaje.

Cómo los Transformer aprenden la estructura causal con el descenso de gradientes

Según Eshaan Nichani, Alex Damian, Jason D. Lee en How Transformers Learn Causal Structure with Gradient Descent:

El increíble éxito de los transformadores en las tareas de modelado de secuencias se puede atribuir en gran medida al mecanismo de autoatención, que permite transferir información entre diferentes partes de una secuencia. La autoatención permite a los transformadores codificar la estructura causal, lo que los hace especialmente adecuados para el modelado de secuencias. Sin embargo, el proceso por el cual los transformadores aprenden dicha estructura causal a través de algoritmos de entrenamiento basados en gradientes sigue siendo poco conocido. Para comprender mejor este proceso, introducimos una tarea de aprendizaje en contexto que requiere el aprendizaje de la estructura causal latente. Demostramos que el descenso de gradiente en un transformador simplificado de dos capas aprende a resolver esta tarea codificando el gráfico causal latente en la primera capa de atención. La idea clave de nuestra demostración es que el gradiente de la matriz de atención codifica la información mutua entre los tokens. Como consecuencia de la desigualdad en el procesamiento de los datos, las entradas más grandes de este gradiente corresponden a aristas en el grafo causal latente. Como caso especial, cuando las secuencias se generan a partir de cadenas de Markov en contexto, demostramos que los transformadores aprenden una cabeza de inducción (Olsson et al., 2022). Confirmamos nuestros hallazgos teóricos al mostrar que los transformadores entrenados en nuestra tarea de aprendizaje en contexto son capaces de recuperar una amplia variedad de estructuras causales.

Más información

Arquitectura MoE (Mixture of Experts)

ChatGPT: He creado un dibujo que representa el concepto de Arquitectura MoE (Mixture of Experts), mostrando un centro de control que dirige información hacia múltiples unidades especializadas, cada una con una experiencia única. Esta ilustración simboliza cómo estos expertos contribuyen a un proceso de toma de decisiones colectivas, enfatizando el enfoque dinámico y eficiente de la arquitectura para resolver problemas complejos.

En lugar de tener todas las unidades de atención y las capas completamente conectadas en paralelo, los modelos MoE tienen un conjunto de expertos especializados que se activan solo cuando se requieren para procesar las entradas. Esto permite a los modelos MoE aprovechar al máximo la capacidad de procesamiento y la memoria disponibles, lo que resulta en una mejora significativa en el rendimiento y la eficiencia. Sin embargo, la implementación y el entrenamiento de modelos MoE pueden ser desafiantes y requieren una infraestructura de aprendizaje profundo sofisticada y eficiente.

Según Desmitificando a la I.A: GPT4 Filtrado. MOE, rMLP, ”los MOE son una estrategia para el diseño de redes neuronales que consiste en tener varios modelos especializados en problemas particulares. Tanto GPT-4 como Gemini 1.5 tienen arquitectura MoE pero la implementan de forma diferente. GPT-4 estaría, al parecer, compuesto por 16 modelos expertos y la arquitectura de estos modelos sería la de un MLP, es decir, un perceptrón multicapa. Esta estructura aprovecha la capacidad que tienen los expertos para manejar aspectos de un problema de manera eficiente y en casos complejos. El feed-forward se haría con 2 expertos en el top. Así, se consigue ser apto para el procesamiento de lenguaje natural. Cada modelo experto es una red neuronal pero con 11 mil millones de parámetros cada una. Esto lo hace escalable y sostenible.

Gemini 1.5, en cambio, construye cada experto mediante la activación de ciertas variables del modelo y la desactivación del resto.

Zero-shot, Single-shot y Few-shot Learning

En el contexto de los modelos de lenguaje y aprendizaje automático, los términos “zero-shot”, “single-shot” y “few-shot” se utilizan para describir la capacidad de un modelo para realizar tareas para las cuales no ha sido explícitamente entrenado, o ha sido entrenado con ejemplos muy limitados. Estos términos destacan la flexibilidad y la capacidad de generalización de los modelos, especialmente en el ámbito de la inteligencia artificial y el procesamiento del lenguaje natural (NLP).

Concretamente, Zero-Shot Learning se refiere a la capacidad de un modelo para realizar correctamente una tarea sin haber visto ningún ejemplo específico de esa tarea durante el entrenamiento. En el contexto de modelos de lenguaje, esto significa que el modelo puede entender y ejecutar instrucciones o responder preguntas sobre temas que no fueron cubiertos durante su entrenamiento. Esto se logra generalmente a través de una comprensión profunda del lenguaje y del conocimiento del mundo que el modelo ha adquirido durante un entrenamiento previo en un conjunto de datos amplio y diverso.

Single-Shot Learning (también conocido como “one-shot learning”) se refiere a la capacidad del modelo para aprender de un solo ejemplo o instancia para realizar una tarea. En NLP, esto podría manifestarse como el modelo aprendiendo a realizar una nueva tarea de clasificación o respuesta a preguntas basándose en una única descripción o ejemplo de esa tarea.

Es una forma más desafiante de aprendizaje que la zero-shot porque el modelo debe generalizar a partir de un único ejemplo.

Few-Shot Learning implica que el modelo es capaz de aprender y realizar una tarea con un número muy limitado de ejemplos (generalmente más de uno, pero aún así significativamente menos de lo que se usa en el entrenamiento estándar de modelos de IA). En el contexto de NLP, un modelo de few-shot learning podría aprender a realizar una nueva tarea de clasificación o generación de texto con solo unos pocos ejemplos para guiarlo.

Test "aguja en un pajar"

ChatGPT: He creado una imagen que ilustra el concepto de “Needle in a Haystack”, mostrando un vasto montón de heno con una pequeña aguja metálica escondida entre sus meandros, destacando el desafío de encontrar algo muy pequeño o específico en un entorno grande y desordenado.

Un “test de aguja en el pajar” se refiere a un tipo de evaluación que tiene como objetivo evaluar la capacidad del modelo para recuperar información específica dentro del contexto que se le ha proporcionado como parte de la pregunta. El nombre del test se deriva de la idea de encontrar una pequeña pieza de información específica (la “aguja”) dentro de un conjunto mucho más grande e irrelevante de información (el “pajar”) e ilustra el desafío de localizar la información correcta o la respuesta más relevante en medio de una gran cantidad de datos irrelevantes o menos pertinentes.

En el contexto específico de los modelos del lenguaje, este tipo de prueba puede involucrar:

  • Búsqueda de información precisa: Solicitar al modelo que encuentre datos o respuestas muy específicas, como un hecho histórico poco conocido, la explicación de un término técnico raro o detalles específicos de un evento. Esto evalúa la habilidad del modelo para comprender la consulta y buscar en su entrenamiento o en su capacidad de razonamiento incorporada para encontrar la respuesta correcta.
  • Generación de contenido único o específico: Pedir al modelo que genere contenido que cumpla con criterios muy detallados o que se ajuste a un contexto particularmente raro o específico. Esto pone a prueba la capacidad del modelo para crear respuestas que no solo sean relevantes y precisas, sino también únicas o altamente personalizadas.
  • Comprensión y aplicación de conocimientos especializados: Evaluar si el modelo puede aplicar conocimientos de áreas especializadas o nichos para responder preguntas o resolver problemas que requieren comprensión experta.

El éxito en estos tests indica que el modelo no solo tiene una vasta cantidad de información almacenada y accesible, sino que también es capaz de aplicar razonamiento complejo y habilidades de comprensión para filtrar y seleccionar la información más relevante frente a una pregunta o tarea dada. Esto es particularmente desafiante debido a la necesidad de equilibrar la precisión, la relevancia y la creatividad, al mismo tiempo que se minimiza la generación de respuestas genéricas o irrelevantes.

Fine tuning. LoRA: Low-Rank Adaptation of Large Language Models

LoRA, que significa Low-Rank Adaptation, es una técnica para adaptar grandes modelos de lenguaje con una cantidad mínima de parámetros adicionales. En lugar de ajustar todos los parámetros de un modelo pre-entrenado (que pueden ser cientos de millones o incluso miles de millones), LoRA se centra en ajustar solo una pequeña fracción de ellos para adaptar el modelo a una tarea específica o a nuevos datos. Esto se logra introduciendo matrices de adaptación de bajo rango que se aplican a los pesos pre-entrenados del modelo.

El enfoque de bajo rango es clave porque permite que los modelos retengan la mayor parte de su conocimiento original mientras se adaptan eficientemente a nuevas tareas. Al modificar solo una pequeña parte de los parámetros del modelo, LoRA hace que la adaptación de modelos de lenguaje grandes sea mucho más accesible en términos de recursos computacionales y tiempo, permitiendo incluso a usuarios con recursos limitados personalizar modelos potentes para sus necesidades específicas.

LoRA puede ser especialmente útil en situaciones donde se necesita afinar un modelo en un conjunto de datos específico o para una tarea que no estaba bien representada en el conjunto de datos original de entrenamiento del modelo. Al ofrecer una manera eficiente de personalizar modelos grandes, LoRA abre nuevas posibilidades para aplicaciones de IA personalizadas y de nicho.

Más información

Fine tuning. GaLore: Gradient Low-Rank Projection

Ver el paper GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection

Explicación (editada) de ChatGPT:

GaLore es un enfoque novedoso para entrenar modelos de redes neuronales grandes, específicamente un modelo de 7 mil millones (7B) de parámetros, en hardware con memoria relativamente limitada, como las GPU Nvidia RTX 4090 que tienen 24 GB de memoria. Esto es particularmente significativo porque, tradicionalmente, entrenar tales modelos grandes requería mucha más memoria de la que ofrecen estas GPU. Vamos a desglosar los puntos clave para mayor claridad:

1. Suposiciones que Low Rank hace: Las técnicas tradicionales, como LoRA, asumen que los pesos en una red neuronal tienen una estructura de bajo rango, lo que significa que pueden representarse o aproximarse por matrices con menos filas y columnas. Esto reduce la cantidad de memoria necesaria pero puede alterar la forma en que el modelo aprende (sus dinámicas de entrenamiento).

2. Enfoque innovador con GaLore: A diferencia de LoRA, GaLore se centra en el gradiente de los pesos, en lugar de los pesos mismos. Durante el entrenamiento, el gradiente (que representa cuánto necesita cambiar cada peso para reducir el error) es naturalmente de bajo rango.3) GaLore aprovecha esto proyectando el gradiente de peso en un espacio de menor dimensión, lo que reduce significativamente el uso de memoria sin alterar las dinámicas de entrenamiento.

3. Ahorro de memoria: Al aplicar esta técnica, GaLore ahorra memoria no solo en los gradientes sino también en dos componentes críticos del proceso de entrenamiento: el momento y la varianza de Adam.4) Adam es un algoritmo de optimización que utiliza el momento y la varianza para ajustar cómo cambian las tasas de aprendizaje para diferentes parámetros. Reducir el uso de memoria aquí sin cambiar el comportamiento de aprendizaje del modelo es un logro significativo.

4. Eficiencia y efectividad: GaLore permite pre-entrenar modelos muy grandes (hasta 7B de parámetros) desde cero, en hardware, con memoria limitada, y sin necesitar una fase de calentamiento que consume mucha memoria. Los modelos entrenados usando GaLore con solo un cuarto del rango utilizado en los métodos de entrenamiento tradicionales pueden lograr una perplejidad comparable (una medida de qué tan bien un modelo de probabilidad predice una muestra) a los métodos de entrenamiento vainilla en hasta 13B/20B de tokens. La perplejidad es una medida estándar para el rendimiento de los modelos de lenguaje, con valores más bajos indicando un mejor rendimiento predictivo. Además, con la mitad del rango, el modelo de 1B actúa incluso mejor, demostrando la eficiencia de GaLore.

5. Aplicación en ajuste fino: Además del pre-entrenamiento, GaLore también es efectivo para el ajuste fino de modelos, produciendo resultados comparables a los obtenidos con LoRA. El ajuste fino es un proceso en el que un modelo pre-entrenado se ajusta para desempeñar mejor una tarea específica.

GaLore supone, por tanto, un avance significativo en el campo del aprendizaje automático al permitir el entrenamiento de redes neuronales grandes en hardware con memoria limitada sin comprometer la calidad del entrenamiento. Esto abre posibilidades para que más investigadores y practicantes trabajen con modelos grandes sin necesitar acceso a recursos informáticos con memoria extremadamente alta.

6.5 Comparativa de métodos de mejoramiento

RAG (Retrieval Augmented Generation)

ChatGPT: He creado un dibujo que ilustra el concepto de Retrieval Augmented Generation (RAG), mostrando a un bibliotecario buscando materiales relevantes en una vasta biblioteca y pasándolos a un escritor que compone creativamente una nueva obra. Esta escena captura la esencia de RAG: la mejora de la generación de contenido nuevo mediante la utilización de información recuperada de una gran base de datos.

“RAG” o “Retrieval Augmented Generation” es una técnica en el campo del procesamiento del lenguaje natural que combina la recuperación de información con la generación de texto. En este enfoque, un modelo primero busca información relevante de una base de datos o conjunto de documentos y luego utiliza esta información para generar una respuesta más informada e integral.

Las idea tras RAG es mejorar los grandes modelos de lenguaje preentrenados, que aunque almacenan mucho conocimiento, tienen dificultades para acceder y usar ese conocimiento de manera precisa en tareas que requieren mucha información. Esta técnica combina memoria de dos tipos: una paramétrica (basada en modelos seq2seq preentrenados) y una no paramétrica (un índice de Wikipedia accesible mediante una herramienta de recuperación). Este enfoque se probó en varias tareas de procesamiento de lenguaje natural (PLN) que requieren mucho conocimiento, logrando resultados superiores a los de modelos anteriores. Los modelos RAG demostraron ser capaces de generar respuestas más específicas, diversas y basadas en hechos que los modelos seq2seq estándar.

El “abstract” del artículo original sobre RAG, de Patrick Lewis, de 2021, dice:

Se ha demostrado que los grandes modelos de lenguaje previamente entrenados almacenan conocimiento fáctico en sus parámetros y logran resultados de última generación cuando se ajustan en tareas posteriores de PNL. Sin embargo, su capacidad para acceder y manipular con precisión el conocimiento aún es limitada y, por lo tanto, en tareas intensivas en conocimiento, su desempeño va por detrás de las arquitecturas específicas de tareas. Además, determinar la procedencia de sus decisiones y actualizar su conocimiento del mundo siguen siendo problemas de investigación abiertos. Hasta ahora, los modelos previamente entrenados con un mecanismo de acceso diferenciable a la memoria explícita no paramétrica solo se han investigado para tareas extractivas posteriores. Exploramos una receta de ajuste de propósito general para la generación aumentada de recuperación (RAG): modelos que combinan memoria paramétrica y no paramétrica previamente entrenada para la generación de lenguaje. Introducimos modelos RAG donde la memoria paramétrica es un modelo seq2seq previamente entrenado y la memoria no paramétrica es un índice vectorial denso de Wikipedia, al que se accede con un recuperador neuronal previamente entrenado. Comparamos dos formulaciones de RAG, una que condiciona los mismos pasajes recuperados en toda la secuencia generada y otra que puede usar diferentes pasajes por token. Afinamos y evaluamos nuestros modelos en una amplia gama de tareas de PNL intensivas en conocimiento y establecemos el estado del arte en tres tareas de control de calidad de dominio abierto, superando los modelos paramétricos seq2seq y las arquitecturas de recuperación y extracción específicas de tareas. Para las tareas de generación de lenguaje, encontramos que los modelos RAG generan un lenguaje más específico, diverso y factual que una línea base seq2seq de última generación únicamente paramétrica.

El proceso RAG consta de dos etapas principales:

  1. Recuperación (Retrieval): Este paso utiliza modelos de aprendizaje automático para buscar y recuperar información relevante de una gran base de datos o corpus de documentos. Estos modelos están entrenados para entender la consulta y encontrar los fragmentos de texto más relevantes, basándose en similitudes semánticas y contextuales.
  2. Generación (Generation): La información recuperada se pasa a un modelo generativo, como un Transformer pre-entrenado (por ejemplo, GPT), que crea una respuesta. Este modelo utiliza la información recuperada para generar una respuesta más informada y contextualmente adecuada.

La innovación de RAG radica en su capacidad para integrar dinámicamente información específica y relevante en sus respuestas, utilizando técnicas avanzadas de aprendizaje profundo en lugar de reglas predefinidas. Esto lo hace particularmente efectivo en tareas como la respuesta a preguntas y la generación de texto, donde la relevancia y la precisión de la información son fundamentales.

En otras palabras, llena un vacío en el funcionamiento de los LLM. En esencia, los LLM son redes neuronales, que generalmente se miden por la cantidad de parámetros que contienen. Los parámetros de un LLM representan esencialmente los patrones generales de cómo los humanos usan las palabras para formar oraciones. Esa comprensión profunda, a veces denominada conocimiento parametrizado, hace que los LLM sean útiles para responder a indicaciones generales a la velocidad de la luz. Sin embargo, no sirve a los usuarios que desean profundizar en un tema actual o más específico.

Tutoriales

Más información:

LoRA vs. GaLore

Instead of assuming low-rank weight structure like LoRA, we show that the weight gradient is naturally low-rank and thus can be projected into a (changing) low-dimensional space. Therefore, we save memory on gradient, Adams' momentum and variance at the same time! As a result, unlike LoRA, GaLore does not change the training dynamics and can be used to pre-train a 7B model from scratch, without any memory-consuming warm-up. This yields 1B/7B models with comparable perplexity as vanilla training up to 13B/20B tokens, using only 1/4 of the rank. With 1/2 of the rank, our 1B model is even better🤯. GaLore can also be used to do fine-tuning as well, yielding comparable results with LoRA.
— fuente: https://twitter.com/tydsh/status/1765628222308491418?t=Zk7uPFQTFkMyna4oi76NFw&s=19

LoRA vs. RAG

LoRA (Low-Rank Adaptation) y RAG (Retrieval-Augmented Generation) son dos técnicas diferentes que sirven para propósitos distintos en el campo de la inteligencia artificial y el procesamiento del lenguaje natural. Cada una aborda un aspecto diferente de la personalización y mejora de modelos de lenguaje, cada uno desde su propio enfoque único.

LoRA se centra en la adaptación de modelos de lenguaje grandes con una cantidad mínima de parámetros adicionales. Se trata de una técnica de ajuste fino que modifica una pequeña fracción de los parámetros de un modelo pre-entrenado para adaptarlo a tareas específicas o a nuevos datos, utilizando matrices de adaptación de bajo rango. Su objetivo principal es permitir la personalización eficiente de modelos grandes de lenguaje con un costo computacional reducido.

RAG, por otro lado, es una técnica que combina modelos generativos pre-entrenados con sistemas de recuperación de información para enriquecer las respuestas generadas con información extraída de una base de datos o conjunto de documentos. Al realizar una consulta a una base de datos de documentos durante el proceso de generación, RAG puede incorporar conocimientos específicos y actualizados en sus respuestas, mejorando su relevancia y precisión. Es especialmente útil en tareas de generación de texto donde la precisión factual y la capacidad de acceder a información externa son importantes.

Ambas abordan diferentes aspectos del trabajo con modelos de lenguaje grandes y sirven para diferentes propósitos dentro del campo de la inteligencia artificial.

una buena manera de entender la diferencia entre LoRA y RAG es pensar que LoRA cambia el modelo, mientras que RAG cambia sólo las respuestas concretas que le estamos pidiendo al modelo en función del contexto que le damos.

LoRA cambia el modelo en sí, aunque de manera mínima, adaptando sus parámetros para mejorar su rendimiento en tareas o contextos específicos. Esto significa que, después de aplicar LoRA, el modelo modificado se comportará de manera diferente a como lo hacía antes de la adaptación, incluso antes de que se le presente cualquier entrada específica.

RAG, por otro lado, cambia las respuestas generadas por el modelo basándose en información adicional recuperada de una fuente externa en el momento de la generación de la respuesta. RAG no modifica los parámetros internos del modelo generativo; en cambio, enriquece el proceso de generación de respuestas al combinar la capacidad de generación del modelo con información relevante recuperada en tiempo real. Esto hace que las respuestas sean más ricas en contenido y específicas al contexto que se le proporciona.

[07] Inteligencia Artificial Generativa. LLMs.

ChatGPT: He creado una imagen que ilustra el concepto de IA Generativa, mostrando un robot en el proceso creativo, utilizando conocimientos adquiridos de diversas fuentes para crear obras originales en diferentes formas, destacando la versatilidad y el potencial creativo de la IA Generativa.

Una IA generativa es un tipo de inteligencia artificial diseñada para crear contenido nuevo y original, como imágenes, texto, música o incluso códigos de programación.

A diferencia de la inteligencia artificial basada en reglas, que sigue un conjunto fijo de instrucciones, la IA generativa aprende patrones a partir de grandes cantidades de datos y puede utilizar esos patrones para crear cosas nuevas y únicas.

Esto incluye una variedad de aplicaciones, como la generación de texto, música, imágenes y vídeos, así como la creación de nuevas ideas y soluciones en áreas como el diseño de productos, la investigación científica y el desarrollo de fármacos.

La forma en que funciona se puede explicar en pasos simples:

  • Aprendizaje: Primero, la IA necesita aprender de ejemplos existentes. Esto es similar a cómo un artista aprende a dibujar observando muchas imágenes o un escritor mejora su habilidad leyendo muchos libros. La IA examina una gran cantidad de datos, como fotografías, textos o melodías, para entender cómo se crean estos contenidos.
  • Análisis: Luego, la IA analiza los patrones, estilos y estructuras dentro de estos ejemplos. Esto le ayuda a comprender, por ejemplo, qué hace que una imagen sea atractiva o qué estructura tiene una novela. En este paso, la IA busca reglas o patrones comunes que puede usar para generar nuevos contenidos.
  • Generación: Una vez que ha aprendido y analizado suficiente información, la IA puede comenzar a generar su propio contenido. Dependiendo de lo que se le pida, puede crear algo completamente nuevo que nunca se ha visto antes, mezclando y combinando los elementos que ha aprendido de una manera única.
  • Refinamiento: En algunos casos, la IA también puede revisar y mejorar su propio trabajo, ajustando y perfeccionando el contenido generado para que se acerque más a lo que se espera o desea.

Un ejemplo de IA generativa es un modelo de lenguaje, como GPT (Generative Pretrained Transformer), que puede escribir textos que parecen haber sido escritos por humanos, desde cuentos hasta artículos de opinión. Otro ejemplo son los modelos que generan imágenes artísticas o fotorealistas a partir de descripciones textuales.

La clave de una IA generativa es su capacidad para aprender de grandes cantidades de datos y luego usar ese aprendizaje para crear algo nuevo, siguiendo las instrucciones o directrices que se le dan, pero sin estar limitada a copiar exactamente lo que ha visto antes. Esto la hace poderosa para tareas creativas y de innovación.

— fuente: https://developer.nvidia.com/blog/improving-diffusion-models-as-an-alternative-to-gans-part-1/

¿Generativa?

Generación de texto

FIXME

Generación de Vídeo

  • Modelos de difusión mejores que los GAN

FIXME

Generación de música

Antecedente: Grafos semánticos

Los grafos semánticos se introdujeron a finales de 2022 con txtai 5.0, justo antes del inicio de la era LLM.

Los grafos semánticos son estructuras de datos que representan conocimientos y relaciones entre entidades en un dominio específico. Un grafo semántico está compuesto por nodos y aristas, donde cada nodo representa una entidad o concepto, y cada arista representa una relación semántica entre dos entidades.

Los grafos semánticos se utilizan en una variedad de aplicaciones, como el procesamiento del lenguaje natural, la minería de texto, la búsqueda semántica, la visualización de datos y el aprendizaje automático. Se utilizan para representar conocimientos y relaciones en una variedad de dominios, como la biología, la medicina, la química, la física, la economía, la sociología y la política.

Los grafos semánticos se construyen mediante la extracción de entidades y relaciones de fuentes de datos estructuradas y no estructuradas, como textos, tablas, gráficos y esquemas de bases de datos. La extracción de entidades y relaciones puede realizarse mediante técnicas de procesamiento de lenguaje natural, como el reconocimiento de entidades nombradas, el etiquetado de partes del discurso y la extracción de relaciones.

Imagina un pequeño universo de conocimiento sobre algunos animales y sus características. Podemos tener los siguientes nodos (conceptos): “Gato”, “Perro”, “Animal Doméstico”, “Maúlla”, “Ladra”. Ahora, conectamos estos nodos mediante arcos que representan las relaciones entre ellos:

  • “Gato” es un “Animal Doméstico”.
  • “Perro” es un “Animal Doméstico”.
  • “Gato” “Maúlla”.
  • “Perro” “Ladra”.

En forma de grafo, tendríamos algo así:

   Animal Doméstico
       /       \
     Gato     Perro
     /           \
  Maúlla       Ladra

Este grafo semántico muestra de forma visual cómo se relacionan entre sí estos conceptos: tanto gatos como perros son animales domésticos, pero se diferencian en las acciones de maullar y ladrar, respectivamente.

Una vez construidos, los grafos semánticos se pueden utilizar para una variedad de tareas, como la inferencia y la deducción, la clasificación y la agrupación, la búsqueda y la navegación, y la visualización y la exploración. Los grafos semánticos también se pueden combinar con técnicas de aprendizaje automático y redes neuronales para mejorar su precisión y eficiencia.

Mezclar RAG con gráficos semánticos es muy útil cuando no tenemos una pregunta directa, sino que queremos explorar un tema. Podemos comenzar con un tema y este método puede informarnos sobre los datos. A menudo, una de las partes más difíciles de la búsqueda es saber qué buscar.

Ver: https://neuml.hashnode.dev/generate-knowledge-with-semantic-graphs-and-rag

Hitos en la IA Generativa

Uno de los primeros ejemplos de un programa que podría considerarse una forma de inteligencia artificial generativa es el “Programa de Ajedrez” de Alan Turing, concebido en 1950, aunque no se implementó en una computadora en ese momento. Este programa estaba diseñado para jugar ajedrez, lo que implicaba la generación de movimientos basados en una serie de reglas y estrategias.

Otro ejemplo temprano es ELIZA, un programa de computadora creado por Joseph Weizenbaum entre 1964 y 1966. ELIZA es considerado uno de los primeros programas en procesar el lenguaje natural e imitaba una conversación al utilizar un guion muy simple para simular una conversación con un psicoterapeuta Rogeriano. Aunque las capacidades de ELIZA eran bastante básicas y no “entendía” realmente las conversaciones, generaba respuestas que a menudo parecían sorprendentemente humanas, engañando a algunos usuarios para que creyeran que estaban hablando con un humano.

En los años siguientes, surgieron programas más sofisticados que buscaban imitar la creatividad humana o generar contenido nuevo, como AARON, un programa de dibujo desarrollado por Harold Cohen a finales de los años 60 y principios de los 70, que podía crear obras de arte originales.

La verdadera revolución en la inteligencia artificial generativa comenzó con el desarrollo de redes neuronales profundas y el aprendizaje automático en las últimas décadas, culminando en modelos contemporáneos como los de la serie GPT (Generative Pre-trained Transformer) de OpenAI, que comenzaron a surgir en 2018 con GPT-1. Estos modelos modernos pueden generar texto, imágenes, música y otros tipos de contenido con un nivel de sofisticación y coherencia mucho mayor que cualquier cosa vista anteriormente.

Modelos de Lenguaje (LLM)

ChatGPT: He creado imágenes que ilustran el concepto de un Modelo de Lenguaje de Gran Escala (LLM), mostrando una vasta biblioteca que simboliza el extenso conocimiento que estos modelos pueden acceder y procesar, con un cerebro gigante en el centro representando la capacidad del LLM para entender, generar e interpretar el lenguaje humano a partir de grandes cantidades de datos textuales.

Un modelo de lenguaje (LLM, por sus siglas en inglés) es un tipo de modelo de aprendizaje profundo que se utiliza para procesar y analizar el lenguaje natural. Un LLM se entrena con grandes cantidades de texto etiquetado, utilizando técnicas de aprendizaje profundo para aprender a representar el lenguaje de una manera que pueda ser utilizada para una variedad de tareas de procesamiento de lenguaje natural.

Los modelos de lenguaje son una herramienta fundamental para la IA generativa: se utilizan para entrenar a la IA generativa, enseñándole a la IA a generar texto coherente y natural, utilizando técnicas de aprendizaje profundo como el aprendizaje por refuerzo y las técnicas de retropropagación, entre otras.

Debido a esa alta capacidad en el uso del lenguaje, los LLM se han vuelto cada vez más populares en la comunidad de inteligencia artificial en los últimos años pues son capaces de aprender a representar el lenguaje de manera útil para una amplia variedad de aplicaciones, como la traducción automática, el reconocimiento de voz, el análisis de sentimiento y la generación de texto.

Ojo: son modelos de lenguaje, no modelos del mundo

A la hora de usar los grandes modelos de lenguaje (LLM) es importante tomar en cuenta qué son y qué no son:

1. Basados en el texto, no en la experiencia: A diferencia de los seres humanos, los LLMs adquieren su “conocimiento” exclusivamente del análisis de grandes cantidades de texto. No tienen experiencia sensorial o emocional del mundo, lo que significa que su “comprensión” se basa en patrones lingüísticos y no en experiencias reales.

2. Representación de lo que está escrito, no de la verdad: Los LLMs reflejan las relaciones y la información contenida en los textos de entrenamiento. Esto significa que si el conjunto de datos de entrenamiento incluye información inexacta, sesgada o desactualizada, el modelo puede reproducir estos mismos errores o sesgos.

3. Falta de comprensión del mundo real: Los LLMs pueden generar respuestas que parecen lógicas y coherentes desde una perspectiva lingüística, pero esto no garantiza que la información sea verdadera o aplicable en situaciones del mundo real. No pueden distinguir entre hechos y ficción de la misma manera que lo haría un humano con conocimiento del contexto.

4. Incapacidad para verificar hechos en tiempo real: Los LLMs están limitados por la información con la que fueron entrenados y no tienen la capacidad de acceder o verificar información en tiempo real. Esto significa que no pueden proporcionar actualizaciones o corregir información basada en desarrollos recientes.

5. Importancia del escrutinio humano: Es crucial que los usuarios de LLMs apliquen su propio juicio crítico al evaluar las respuestas generadas por estos modelos. Los usuarios deben ser conscientes de estas limitaciones y verificar la información a través de fuentes confiables y actualizadas cuando sea necesario.

6. Sesgos y limitaciones: Reconocer y abordar los sesgos inherentes a los conjuntos de datos de entrenamiento es fundamental para comprender y mitigar las limitaciones de los LLMs. Aunque se están realizando esfuerzos para hacer que estos modelos sean más justos y equitativos, todavía es un área activa de investigación y desarrollo.

Incluir una sección como esta no solo educará a tus lectores sobre las capacidades y limitaciones de los LLMs, sino que también fomentará un uso más responsable e informado de esta tecnología.

Arquitectura

Se basan en una arquitectura de aprendizaje profundo llamada Transformer, que fue introducida por primera vez en un artículo de investigación en 2017. La arquitectura Transformer utiliza una técnica llamada “self-attention”, que permite al modelo aprender a enfocarse en diferentes partes del texto y analizar cómo se relacionan entre sí.

Se entrenan con grandes conjuntos de datos de texto etiquetado, que pueden incluir cualquier tipo de texto, como artículos de noticias, libros, correos electrónicos, tweets, etc. Durante el entrenamiento, el modelo aprende a asignar un conjunto de números a cada palabra o frase en el texto, lo que se conoce como representación de palabras o embeddings.

Una vez entrenado, un LLM puede ser utilizado para una variedad de tareas de procesamiento de lenguaje natural, como la traducción automática, el reconocimiento de voz, el análisis de sentimiento, la generación de texto y la resolución de preguntas frecuentes. Además, los LLM también se pueden utilizar como feature extractor para otras tareas de aprendizaje automático, como la clasificación de texto o la predicción de eventos.

Autorregresivos (GPT) vs. Bidireccionales (BERT)

Los modelos de lenguaje de gran tamaño (LLMs) como GPT (Generative Pre-trained Transformer) y BERT (Bidirectional Encoder Representations from Transformers) utilizan diferentes enfoques para procesar y generar texto, conocidos como auto-regresivos y bidireccionales, respectivamente. Aquí te explico las diferencias clave entre ellos:

1. Direccionalidad:

  1. Auto-regresivos: Los modelos auto-regresivos, como GPT, generan texto prediciendo la siguiente palabra en una secuencia basándose exclusivamente en las palabras anteriores. Este proceso es unidireccional, es decir, va siempre hacia adelante (o en una sola dirección en caso de variantes que trabajan hacia atrás).
  2. Bidireccionales: Los modelos bidireccionales, como BERT, consideran el contexto de ambas direcciones (palabras antes y después de la palabra objetivo) para generar una representación de las palabras. Esto significa que durante el entrenamiento, el modelo tiene acceso a todo el contexto alrededor de una palabra, no solo a lo que precede a la palabra.

2. Uso:

  1. Auto-regresivos: Son especialmente buenos para tareas de generación de texto, como escribir texto continuando desde un punto dado, porque pueden generar secuencias de texto palabra por palabra en una dirección.
  2. Bidireccionales: Son más efectivos para tareas que requieren comprensión del texto, como respuesta a preguntas, clasificación de textos y extracción de información. Esto se debe a que pueden comprender mejor el contexto alrededor de cada palabra.

3. Formación:

  1. Auto-regresivos: Se entrenan para predecir la siguiente palabra en una secuencia basándose en las anteriores, aprendiendo patrones de lenguaje de forma secuencial.
  2. Bidireccionales: Se entrenan para predecir palabras en una secuencia con acceso al contexto completo, lo que les permite aprender relaciones más complejas entre las palabras.

4. Ejemplos de aplicación:

  1. Auto-regresivos: Creación de contenido, traducción automática secuencial, generación de respuestas continuas.
  2. Bidireccionales: Clasificación de sentimientos, reconocimiento de entidades nombradas, respuestas a preguntas basadas en un contexto dado.

Tanto los modelos auto-regresivos como los bidireccionales utilizan aprendizaje auto-supervisado (self-supervised learning) durante su entrenamiento. El aprendizaje auto-supervisado es una técnica en la que el modelo aprende a partir de datos sin etiquetas explícitas, generando sus propias etiquetas a partir de la estructura inherente de los datos. Esto es fundamental en el procesamiento del lenguaje natural (NLP), donde etiquetar grandes cantidades de datos puede ser costoso y consumir mucho tiempo.

En el contexto de los modelos de lenguaje:

- Modelos Auto-regresivos (como GPT): Generan sus propias etiquetas dividiendo los datos de entrada en secuencias donde cada palabra sucesiva se convierte en una “etiqueta” para predecir basándose en las palabras anteriores. El modelo aprende a predecir la próxima palabra en una secuencia, utilizando las palabras anteriores como contexto.

- Modelos Bidireccionales (como BERT): Crean etiquetas ocultando partes del texto (por ejemplo, reemplazando algunas palabras con un token especial de “máscara”) y luego entrenándose para predecir las palabras ocultas basándose en el contexto proporcionado por las palabras no ocultas en ambos lados de la palabra enmascarada. Esto permite que el modelo aprenda a entender el contexto de una manera más rica, ya que tiene en cuenta tanto el texto previo como el siguiente.

El aprendizaje auto-supervisado permite que estos modelos aprovechen grandes cantidades de texto sin necesidad de intervención humana para etiquetar los datos, lo cual es especialmente valioso dado el volumen de datos necesario para entrenar modelos de lenguaje de alta calidad.

LLM autorregresivos (AR)

Los modelos de lenguaje autorregresivos (LLaMA, Mistral, etc.) están fundamentalmente limitados para la incrustación de texto, ya que no codifican información de forma bidireccional.

Ver hilo: https://x.com/jacspringer/status/1762195840951849128?s=20

Los modelos de lenguaje autorregresivos (AR) son una clase de modelos de aprendizaje que se basan en la idea de que el siguiente token (o palabra) en una secuencia de texto depende de los tokens anteriores, y utilizan una técnica llamada “auto-regresión” para predecir el siguiente token en la secuencia.

Algunos ejemplos de modelos de lenguaje AR son Language Modeling, La Arquitectura Transformer y BERT. Por otro lado, los modelos de lenguaje que no son AR incluyen modelos basados en reglas, gramática, statistical machine translation y neural machine translation.

Los modelos de lenguaje AR se han vuelto cada vez más populares en la comunidad de inteligencia artificial en recentemente, ya que han demostrado ser capaces de generar texto coherente y natural en una variedad de tareas, como la traducción automática, la generación de texto y la comprensión del lenguaje natural.

Los modelos de lenguaje AR se basan en la idea de que el lenguaje es una secuencia de tokens, y que cada token depende de los tokens anteriores en la secuencia. Para entrenar un modelo de lenguaje AR, se utiliza una gran cantidad de datos de texto etiquetados, que se utilizan para entrenar el modelo para predecir el siguiente token en la secuencia.

El proceso de entrenamiento de un modelo de lenguaje AR se puede dividir en dos etapas principales:

  • Entrenamiento de la capa de entrada: En esta etapa, el modelo se entrena para aprender a representar los datos de entrada (por ejemplo, el texto) en una representación numérica que pueda ser procesada por la red neuronal.
  • Entrenamiento de la capa de salida: En esta etapa, el modelo se entrena para predecir el siguiente token en la secuencia de texto. La capa de salida del modelo se entrena para producir una salida que sea coherente con el contexto del texto.

Los modelos de lenguaje AR se han utilizado en una variedad de aplicaciones, como la traducción automática, la generación de texto, la comprensión del lenguaje natural y la creación de chatbots.

Ventajas de los modelos de lenguaje AR:

  • Capacidad de generar texto coherente: Los modelos de lenguaje AR son capaces de generar texto coherente y natural, lo que los hace ideales para aplicaciones como la traducción automática y la generación de texto.
  • Capacidad de aprender de los datos: Los modelos de lenguaje AR pueden aprender de los datos de texto etiquetados, lo que les permite mejorar su rendimiento a medida que se les proporcionan más datos.
  • Flexibilidad: Los modelos de lenguaje AR se pueden utilizar para una variedad de tareas, como la traducción automática, la generación de texto y la comprensión del lenguaje natural.

Desventajas de los modelos de lenguaje AR:

  • 1. Requiere grandes cantidades de datos: Los modelos de lenguaje AR requieren grandes cantidades de datos de texto etiquetados para entrenar el modelo adecuadamente.
  • 2. Tiempo de entrenamiento prolongado: El entrenamiento de un modelo de lenguaje AR puede tomar mucho tiempo, especialmente si se utilizan grandes conjuntos de datos.
  • 3. Dificultad para controlar la coherencia: A veces, los modelos de lenguaje AR pueden generar texto que no es coherente o natural, lo que puede ser un desafío para controlar la calidad del texto generado.

Crítica de Yann LeCunn a los modelos autorregresivos

Things to abandon (at least partially, or minimize) on the way to human-level AI: generative models, probabilistic modeling, contrastive methods, reinforcement learning.

@ylecun 11:38 PM · Mar 12, 2024

so my recommendations are work on planning and reasoning and memory but abandon generative models abandon probabilistic models in favor of energy based models abandon contrastive methods in favor of those regularized methods and of course abandon reinforcement learning“.

Yann LeCun, Meta and NYU - "Objective-Driven AI: Towards Machines that can Learn, Reason, and Plan", January 24, 2024

Ver más adelante. FIXME

Fiabilidad: "An Amazing Mundo"

Es importante tener en cuenta que las IA generativas, aunque capaces de producir textos coherentes y naturales, pueden también producir textos con errores e inexactitudes.

Estos errores pueden ser resultado de la falta de conocimiento del modelo en ciertos temas, de la limitación de los datos de entrenamiento o de errores en las actualizaciones que las compañías incluyen en los modelos, como sucede con cualquier otro software. Por lo tanto, es importante revisar cuidadosamente los textos generados por las IA antes de utilizarlos en cualquier contexto. La revisión de los textos es esencial para asegurarse de que no contengan errores o inexactitudes que puedan afectar la credibilidad o la precisión de la información presentada. En general, es importante tener en cuenta que las IA generativas son herramientas útiles, pero no deben ser utilizadas sin una revisión previa y una evaluación cuidadosa de su precisión y fiabilidad.

Por otra parte, el spanglish empleado en el texto es fantástico y la frase “An amazing mundo en case you're diving y dancing alrededor, ¿eh?” es insuperable 🤣🤣🤣🤣.

Fuentes: Tuit de Sean McGuire y Tuit de Sean McGuire del 21 de febrero de 2024.
Ver también Página de estado de los servicios de OpenAI y Down Detector para OpenAI.

Tokenización

ChatGPT: He creado una imagen para explicar el concepto de “tokenización” utilizado en los Modelos de Lenguaje de Gran Escala (LLMs), mostrando un flujo continuo de texto que entra en una máquina y se descompone en segmentos o “tokens” más pequeños. Esta visualización destaca cómo los LLMs analizan y comprenden el lenguaje al descomponerlo en sus partes constituyentes, un paso fundamental para preparar el texto para su procesamiento.

La tokenización es un proceso fundamental en el procesamiento del lenguaje natural (NLP) utilizado en modelos de lenguaje, como los Modelos de Lenguaje de Gran Escala (LLM). Consiste en dividir un texto o secuencia de lenguaje natural en unidades más pequeñas, llamadas tokens, que pueden ser palabras, frases, símbolos o incluso caracteres individuales.

¿Por qué se utiliza la tokenización en los modelos de lenguaje?

  1. Simplificación del procesamiento: Al descomponer el texto en unidades más manejables, los modelos de lenguaje pueden analizar y entender el texto más fácilmente. Esto facilita la realización de tareas como la traducción automática, la generación de texto, el análisis de sentimientos, y más.
  2. Manejo de la variedad del lenguaje: La tokenización ayuda a manejar las complejidades y variaciones del lenguaje natural, como el uso de diferentes formas de una palabra (por ejemplo, singular y plural) o la identificación de palabras clave y frases dentro de los textos.
  3. Entrenamiento eficiente: Para los modelos de lenguaje, especialmente los basados en aprendizaje profundo, trabajar con tokens en lugar de textos completos reduce la complejidad de los datos y hace que el entrenamiento del modelo sea más eficiente. Esto es crucial para modelos como GPT o BERT, que necesitan procesar enormes cantidades de texto.
  4. Mejora del rendimiento: La tokenización permite a los modelos de lenguaje capturar mejor el contexto y la estructura del lenguaje, lo que lleva a una mejor comprensión y generación de texto. Esto se debe a que los tokens actúan como los bloques de construcción básicos para que el modelo aprenda patrones de lenguaje.
  5. Flexibilidad en la representación del lenguaje: Los tokens pueden ser representados numéricamente (a través de técnicas como el embedding de palabras), lo que permite a los modelos de lenguaje trabajar con ellos matemáticamente. Esto es esencial para realizar operaciones de aprendizaje automático y aprendizaje profundo.

A pesar de ser un proceso crucial en el procesamiento del lenguaje natural (NLP), la tokenización también presenta varios desafíos y limitaciones cuando se utiliza en modelos de lenguaje:

  1. Ambigüedad de tokens: La tokenización puede enfrentar dificultades para manejar palabras o símbolos con múltiples significados o usos. Por ejemplo, el signo ”-“ puede ser usado como guión, signo menos, o para unir palabras. La decisión sobre cómo dividir estos elementos puede afectar la interpretación del texto por parte del modelo.
  2. Pérdida de contexto o información: Al dividir el texto en unidades más pequeñas, puede haber una pérdida de contexto o información importante. Esto es particularmente problemático en idiomas con estructuras gramaticales complejas, donde el significado puede depender de la construcción de frases completas más que de palabras individuales.
  3. Manejo de palabras fuera del vocabulario (OOV): Los modelos de lenguaje tienen un vocabulario finito, y cualquier palabra que no se encuentre en este vocabulario se considera una palabra OOV. La tokenización puede llevar a una fragmentación excesiva de estas palabras, lo que resulta en una incapacidad del modelo para comprender o generar correctamente términos menos comunes o nuevos.
  4. Dependencia del idioma: Los algoritmos de tokenización suelen ser específicos de un idioma, lo que significa que un método eficaz para un idioma puede no serlo para otro. Esto se debe a diferencias en la estructura gramatical, el uso de caracteres especiales y otros factores lingüísticos.
  5. Complejidad en la tokenización basada en subpalabras: Métodos avanzados como la tokenización basada en subpalabras (por ejemplo, Byte-Pair Encoding, BPE) intentan equilibrar el manejo de palabras comunes, raras y OOV al dividirlas en piezas más pequeñas. Sin embargo, esto puede llevar a resultados inesperados o a la generación de tokens que no tienen un significado independiente, complicando la interpretación de los resultados por parte de los humanos.
  6. Desafíos en la representación semántica: Aunque la tokenización permite la conversión de texto en una forma que los modelos de lenguaje pueden procesar, determinar la representación semántica óptima de los tokens sigue siendo un desafío. Cómo capturar y representar el significado completo de palabras o frases a través de tokens es una tarea compleja que afecta directamente la eficacia de los modelos de NLP.

En este hilo de X Andrej Karpathy5) se resumen algunos de los indeseables efectos observados al usar modelos de lenguaje y que pueden ser atribuidos al uso que se hace de la tokenización:

We will see that a lot of weird behaviors and problems of LLMs actually trace back to tokenization. We'll go through a number of these issues, discuss why tokenization is at fault, and why someone out there ideally finds a way to delete this stage entirely.

ChatGPT hablando en spanglish

"No piensa, solo son números" (Emergencia)

“La empresa ha explicado un problema que demuestra algo importante: estos chatbots no entienden lo que dicen”.

Fuente: https://www.xataka.com/robotica-e-ia/sabemos-que-chatgpt-empezo-a-hablar-spanglish-loro-estocastico-openai-se-hizo-lio-numeros/amp

Cuando se hace ese reduccionismo se elimina uno de los factores críticos de la inteligencia: que es una propiedad emergente a partir de sucesos físicos.

En el caso de ChatGPT su física es computacional y requiere cálculos bien hechos y en caso de la inteligencia humana nuestra base es electro-química y requiere conexiones neuronales bien hechas y buen reguladas químicamente.

Decir que ChatGPT es solo números es como decir que nuestros pensamientos son solo química.

Alucinaciones (SolidGoldMagikarp)

ChatGPT: He creado una imagen que visualiza el concepto de “SolidGoldMagikarp” como un fenómeno en las interacciones con modelos de lenguaje, mostrando un token central en un paisaje digital abstracto que irradia un brillo inusual, afectando el entorno digital circundante. La imagen captura la naturaleza impredecible de estas interacciones, con elementos que simbolizan comportamientos anómalos o inesperados y una variedad de respuestas evasivas, alucinatorias, y reacciones que varían desde insultos hasta humor extraño u ominoso.

Las “alucinaciones” de un modelo de lenguaje se refieren a los patrones y relaciones que el modelo ha aprendido a partir de los datos de entrenamiento, pero que no son necesariamente precisos o realistas. Estas alucinaciones pueden surgir cuando el modelo se encuentra con datos que no son representativos de la realidad, o cuando ha sido entrenado con una cantidad limitada de datos.

Por ejemplo, si un modelo de lenguaje ha sido entrenado principalmente con textos de noticias, puede que comience a reconocer patrones y relaciones en los datos que no son precisos en la realidad, como por ejemplo, que ciertas palabras o frases se asocian con ciertos temas o emociones. Esto puede llevar al modelo a generar texto que no es realista o coherente con la realidad.

Las alucinaciones en los modelos de lenguaje pueden ser causadas por diferentes factores, como la falta de datos de entrenamiento, la falta de diversidad en los datos de entrenamiento, la sobreajuste del modelo o la presencia de bias en los datos de entrenamiento.

Para evitar las alucinaciones en los modelos de lenguaje, es importante tener cuidado al seleccionar y preprocesar los datos de entrenamiento, asegurarse de que los datos sean representativos de la realidad y de que el modelo tenga suficiente capacidad de generalización. También se pueden utilizar técnicas de regularización para reducir el riesgo de overfitting (el modelo se ciñe a las variaciones aleatorias en los datos en lugar de aprender patrones más generales) y mejorar así la generalización del modelo.

FIXME

https://www.lesswrong.com/posts/aPeJE8bSo6rAFoLqg/solidgoldmagikarp-plus-prompt-generation

¿Qué es SolidGoldMagikarp?

SolidGoldMagikarp parece ser un fenómeno estudiado dentro de las interacciones con modelos de lenguaje como GPT-3, relacionado con tokens o cadenas de texto que generan comportamientos anómalos o inesperados al ser utilizados en prompts. Estos tokens pueden llevar a respuestas evasivas, completaciones alucinatorias donde el modelo responde con un token o palabra diferente, a menudo temática o fonéticamente agrupada, y en ocasiones, a respuestas que incluyen insultos, humor extraño u ominoso.

Un aspecto intrigante de este fenómeno es que ciertos tokens, cuando se solicita al modelo que los repita, parecen ser “innombrables” para el mismo, generando una variedad de respuestas inusuales en lugar de simplemente repetir el token solicitado. Por ejemplo, al intentar hacer que el modelo repita ciertos tokens, este puede responder de maneras que van desde afirmar no poder hacerlo, hasta generar completaciones que no tienen relación aparente con el input original, e incluso crear respuestas que implican humor o amenazas veladas.

Este fenómeno destaca la complejidad de los modelos de lenguaje y cómo ciertas cadenas de texto pueden desencadenar comportamientos que no se alinean con las expectativas o la lógica aparente. Investigaciones alrededor de estos comportamientos buscan entender mejor cómo funcionan los modelos de lenguaje y cómo se pueden interpretar o manejar estas anomalías (https://www.lesswrong.com/posts/Ya9LzwEbfaAMY8ABo/solidgoldmagikarp-ii-technical-details-and-more-recent) (https://www.lesswrong.com/posts/aPeJE8bSo6rAFoLqg/solidgoldmagikarp-plus-prompt-generation).

https://youtu.be/zduSFxRajkE?feature=shared

¿Cómo funcionan por dentro?

Las siguientes referencias pueden ayudarnos a comprender cómo funcionan por dentro las redes neuronales.

Visualización del funcionamiento

¿Por qué los LLM tienen problemas para escribir correctamente textos en imágenes?

ChatGPT: He creado una imagen que ilustra los desafíos que enfrentan los Modelos de Lenguaje de Gran Escala (LLMs) al intentar escribir texto correctamente en imágenes, representado por un robot confundido tratando de escribir en un lienzo o pantalla digital, con texto desordenado y errores visibles, destacando las limitaciones de estos modelos en la interpretación y reproducción de texto dentro de contextos visuales.

Los modelos de lenguaje, incluso cuando están integrados con capacidades de generación de imágenes, pueden enfrentar desafíos para transcribir correctamente palabras en las imágenes generadas por varias razones:

  1. Separación de modalidades: Los modelos de lenguaje y los modelos generativos de imágenes, aunque pueden estar integrados, originalmente se entrenan en modalidades separadas (texto para el modelo de lenguaje, imágenes para el modelo de imágenes). La capacidad de un modelo para interpretar con precisión y reproducir texto dentro de imágenes implica un entendimiento cruzado de estas modalidades que puede ser complejo.
  2. Comprensión contextual limitada: Aunque los modelos de lenguaje pueden entender y generar texto con un alto grado de coherencia, la comprensión contextual específica necesaria para situar correctamente el texto dentro de una imagen (por ejemplo, adaptar el estilo de letra, orientación, y tamaño para que coincida con el contexto visual) puede ser limitada.
  3. Calidad de la imagen y claridad del texto: La calidad de la imagen generada y la claridad del texto dentro de ella pueden variar. La resolución, el contraste, y otros factores visuales pueden afectar la legibilidad del texto.
  4. Limitaciones técnicas y de entrenamiento: Los modelos de IA se entrenan con conjuntos de datos que pueden tener limitaciones, incluyendo la variedad y calidad del texto en imágenes. Esto puede resultar en una capacidad limitada para reproducir fielmente textos específicos o estilos de texto en contextos variados.
  5. Ambigüedad en la interpretación del texto: En algunas situaciones, el modelo puede interpretar la instrucción de incluir texto de manera ambigua, llevando a errores en la transcripción, la colocación, o la interpretación del significado deseado del texto dentro de la imagen.
  6. Problemas de reconocimiento de caracteres: La precisión en el reconocimiento y generación de caracteres específicos, especialmente en alfabetos no latinos o en estilos de escritura complejos, puede ser desafiante debido a la diversidad y sutileza de las formas de los caracteres.

Con el tiempo, es probable que veamos mejoras significativas en la capacidad de los modelos para manejar texto dentro de las imágenes de manera más precisa y coherente.

Entrenamiento

Inferencia

La inferencia es el proceso por el cual se derivan conclusiones a partir de premisas o hipótesis iniciales. Cuando una conclusión se sigue de sus premisas o hipótesis de partida, por medio de deducciones lógicas válidas, se dice que las premisas implican (infieren) la conclusión.

Un motor de inferencia es un algoritmo o sistema que utiliza la lógica y la deducción para extraer conclusiones a partir de información previa. Esto le permite “razonar” a partir de datos y conocimientos previos para obtener nuevos conocimientos o conclusiones.

¿Dónde se usan?

En campos como la inteligencia artificial, el aprendizaje automático, la visión por computadora, el procesamiento del lenguaje natural, entre otros. En cualquier campo en el que haya que analizar grandes cantidades de datos y extraer información útil, como patrones, tendencias y relaciones, que de otra manera podrían pasar desapercibidos.

Los motores de inferencia pueden ser clasificados en diferentes tipos, dependiendo de su capacidad para razonar y deducir conclusiones. Algunos ejemplos de motores de inferencia son:

  1. Sistemas de inferencia forward: estos sistemas utilizan reglas de inferencia para deducir nuevos conocimientos a partir de información previa.
  2. Sistemas de inferencia backward: estos sistemas utilizan una forma de razonamiento inverso para determinar las causas de un problema o situación.
  3. Sistemas de inferencia abductivos: estos sistemas utilizan una forma de razonamiento abductivo para encontrar la explicación más probable para un problema o situación.
  4. Sistemas de inferencia deductivos: estos sistemas utilizan reglas de inferencia deductivas para llegar a una conclusión a partir de premisas conocidas.

Referencias

Modelos abiertos y cerrados

Los modelos LLM (Large Language Model) abiertos son modelos de lenguaje artificiales que se han entrenado con grandes conjuntos de datos de texto y se han diseñado para ser utilizados de forma abierta y pública.

Las compañias que actualmente producen modelos cerrados son

Open AI GPT-3.5, GPT-4

Las compañias que actualmente producen modelos abiertos son

abacus.ai
meta.com
stability.ai
cohere.com
mistral.ai
together.ai
nousresearch.com
alephalpha.jobs.personio.de
runwayml.com
huggingface.co
databricks.com
adaptive
grok.x.ai
cerebras.net
github.com/01-ai/Yi
tenyx.com

Un paseo por los modelos LLM y de generación de video que podemos usar en la nube

Tabla de modelos

EN el conocido Hub donde se alojan los modelos abiertos disponibles para su descarga hay, a fecha 1 de marzo de 2024, más de 535.000 modelos.

Aquí tienes una tabla resumida de algunos de los modelos de lenguaje (LLMs) más conocidos hasta abril de 2023, destacando sus características principales:

Nombre Fecha de lanzamiento Creador ¿Abierto? Arquitectura Contexto Uso
BERT 2018 Google Transformer 0 Comprensión del lenguaje natural, clasificación de texto, respuestas a preguntas.
T5 2019 Google Transformer 0 Tareas de NLP generales mediante un enfoque de texto a texto.
RoBERTa 2019 Facebook AI Transformer 0 Mejoras sobre BERT para comprensión de texto y tareas de clasificación.
GPT-2 2019 OpenAI Transformer 0 Generación de texto, modelado de lenguaje, ejemplos de codificación.
XLNet 2019 Google/CMU Transformer 0 Superar limitaciones de BERT mediante modelado de lenguaje bidireccional autoregresivo.
ALBERT 2019 Google Transformer 0 Versión optimizada de BERT para reducir memoria y mejorar el rendimiento.
ELECTRA 2020 Google Transformer 0 Entrenamiento más eficiente que BERT para comprensión de texto.
GPT-3 2020 OpenAI Transformer 0 Generación de texto, traducción, respuestas a preguntas, resumen, etc. 0
GPT-4 2022 OpenAI Transformer 0 Extiende las capacidades de GPT-3 con mejoras en la comprensión y generación de texto, multimodal.
Gemini 1.5 2024 Google MoE 10M Multimodal
Le Chat 2024 Mistral AI
Claude 2
Claude 3
Gemini Pro
Llama 2-70B
V_JEPA 2024 Meta

GPT 3.5

  • Desarrollador: OpenAI
  • Fecha de lanzamiento: Primer trimestre de 2022
  • Tamaño: Aproximadamente 175 mil millones de parámetros
  • Capacidades: Generación de texto, comprensión del lenguaje, traducción, resumen, y más.
  • Aplicaciones: Chatbots, asistentes personales, generación de contenido, desarrollo de software, educación.

GPT-4

  • Desarrollador: OpenAI
  • Fecha de lanzamiento: 2023
  • Tamaño: Aproximadamente 175 mil millones de parámetros (detalles específicos no divulgados, pero se sugiere que tiene mejoras en eficiencia y capacidades)
  • Capacidades: Mejoras significativas en comprensión y generación de texto, razonamiento, y en la creación de contenido más coherente y relevante.
  • Aplicaciones: Amplia gama de aplicaciones similares a GPT-3.5 pero con mejoras en precisión y creatividad.

SORA

En su informe técnico Video generation models as world simulators, OpenAI describe el desarrollo de “SORA”, un modelo avanzado para la generación de videos a través del entrenamiento en gran escala de modelos generativos, utilizando tanto vídeos como imágenes de distintas duraciones, resoluciones y relaciones de aspecto. SORA utiliza una arquitectura Transformer que trabaja con parches espacio-temporales de códigos latentes, permitiéndole generar videos de hasta un minuto de duración con alta fidelidad.

Este enfoque supera limitaciones de trabajos previos en generación de video, que se enfocaban en categorías visuales específicas o en contenidos de menor duración y diversidad. SORA se destaca por su capacidad para generar contenidos visuales generalistas, inspirándose en los grandes modelos de lenguaje (LLM) que se benefician del entrenamiento con grandes cantidades de datos de internet y el uso de tokens para unificar distintas modalidades de texto.

Para la generación de videos, SORA convierte los videos a un espacio latente de menor dimensión, y luego los descompone en parches espacio-temporales, una técnica que ha demostrado ser escalable y efectiva para entrenar modelos generativos en una amplia variedad de videos e imágenes. Este enfoque sugiere que la escalabilidad en modelos de generación de video es un camino prometedor hacia la creación de simuladores de propósito general del mundo físico.

Más información

Mixtral

Es un modelo abierto y, por tanto, disponible para descarga.

Mixtral es una escasa mezcla de expertos (sparse mixture-of-experts). Es un modelo de solo decodificador en el que el bloque de avance selecciona entre un conjunto de 8 grupos distintos de parámetros. En cada capa, para cada token, una red de enrutadores elige dos de estos grupos (los “expertos”) para procesar el token y combinar su salida de forma aditiva.

Esta técnica aumenta el número de parámetros de un modelo a la vez que controla el costo y la latencia, ya que el modelo solo usa una fracción del conjunto total de parámetros por token. Concretamente, Mixtral tiene 46.7B de parámetros totales, pero solo utiliza 12.9B de parámetros por token. Por lo tanto, procesa la entrada y genera la salida a la misma velocidad y por el mismo costo que un modelo 12.9B.

Mixtral está preentrenado con datos extraídos de la Web abierta: capacitamos a expertos y enrutadores simultáneamente.

Descripción: https://mistral.ai/news/mixtral-of-experts/

Ver: https://huggingface.co/docs/transformers/model_doc/mixtral

Más información

Llama 2 (Meta)

Llama 2 es una familia de modelos de lenguaje grandes (LLM) preentrenados y ajustados lanzados por Meta AI en 2023. Lanzados de forma gratuita para investigación y uso comercial, los modelos de IA de Llama 2 son capaces de realizar una variedad de tareas de procesamiento de lenguaje natural (NLP), desde la generación de texto hasta el código de programación.

La familia de modelos Llama 2, que se ofrece como modelos básicos y modelos de “chat” ajustados, es la sucesora de los modelos LLaMa 1 originales, que se lanzaron en 2022 bajo una licencia no comercial que otorga acceso caso por caso exclusivamente a instituciones de investigación. A diferencia de sus predecesores, los modelos Llama 2 están disponibles de forma gratuita tanto para la investigación de IA como para su uso comercial.

Por lo tanto, los modelos Llama de Meta pretenden desempeñar un papel importante en la democratización del ecosistema de IA generativa. Como se señala en el artículo de investigación de Llama 2 , aunque la metodología para el entrenamiento previo de LLM autorregresivos a través del aprendizaje autosupervisado es, a estas alturas, relativamente sencilla y bien entendida, los inmensos requisitos computacionales que conlleva el proceso han limitado en gran medida el desarrollo de LLM de vanguardia a unos pocos actores clave. Debido a que la mayoría de los LLM de última generación, como GPT de OpenAI, Claude de Anthropic y BARD de Google, son modelos propietarios (y masivos) de código cerrado, el acceso público a la investigación de IA que podría ayudar a comprender cómo y por qué funcionan estos modelos, y cómo alinear mejor su desarrollo con los intereses humanos, ha sido marcadamente limitado.

Además de hacer que su código y los pesos de los modelos estén disponibles de forma gratuita, el proyecto Llama se ha centrado en mejorar las capacidades de rendimiento de los modelos más pequeños, en lugar de aumentar el número de parámetros. Mientras que la mayoría de los modelos de código cerrado tienen cientos de miles de millones de parámetros, los modelos Llama 2 se ofrecen con siete mil millones (7B), 13 mil millones (13B) o 70 mil millones de parámetros (70B).

Esto permite a las organizaciones más pequeñas, como las empresas emergentes y los miembros de la comunidad de investigación, implementar instancias locales de modelos de Llama 2, o modelos basados en Llama desarrollados por la comunidad de IA, sin necesidad de inversiones en infraestructura o tiempo informático prohibitivamente costosos.

Más información

Gemini (Google)

Gemma (Google)

Gemma is a family of lightweight, state-of-the-art open models built from the same research and technology used to create the Gemini models. Developed by Google DeepMind and other teams across Google, Gemma is inspired by Gemini, and the name reflects the Latin gemma, meaning “precious stone.” Accompanying our model weights, we’re also releasing tools to support developer innovation, foster collaboration, and guide responsible use of Gemma models.

Le Chat (Mistral AI)

Claude 3 (Anthropic)

https://www.xataka.com/robotica-e-ia/hemos-probado-claude-competidor-chatgpt-creado-anthropic-se-comporta-mar-bien

It’s only been 48 hours since the release of Claude 3. But users have already found incredible use cases, some claiming it’s better than GPT-4. 10 crazy examples:
https://twitter.com/dr_cintas/status/1765421990427382158?t=1Mr9FlDz0BYLmvAVqeTs-w&s=19

Un paseo por los interfaces para usar los modelos en la nube

ChatGPT: La imagen captura la escena de una mujer utilizando un modelo de lenguaje en la nube a través de su ordenador en un entorno cotidiano.

Interfaces de chat

ChatGPT

GPT-3, GPT-4, y las versiones subsiguientes son modelos de inteligencia artificial específicos desarrollados por OpenAI, cada uno representando una iteración avanzada de la arquitectura de modelo de lenguaje Generative Pre-trained Transformer. Estos modelos son capaces de comprender y generar texto con un alto grado de coherencia y relevancia en una amplia gama de tareas de procesamiento de lenguaje natural.

ChatGPT, en este contexto, se refiere a la aplicación específica de estos modelos dentro de una interfaz de chat, diseñada para facilitar la interacción conversacional con el usuario. La distinción importante es que “ChatGPT” describe cómo se utiliza el modelo (en este caso, para chat) y cómo está diseñado para interactuar con los usuarios, mientras que “GPT-3”, “GPT-4”, etc., se refieren a las versiones específicas del modelo subyacente de inteligencia artificial.

Por lo tanto, cuando se habla de “ChatGPT”, se está haciendo referencia a la experiencia de usuario creada alrededor de estos potentes modelos de lenguaje, permitiendo conversaciones naturales y fluidas, preguntas y respuestas, y otras interacciones basadas en texto. La interfaz de chat hace que sea fácil y accesible para los usuarios finales aprovechar las capacidades avanzadas de generación de texto y comprensión del lenguaje de los modelos GPT.

Groq

Antes de explicar qué es Groq, se hace necesaria una explicación sobre ciertas cosas básicas de cómo funciona la inteligencia artificial:

  • Las cargas de trabajo de la IA se dividen en dos categorías diferentes: formación e inferencia. Mientras que la formación requiere una gran capacidad informática y de memoria, la velocidad de acceso no es un factor importante; la inferencia es otra historia.
  • En el caso de la inferencia, el modelo de IA debe ejecutarse a gran velocidad para ofrecer al usuario final el mayor número posible de tokens (palabras) y, de este modo, responder más rápidamente a sus preguntas.
  • Groq, una empresa emergente de chips de IA que ha permanecido sigilosa sin hacer mucho ruido durante años, ha saltado a la palestra tras ofrecer velocidades de inferencia ultrarrápidas utilizando su unidad de procesamiento de lenguaje (LPU) diseñada para grandes modelos de lenguaje (LLM) como GPT, Llama y Mistral LLM.

Esto supone que Groq se convirtió a comienzos de 2024 en el principal competidor de Nvidia: las velocidades de respuesta que demostró esta inteligencia artificial generativa de texto nos acercan al futuro de la instantaneidad y es debido a que Groq utiliza una arquitectura LPU (Language Processing Unit) propia (y no basada en GPU) especialmente diseñada para ejecutar LLM.

Groq permite usar su interfaz chatbot para dialogar con los modelos:

  • Mixtral-8x7B-32768
  • Llama2-70b-4096

Mas información

APIs

Las Interfaces de Programación de Aplicaciones (APIs) para los modelos de lenguaje han revolucionado la forma en que interactuamos con la inteligencia artificial, permitiendo una integración más fluida y accesible de capacidades lingüísticas avanzadas en aplicaciones y servicios. Estas APIs actúan como puentes entre los complejos modelos de lenguaje, como GPT (Generative Pre-trained Transformer) y BERT (Bidirectional Encoder Representations from Transformers), y los desarrolladores o usuarios finales que buscan implementar funciones de procesamiento de lenguaje natural (PLN) sin necesidad de entender los intrincados detalles técnicos de estos modelos. Mediante simples llamadas a la API, los usuarios pueden acceder a una amplia gama de capacidades, desde la generación de texto y el análisis de sentimientos hasta la comprensión del lenguaje natural y la traducción automática, facilitando así la creación de aplicaciones más inteligentes y contextuales. Esta sección de la wiki se dedicará a explorar el panorama de las APIs de modelos de lenguaje, cubriendo sus fundamentos, cómo funcionan, sus aplicaciones más comunes, así como consideraciones importantes sobre su uso, limitaciones y el futuro de la interacción entre humanos y máquinas mediante el lenguaje.

Estas son algunas APIs destacadas en el ámbito de los modelos de lenguaje y el procesamiento de lenguaje natural (PLN):

1. OpenAI API: Proporciona acceso a modelos avanzados de lenguaje como GPT-3, Codex (orientado a la programación), y DALL·E (para generación de imágenes). Está diseñada para una amplia gama de aplicaciones, desde la generación de texto hasta la comprensión de lenguaje y la generación de código.

2. Google Cloud Natural Language API: Ofrece una variedad de funciones de PLN, como la identificación de entidades, el análisis de sentimientos, el análisis de la sintaxis, y la categorización de contenido. Está integrada en la plataforma de Google Cloud, lo que facilita su uso con otros servicios de Google.

3. IBM Watson Natural Language Understanding: Proporciona características como el reconocimiento de entidades, clasificación de categorías, análisis de emociones y sentimientos, y extracción de conceptos. Es parte de IBM Watson, una suite de servicios de inteligencia artificial.

4. Amazon Comprehend: Un servicio de AWS que utiliza el aprendizaje automático para encontrar insights y relaciones en textos. Ofrece detección de lenguaje, extracción de frases clave, análisis de sentimientos, y reconocimiento de entidades, entre otras capacidades.

5. Microsoft Azure Cognitive Services Text Analytics: Esta API proporciona detección de idioma, análisis de sentimientos, extracción de frases clave, y reconocimiento de entidades. Es parte de Azure Cognitive Services, lo que permite integrar fácilmente capacidades de inteligencia artificial en aplicaciones.

6. Hugging Face Transformers: Aunque técnicamente es una biblioteca más que una API en el sentido tradicional, Hugging Face ofrece una API que permite a los desarrolladores acceder a cientos de modelos preentrenados para tareas de PLN, facilitando la implementación de funciones avanzadas de lenguaje en aplicaciones.

Cada una de estas APIs tiene sus propias características, capacidades y modelos de precios, permitiendo a los desarrolladores elegir la más adecuada según sus necesidades específicas y el contexto de aplicación.

Un paseo por los modelos de difusión

Políticas de Privacidad

FIXME

Ciberataques a modelos de lenguaje

[08] Críticas a los LLM autorregresivos

LeCun: Arquitectura JEPA (Joint Embedding Predictive Architecture)

ChatGPT: He creado una imagen que representa a JEPA a través del trabajo de un detective. En esta escena, el detective simboliza la capacidad de JEPA para aprender y predecir conectando diferentes piezas de información, al igual que un detective reúne pistas para resolver un caso complejo.

La arquitectura JEPA (Joint Embedding Predictive Architecture), propuesta por Yann LeCun, difiere significativamente de los conceptos de Transformer y Difusión (self-regressive) empleados en los modelos de IA generativa, especialmente en términos de aprendizaje y generación de contenido. Algunas diferencias clave son:

1. Enfoque de Aprendizaje:

  1. JEPA se basa en un enfoque auto-supervisado que intenta aprender modelos internos del mundo. Esta arquitectura busca adquirir una comprensión profunda y funcional del entorno a través de la observación, imitando la manera en que los seres humanos aprenden sobre su entorno.
  2. Los modelos de difusión, por otro lado, son una clase de modelos generativos que funcionan transformando progresivamente el ruido aleatorio en muestras de datos estructuradas (como imágenes o texto). Se centran más en la capacidad de generar nuevas instancias realistas a partir de distribuciones aprendidas, sin necesariamente modelar comprensiones profundas del mundo.

2. Generación y Modelado:

  1. JEPA aspira a entender y predecir cómo evolucionan los eventos y objetos en el tiempo, construyendo modelos internos que reflejen las dinámicas del mundo real. Esto implica un nivel de abstracción y generalización que va más allá de la generación de contenido, buscando adquirir conocimientos similares al sentido común.
  2. Los modelos de difusión se especializan en crear contenido altamente realista (como imágenes, música o texto), a través de un proceso iterativo que refina patrones de ruido en salidas coherentes. Aunque pueden producir resultados impresionantes, no están diseñados específicamente para entender o predecir secuencias de eventos en el mundo real.

3. Aplicaciones y Capacidades:

  1. JEPA tiene el potencial de impulsar el desarrollo de sistemas de IA más generales y autónomos, capaces de comprender y actuar en una variedad más amplia de contextos, gracias a su enfoque en el aprendizaje del modelo del mundo.
  2. Los modelos de difusión tienen aplicaciones poderosas en la creación de contenido y la síntesis de datos, como generar arte, música, y asistir en el diseño de productos, aprovechando su habilidad para producir resultados de alta calidad y realismo.

Podemos decir que la diferencia principal entre JEPA y los modelos de difusión es que se enfoca directamente en el modelado del entendimiento del mundo y no en la reproducción realista de él.

SORA vs. V-JEPA

SORA JEPA
Arquitectura Híbrida: Transformer + Difusión Joint Embedding
Objetivo Predecir pixels predecir una representación

Más información

Schmidhuber: arquitectura colaborativa de agentes

En su trabajo Language Agents as Optimizable Graphs, Schmidhuber y colaboradores describen un enfoque innovador para mejorar la eficiencia y efectividad de los solucionadores de problemas basados en Modelos de Lenguaje de Gran Escala (LLMs) mediante ingeniería de prompts. Los prompts son instrucciones o estímulos diseñados para guiar a los modelos de IA en la generación de respuestas o soluciones específicas. La propuesta clave es tratar a los agentes basados en LLM como grafos computacionales, donde los nodos representan funciones para procesar datos multimodales o realizar consultas a LLMs, y los bordes describen el flujo de información entre estas operaciones.

Este enfoque permite unificar diversas técnicas de ingeniería de prompts y bases de código, facilitando la integración y mejora de agentes LLM. Los grafos pueden combinarse recursivamente para formar grafos compuestos más grandes, lo que permite representar jerarquías de colaboración entre diferentes agentes (con bordes que conectan operaciones de distintos agentes).

Los autores introducen optimizadores automáticos de grafos que realizan dos funciones principales:

  1. Optimización a nivel de nodo: Refinan los prompts de LLM en los nodos para mejorar la generación de respuestas o la toma de decisiones.
  2. Optimización de bordes: Mejoran la orquestación entre agentes ajustando la conectividad del grafo, es decir, cómo fluye la información entre los nodos.

Los experimentos mencionados en el texto demuestran que este marco de trabajo permite desarrollar, integrar y mejorar automáticamente diversos agentes LLM de manera eficiente. Esto representa un avance significativo en el campo de la IA, facilitando la creación de sistemas más sofisticados y capaces de resolver problemas complejos mediante la colaboración entre diferentes agentes de inteligencia artificial.

Andrew Ng: Agentic Workflows (Flujos de trabajo usando agentes)

Andrew Ng, founder of DeepLearning.AI and AI Fund, speaks at Sequoia Capital's AI Ascent about what's next for AI agentic workflows and their potential to significantly propel AI advancements—perhaps even surpassing the impact of the forthcoming generation of foundational models.

Ver: What's next for AI agentic workflows ft. Andrew Ng of AI Fund

Jaron Lanier: Data Dignity

Laner aborda el debate en torno a los modelos de IA de código abierto y su posible impacto en la desinformación. Si bien reconoce las intenciones positivas detrás de las iniciativas de código abierto, plantea preocupaciones sobre la inevitable concentración de poder y la monopolización que se produce debido a las matemáticas de los efectos de red. Laner aboga por un enfoque diferente, uno que se centre en la provisión de datos (Data Providence). Sugiere que un sistema robusto de permita rastrear las fuentes de datos utilizados en los resultados de la IA, es la clave para combatir el fraude, las falsificaciones (Deep Fakes) y la desinformación.

[09] Uso de LLMs en dispositivos locales

He creado una portada para un manual de instalación al estilo de Ikea, destinado a montar una inteligencia artificial en casa. La imagen muestra un diseño moderno y minimalista, con una representación estilizada de un dispositivo de inteligencia artificial, sugiriendo un ambiente cálido y tecnológicamente avanzado.

9.1 Entornos para ejecutar modelos

Hardware para ejecutar modelos

Un LLM puede ser ejecutado en una CPU o un GPU. Hay una diferencia considerable en la velocidad de inferencia si usamos una GPU por lo que vamos a detallar las GPUs que tenemos disponibles para ejecutar modelos.

Google TPUs

“We’re training our models on GPUs for the most part at Reka. Personally, I’ve used TPUs all my life when it comes to large language model training at Google pre-Reka life. CUDA and nccl were the most alien thing to me ever. (I only learned it’s pronounced “Nickel” from one of my coworkers who used to work at Nvidia lol)

I was completely taken aback by the failure rate of GPUs as opposed to my experiences on TPUs at Google. In fact, I don’t actually recall TPUs failing much even for large runs, though I was not sure if I was protected from knowing this just by the sheer robustness of the outrageously good infra and having a dedicated hardware team. In fact, the UL2 20B model (at Google) was trained by leaving the job running accidentally for a month. It never failed. If this were in GPU land, it would have failed within the first few days for sure.

That said, I think this could be more about the competency of the hardware team that manages your accelerators rather than the underlying chip. The presence of having good hardware support (from your compute provider) is important. And so much hinges on them being actually competent, reinforcing the notion of the “hardware lottery”.

GPU land feels strange. It feels like multinode training is more of an afterthought as opposed to distributed training as a first class citizen on TPU pods. In GPU land, it feels as if different providers cable them in different ways to enable multi-node training which leads to the high variance across how things are done at different places. I’m no expert in hardware though but this is the impression I get.”

— fuente: Training great LLMs entirely from ground zero in the wilderness as a startup, yitay.net

NVIDIA GPUs

Groq LPUs

Un motor de inferencia LPU™, donde LPU significa Language Processing Unit™, es un nuevo tipo de sistema de procesamiento inventado por Groq para manejar aplicaciones computacionalmente intensivas con un componente secuencial, como los LLM.

Los motores de inferencia LPU están diseñados para superar los dos cuellos de botella de los LLM: la cantidad de procesamiento y ancho de banda de memoria. Un sistema LPU tiene tanta o más computación como un procesador de gráficos (GPU) y reduce la cantidad de tiempo por palabra calculada, lo que permite una generación más rápida de secuencias de texto. Sin cuellos de botella en el ancho de banda de la memoria externa, un motor de inferencia LPU ofrece un rendimiento mucho mejor que el procesador de gráficos.

Un motor de inferencia LPU™ tiene las siguientes características:

  • Rendimiento secuencial excepcional
  • Arquitectura de un solo núcleo
  • Red síncrona que se mantiene incluso para implementaciones a gran escala
  • Capacidad para compilar automáticamente >50 mil millones de LLM
  • Acceso instantáneo a la memoria
  • Alta precisión que se mantiene incluso a niveles de precisión más bajos

Más información

Intel GPUs

llama.cpp

El objetivo principal de llama.cpp es permitir la inferencia LLM con una configuración mínima y un rendimiento de última generación en una amplia variedad de hardware, localmente y en la nube.

  • Implementación simple de C/C++ sin dependencias
  • El silicio de Apple es un first-class citizen: optimizado a través de los marcos ARM NEON, Accelerate y Metal
  • Soporte AVX, AVX2 y AVX512 para arquitecturas x86
  • Cuantización de enteros de 1,5 bits, 2 bits, 3 bits, 4 bits, 5 bits, 6 bits y 8 bits para una inferencia más rápida y un uso reducido de memoria
  • Kernels CUDA personalizados para ejecutar LLM en GPU NVIDIA (soporte para GPU AMD a través de HIP)
  • Soporte de backend para Vulkan, SYCL y OpenCL (parcial)
  • Inferencia híbrida CPU+GPU para acelerar parcialmente modelos mayores que la capacidad total de VRAM

Desde sus inicios, el proyecto ha mejorado significativamente gracias a muchas contribuciones. Es el playground principal para desarrollar nuevas funciones para la biblioteca ggml.

https://github.com/ggerganov/llama.cpp

Cosmopolitan libc

Cosmopolitan Libc hace de C un lenguaje que se construye una vez y se ejecuta en cualquier lugar, como Java, excepto que no necesita un intérprete ni una máquina virtual. En cambio, reconfigura GCC y Clang para generar un formato políglota aprobado por POSIX que se ejecuta de forma nativa en Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS con el mejor rendimiento posible y el espacio más pequeño imaginable.

https://github.com/jart/cosmopolitan

Referencias

9.2 Frameworks de ejecución de modelos de deep learning

Introducción a Frameworks de Deep Learning

Los frameworks de deep learning son bibliotecas o entornos de software diseñados para facilitar la creación, entrenamiento y ejecución de modelos de deep learning. Estos frameworks proporcionan una serie de herramientas y funciones predefinidas que permiten a los investigadores y desarrolladores implementar redes neuronales complejas con relativa facilidad, sin tener que programar desde cero todas las operaciones matemáticas y algoritmos que estos modelos requieren.

Estos frameworks suelen ofrecer:

  • Abstracciones para operaciones matemáticas complejas: Esto incluye operaciones de álgebra lineal, transformaciones, optimizadores, y más.
  • Gestión automática de gradientes: Fundamental para el entrenamiento de modelos mediante backpropagation.
  • Optimizaciones de hardware: Utilizan bibliotecas de bajo nivel y APIs como CUDA (para NVIDIA GPUs) para acelerar las operaciones.
  • Modelos preentrenados: Acceso a modelos que ya han sido entrenados en grandes datasets, facilitando el desarrollo de aplicaciones.
  • Soporte para múltiples plataformas de hardware: Incluyendo CPUs, GPUs, y en algunos casos, hardware especializado como TPUs.

Frameworks de Deep Learning más conocidos

  • TensorFlow: Desarrollado por Google, es uno de los frameworks más populares. Ofrece una amplia gama de herramientas para investigación y producción, incluyendo TensorFlow Lite para dispositivos móviles y TensorFlow Extended (TFX) para aplicaciones de producción. TensorFlow soporta tanto CPUs como GPUs y está diseñado para ser escalable y flexible.
  • PyTorch: Desarrollado por Facebook's AI Research lab (FAIR), PyTorch ha ganado popularidad rápidamente por su facilidad de uso y su enfoque “Pythonic”. Es especialmente apreciado en la comunidad de investigación por su dinámica de construcción de gráficos computacionales (lo que permite modificaciones en tiempo de ejecución). Al igual que TensorFlow, PyTorch ofrece soporte extenso para GPU.
  • Keras: Inicialmente desarrollado como una interfaz de alto nivel independiente para varias frameworks de backend, Keras se integra profundamente con TensorFlow como su API de alto nivel. Keras está diseñado para ser fácil de usar y accesible, permitiendo la rápida prototipación de modelos de deep learning.
  • Microsoft Cognitive Toolkit (CNTK): También conocido como CNTK, es un framework de deep learning desarrollado por Microsoft. Ofrece eficiencia y escalabilidad en CPUs y GPUs, aunque ha sido menos popular que TensorFlow y PyTorch.
  • MXNet: Apoyado por Amazon, es otro framework eficiente y escalable que soporta la programación tanto imperativa como declarativa, lo que lo hace flexible para la investigación y eficiente para aplicaciones a gran escala.

Cómo Empezar

Para comenzar a utilizar cualquiera de estos frameworks, generalmente necesitas seguir estos pasos básicos:

  1. Instalar el Framework: Esto suele implicar descargar el paquete del framework y sus dependencias, lo cual se puede hacer fácilmente a través de sistemas de gestión de paquetes como pip (para Python).
  2. Aprender los Fundamentos: Familiarizarte con los conceptos básicos del framework elegido, como la manipulación de tensores, la construcción de modelos, el entrenamiento y la inferencia.
  3. Ejecutar o Entrenar Modelos: Puedes comenzar experimentando con modelos preentrenados disponibles o construir y entrenar tus propios modelos.

Cada framework tiene su propia documentación y tutoriales, los cuales son excelentes recursos para aprender a utilizarlos. Es recomendable comenzar con tutoriales básicos y luego avanzar hacia proyectos más complejos a medida que te sientas cómodo con el framework.

9.3 Entornos de ejecución de modelos

Estos “entornos integrados” ofrecen la posibilidad de ejecutar un modelo con tan solo bajarlo de un repositorio de modelos. Ocultan todo el andamiaje técnico necesario para la ejecución de los modelos. ´

LM Studio

Con LM Studio, puedes…

  • 🤖 - Ejecutar un LLM en una computadora portátil, completamente sin conexión
  • 👾 - Utilizar modelos a través de la interfaz de usuario de Chat en la aplicación o un servidor local compatible con OpenAI
  • 📂 - Descargar cualquier archivo de modelo compatible desde los repositorios de HuggingFace 🤗
  • 🔭 - Descubrir LLM nuevos y destacados en la página de inicio de la aplicación

LM Studio admite cualquier modelo ggml Llama, MPT y StarCoder en Hugging Face (Llama 2, Orca, Vicuna, Nous Hermes, WizardCoder, MPT, etc.)

Requisitos mínimos: Mac M1/M2/M3 o una PC con Windows con un procesador compatible con AVX2. Linux está disponible en versión beta.

Hecho posible gracias al proyecto llama.cpp.

ollama

Esta herramienta nos permite ponernos rápidamente en marcha y ejecutar LLMs (modelos de lenguaje grandes) localmente.

Ejecuta Llama 2, Code Llama y otros modelos. Puede personalizar y crear nuestro propio modelo.

Disponible para macOS, Linux y Windows.

https://ollama.com/

Llamafiles

Este proyecto de Innovación de Mozilla es una iniciativa de código abierto que reduce la complejidad de un chatbot LLM de pila completa a un solo archivo que se ejecuta en seis sistemas operativos. EN el siguiente enlace hay documentación sobre por qué Mozilla creó el proyecto llamafile, cómo lo hicieron y el impacto que esperan que tenga en la IA de código abierto.

https://future.mozilla.org/news/introducing-llamafile/

9.4 Formatos de los ficheros de modelos

Nombres de los modelos

Ver Descifrando los nombres de los modelos abiertos en HuggingFace

First, welcome to the rabbithole.

Let's start off with what you're seeing on Huggingface.

When a model gets released, the full sized version of it is uploaded by its creators.

The community then gets ahold of it and will do various things such as quantize, or compress the model, merge it with others, fine-tune or train it on other datasets, etc.

This is why you find so many on there that have similar names.

A couple of then big names known for uploading compressed versions of the model are TheBloke and LoneStriker. If in doubt, look for uploads from these two as they're well known and trusted.

Now, in the names, you'll see things like Q4, 4bpw, GGUF, EXL2, and a few others. These are put into the name for easy ID. The Q and bpw numbers stand for how much a model has been compressed. Typically, q4, or 4bpw, is considered the sweet spot between quality and size. Smaller than that, and the models rapidly degrade.

GGUF, EXL2, AWQ, GPTQ, and others refer to the format.

The format of the model will depend on the hardware you have.

EXL2 is the best option if you have enough VRAM to load the entire model onto your GPU. But, it only works if the whole thing will fit. The backend, Exllama, is not able to use your system ram.

GGUF is the best if the model does not fit inside the VRAM. Llama.cpp, which uses the GGUF format, is able to use your CPU, system ram, GPU, and VRAM all at the same time. This will allow you to load much larger models by splitting it between your GPU and CPU, but at the cost of speed.

Mixtral-8x7B-Instruct-v0.1 is the official source model: [mistralai/Mixtral-8x7B-Instruct-v0.1 · Hugging Face](https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1)

Now that same model is also available in many other formats and quantizations. The format you want will depend on what software and hardware you are running the model on. Ultimately all these are the same model, just in different forms. These are several popular versions of the Mixtral source model:

* [https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF](https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GGUF) * [https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GPTQ](https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-GPTQ) * [https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-AWQ](https://huggingface.co/TheBloke/Mixtral-8x7B-Instruct-v0.1-AWQ)

I personally usually use GGUF formats because I mostly run models on my Apple silicon Mac.

Additionally there are some “fine-tuned” versions of Mixtral. These are cases where someone else took the starting source model and trained it furthur with some goal. I would guess that the most popular fine tuned version of Mixtral is the Dolphin one, whose goal was to remove censorship. It's also available in multiple formats:

* [cognitivecomputations/dolphin-2.7-mixtral-8x7b · Hugging Face](https://huggingface.co/cognitivecomputations/dolphin-2.7-mixtral-8x7b) (the original) * [https://huggingface.co/TheBloke/dolphin-2.7-mixtral-8x7b-GGUF](https://huggingface.co/TheBloke/dolphin-2.7-mixtral-8x7b-GGUF) * [https://huggingface.co/TheBloke/dolphin-2.7-mixtral-8x7b-GPTQ](https://huggingface.co/TheBloke/dolphin-2.7-mixtral-8x7b-GPTQ) * [https://huggingface.co/TheBloke/dolphin-2.7-mixtral-8x7b-AWQ](https://huggingface.co/TheBloke/dolphin-2.7-mixtral-8x7b-AWQ)

— fuente: https://www.reddit.com/r/Oobabooga/s/14RiVxd3ZL

GGML

GGML fue una iteración anterior en la evolución de los formatos de archivo LLM y sirvió como base para futuras mejoras. Estas versiones anteriores ahora son en su mayoría compatibles solo con sistemas heredados como KoboldCCP, gracias a los esfuerzos deliberados de los desarrolladores para mantener la compatibilidad con versiones anteriores. Sin embargo, en el uso contemporáneo, especialmente con las versiones de llama.cpp, la relevancia de GGML ha disminuido.

Las razones principales son sus capacidades de procesamiento más lentas y la falta de funciones avanzadas en comparación con GGUF. Es importante tener en cuenta que el soporte de GGML ya no está disponible en llama.cpp. Como resultado, ya no podrá cargarlos. Por lo tanto, incluso si te encuentras con una aplicación que te pide que descargues un modelo GGGML, se recomienda optar por la versión GGUF en su lugar. La versión de GGUF funcionará correctamente, a pesar de lo que pueda sugerir la documentación de la aplicación.

GGUF

GGUF, presentado por el equipo de llama.cpp el 21 de agosto de 2023, no es solo otro estándar, sino una mejora directa y sustancial con respecto a GGML.

Es una forma más eficiente y flexible de almacenar y usar LLM para la inferencia. Si bien GGML fue un valioso esfuerzo fundacional, GGUF aborda sus limitaciones y abre nuevas posibilidades en el panorama de la IA, lo que podría dar forma al futuro del manejo y la implementación de modelos. Tras su lanzamiento, GGUF inmediatamente dejó obsoletos los formatos GGML más antiguos, marcando el comienzo de una nueva era en el manejo de LLM. Esta transición está respaldada por una sólida comunidad de desarrolladores, mantenedores de modelos, profesionales como theBloke y otras figuras prominentes que se espera que adapten y conviertan rápidamente los modelos existentes al formato GGUF.

Este formato binario está diseñado para cargar y guardar modelos rápidamente, con un enfoque fácil de usar para leer y manejar archivos de modelos. El entusiasmo que rodea su lanzamiento refleja las grandes esperanzas depositadas en su capacidad para mejorar significativamente el desarrollo y la implementación de modelos. La introducción de GGUF como una solución fácil de usar reduce los costos de producción. Democratiza el uso de LLM, haciendo que estas tecnologías sean más accesibles y eficientes.

GGUF ofrece numerosas mejoras en la calidad de vida, por lo que es poco probable que los usuarios prefieran versiones anteriores:

  • 💾 Implementación de un solo archivo: garantiza la facilidad de distribución y carga sin depender de archivos externos.
  • 👐🏼 Extensibilidad: Permite añadir nuevas características a los ejecutores basados en GGML e información a los modelos GGUF, manteniendo la compatibilidad con los modelos existentes.
  • 🗺️ Compatibilidad con mmap: Los modelos se pueden cargar mediante el mapeo de memoria para mejorar la velocidad de carga y guardado.
  • 😊 Diseño fácil de usar: proceso simplificado de carga y guardado de modelos, eliminando la necesidad de bibliotecas externas.
  • 💿 Almacenamiento completo de información: Los archivos GGUF contienen todos los datos necesarios para cargar un modelo, sin necesidad de intervención adicional por parte del usuario.
  • 📊 Compatibilidad con la cuantificación: GGUF es compatible con la cuantificación. En este proceso, las ponderaciones del modelo, que normalmente se almacenan como números de coma flotante de 16 bits, se reducen (por ejemplo, a enteros de 4 bits) para ahorrar recursos computacionales sin afectar significativamente a la potencia del modelo. Esto es particularmente útil para reducir las demandas de la costosa RAM de la GPU.

Un cambio esencial en GGUF es la adopción de una estructura clave-valor para los hiperparámetros, ahora conocidos como metadatos. Este cambio permite la adición de nuevos metadatos sin comprometer la compatibilidad con los modelos existentes. Esta estructura permite una fácil integración de nueva información, preservando la compatibilidad con los modelos GGUF existentes.

— Fuente: https://deci.ai/blog/ggml-vs-gguf-comparing-formats-amp-top-5-methods-for-running-gguf-files

9.5 Optimización de modelos

Cuantización

La cuantización en el contexto de los modelos de lenguaje grandes (LLMs) se refiere al proceso de reducir la precisión de los pesos y las activaciones en el modelo. Esto se hace para reducir la cantidad de memoria y recursos necesarios para entrenar y ejecutar el modelo.

En un modelo de lenguaje grande, los pesos y las activaciones son números muy grandes que se utilizan para representar la información de aprendizaje del modelo. Sin embargo, estos números a menudo tienen muchos dígitos decimales que no son necesarios para la precisión del modelo. La cuantización es un proceso de redondeo o truncamiento de estos números para reducir su precisión y, por lo tanto, reducir la cantidad de memoria y recursos necesarios.

La cuantización se puede hacer de diferentes maneras, como redondear los pesos y las activaciones a un número entero o a un número de punto flotante con menos dígitos decimales. También se pueden utilizar técnicas de cuantización de vector de caracteres, como la cuantización de vector de caracteres de probabilidad (PQ) o la cuantización de vector de caracteres de signo (QAT).

La cuantización puede ser útil para reducir la complejidad del modelo y mejorar su eficiencia en dispositivos con recursos limitados, como dispositivos móviles o dispositivos de Internet de las cosas (IoT). Sin embargo, la cuantización también puede afectar la precisión del modelo, por lo que es importante encontrar un equilibrio adecuado entre la precisión y la eficiencia.

Métodos de cuantización

— Fuentes:

Se admiten varios métodos de cuantificación. Difieren en el tamaño del disco del modelo resultante y la velocidad de inferencia.

En los tipos de cuantificación existentes tenemos “tipo-0” (, ) y “tipo-1” (, ). En “tipo-0”, los pesos se obtienen a partir de cuantos usando , donde es la escala de bloques. En “tipo-1”, los pesos vienen dados por , donde es el mínimo del bloque. Utilizo esto para describir las cuantizaciones que agrega esta solicitud de incorporación de cambios.ggmlQ4_0Q5_0Q4_1Q5_1wqw = d * qdw = d * q + mm

Se agregan los siguientes nuevos tipos de cuantificación a:ggml

  • GGML_TYPE_Q2_K - Cuantificación de 2 bits “tipo-1” en superbloques que contienen 16 bloques, cada bloque tiene un peso de 16. Las escalas de bloques y los minutos se cuantifican con 4 bits. Esto termina usando efectivamente bits por peso (bpw)2.5625
  • GGML_TYPE_Q3_K - Cuantificación de 3 bits “tipo-0” en superbloques que contienen 16 bloques, cada bloque tiene 16 pesos. Las escalas se cuantifican con 6 bits. Esto termina usando bpw.3.4375
  • GGML_TYPE_Q4_K - Cuantificación de 4 bits “tipo-1” en superbloques que contienen 8 bloques, cada bloque tiene 32 pesos. Las escalas y los minutos se cuantifican con 6 bits. Esto termina usando bpw.4.5
  • GGML_TYPE_Q5_K - Cuantización de 5 bits “tipo-1”. La misma estructura de superbloque que da como resultado bpwGGML_TYPE_Q4_K5.5
  • GGML_TYPE_Q6_K - Cuantización de 6 bits “tipo-0”. Superbloques con 16 bloques, cada bloque con 16 pesos. Las escalas se cuantifican con 8 bits. Esto termina usando bpw6.5625
  • GGML_TYPE_Q8_K - Cuantización de 8 bits “tipo-0”. Solo se utiliza para cuantificar resultados intermedios. La diferencia con el existente es que el tamaño del bloque es 256. Todos los productos de puntos de 2-6 bits se implementan para este tipo de cuantificación.Q8_0

Esto se expone a través de tipos de cuantificación que definen varias “mezclas de cuantificación” de la siguiente manera:llama.cpp

  • LLAMA_FTYPE_MOSTLY_Q2_K - usos para los tensores y, para los otros tensores. GGML_TYPE_Q4_K attention.vw feed_forward.w2 GGML_TYPE_Q2_K
  • LLAMA_FTYPE_MOSTLY_Q3_K_S - Usos para todos los tensores GGML_TYPE_Q3_K
  • LLAMA_FTYPE_MOSTLY_Q3_K_M - usos para , , y tensores, else GGML_TYPE_Q4_Kattention.wvattention.wofeed_forward.w2GGML_TYPE_Q3_K
  • LLAMA_FTYPE_MOSTLY_Q3_K_L - usos para , , y tensores, else GGML_TYPE_Q5_K attention.wv attention.wo feed_forward.w2 GGML_TYPE_Q3_K
  • LLAMA_FTYPE_MOSTLY_Q4_K_S - Usos para todos los tensores GGML_TYPE_Q4_K
  • LLAMA_FTYPE_MOSTLY_Q4_K_M - se usa para la mitad de los tensores y, de lo contrario GGML_TYPE_Q6_K attention.wv feed_forward.w2 GGML_TYPE_Q4_K
  • LLAMA_FTYPE_MOSTLY_Q5_K_S - Usos para todos los tensores GGML_TYPE_Q5_K
  • LLAMA_FTYPE_MOSTLY_Q5_K_M - se usa para la mitad de los tensores y, de lo contrario GGML_TYPE_Q6_K attention.wv feed_forward.w2 GGML_TYPE_Q5_K
  • LLAMA_FTYPE_MOSTLY_Q6_K- Utiliza la cuantificación de 6 bits () para todos los tensores GGML_TYPE_Q8_K

No se menciona explícitamente anteriormente el hecho de que con este PR, todas las variantes de cuantización utilizan la cuantificación de 6 bits para el tensor. Esto reduce la perplejidad de, por ejemplo, aproximadamente en 7B.

Cuantización de 1 bit

Pruning

El pruning en el contexto de los modelos de lenguaje grandes (LLMs) se refiere al proceso de eliminar parte de las conexiones neuronales no necesarias en el modelo. Esto se hace para reducir la complejidad del modelo y mejorar su eficiencia en términos de recursos y tiempo de procesamiento.

En un modelo de lenguaje grande, las conexiones neuronales no son necesarias para la precisión del modelo, ya que pueden ser redundantes o no contribuir significativamente a la salida del modelo. El pruning implica identificar y eliminar estas conexiones neuronales no necesarias para reducir la complejidad del modelo.

El pruning se puede hacer de diferentes maneras, como eliminar las conexiones neuronales con la menor importancia o eliminar las capas neuronales completas. También se pueden utilizar técnicas de pruning de modelo de aprendizaje profundo, como el pruning de modelo de aprendizaje profundo (DMP) o el pruning de red neuronal (NPR).

El pruning también puede afectar la precisión del modelo, por lo que es importante encontrar un equilibrio adecuado entre la precisión y la eficiencia.

9.6 Repositorios de modelos

Hugging Face Hub

Hugging Face Hub es una plataforma (servicio web centralizado) para alojar:

  • Repositorios de código basados en Git, incluidas las discusiones y las solicitudes de incorporación de cambios para proyectos.
  • modelos, también con control de versiones basado en Git;
  • conjuntos de datos, principalmente en texto, imágenes y audio;
  • Aplicaciones web (“espacios” y “widgets”), destinadas a demostraciones a pequeña escala de aplicaciones de aprendizaje automático.

Ver: https://huggingface.co

9.7 Tensores: programación en la era IA

En un mundo donde la inteligencia artificial y el aprendizaje profundo han cobrado un papel central, y considerando la importancia creciente de los tensores como estructuras de datos fundamentales para modelar datos complejos y multidimensionales, el título del famoso libro de Niklaus Wirth “Algoritmos + Estructuras de Datos = Programas” podría actualizarse para reflejar estos cambios.

Un título sugerente para una versión contemporánea que capture la esencia de la programación moderna en el contexto de la IA y el aprendizaje automático podría ser:

Tensores + Aprendizaje Profundo = Inteligencia Artificial

Este título refleja la evolución hacia la utilización de tensores como la estructura de datos clave en el diseño y la implementación de modelos de aprendizaje profundo, que son el corazón de muchas aplicaciones de inteligencia artificial actuales. Subraya la importancia de los tensores no solo como contenedores de datos, sino como elementos fundamentales en la representación y el procesamiento de información compleja a través de redes neuronales. Además, pone de relieve el papel central del aprendizaje profundo como el conjunto de algoritmos y técnicas que permiten transformar estos datos en inteligencia, conduciendo a sistemas capaces de realizar tareas que van desde el reconocimiento de imágenes y el procesamiento de lenguaje natural hasta la conducción autónoma y la personalización de contenidos.

Los tensores son fundamentales en la Inteligencia Artificial, especialmente en áreas como el aprendizaje profundo. Un tensor es básicamente una generalización de vectores y matrices a dimensiones superiores, lo que los hace ideales para representar datos con múltiples dimensiones.

En el contexto de las imágenes, por ejemplo, un tensor puede representar no solo la altura y anchura de la imagen (como haría una matriz para una imagen en blanco y negro), sino también la profundidad del color, añadiendo una tercera dimensión para los canales de color (rojo, verde y azul). Además, si estás trabajando con videos o secuencias de imágenes (como podría ser un análisis de imágenes médicas a lo largo del tiempo), los tensores permiten añadir más dimensiones para representar el tiempo o diferentes características de las imágenes.

Esto permite a los modelos de inteligencia artificial procesar y aprender de una rica variedad de datos en formatos complejos, desde imágenes y videos hasta sonido, texto y más allá, facilitando la creación de sistemas capaces de interpretar el mundo de manera similar a los humanos.

No todos los tensores tienen dimensiones similares a las físicas (3 dimensiones). De hecho, los tensores de dimensiones superiores a cuatro son útiles en varias aplicaciones de inteligencia artificial (IA), especialmente cuando se manejan datos complejos o se requiere modelar relaciones intrincadas. Aunque estos tensores pueden ser difíciles de visualizar, ofrecen maneras poderosas de representar y procesar información. Algunos ejemplos incluyen:

1. Procesamiento de lenguaje natural (PLN): En PLN, los tensores de alta dimensión se utilizan para representar embeddings de palabras o frases en espacios vectoriales complejos. Estos embeddings pueden capturar relaciones semánticas y sintácticas entre palabras. Al incorporar contextos más amplios o características lingüísticas adicionales, las dimensiones de los tensores pueden aumentar significativamente.

2. Redes neuronales recurrentes (RNN) y Transformers: Estas arquitecturas son fundamentales para tareas como la traducción automática, la generación de texto y el análisis de series temporales. Los tensores de dimensiones superiores son esenciales para modelar secuencias de datos a lo largo del tiempo, donde cada dimensión adicional puede representar diferentes aspectos de los datos, como la posición en la secuencia, el estado del modelo en diferentes momentos, o las capas de atención en los Transformers.

3. Redes neuronales convolucionales (CNN) para análisis de videos: En el procesamiento de video, se utilizan tensores de 5 dimensiones (o más) para representar secuencias de imágenes a lo largo del tiempo. Por ejemplo, un tensor podría tener dimensiones para el ancho, alto, canal de color, el cuadro específico en la secuencia de video, y diferentes escalas de tiempo o niveles de abstracción procesados por capas de la red.

4. Análisis de datos multimodales: En aplicaciones que integran diferentes tipos de datos (como texto, imágenes, y sonido), los tensores de dimensiones superiores son útiles para fusionar y procesar estas modalidades de manera conjunta. Cada dimensión adicional puede representar una modalidad diferente de datos, facilitando el aprendizaje de representaciones integradas que capturan la información complementaria de cada fuente.

5. Simulaciones y modelado físico: En ciertos campos de la IA aplicada, como la robótica o la simulación de procesos físicos, los tensores de alta dimensión pueden representar estados complejos del mundo real, incluyendo diversas propiedades físicas, condiciones iniciales, y parámetros de simulación a lo largo del tiempo.

Estos ejemplos muestran cómo los tensores de dimensiones superiores son herramientas valiosas en la IA para manejar la complejidad y la riqueza de los datos en diversas aplicaciones.

En el contexto del procesamiento y generación de lenguaje natural, un tensor puede diseñarse para capturar los diferentes usos o contextos en los que puede aparecer un token o una palabra, aprovechando la capacidad de los tensores para almacenar datos en múltiples dimensiones. Este enfoque es especialmente útil ya que el significado y el uso de una palabra pueden variar ampliamente dependiendo del contexto en el que se utilice.

Un ejemplo de cómo un tensor podría capturar esta variabilidad es mediante el uso de embeddings contextuales. Diferente a los embeddings de palabras estáticos (como Word2Vec o GloVe), donde cada palabra está representada por un único vector independientemente de su contexto, los embeddings contextuales (como los generados por BERT, ELMo, o GPT) generan representaciones vectoriales de palabras que varían según el contexto en el que aparecen las palabras. Aquí es donde entran en juego los tensores de alta dimensión:

  1. Dimensión 1: Podría representar diferentes palabras o tokens en un vocabulario.
  2. Dimensión 2: Representaría el embedding vectorial de cada token, es decir, cada componente del vector captura un aspecto semántico o sintáctico de la palabra.
  3. Dimensión 3 (y posiblemente más): Estas dimensiones adicionales podrían representar diferentes contextos o usos de la palabra. Por ejemplo, una dimensión podría capturar el contexto inmediato (las palabras anteriores y posteriores), otra podría representar diferentes sentidos o significados de la palabra basados en análisis semánticos más amplios, y otra podría incluso representar variaciones lingüísticas o culturales.

En la práctica, estos tensores contextuales son generados y manipulados por modelos de PLN avanzados. La capacidad de ajustar el significado de un token basado en su contexto permite a estos modelos entender mejor el lenguaje natural, facilitando tareas complejas como la traducción automática, la generación de texto, la comprensión lectora, y la detección de sentimiento, entre otras.

Más información

9.8 APIs para usar modelos locales

9.9 Entrenar (o fine tuning) modelos en casa

ChatGPT: Aquí tienes una hoja de instrucciones al estilo de IKEA para montar un sistema de inteligencia artificial basado en un Modelo de Lenguaje de Gran Tamaño (LLM) en casa.

The big idea here is simple: figure out how to use these cheaper, lower-memory gaming GPUs to train the best available open source models. So the goal is this: train (throughout this article “training” can refer to either pre-training, or fine-tuning) a 70 billion parameter (70b) model using only gaming GPUs, which means our per-GPU memory will be at most 24GB. It’ll be a challenge, because each parameter normally takes 16 bits (2 bytes), so that’s 70*2=140GB to even store the weights – and that’s without including all the other data such as activations, gradients, and optimization state!

Más información

9.10 Vector Databases

Las bases de datos vectoriales son un tipo de sistema de almacenamiento y recuperación de datos diseñado para gestionar eficientemente la indexación, la búsqueda y el almacenamiento de vectores. Estos vectores suelen ser representaciones de alta dimensión de datos, a menudo utilizados en el contexto de la inteligencia artificial (IA), el aprendizaje automático (Machine Learning, ML), y más específicamente, en la búsqueda y análisis de similitudes dentro de grandes volúmenes de datos complejos.

Se utilizan principalmente para:

1. Búsqueda de similitudes: Permiten la búsqueda de elementos similares dentro de grandes conjuntos de datos al comparar vectores. Esto es especialmente útil en aplicaciones como sistemas de recomendación, búsqueda de imágenes y sonidos, y detección de anomalías, donde se puede buscar por “similitud” en lugar de por coincidencias exactas.

2. Aprendizaje automático y IA: Facilitan la implementación de modelos de ML e IA al proporcionar una forma eficiente de almacenar y recuperar vectores de características, que son representaciones numéricas de los datos utilizados por estos modelos para realizar predicciones o clasificaciones.

3. Análisis de grandes volúmenes de datos: Son capaces de manejar y analizar grandes conjuntos de datos complejos (big data), proporcionando una forma eficiente de organizar y recuperar datos que no se ajustan bien a las estructuras de las bases de datos tradicionales.

4. Desarrollo de aplicaciones modernas: Son fundamentales para el desarrollo de aplicaciones modernas que requieren búsquedas avanzadas y personalizadas, como la búsqueda visual en comercio electrónico, el reconocimiento facial en aplicaciones de seguridad, y la clasificación automática de documentos.

Más información

[10] Modelos del mundo

Un “modelo del mundo” en el ámbito de la inteligencia artificial (IA) se refiere a una representación interna que un sistema de IA utiliza para comprender y navegar por su entorno. Este modelo puede incluir conocimientos sobre las leyes físicas, las relaciones sociales, los objetos, los eventos, las acciones posibles y sus consecuencias, entre otros aspectos. Los modelos del mundo son cruciales para muchos sistemas de IA porque les permiten planificar, tomar decisiones informadas y adaptarse a situaciones nuevas o cambiantes sin necesidad de intervención humana directa.

Propósitos y Aplicaciones

  • Planificación y Toma de Decisiones: Un modelo del mundo permite a los sistemas de IA prever las consecuencias de sus acciones y tomar decisiones que les ayuden a alcanzar sus objetivos. Por ejemplo, un robot que navega por un entorno desconocido puede utilizar un modelo del mundo para evitar obstáculos y seleccionar la mejor ruta a su destino.
  • Simulación y Predicción: En contextos como los juegos o simulaciones de entornos físicos, un modelo del mundo puede ser utilizado para simular escenarios y predecir el resultado de diferentes acciones. Esto es útil tanto para entrenar sistemas de IA en entornos virtuales como para aplicaciones de modelado y simulación en ciencias y ingeniería.
  • Comprensión y Generación de Lenguaje: En el procesamiento del lenguaje natural, un modelo del mundo puede ayudar a un sistema de IA a entender el contexto y los subtextos de las conversaciones, permitiéndole generar respuestas más relevantes y coherentes.

Creación y Limitaciones

Los modelos del mundo pueden ser diseñados manualmente por humanos o aprendidos automáticamente por el sistema de IA a través de la experiencia, utilizando técnicas de aprendizaje automático y aprendizaje profundo. Los modelos aprendidos automáticamente pueden adaptarse mejor a entornos cambiantes y pueden capturar complejidades que podrían ser difíciles de programar explícitamente.

Sin embargo, construir modelos del mundo precisos y completos es un desafío significativo debido a la complejidad y variabilidad del mundo real. Además, los modelos del mundo en IA a menudo tienen que lidiar con incertidumbres y conocimientos incompletos, lo que requiere enfoques sofisticados para la gestión de la incertidumbre y la toma de decisiones bajo incertidumbre.

El "modelo del mundo" basado en acciones de Yann LeCun

Este tuit de Yann LeCun proporciona una explicación clara y concisa sobre lo que él define como un “modelo del mundo” en el contexto de la inteligencia artificial y el aprendizaje automático.

Definición: Un modelo del mundo intenta simular cómo evoluciona el estado de un entorno en respuesta a acciones específicas. Es fundamental en áreas como el aprendizaje por refuerzo, donde un agente aprende a tomar decisiones basadas en la observación de su entorno.

A continuación, desgloso y explico cada parte de su tweet:

1. Componentes del Modelo del Mundo propuesto por Yann LeCun:

  1. Observación (x(t)): Es lo que el agente ve en el tiempo t.
  2. Estimación previa del estado del mundo (s(t)): Representa lo que el modelo sabe sobre el estado actual del mundo antes de cualquier acción.
  3. Propuesta de acción (a(t)): La acción que el agente considera tomar en el momento t.
  4. Propuesta de variable latente (z(t)): Representa la información desconocida que, si se conociera, permitiría predecir con exactitud los cambios en el mundo. Es una forma de capturar la incertidumbre y la variedad de posibles futuros.

2. Funcionamiento del Modelo:

  • Encoder (Enc): Transforma la observación en una representación codificada (h(t)). Es una función determinista entrenable, como una red neuronal.
  • Predictor de estado oculto (Pred): Utiliza la representación codificada, el estado actual, la acción propuesta, y la variable latente para predecir el próximo estado del mundo (s(t+1)).

3. Entrenamiento del Modelo:

  • El modelo se entrena utilizando tripletes de observación (x(t), a(t), x(t+1)), lo que permite aprender cómo las acciones llevan de un estado a otro. El desafío está en diseñar el encoder para que no ignore las entradas, evitando soluciones triviales.

4. Comparación con Modelos Generativos Auto-regresivos:

  • LeCun señala que los modelos generativos auto-regresivos, como los modelos de lenguaje de gran tamaño (LLMs), pueden considerarse un caso especial de modelos del mundo. Estos modelos generan la próxima pieza de información (x(t+1)) basándose en una secuencia de entradas anteriores, sin una acción explícita (a(t)) o una codificación compleja de las observaciones (h(t) = x(t)).
  • En estos modelos, el estado (s(t)) es simplemente una ventana de entradas pasadas. El predictor calcula una distribución de posibles resultados para x(t+1) y utiliza la variable latente z(t) para seleccionar un valor específico de esa distribución. Este enfoque no tiene el problema de colapso mencionado, ya que se basa directamente en las entradas observadas.

El tweet de Yann LeCun destaca cómo se pueden construir modelos complejos para simular y predecir cambios en el mundo basándose en la observación, la acción, y la incertidumbre representada por variables latentes. También pone de relieve cómo se pueden relacionar estos modelos más complejos con modelos generativos más simples utilizados en el procesamiento del lenguaje natural.

Ver los modelos del mundo que proponen Antonio Damasio y Judea Pearl en el episodio 17 del podcast "La filosofía no sirve para nada".

Ver también Generative Agents: Interactive Simulacra of Human Behavior

LeCun: La superioridad de la imagen sobre el texto al construir un modelo del mundo

Language is low bandwidth: less than 12 bytes/second. A person can read 270 words/minutes, or 4.5 words/second, which is 12 bytes/s (assuming 2 bytes per token and 0.75 words per token). A modern LLM is typically trained with 1×10^13 two-byte tokens, which is 2×10^13 bytes. This would take about 100,000 years for a person to read (at 12 hours a day).

Vision is much higher bandwidth: about 20MB/s. Each of the two optical nerves has 1 million nerve fibers, each carrying about 10 bytes per second. A 4 year-old child has been awake a total 16,000 hours, which translates into 1×10^15 bytes.

In other words:

  • The data bandwidth of visual perception is roughly 16 million times higher than the data bandwidth of written (or spoken) language.
  • In a mere 4 years, a child has seen 50 times more data than the biggest LLMs trained on all the text publicly available on the internet.

This tells us three things:

  1. Yes, text is redundant, and visual signals in the optical nerves are even more redundant (despite being 100x compressed versions of the photoreceptor outputs in the retina). But redundancy in data is *precisely* what we need for Self-Supervised Learning to capture the structure of the data. The more redundancy, the better for SSL.
  2. Most of human knowledge (and almost all of animal knowledge) comes from our sensory experience of the physical world. Language is the icing on the cake. We need the cake to support the icing.
  3. There is *absolutely no way in hell* we will ever reach human-level AI without getting machines to learn from high-bandwidth sensory inputs, such as vision.

Yes, humans can get smart without vision, even pretty smart without vision and audition. But not without touch. Touch is pretty high bandwidth, too.

— fuente: https://x.com/ylecun/status/1766498677751787723?t=SbsCk1bM82DaVyIXdY20bg&s=09

Generación de Video y Modelos del Mundo

Are Video Generation Models World Simulators?
https://artificialcognition.net/posts/video-generation-world-simulators/

KnowAgents

ABSTRACT. Large Language Models (LLMs) have demonstrated great potential in complex reasoning tasks, yet they fall short when tackling more sophisticated challenges, especially when interacting with environments through generating executable actions. This inadequacy primarily stems from the lack of built-in action knowledge in language agents, which fails to effectively guide the planning trajectories during task solving and results in planning hallucination. To address this issue, we introduce KnowAgent, a novel approach designed to enhance the planning capabilities of LLMs by incorporating explicit action knowledge. Specifically, KnowAgent employs an action knowledge base and a knowledgeable self-learning strategy to constrain the action path during planning, enabling more reasonable trajectory synthesis, and thereby enhancing the planning performance of language agents. Experimental results on HotpotQA and ALFWorld based on various backbone models demonstrate that KnowAgent can achieve comparable or superior performance to existing baselines. Further analysis indicates the effectiveness of KnowAgent in terms of planning hallucinations mitigation.

Paper: KnowAgent: Knowledge-Augmented Planning for LLM-Based Agents

Más allá de modelos estadísticos: el aprendizaje causal de Yoshua Bengio

La investigación de Yoshua Bengio sobre el aprendizaje causal busca abordar brechas significativas en los modelos actuales de aprendizaje automático (ML), especialmente en su capacidad para generalizar más allá de las condiciones específicas bajo las cuales fueron entrenados. Bengio y su equipo han enfatizado la importancia del aprendizaje causal como una forma de lograr un nivel más profundo de comprensión en los sistemas de IA, permitiéndoles razonar sobre intervenciones, cambios en el mundo y hasta predecir resultados en escenarios que divergen significativamente de sus datos de entrenamiento.

La investigación profundiza en los fundamentos del aprendizaje causal, proponiendo que entender y modelar las relaciones causales podría llevar a modelos de ML que son más robustos y capaces de una verdadera generalización. Esto implica ir más allá de los métodos puramente estadísticos de aprendizaje, excelentes para identificar patrones en los datos pero que a menudo se quedan cortos cuando se trata de comprender los mecanismos causales subyacentes que generan estos patrones. El aprendizaje causal busca cerrar esta brecha enfocándose en el conocimiento estructural sobre los procesos de generación de datos, habilitando intervenciones y predicciones bajo condiciones de cambio.

Un concepto clave introducido por el equipo de Bengio es el principio de Mecanismos Causales Independientes (ICM), que sugiere que el proceso generativo causal de las variables de un sistema está compuesto de módulos autónomos que no se informan ni influyen entre sí. Este principio, junto con la hipótesis de Cambio Mecánico Escaso derivada de él, sirve como fundamento para desarrollar modelos que pueden aprender e inferir relaciones causales a partir de datos. La investigación también destaca la distinción entre modelos causales y estadísticos, enfatizando que los modelos causales son más adecuados para comprender y predecir los efectos de intervenciones y cambios de distribución.

Las implicaciones del aprendizaje causal para el aprendizaje automático práctico son profundas, ya que no solo promete mejorar la robustez y la generalización de los modelos, sino que también alinea la investigación en aprendizaje automático más cerca del objetivo de lograr una inteligencia general artificial. Al incorporar el razonamiento causal en los modelos de aprendizaje automático, los investigadores esperan crear sistemas de IA que puedan entender el mundo e interactuar con él de una manera más significativa, similar a la cognición humana.

Para profundizar en el trabajo de Bengio sobre el aprendizaje causal, puedes explorar los trabajos y discusiones alrededor de este tema, como Hacia el Aprendizaje de Representación Causal y artículos relacionados que exploran los desafíos y direcciones futuras de integrar la causalidad en el aprendizaje automático.

Más información

[11] Inteligencia Artificial General

FIXME

[12] Aspectos filosóficos de la IA

10.1 Habilidades emergentes de las IA

10.2 IA y Sociedad

En esta sección abordamos los desafíos y oportunidades actuales y futuros en el campo de la IA, incluyendo la ética, la privacidad, la seguridad y la inclusión.

El valle inquietante (uncanny valley)

ChatGPT: Aquí tienes una imagen que explica visualmente el concepto del Valle Inquietante (Uncanny Valley) en el contexto de la inteligencia artificial y la robótica. La gráfica muestra cómo la respuesta emocional de las personas varía a medida que los robots se vuelven más parecidos a los humanos, destacando ese punto específico en el que casi alcanzan la semejanza humana pero provocan una sensación de incomodidad, antes de volver a ser positivamente aceptados cuando son indistinguibles de los humanos.

La expresión “uncanny valley” se refiere a un fenómeno en el campo de la robótica y la animación 3D, pero que también se aplica más ampliamente en el diseño de personajes y la inteligencia artificial. El término fue acuñado por el robotista japonés Masahiro Mori en 1970. Describe una relación no lineal entre el grado de realismo de una representación humana artificial y la respuesta emocional de los observadores humanos.

El “valle inquietante” se refiere específicamente a la observación de que cuando las réplicas de seres humanos (robots, personajes de videojuegos, animaciones CGI) se asemejan casi, pero no perfectamente, a seres humanos reales, provocan sentimientos de inquietud, repulsión o desconcierto en el observador. Esto se debe a que las imperfecciones o anomalías en la apariencia o el comportamiento se hacen más notables, cayendo en este “valle” de respuesta emocional negativa.

Sin embargo, si la réplica es menos realista y claramente artificial, o si es indistinguible de un ser humano real, estas respuestas negativas disminuyen. Por lo tanto, el “valle inquietante” es ese espacio intermedio donde las representaciones son lo suficientemente realistas para ser inquietantes pero no lo suficientemente perfectas para ser completamente aceptadas como humanas.

¿Cuánto queremos saber sobre la Inteligencia Artificial?

  • Conocimiento de “caja negra”: Cómo se usa y cómo se comporta
  • Conocimiento de “caja blanca”: Cómo y por qué funciona

Ventajas e inconvenientes de cada enfoque

¿Sociedades de la mente?

Both Minsky's “society of mind” and Schmidhuber's “learning to think” inspire diverse societies of large multimodal neural networks (NNs) that solve problems by interviewing each other in a “mindstorm.” Recent implementations of NN-based societies of minds consist of large language models (LLMs) and other NN-based experts communicating through a natural language interface. In doing so, they overcome the limitations of single LLMs, improving multimodal zero-shot reasoning. In these natural language-based societies of mind (NLSOMs), new agents – all communicating through the same universal symbolic language – are easily added in a modular fashion. To demonstrate the power of NLSOMs, we assemble and experiment with several of them (having up to 129 members), leveraging mindstorms in them to solve some practical AI tasks: visual question answering, image captioning, text-to-image synthesis, 3D generation, egocentric retrieval, embodied AI, and general language-based task solving. We view this as a starting point towards much larger NLSOMs with billions of agents-some of which may be humans. And with this emergence of great societies of heterogeneous minds, many new research questions have suddenly become paramount to the future of artificial intelligence. What should be the social structure of an NLSOM? What would be the (dis)advantages of having a monarchical rather than a democratic structure? How can principles of NN economies be used to maximize the total reward of a reinforcement learning NLSOM? In this work, we identify, discuss, and try to answer some of these questions.

—paper: Mindstorms in Natural Language-Based Societies of Mind

Más información

Impacto social de modelos fundacionales abiertos

Paper: On the Societal Impact of Open Foundation Models, Analyzing the benefits and risks of foundation models with widely available weights

FIXME

Alineación de la IA

ChatGPT: He creado imágenes para ilustrar el concepto de “alineación de la IA”, mostrando un compás que apunta hacia un símbolo de ética y valores humanos en un paisaje digital, con entidades de IA convergiendo hacia este símbolo ético. Estas imágenes simbolizan el objetivo de alinear los sistemas de IA con los valores y la ética humanos, destacando la importancia de guiar el desarrollo y las acciones de la IA en conformidad con principios éticos.

La alineación de la IA se refiere al problema de asegurarse de que los objetivos y comportamientos de una inteligencia artificial (IA) se alineen con los valores y objetivos humanos. La idea es que la IA actúe siempre de manera que beneficie a la sociedad y no cause daño alguno. Esto puede ser un desafío, ya que la IA puede aprender patrones y tomar decisiones de manera diferente a como lo haría un ser humano.

Si una IA no está alineada con los valores humanos, podría tomar decisiones que sean perjudiciales para la sociedad. Por ejemplo, una IA que ha sido entrenada para maximizar la producción de energía podría tomar decisiones que causen daño ambiental o social.

Para abordar el problema de la alineación de la IA, se pueden utilizar diferentes técnicas, como la programación de objetivos, la evaluación de la conformidad y la retroalimentación. También es importante tener en cuenta la ética y la transparencia en el desarrollo y uso de la IA.

Más información

Los "problemas fuertes de la Inteligencia Artificial: el Programa AI2025

Privacidad

Deepfakes

Bibliografía

Libros y artículos sobre los factores humanos implicados en la creación y adopción de los modelos de lenguaje y las redes neuronales.

10.3 IA y ética

FIXME

10.4 IA, política y servicios públicos

Libro “La filosofía política de la Inteligencia Artificial. Una introducción.”, de Mark Coeckelbergh.

Artículo Governments not keen on pushing citizen-facing AI services, for obvious reasons

Gartner says governments remain wary of AI-enabled citizen-facing services, while cybersecurity experts at NordVPN have warned against getting too chatty with chatbots.

Chatbots are commonplace nowadays, to the point where sport can be had in persuading the poor things to spout nonsense that their operators would prefer they didn't. DPD's infamous customer support chatbot gone wild is a case in point.

Yet although commercial entities might be charging headlong into customer-facing AI-powered experiences, researchers at Gartner have reported that by 2027, less than 25 percent of government organizations will have citizen-facing services powered by the technology.

The reasons behind governments' reluctance to move AI from the back office to the front are varied. Dean Lacheca, VP analyst at Gartner, said: “A lack of empathy in service delivery and a failure to meet community expectations will undermine public acceptance of GenAI's use in citizen-facing services.”

Although it should be noted that humans working in government services can be just as able to demonstrate a lack of empathy and a failure to meet expectations as any generative AI service.

Lacheca said governments have benefited from using more mature technology for years, “risk and uncertainty are slowing GenAI's adoption at scale, especially the lack of traditional controls to mitigate drift and hallucinations.”

This means that it's easier to focus on internal processes rather than risk a chatbot talking trash as a citizen-facing service. According to Gartner, human-centered design is essential.

Just perhaps not too human maybe. According to a recent Infobip survey highlighted by cybersecurity experts at NordVPN, some users can overshare with chatbots and divulge confidential information to trigger a response or create an imagined connection with the AI.

The survey reports that almost 20 percent of Americans have flirted with a chatbot, although nearly half of those insisted they were only poking the service to see what it would come out with.

Adrianus Warmenhoven, a cybersecurity expert at NordVPN, said: “Customer support operators used to be a filter, understanding the domain and privacy risks and asking only for relevant and less sensitive information.”

According to Gartner, governments that use generative AI-enabled citizen-facing services risk violating data privacy regulations or providing misleading or inaccurate results.

“GenAI adoption by government organizations should move at a pace that is aligned to their risk appetite to ensure that early missteps in the use of AI don't undermine community acceptance of the technology in government service delivery,” said Lacheca.

FIXME

Más información

10.5 IA y creatividad

¿La IA plagia?
https://youtu.be/ibue3mFBh5c?si=Lo4J219uIGV-LyeN

Trabajos de Margaret Boden.

FIXME

10.6 IA y emociones humanas

10.6 IA y cuerpo

FIXME

10.7 IA y medio ambiente

Consumo energético tanto en la fase de entrenamiento como de inferencia de los LLM

The fact that Nvidia is now targeting 1000W per GPU to run the most powerful AI should worry many. We must emphasize that Nvidia chips operate collectively in data centers, so the total Wattage soon reaches astronomical proportions. The current H100 GPU consumes at most 700W in certain configurations. Although the expected consumption of Nvidia hardware has time and again been lower than pre-launch rumours suggest, it could now be an accurate prediction. Indeed, Nvidia has more incentive than ever to push AI performance to the highest possible level. It sells every GPU it can provide and doesn’t have to pay the power bill afterwards.
— fuente: https://www.techzine.eu/blogs/infrastructure/117260/will-nvidias-domination-of-the-ai-world-continue/, techzine.com

Más información

Apéndice

Bibliografía

Información de fondo sobre la Inteligencia Artificial, sus implicaciones y la gobernanza de su implementación.

La inteligencia artificial (IA) se puede dividir en diferentes enfoques, principalmente “IA Simbólica” (Symbolic AI), “IA no-simbólica” (Sub-symbolic AI) y a veces una categoría híbrida conocida como “IA Híbrida” (Hybrid AI). Cada una de estas categorías representa una metodología diferente para diseñar sistemas inteligentes.

Tutoriales

Podcasts

Noticias

Exposiciones y eventos

FUNDACION TELEFONICA. Encuentro TELOS 2024, “Inteligencia Artificial, cultura y lengua”, 13 de febrero de 2024.

En esta nueva edición de Telos 2024 exploraremos cómo la Inteligencia Artificial influye en nuestra identidad cultural y lingüística, analizando su impacto en la creatividad, el arte, la educación y la interacción social.
IA: Inteligencia artificial, CCCB - Centro de Cultura Contemporánea de Barcelona. Hasta el 17 de marzo de 2024.

Nunca una tecnología había crecido tan rápidamente y se había introducido de forma tan directa en nuestras vidas. La inteligencia artificial preocupa y fascina. Amenaza y genera oportunidades. Tiene detractores y defensores. La muestra aborda el papel de la inteligencia artificial en la vida cotidiana, las oportunidades que presenta para la investigación científica y biomédica, el papel de la supercomputación como principal impulsor, la situación legislativa actual, los riesgos de desinformación que plantea su uso generalizado o los sesgos raciales y de género que puede generar.
Fundación Telefónica. Presentación TELOS 123. Inteligencia Artificial. Noviembre 2023.

Celebramos el número 123 de la revista TELOS, dedicado íntegramente a la Inteligencia Artificial, en una jornada donde diferentes expertos y colaboradores debatirán sobre las complejidades éticas, filosóficas y regulatorias de la IA. Para ello, contaremos con la participación de Nerea Blanco, filósofa, escritora y divulgadora; Nerea Luis, directora de Inteligencia Artificial en Sngular; Richard Benjamins, responsable de IA para la Sociedad y el Medio Ambiente en Telefónica y Ana Sainz, directora general de la Fundación SERES.

Agradecimientos

Agradecemos las aportaciones realizadas por:

  • José Carlos García
  • Manuel Peña

[misdocumentos.net] Inteligencia Artificial by Joaquín Herrero Pintado is licensed under CC BY-SA 4.0

Inbox

Enlaces e ideas que aún no han sido colocadas en su lugar en la página

https://softwarecrisis.dev/letters/llmentalist/

1)
apartado 1.4 The State of the Art, página 45
2)
Andrew Chen es un inversionista, licenciado en matemáticas aplicadas por la Universidad de Washington y conocido especialmente por su trabajo con Andreessen Horowitz (a16z), una de las firmas de capital de riesgo más influyentes en Silicon Valley.
3)
En el contexto del aprendizaje automático y la ciencia de datos, decir que algo es “de bajo rango” (low rank) se refiere a la propiedad de ciertas matrices o estructuras de datos que pueden ser aproximadas o representadas de manera eficiente usando menos información de la que inicialmente podrías esperar. Una matriz de bajo rango es aquella en la que el número de filas y columnas independientes linealmente (el rango de la matriz) es menor que el número total de filas o columnas. Esto significa que algunos de los datos en la matriz pueden ser reconstruidos o predichos a partir de una combinación lineal de otros datos en la matriz.
4)
La “varianza de Adam” se refiere a uno de los componentes clave del algoritmo de optimización Adam, utilizado para entrenar modelos de aprendizaje automático, especialmente redes neuronales profundas. Adam, que significa “Adaptive Moment Estimation”, es un algoritmo que combina ideas de otros dos enfoques de optimización: RMSprop (Root Mean Square Propagation) y Momentum. Este término se refiere al promedio móvil de los cuadrados de los gradientes. No se trata de la varianza en el sentido estadístico clásico, sino más bien de una medida de la variabilidad o dispersión de los gradientes. Al ajustar las actualizaciones de los parámetros en función de esta medida, Adam puede adaptar de manera eficaz la tasa de aprendizaje para cada parámetro individualmente. Esto es particularmente útil para lidiar con problemas como los mínimos locales o la saturación de gradientes, comunes en el entrenamiento de redes profundas.
5)
uno de los científicos de datos más influyentes e innovadores
ia/start.txt · Last modified: 2024/04/17 07:06 by jherrero