Saltar al Contenido
Este artículo ha sido traducido del japonés usando IA
Leer en japonés
Este artículo es de Dominio Público (CC0). Siéntete libre de usarlo libremente. CC0 1.0 Universal

Sistema de Inteligencia de Aprendizaje Artificial: El Concepto ALIS

Aquí, mi objetivo es organizar el Sistema de Inteligencia de Aprendizaje Artificial (ALIS), abarcando sus conceptos y principios, hasta su diseño básico y métodos de desarrollo.

Concepto

La IA generativa actual, principalmente los modelos de lenguaje grandes, se entrena basándose en el aprendizaje supervisado utilizando redes neuronales.

Posicionamos este proceso de entrenamiento de redes neuronales como aprendizaje innato.

ALIS es un sistema que permite una inferencia integral al integrar procesos de aprendizaje tanto innatos como adquiridos, incorporando un proceso de aprendizaje adquirido separado del aprendizaje innato.

En este aprendizaje adquirido, el conocimiento aprendido se almacena externamente a la red neuronal y se utiliza durante la inferencia.

Por lo tanto, el núcleo técnico de ALIS reside en la extracción, el almacenamiento de conocimiento reutilizable y la selección y utilización de conocimiento durante la inferencia.

Además, ALIS no es simplemente una tecnología elemental, sino también una tecnología de sistema que combina el aprendizaje innato y el adquirido.

Elementos de un Sistema de Inteligencia de Aprendizaje

ALIS trata tanto el aprendizaje innato existente como el futuro aprendizaje adquirido como operaciones bajo los mismos principios dentro del marco del aprendizaje y la inferencia.

Para explicar los principios del aprendizaje en ALIS, definimos cinco elementos de un sistema de inteligencia de aprendizaje:

El primero es el Procesador Inteligente. Se refiere a un sistema de procesamiento que realiza inferencias utilizando conocimiento y extrae conocimiento para el aprendizaje.

Ejemplos representativos de procesadores inteligentes incluyen los LLM y partes del cerebro humano.

El segundo es el Almacén de Conocimiento. Se refiere a un lugar de almacenamiento donde el conocimiento extraído se guarda y puede recuperarse según sea necesario.

En los LLM, el almacén de conocimiento son los parámetros de la red neuronal. En los humanos, corresponde a la memoria a largo plazo en el cerebro.

El tercero es el Mundo. Se refiere al entorno externo tal como lo perciben los sistemas de inteligencia de aprendizaje, como los humanos o ALIS.

Para los humanos, el mundo es la realidad misma. En el caso de los LLM, el mecanismo que recibe la salida del LLM y le proporciona retroalimentación se considera el equivalente del mundo.

El cuarto es la Memoria de Estado. Se refiere a una memoria interna temporal, como un bloc de notas, que un sistema de inteligencia de aprendizaje utiliza durante la inferencia.

En los LLM, este es el espacio de memoria utilizado durante la inferencia, conocido como estados ocultos. En los humanos, corresponde a la memoria a corto plazo.

El quinto es el Marco (Framework). Este es el llamado marco de pensamiento. En la terminología de un sistema de inteligencia de aprendizaje, se refiere a los criterios para seleccionar el conocimiento necesario durante la inferencia y la estructura lógica del espacio de estados para organizar la memoria de estado.

En los LLM, es la estructura semántica de los estados ocultos y, generalmente, su contenido es vago e incomprensible para los humanos. Además, la selección de conocimiento está integrada en el mecanismo de atención, que selecciona qué tokens existentes referenciar para cada token que se está procesando.

Para los humanos, como se mencionó anteriormente, es el marco de pensamiento. Al pensar utilizando un marco de pensamiento específico, ciertos conjuntos de conocimientos se recuperan de la memoria a largo plazo y se cargan en la memoria a corto plazo. Luego, la información percibida actualmente se organiza de acuerdo con el marco de pensamiento para comprender la situación.

Principios de un Sistema de Inteligencia de Aprendizaje

Un sistema de inteligencia de aprendizaje opera de la siguiente manera:

El procesador inteligente actúa sobre el mundo. El mundo responde con resultados basados en esa acción.

El procesador inteligente extrae conocimiento reutilizable de estos resultados y lo almacena en el almacén de conocimiento.

Cuando el procesador inteligente actúa repetidamente sobre el mundo, selecciona conocimiento del almacén de conocimiento y lo utiliza para modificar su modo de acción.

Este es el mecanismo básico.

Sin embargo, fundamentalmente, los métodos de extracción, almacenamiento, selección y utilización del conocimiento determinan si el sistema puede lograr un aprendizaje significativo.

