Cómo permitir que ChatGPT aprenda conocimientos sobre privatización y conserve algunas funciones de diálogo

situación problemática

Escenario: por ejemplo, quiero usar GPT para brindar servicio al cliente para un producto. Ahora hay algunos documentos relevantes. ¿Cómo puedo permitir que GPT obtenga información del producto? También tiene una función de conversación normal.
Una solución es enviar directamente información del producto como entrada a GPT, pero los ChatGPT/GPT-4/LLM generalmente tienen restricciones de longitud de entrada (restricciones de longitud del token). Si la información es demasiado larga y excede el token longitud, no puede incluir esta información como entrada. Pero queremos que ChatGPT aprenda este conocimiento, por lo que debemos encontrar una manera de resolver este problema.

solución

1. Ajuste fino

El ajuste fino es una operación muy común en el campo del aprendizaje profundo, es decir, el reentrenamiento del modelo. Mediante un ajuste fino, los parámetros del modelo grande se pueden cambiar ligeramente para que el modelo grande se centre en el conocimiento de escenarios específicos (es decir, conocimiento de datos privados). Sin embargo, el ajuste fino requiere una gran cantidad de recursos de GPU para el entrenamiento del modelo, y también requiere una cierta base de algoritmo profunda para garantizar que el modelo pueda aprender el conocimiento de los datos privados de acuerdo con sus propias necesidades. El umbral es más alto

但是实际操作过程中,微调后的model反而容易发生“遗忘“,变成了一个专才,是具备了回答特定问题的能力,但是丧失了对话功能。不知道openai如何让chatgpt具备这种全才功能的?

GPT4 explica esto de la siguiente manera:

Después de ajustar GPT-3, el modelo se centra en tareas o dominios específicos. Esto se debe a que durante el ajuste, el modelo volverá a ajustar sus parámetros en función de nuevos datos de entrenamiento para adaptarse mejor a esas tareas o dominios específicos. Esto puede hacer que el modelo tenga un rendimiento deficiente en otras tareas o dominios, ya que está optimizado principalmente para el rendimiento con datos nuevos.
Sin embargo, ChatGPT es un modelo de diálogo de propósito general, que se obtiene mediante entrenamiento previo y ajuste fino en una gran cantidad de datos de diálogo. Eso significa que puede mantener conversaciones naturales y coherentes sobre una variedad de temas y escenarios de conversación diferentes.
Explicaré brevemente cómo se implementa:
Etapa de preentrenamiento: el modelo primero se entrena previamente en una gran cantidad de texto de Internet. En esta etapa, el modelo aprende una gran cantidad de conocimientos del idioma, incluida gramática, vocabulario, conocimientos generales e información básica sobre diversos temas.
Etapa de ajuste fino: una vez completado el entrenamiento previo, el modelo se ajustará según datos de diálogo específicos. Estos datos pueden incluir conversaciones de persona a persona, conversaciones de persona a máquina, etc. En esta etapa, el modelo aprende a mantener conversaciones naturales y coherentes.
La diferencia clave es que los datos en la etapa de ajuste son diversos y contienen una variedad de escenas y temas de conversación diferentes, por lo que ChatGPT puede funcionar mejor en una variedad de conversaciones diferentes. Esto es diferente de un modelo que está ajustado para una tarea o dominio específico. Para un modelo ajustado para una tarea específica, sus datos son específicos, lo que hace que funcione bien en esta tarea, pero es posible que no funcione en otras tareas.

