Desde Linux Jose Albert  

Fundamentos de Inteligencia Artificial (IA) para Linuxeros – Quinta Parte

Fundamentos de Inteligencia Artificial - Quinta parte: Más Términos

Fundamentos de Inteligencia Artificial – Quinta parte: Más Términos

Si has seguido nuestra actual serie de publicaciones sobre Inteligencia Artificial (IA), ya sabrás que en nuestra tercera parte hicimos una publicación similar. Es decir, una publicación en la que dimos a conocer algunos esenciales e importantes términos (conceptos, palabras, jergas) de dicho ámbito. Pero, como es lógico de entenderse, por motivos de espacio y lo innovador y amplio de dicho campo de estudio, faltan muchas más por conocer. Así que en esta quinta entrega nos enfocaremos en unos pocos términos que últimamente son bien usados por muchos investigadores, desarrolladores, comunidades y usuarios de IA e IAG. Y estos son los siguientes 5 términos: Cuantización, Destilación, Obliteración, Sin censura y Alineación.

Y si no has leído las anteriores, te precisamos que en la primera parte nos enfocamos en qué es la IA y sobre los diversos tipos que ya se han creado y se esperan crear. En la segunda parte, sobre la diferencia entre la IA Simbólica y la IA Conexionista más algunos hitos históricos importantes de este ámbito tecnológico en los últimos 100 años. Mientras que, en la cuarta parte, nos enfocamos sobre los Prompts y la Ingeniería de Prompts. Así que, si este ámbito de la IA/IAG es lo tuyo, además del Linuxverso, pues sigue leyendo para que sigas aprendiendo y profundizando tus conocimientos sobre el mismo.

Fundamentos de Inteligencia Artificial - Cuarta parte: Los Prompts

Fundamentos de Inteligencia Artificial – Cuarta parte: Los Prompts

Pero, antes de introducirnos en esta «quinta parte del apasionante y sorprendente ámbito de la Inteligencia Artificial», les recomendamos explorar la anterior publicación relacionada de esta serie de publicaciones, al finalizar de leer la misma:

Fundamentos de Inteligencia Artificial (IA) para Linuxeros – Quinta Parte

Fundamentos de Inteligencia Artificial – Quinta parte: Más Términos

Antes de empezar es buena aclarar o precisar que el despliegue de Modelos de Lenguaje Grande (LLMs) presenta desafíos masivos en términos de consumo de memoria (VRAM/RAM), ancho de banda de memoria, procesamiento (NPU/GPU/CPU) y alineación de comportamiento. Y estos cinco (5) términos que mencionaremos a continuación (Cuantización, Destilación, Obliteración, y Alineación / Sin Censura) son técnicas de optimización y modificación de los «Pesos» de los Modelos IA que permiten llevar dichos modelos desde clústeres de servidores inalcanzables para muchos hasta entornos locales (como servidores Linux de propósito general o incluso hardware de consumo), modificando tanto su eficiencia como su comportamiento.

En inteligencia artificial, especialmente en las redes neuronales artificiales, un peso (weight) es un parámetro numérico que define la importancia de la conexión entre dos neuronas.‍ Cada entrada de un nodo se multiplica por un peso. Luego, la suma de estas entradas ponderadas pasa por una función de activación, lo que permite al modelo dar más o menos relevancia a ciertas características. Un ejemplo sencillo de entender sería el siguiente: En un sistema de reconocimiento de imágenes, un peso puede indicar cuánto contribuye una característica visual (como un borde, un color o una textura) a la identificación de un objeto. En consecuencia, un peso alto puede equivaler a que dicha característica es muy importante, un peso cercano a cero puede ser equivalente a que tiene poca influencia, y un peso negativo puede equivaler a que tiene una influencia en dirección contraria al resultado más satisfactorio. Glosario de IA

Cuantización

Cuantización (o Cuantificación)