Los humanos poseen mecanismos que permiten una extracción, almacenamiento, selección y utilización efectivas del conocimiento, lo que les permite aprender.

Las redes neuronales, incluidos los LLM, tienen mecanismos para el almacenamiento, la selección y la utilización, aunque la parte de extracción es manejada por un maestro externo. Esto les permite aprender siempre que un maestro proporcione la entrada.

Además, un sistema de inteligencia de aprendizaje puede lograr un aprendizaje más complejo al aprender también la extracción, el almacenamiento y la selección de marcos, y su utilización en la memoria de estado, como conocimiento.

Tipos de Conocimiento

Basándose en este principio, al diseñar el aprendizaje adquirido, es necesario clarificar qué forma de información adoptará el conocimiento adquirido.

Es concebible aprender el conocimiento adquirido por separado como parámetros de una red neuronal.

Sin embargo, el conocimiento adquirido no necesita limitarse únicamente a los parámetros de la red neuronal. Un candidato realista es el conocimiento textualizado en lenguaje natural.

Si el conocimiento se textualiza en lenguaje natural, puede extraerse y utilizarse aprovechando las capacidades de procesamiento de lenguaje natural de los LLM. Además, puede tratarse como datos en un sistema de TI regular, lo que facilita su almacenamiento y selección.

Además, el conocimiento textualizado en lenguaje natural es fácil de verificar, comprender e, en algunos casos, editar para los humanos y otros LLM.

También puede compartirse con otros sistemas de inteligencia de aprendizaje, y fusionarse o dividirse.

Por estas razones, el conocimiento adquirido en el concepto ALIS se diseñará inicialmente para apuntar al conocimiento textualizado en lenguaje natural.

Memoria de Estado Adquirida y Marco

He explicado las ventajas de elegir el conocimiento textualizado en lenguaje natural como conocimiento adquirido.

De manera similar, el texto en lenguaje natural también puede usarse para la memoria de estado y el marco para la inferencia.

El marco, que es una estructura conceptual, también puede almacenarse y utilizarse en el almacén de conocimiento como conocimiento textualizado en lenguaje natural.

Al inicializar o actualizar estados basados en la estructura definida por ese marco, se puede usar la memoria de estado basada en texto.

Al diseñar ALIS para usar el formato de texto no solo para el conocimiento adquirido, sino también para los marcos y la memoria de estado, ALIS puede aprovechar las capacidades de procesamiento del lenguaje natural de los LLM tanto para el aprendizaje adquirido como para la inferencia general.

Conocimiento Formal

El conocimiento adquirido, los marcos y la memoria de estado pueden representarse no solo mediante texto en lenguaje natural, sino también mediante lenguajes formales o modelos formales más rigurosos.

Si bien escribí "seleccionar", el objetivo de ALIS es incorporar múltiples mecanismos de aprendizaje de conocimiento adquirido para permitir una utilización híbrida del aprendizaje innato y adquirido.

El conocimiento representado por lenguajes formales o modelos formales puede ser más riguroso y estar libre de ambigüedades.

Además, si un marco se expresa utilizando un lenguaje formal o un modelo formal, y un estado inicial se expande en la memoria de estado, entonces un modelo formal puede ser procesado por un procesador inteligente (no un LLM) para realizar simulaciones rigurosas y razonamiento lógico.

Un excelente ejemplo de tales lenguajes formales y modelos formales son los lenguajes de programación.

A medida que el sistema aprende sobre el mundo, si puede expresar las leyes y conceptos subyacentes como programas dentro de un marco, estos pueden ser simulados por una computadora.

Columna 1: Tipos de Conocimiento

Al organizar el conocimiento dentro de un sistema de inteligencia de aprendizaje, queda claro que puede clasificarse ampliamente en tres sistemas y dos tipos.

Los tres sistemas son: conocimiento de parámetros de red manejado por redes neuronales, conocimiento natural en lenguaje natural y conocimiento formal en lenguajes formales.

Los dos tipos son: sin estado (stateless) y con estado (stateful).

El conocimiento de parámetros de red sin estado es conocimiento intuitivo, como el que se encuentra en la IA de aprendizaje profundo. Las características de gatos y perros, que no pueden pensarse o identificarse verbalmente, pueden aprenderse como conocimiento de parámetros de red sin estado.

El conocimiento de parámetros de red con estado es conocimiento difuso, derivado de procesos iterativos, como el que se encuentra en la IA generativa.

El conocimiento natural sin estado es conocimiento como el significado asociado a una palabra.

El conocimiento natural con estado es conocimiento que incluye el contexto encontrado dentro de una oración.

