2 puntos por GN⁺ 2024-02-19 | 1 comentarios | Compartir por WhatsApp

Ingeniería de representación en Mistral-7B, viaje ácido

  • ¿Qué son los vectores de control?

    • Un vector de control es un vector (una lista de vectores por cada capa) que se aplica a las activaciones del modelo durante la inferencia para controlar el comportamiento del modelo sin un prompt adicional.
    • Con el mismo prompt y modelo, produce resultados diferentes según se aplique o no el vector de control y según su escala.
  • No es difícil crear un vector de control

    • Se construye un conjunto de datos de pares de prompts contrastivos usando PCA, se ejecuta el modelo para recopilar los estados ocultos de cada capa y luego se obtienen los vectores de control de cada capa mediante PCA de un solo componente.
    • Este proceso requiere solo unas pocas líneas de código y alrededor de un minuto.
  • Qué se puede hacer con los vectores de control

    • Con un vector de control puedes poner al modelo de IA en estado de "viaje ácido" o en estados como "pereza", "esfuerzo" o "creatividad", entre otros.
    • Cada vector de control puede entrenarse en unos minutos y se puede probar directamente mediante un cuaderno de experimentos en GitHub.
  • Vectores de control vs ingeniería de prompts

    • Los vectores de control y la ingeniería de prompts son enfoques diferentes, aunque tienen cierta superposición.
    • Un vector de control puede generar resultados que también podrían replicarse con ingeniería de prompts, pero es más fácil ajustar su intensidad.

Opinión de GN⁺

  • Importancia de los vectores de control: Los vectores de control son una herramienta poderosa para ajustar de forma fina el comportamiento de modelos de IA, y abren nuevas posibilidades que van más allá de los límites de la ingeniería de prompts.
  • Eficiencia y accesibilidad: Con los vectores de control, los usuarios pueden ajustar el comportamiento del modelo sin construir prompts complejos, lo que puede mejorar significativamente la usabilidad de la IA.
  • Aplicaciones creativas: Experimentar con vectores de control para llevar a la IA a un estado de "viaje ácido" habilita una nueva dimensión de exploración experimental en la investigación de IA.

1 comentarios

 
GN⁺ 2024-02-19
Opiniones de Hacker News
  • Pensé que el impacto de esta tecnología iba a ser enorme, y casi me volvió loco. Puede que no lo entienda del todo bien, pero creo que significa guardar un vector de control personalizado para ajustar la salida de ChatGPT más cerca de las preferencias personales. Eso puede llevar a entretenimiento de IA personalizado, y en ese mercado podrían aparecer efectos de red fuertes tanto individuales como globales. Esto sugeriría que en el futuro una sola megaempresa podría terminar acaparando todo.
  • El texto está muy bien escrito y es interesante. Se pide compartir literatura o publicaciones de blog para entender mejor los LLM.
  • El vector de control me recuerda a las hormonas humanas. Ajusta de una sola vez una gran parte del comportamiento del modelo. Creo que dentro de 10 años veremos a un psiquiatra de IA recetarle a un asistente de compañía una dosis de vector de control de felicidad.
  • Esta es la primera vez que veo los LLM resumidos de esta manera, y me gusta este enfoque.
  • El artículo es divertido y hace un buen contraste con el reciente post “You Sound Like a Bot” sobre la IA volviéndose monótona. En un tono menos serio, encontrar un vector de “autoconciencia” es un reto para cualquier escritor de ficción que sepa que eso podría traer problemas a la humanidad.
  • Esto es similar al ajuste de sesgos, un competidor de LoRA. Se puede obtener un buen adaptador ajustando finamente solo el vector que se añade a la activación de cada capa lineal.
  • El artículo está muy bien hecho. Me pregunto por qué integrar un vector de control en todas las capas de la red neuronal. Si ese vector afecta a todas las capas que atraviesa, ¿no hay riesgo de distorsionar en exceso la representación de datos?
  • El artículo es excelente. Al usar un vector de control, no cambia el comportamiento del modelo, sino el juicio del modelo sobre el comportamiento de otras personas. Es el mismo vector de honestidad que se genera al pedirle al modelo que actúe de forma honesta o deshonesta.
  • En inferencia (añadir algo a todas las capas), es bastante parecido a LoRA. Me pregunto si es posible codificar el vector de control como LoRA para usarlo con los frameworks de inferencia existentes sin grandes inconvenientes, o si quizás estoy entendiendo algo mal.
  • Me pregunto si se pueden aplicar varios vectores al mismo tiempo. Por ejemplo, combinaciones como alucinatorio y triste, honesto y autoconsciente, o perezoso y creativo.