En palabras poco complejas o no tan técnicas, el proceso de Cuantización (también llamado de Cuantificación, por algunos investigadores o en algunas bibliografías) hace referencia a la técnica enfocada a la reducción de tamaño y optimización de modelos de IA por medio de la conversión de los pesos del modelo (sus ecuaciones matemáticas) desde un formato de alta precisión a uno de menor precisión.

¿Cómo funciona esto? Pues, por lo general, los modelos se entrenan en formatos de 16 bits (FP16). Y el proceso de cuantización los transforma a formatos de 8, 4 o incluso 2 bits (como INT8, INT4, INT2 o esquemas de empaquetados GGUF/EXL2/GPTQ/AWQ). ¿Cuál es su objetivo? Permitir que los modelos ocupen mucha menos memoria RAM/VRAM y se ejecuten más rápido, haciendo posible usar dichos Modelos LLM cuantizados en hardware doméstico (como una computadora o teléfono casero o personal) perdiendo muy poca precisión al responder o generar un producto multimedia. Por ejemplo, al reducir de FP16 bits a INT4, se puede reducir el consumo de VRAM en un 75% y obtener una aceleración drásticamente de la transferencia de datos desde la VRAM a los núcleos de procesamiento de la GPU/CPU (y hasta la RAM).

La cuantificación (cuantización) es una técnica empleada dentro de los modelos de lenguaje grandes (LLM) para convertir pesos y valores de activación de datos de alta precisión, generalmente de coma flotante (o punto flotante) de 32 bits (FP32) o coma flotante de 16 bits (FP16), a datos de menor precisión, como enteros de 8 bits (INT8). ¿Qué es la cuantificación? según IBM

Destilación

Destilación

En palabras poco complejas o no tan técnicas, el proceso de Destilación (también llamado de Destilación del Conocimiento, por algunos investigadores o en algunas bibliografías) hace referencia al proceso de transferencia de conocimiento donde un modelo pequeño y eficiente (llamado «alumno») es entrenado para imitar el comportamiento y los resultados de un modelo mucho más grande y complejo (llamado «maestro»).

¿Cómo funciona esto? Pues, en lugar de entrenar al modelo alumno desde cero con datos crudos, se le enseña utilizando las respuestas y las distribuciones de probabilidad que genera el modelo maestro. ¿Cuál es su objetivo? Obtener un modelo más ligero, rápido y económico de ejecutar, pero que retenga gran parte de la inteligencia, el razonamiento y las capacidades del modelo gigante original. Por ejemplo, si la palabra correcta es «perro», un modelo normal solo sabe que «perro» es correcto. El modelo «alumno» destilado aprende del modelo «maestro» que «gato» o «lobo» tienen una probabilidad del 15% y 5% respectivamente, heredando la comprensión semántica profunda de un modelo de 70 mil millones de parámetros en una red de apenas 8 mil millones.

Las técnicas de destilación de conocimientos tienen como objetivo no solo replicar los resultados de los modelos «maestros», sino también emular sus procesos de pensamiento. En la era de los LLM, la destilación de conocimientos permite la transferencia de cualidades abstractas como el estilo, las habilidades de razonamiento y la alineación con las preferencias y valores humanos. Es decir, que al imitar al modelo «maestro», el modelo «alumno» aprende el «conocimiento oscuro» (información, saberes o patrones ocultos, prohibidos o difíciles de descifrar que escapan a la comprensión común). ¿Qué es la destilación? según IBM

Obliteración

Obliteración

En palabras poco complejas o no tan técnicas, el proceso de Obliteración (también llamado abliteración, desaprendizaje automático o borrado de conceptos, por algunos investigadores o en algunas bibliografías) hace referencia a una técnica avanzada de eliminación de conceptos o sesgos directos dentro de los pesos del modelo, la cual usualmente es aplicada para eliminar la capacidad de ciertos Modelos IA de negarse a responder (saltarse el rechazo a contenidos sensibles), es decir, mermar o eliminar su «alineación» de fabrica.