Parte del conocimiento natural está inherentemente incluido en el conocimiento de parámetros de red con estado, pero también hay conocimiento que puede adquirirse post-natalmente a partir de texto en lenguaje natural.

El conocimiento formal sin estado es conocimiento que puede expresarse mediante fórmulas matemáticas que no incluyen iteración. El conocimiento formal con estado es conocimiento que puede expresarse mediante programas.

La memoria a corto plazo del propio cerebro también puede utilizarse como memoria de estado para el conocimiento natural y formal.

Sin embargo, al ser memoria a corto plazo, existe el problema de que es difícil mantener un estado de manera estable. Además, no es buena para retener conocimiento en un estado formalizado e inequívoco.

Por otro lado, el papel, las computadoras o los teléfonos inteligentes pueden utilizarse como memoria de estado para escribir y editar texto en lenguaje natural, lenguajes formales o modelos formales.

Generalmente, los datos en papel o computadoras a menudo se perciben como algo para almacenar conocimiento como un almacén de conocimiento, pero también pueden utilizarse como memoria de estado para organizar pensamientos.

Así, es evidente que los humanos realizan actividades intelectuales utilizando hábilmente estos tres sistemas y dos tipos de conocimiento.

ALIS también tiene el potencial de mejorar drásticamente sus capacidades al habilitar y mejorar las actividades intelectuales que aprovechan estos mismos tres sistemas y dos tipos de conocimiento.

En particular, ALIS tiene la fortaleza de poder utilizar vastos almacenes de conocimiento y memoria de estado. Además, puede preparar fácilmente múltiples instancias de cada uno y realizar tareas intelectuales cambiándolas o combinándolas.

Columna 2: Orquestación Intelectual

Si bien la capacidad de almacenar una gran cantidad de conocimiento en el almacén de conocimiento es una fortaleza, simplemente tener una gran cantidad de conocimiento no es necesariamente ventajoso para la actividad intelectual debido a las limitaciones en el número de tokens que una IA generativa puede usar a la vez y la restricción de que el conocimiento irrelevante se convierte en ruido.

Por otro lado, al segmentar adecuadamente el almacén de conocimiento y crear almacenes de conocimiento especializados de alta densidad que reúnan el conocimiento necesario para tareas intelectuales específicas, se pueden mitigar los problemas de los límites de tokens y el ruido.

A cambio, dichos almacenes de conocimiento especializados solo serían utilizables para esas tareas intelectuales específicas.

Muchas actividades intelectuales son combinaciones complejas de diversas tareas intelectuales. Por lo tanto, al dividir el conocimiento en almacenes de conocimiento especializados según el tipo de tarea intelectual y subdividir la actividad intelectual en tareas intelectuales, ALIS puede ejecutar la actividad intelectual completa alternando adecuadamente entre los almacenes de conocimiento especializados.

Esto es como una orquesta compuesta por músicos profesionales que tocan diferentes instrumentos y un director que lidera el conjunto.

A través de esta tecnología de sistema, la "orquestación intelectual", ALIS podrá organizar sus actividades intelectuales.

Diseño Básico y Método de Desarrollo de ALIS

A partir de aquí, organizaré el enfoque de desarrollo para ALIS.

Como ya se ha mencionado en los principios y columnas, ALIS está inherentemente diseñado para extender fácilmente sus funciones y recursos. Esto se debe a que la esencia de ALIS no reside en funciones específicas, sino en los procesos de extracción, almacenamiento, selección y utilización del conocimiento.

Por ejemplo, se pueden preparar múltiples tipos de mecanismos de extracción de conocimiento, y luego seleccionarlos o usarlos simultáneamente, dependiendo del diseño del sistema.

Además, se puede hacer que ALIS realice esta selección por sí mismo.

El almacenamiento, la selección y la utilización pueden, de manera similar, seleccionarse o paralelizarse libremente.

Por lo tanto, ALIS puede desarrollarse de forma incremental y ágil, sin la necesidad de diseñar toda la funcionalidad de manera en cascada.

El Inicio de ALIS

Ahora, diseñemos un ALIS muy simple.

La interfaz de usuario básica será la familiar IA de chat. Inicialmente, la entrada del usuario se pasará directamente al LLM. La respuesta del LLM se mostrará en la interfaz de usuario, y el sistema esperará la siguiente entrada del usuario.

Cuando llegue la siguiente entrada, el LLM recibirá no solo la nueva entrada, sino también todo el historial de chat entre el usuario y el LLM hasta ese momento.

Detrás de esta interfaz de usuario de IA de chat, prepararemos un mecanismo para extraer conocimiento reutilizable del historial de chat.