Usuario
, ¿puedo resolver este problema de olvido afinado? Por ejemplo, ¿deberíamos trabajar con indicaciones?
De hecho, ChatGPT
puede tener un problema de "olvido" después de ajustar el modelo, es decir, el modelo puede ignorar su conocimiento y capacidades originales al optimizar específicamente nuevas tareas. Este es un problema común en el campo del aprendizaje por transferencia, y los investigadores han propuesto algunas estrategias para aliviar este problema, como el ajuste lento, el reparto elástico del peso, etc.
Para su idea de trabajar duro en el aviso, de hecho es una estrategia eficaz. Un diseño de indicaciones adecuado puede ayudar al modelo a comprender mejor la tarea y utilizar su conocimiento existente.
En GPT-3 de OpenAI, se ha demostrado que el rendimiento del modelo se puede mejorar enormemente si se diseña cuidadosamente el mensaje. Por ejemplo, en tareas de traducción automática, diseñar el mensaje como "Traducir el siguiente texto en inglés al francés: ..." puede ayudar al modelo a realizar mejor la tarea. En las tareas de conversación también se pueden utilizar estrategias similares: por ejemplo, puedes decirle al modelo al comienzo de cada conversación que necesitas un modelo de conversación completo, no solo expertos en una tarea o campo específico.
Sin embargo, si bien las indicaciones bien diseñadas pueden mejorar el rendimiento del modelo, no pueden resolver por completo el problema del olvido. Esto se debe a que el problema de olvido durante el proceso de ajuste es esencialmente causado por la optimización excesiva del modelo en nuevas tareas, y el diseño rápido solo puede ayudar al modelo a comprender mejor la tarea, pero no puede cambiar la dirección de optimización durante el proceso de ajuste. . Es posible que se requiera una investigación más profunda y nuevas estrategias para abordar plenamente este problema.

2. Indicaciones complementarias basadas en la recuperación

Aprendizaje contextual

Todos los grandes modelos de lenguaje de la serie GPT tienen un principio común, que se basa en las capacidades de aprendizaje contextual (Aprendizaje contextual) para la capacitación y la generación de resultados.

El aprendizaje contextual se puede entender a través de un ejemplo no del todo exacto:

Datos históricos: hoy me duele la cabeza, así que estoy enfermo.
Datos históricos: hoy me duele el estómago, así que estoy enfermo.
Entrada (mensaje): Hoy me duelen los pies, entonces _______
Modelo: Hoy me duelen los pies, así que estoy enfermo
Al aprender datos históricos, el modelo puede predecir la entrada actual. Debido a que los datos históricos indican que si tengo "dolor", estaré "enfermo", el modelo resume esta relación causal a través de la abstracción de datos e infiere "enfermedad" basándose en el "dolor de pie". Cuando hay suficientes datos y son lo suficientemente ricos, los resultados que el modelo puede predecir serán más ricos y aleatorios.

Aunque este ejemplo no es del todo exacto, refleja parte de la idea central del aprendizaje contextual.

En el aprendizaje contextual, la entrada se denomina indicación: cuanto más precisa sea la indicación y más información contenga, más preciso podrá inferir el modelo.
Volviendo a la pregunta anterior, cómo hacer que GPT aprenda información privada adicional es construir sugerencias que contengan tanto conocimiento más útil y privado como sea posible, de modo que GPT pueda aprender información adicional en función de las capacidades contextuales. Sin embargo, debido al algoritmo en sí, los modelos grandes tienen limitaciones de entrada y requieren que la entrada no pueda exceder una cierta longitud, por lo que no se puede aumentar la información aumentando la longitud sin límite.

》Así que volvamos a la solución en esta parte, complementada con consejos basados ​​en búsquedas.

La idea central del suplemento rápido basado en la recuperación es:

De acuerdo con la información de entrada 1, recupere el contenido en la base de datos/documento privado local para obtener información adicional 2;
combine la información 2 y la información de entrada 1 para instalar una plantilla de aviso específica (plantilla de aviso) en una nueva información de entrada 3 que contenga más información; y
luego Utilice la información 3 como entrada para llamar al modelo GPT para generar el resultado final.

Las actuales herramientas complementarias de código abierto basadas en búsquedas incluyen :

Complemento oficial de OpenAI: chatgpt-retrieval-plugin
recopilación e indexación de datos locales/privados, un proyecto de código abierto que construye la interfaz entre datos externos y modelos grandes: Llama-index
también es un marco de capa de interfaz para datos externos, otras aplicaciones y modelos grandes para interactuar: LangChain

Referencia de texto

https://zhuanlan.zhihu.com/p/623031303

Guess you like

Origin blog.csdn.net/weixin_45837404/article/details/131804307