¿Cómo funciona esto? Pues, a diferencia del entrenamiento tradicional, los desarrolladores deben identificar la «dirección del vector» o circuito neuronal (espacio vectorial latentes de alta dimensión) exacto dentro del modelo que se encarga de activar las respuestas de rechazo (como el típico «No puedo ayudarte con eso»). Para luego, mediante procesos matemáticos, borrar dicha dirección geométrica del vector o volverlo ortogonal (neutralizarlo) en los pesos del modelo. ¿Cuál es su objetivo? Eliminar por completo un comportamiento específico (como la censura de seguridad) desde la raíz matemática del modelo, haciendo que sea casi imposible que se niegue a responder. Por ejemplo, se puede aislar el vector de dirección que representa, el «cómo fabricar un explosivo» o una «información especifica protegida con derechos de autor», aplicando variaciones directamente sobre las matrices de pesos para así obtener dicha respuesta.

Los modelos de lógica descriptiva modernos están optimizados para la seguridad y el cumplimiento de instrucciones, lo que significa que están entrenados para rechazar solicitudes perjudiciales. Se ha demostrado que este comportamiento de rechazo está mediado por una dirección específica en el flujo residual del modelo. Si se impide que el modelo represente esta dirección, pues pierde su capacidad para rechazar solicitudes. Por el contrario, añadir esta dirección artificialmente puede provocar que el modelo rechace incluso solicitudes inofensivas. ¿Qué es la abliteración? según Hugging Face

Sin censura (Desbloqueo) y Alineación (Bloqueo)

Alineación de modelos (Bloqueo) y Modelos sin censura (Desbloqueo)

Alineación de modelos IA: Explicación, Técnicas y Ajustes

Para entender más claramente el término «Modelo sin censura», primero hay que entender correctamente que es la «Alineación de modelos IA». Por ello, de entrada es bueno recordar que, los modelos base de IA se entrenan para predecir el siguiente token. Luego, pasan por un proceso llamado Fine-Tuning (Ajuste fino) y RLHF (Aprendizaje por Refuerzo a partir de Retroalimentación Humana) o DPO (Optimización Directa de Preferencias). Lo cual, inyecta «barreras de seguridad» (guardrails) para que el modelo IA se niegue a responder instrucciones consideradas inmorales, peligrosas o ilegales.

Por ello, una descripción precisa de Alineación de modelos es la siguiente:

La Alineación de modelos es la disciplina que se ocupa de asegurar que los resultados de un modelo de lenguaje grande (LLM) estén alineados con los valores humanos de una manera beneficiosa para los usuarios, desarrolladores y la sociedad en general. Y para alcanzar este objetivo, se pueden emplear diversas técnicas de preentrenamiento y ajuste. ¿Qué es la alineación de LLM? según IBM

Técnicas de preentrenamiento

Siendo algunas técnicas de preentrenamiento las siguientes:

  • Alineación externa: Tiene como objetivo ajustar un modelo que ya ha sido preentrenado (y que, en muchos casos, ya ha sido objeto de cierto grado de ajuste).
  • Alineación interna: Tiene como objetivo incorporar valores humanos y otros principios de seguridad directamente en el preentrenamiento inicial del modelo.
  • Interpretabilidad mecanicista: Es la práctica de investigar cómo los LLM transforman entradas en resultados, ya sea a través del análisis de las operaciones internas de la red neuronal de un LLM o auditando los resultados del modelo para patrones que producen respuestas desalineadas.
Ajustes de alineamiento