Esto se puede añadir al sistema de IA de chat como un proceso ejecutado al finalizar una conversación o a intervalos regulares. Por supuesto, se utilizará un LLM para la extracción de conocimiento.

A este LLM se le proporcionará el concepto y los principios de ALIS, junto con el conocimiento práctico de extracción de conocimiento, como prompts del sistema. Si el conocimiento no se extrae como se desea, los prompts del sistema deberán perfeccionarse mediante prueba y error.

El conocimiento extraído del historial de chat se almacenará directamente en un "lago de conocimiento" (knowledge lake). Un lago de conocimiento es un mecanismo para simplemente almacenar conocimiento en un estado plano y no estructurado antes de que se estructure.

A continuación, prepararemos un mecanismo de estructuración para facilitar la selección de conocimiento del lago de conocimiento.

Esto implica proporcionar almacenes de vectores de incrustación para la búsqueda semántica, como se usa típicamente en RAG, e índices de palabras clave, entre otras cosas.

Opciones más avanzadas incluyen generar un grafo de conocimiento o realizar una clasificación de categorías.

Esta colección de información estructurada para el lago de conocimiento se denominará "base de conocimiento" (knowledge base). Esta base de conocimiento y el lago de conocimiento en su totalidad constituirán el "almacén de conocimiento" (knowledge store).

A continuación, integraremos el almacén de conocimiento en el procesamiento de la interfaz de usuario del chat.

Esto es básicamente lo mismo que un mecanismo RAG general. Para la entrada del usuario, se selecciona el conocimiento relevante del almacén de conocimiento y se pasa al LLM junto con la entrada del usuario.

Esto permite al LLM utilizar automáticamente el conocimiento al procesar la entrada del usuario.

De esta manera, el conocimiento se acumulará con cada conversación con el usuario, realizando un ALIS simple que utiliza el conocimiento acumulado de conversaciones anteriores.

Escenario Sencillo

Por ejemplo, imagine un usuario desarrollando una aplicación web utilizando este ALIS sencillo.

El usuario informa que el código propuesto por el LLM resultó en un error. Después de que el usuario y el LLM colaboran para solucionar el problema, descubren que la especificación de la API externa conocida por el LLM estaba desactualizada, y el programa funciona correctamente después de adaptarse a la última especificación de la API.

A partir de este hilo de chat, ALIS podría acumular conocimiento en su almacén de conocimiento: específicamente, que la especificación de la API conocida por el LLM es antigua y cuál es la última especificación de la API.

Luego, la próxima vez que se cree un programa utilizando la misma API, ALIS podría aprovechar este conocimiento para generar un programa basado en la última especificación de la API desde el principio.

Mejoras al ALIS Inicial

Sin embargo, para que esto suceda, este conocimiento debe ser seleccionado en respuesta a la entrada del usuario. Es posible que este conocimiento no esté directamente relacionado con la entrada del usuario, ya que el nombre de la API problemática podría no aparecer en la entrada del usuario.

En ese caso, el nombre de la API solo surgiría durante la respuesta del LLM.

Por lo tanto, ampliaremos ligeramente el ALIS simple añadiendo mecanismos de pre-análisis y post-verificación.

El pre-análisis es similar al "modo de pensamiento" en los LLM recientes. Se preparará una memoria capaz de contener texto como memoria de estado, y el prompt del sistema instruirá al LLM para que realice un pre-análisis al recibir la entrada del usuario.

El resultado del pre-análisis del LLM se almacenará en la memoria de estado. Basándose en este resultado del pre-análisis, se seleccionará conocimiento del almacén de conocimiento.

Luego, el historial de chat, el resultado del pre-análisis, el conocimiento correspondiente a la entrada del usuario y el conocimiento correspondiente al resultado del pre-análisis se pasarán al LLM para recibir una respuesta.

Además, el resultado devuelto por el LLM también se utilizará para buscar conocimiento en el almacén de conocimiento. Incluyendo el conocimiento encontrado allí, se le pedirá al LLM que realice una post-verificación.

Si se encuentra algún problema, los puntos problemáticos y las razones de la 指摘 (observación/apunte) se incluirán y se devolverán al LLM de chat.

Al proporcionar oportunidades para seleccionar conocimiento durante el pre-análisis y la post-verificación, podemos aumentar las posibilidades de utilizar el conocimiento acumulado.

Perspectiva

Este enfoque de construir un ALIS inicial y luego añadir mejoras para abordar sus debilidades ilustra perfectamente el desarrollo ágil y la mejora incremental de ALIS.