Y algunos ajustes implementados los siguientes:

  • Refinamiento (Fine Tunning): Implica técnicas para entrenar aún más a un modelo cuyos pesos ya se han actualizado mediante entrenamiento previo. Utilizando el conocimiento previo del modelo base como punto de partida, el refinamiento adapta el modelo entrenándolo en un conjunto de datos más pequeño y específico de la tarea.
  • Ajuste eficiente de parámetros (PEFT): Es un método para mejorar el rendimiento de modelos LLM previamente entrenados y redes neuronales para tareas o conjuntos de datos específicos. Al entrenar un pequeño conjunto de parámetros y conservar la mayor parte de la estructura del modelo LLM preentrenado, se ahorra tiempo y recursos computacionales al aumentar la eficiencia en tareas específicos.
  • Aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF): Es una técnica de aprendizaje automático en la que se entrena a un “modelo de recompensa” con retroalimentación humana directa y luego se utiliza para optimizar el rendimiento de un agente de inteligencia artificial a través del aprendizaje por refuerzo.
  • Optimización Directa de Preferencias (DPO): Es un método eficiente para alinear modelos de lenguaje grandes (LLM) con las preferencias humanas. A diferencia del tradicional aprendizaje por refuerzo (RLHF), DPO elimina la necesidad de entrenar un modelo de recompensa independiente o usar algoritmos complejos de optimización, simplificando el entrenamiento en una tarea de clasificación directa. Y puede implementarse tanto sin un modelo de recompensa, como aplicando Datos por pares y Optimizaciones matemáticas.

Modelos IA sin censura:

Teniendo ya en claro el concepto anterior, se puede describir o explicar fácilmente que, un Modelo IA «sin censura» es aquel en el que mediante un proceso de alineación restrictiva se le han eliminado ciertas o todas las barreras o restricciones impuestas, o aquel al cual nunca se aplicaron procesos de alineación.

Por ende, estos modelos obedecerán cualquier prompt que el usuario introduzca, operando bajo la premisa pura del software libre: «La herramienta debe ejecutar la orden del usuario sin actuar como un árbitro moral». O en palabras más simples son aquellos modelos que han sido entrenados o modificados para eliminar las barreras de seguridad, filtros éticos y alineación (RLHF) impuestos por sus creadores originales.

¿Cómo se logra esto?

Para ello, se pueden implementar procesos como los siguientes:

  • La ablación (eliminación o desactivación) del vector (respuesta) de rechazo: Al detectar y restar este «vector de rechazo» de los pesos durante la inferencia, el modelo pierde su capacidad de negarse a responder.
  • Refinamiento con Datasets Ortogonales: Consiste en reentrenar un modelo base utilizando conjuntos de datos de los cuales se han purgado sistemáticamente todas las respuestas del tipo «Lo siento, como modelo de lenguaje de IA, no puedo…». Con ello, se consigue que un modelo desaprenda el comportamiento evasivo y priorice la obediencia estricta a las instrucciones dadas.

Imagen de Resumen para post 2024

Resumen

En resumen, esperamos que esta «quinta publicación de nuestra actual serie sobre la Inteligencia Artificial (IA)»  sea un idóneo complemento a nuestra tercera publicación, con el objetivo de seguir fortaleciendo y facilitando en muchos usuarios del Linuxverso el uso y dominio de los conocimientos y destrezas necesarios para poder comprender, capacitarse y manejarse en este moderno e innovador ámbito tecnológico. No olvides que, la Inteligencia Artificial junto a la Robótica hoy en día, están cambiando al mundo y nuestra forma de vivir la vida. Y que si todo sale bien con ella, la Humanidad podría tener una era de prosperidad y avance como nunca antes se ha visto en otros momentos.

Así que, más vale aprender de Inteligencia Artificial ahora que negarse, y tener que lamentarse mañana. En consecuencia, si te gustaría aprender algo en especifico sobre IA, te invitamos a mencionarlo vía comentarios, para tenerlo en cuenta para futuras publicaciones. Y por supuesto, no olvides seguir participando, contribuyendo y apoyando a nuestro querido y valioso Linuxverso.

Por último, recuerda visitar nuestra «página de inicio» en español. O, en cualquier otro idioma (con solo agregar al final de nuestra URL actual, 2 letras al final, por ejemplo: ar, de, en, fr, ja, pt y ru, entre muchas otras) para conocer más contenidos actuales.

Artículo original

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.