Además, como se ha ejemplificado, el ALIS inicial es más adecuado para su uso en el desarrollo de software. Esto se debe a que es un campo de alta demanda y también uno donde el conocimiento puede acumularse de forma clara y sencilla.

Es un género donde las cosas son claramente blanco o negro, y sin embargo, también es un campo crucial donde el ensayo y error y la acumulación iterativa de conocimiento son necesarios e importantes.

Además, dado que el desarrollo de ALIS es en sí mismo desarrollo de software, el hecho de que los desarrolladores de ALIS puedan ser usuarios de ALIS también es atractivo.

Y, junto con el sistema ALIS, el knowledge lake también puede compartirse abiertamente en plataformas como GitHub.

Esto permitiría que muchas personas colaboraran en mejoras del sistema ALIS y en la acumulación de conocimiento, beneficiándose todos de los resultados, lo que aceleraría aún más el desarrollo de ALIS.

Por supuesto, el intercambio de conocimiento no se limita a los desarrolladores de ALIS, sino que puede recopilarse de todos los desarrolladores de software que utilizan ALIS.

El hecho de que el conocimiento esté en lenguaje natural ofrece dos ventajas adicionales:

La primera ventaja es que el conocimiento puede aprovecharse incluso cuando el modelo LLM cambia o se actualiza.

La segunda ventaja es que el vasto knowledge lake acumulado puede utilizarse como conjunto de datos de pre-entrenamiento para los LLM. Esto puede hacerse de dos maneras: utilizándolo para el ajuste fino (fine-tuning), o utilizándolo para el pre-entrenamiento del propio LLM.

En cualquier caso, si se pueden utilizar LLM que hayan aprendido de forma innata el conocimiento acumulado en el knowledge lake, el desarrollo de software será aún más eficiente.

Además, dentro del desarrollo de software, existen varios procesos como el análisis de requisitos, el diseño, la implementación, las pruebas, la operación y el mantenimiento, y existe conocimiento especializado para cada dominio y plataforma de software. Si se crea un mecanismo para segmentar el vasto conocimiento acumulado desde estas perspectivas, también se puede formar una orquesta ALIS.

Así, las tecnologías elementales para ALIS están en su lugar. La clave ahora es probar prácticamente varios métodos —como el know-how de extracción de conocimiento, la selección adecuada de conocimiento, la segmentación de conocimiento especializado y cómo utilizar la memoria de estado— para descubrir enfoques efectivos. Además, a medida que aumenta la complejidad, el tiempo de procesamiento y los costos de uso del LLM aumentarán, lo que requerirá optimización.

Estos procesos de ensayo y error y optimización pueden perseguirse de forma adaptativa mediante el desarrollo y la mejora de marcos.

Inicialmente, los desarrolladores, como usuarios, probablemente incorporarán marcos en ALIS mediante ensayo y error. Sin embargo, incluso entonces, se puede hacer que el propio LLM genere ideas de marcos.

Y al incorporar en ALIS marcos que mejoran o descubren marcos basándose en los resultados recibidos del mundo y el conocimiento extraído, ALIS mismo realizará el ensayo y error y la optimización de forma adaptativa.

ALIS en el Mundo Real

Una vez que ALIS haya sido perfeccionado hasta esta etapa, debería ser capaz de aprender conocimiento no solo en el mundo del desarrollo de software, sino ampliamente en diversos dominios.

De manera similar al desarrollo de software, se espera que ALIS expanda su alcance a diversas actividades intelectuales que los humanos realizan utilizando computadoras.

Incluso en actividades puramente intelectuales, ALIS posee una especie de naturaleza de IA encarnada con respecto al mundo objetivo.

Esto se debe a que reconoce la frontera entre sí mismo y el mundo, actúa sobre el mundo a través de esa frontera y puede percibir la información recibida del mundo.

Lo que generalmente denominamos "cuerpo" es una frontera con el mundo que es físicamente visible y está localizada en un solo lugar.

Sin embargo, incluso si la frontera es invisible y está distribuida espacialmente, la estructura de percepción y acción a través de una frontera es la misma que la de tener un cuerpo físico.

En ese sentido, ALIS, al realizar actividades intelectuales, puede considerarse que posee la naturaleza de una IA virtualmente encarnada.

Y una vez que ALIS se perfeccione hasta una etapa en la que pueda aprender adecuadamente incluso en mundos nuevos y desconocidos, existe la posibilidad de que ALIS pueda integrarse como parte de una IA encarnada real que posea un cuerpo físico.

De esta manera, ALIS se aplicará eventualmente al mundo real y comenzará a aprender de él.