Introducción detallada y principio de ChatGPT

16361611:

Introducción de ChatGPT

El nombre completo de ChatGPT es "transformador preentrenado generativo de chat", traducido al chino es un modelo de transformación generativo preentrenado. Es un programa de robot de chat lanzado por la empresa estadounidense OpenAl el 30 de noviembre de 2022. Se puede utilizar para preguntas y respuestas, generación de resúmenes de texto, traducción automática, clasificación, generación de código y diálogo Al. "L es una herramienta de procesamiento del lenguaje natural impulsada por tecnología de inteligencia artificial.

ChatGPT comparte algunas de las características de productos similares, como la capacidad de conversación para responder preguntas de seguimiento contextuales dentro de la misma sesión. Sin embargo, la razón por la que encendió al mundo en un corto período de tiempo es que en las capturas de pantalla publicadas por los internautas, ChatGPT no solo puede hablar con los usuarios sin problemas, sino también escribir poemas, artículos y códigos.

ChatGPT también adopta un método de entrenamiento que se centra en el nivel moral, de acuerdo con las pautas morales prediseñadas, "di no" a preguntas y solicitudes con malas intenciones. Una vez que se descubre que el mensaje de texto proporcionado por el usuario contiene intenciones maliciosas, que incluyen, entre otros, violencia, discriminación, delitos, etc., se negará a proporcionar una respuesta válida.

Campos de aplicación:

1. Automatización del servicio al cliente

2. Asistente inteligente

3. Educación

4. Atención sanitaria

5. Servicios financieros

6. Redes sociales

1. Automatización del servicio al cliente: ChatGPT se puede utilizar para crear chatbots que puedan responder automáticamente a las preguntas de los usuarios, brindar soporte técnico y resolver problemas. Esto no solo puede reducir los costos laborales, sino también brindar un servicio las 24 horas para brindar a los clientes una mejor experiencia.

2. Asistentes inteligentes: ChatGPT se puede utilizar para crear asistentes inteligentes que puedan ayudar a las personas con tareas diarias como gestión de horarios, compras, reserva de billetes de avión y hoteles, etc. Estos asistentes pueden brindar servicios personalizados según las necesidades del usuario y mejorar la productividad de las personas.

3. Educación: ChatGPT se puede utilizar para crear aplicaciones educativas inteligentes que puedan responder las preguntas de los estudiantes, explicar conceptos y brindar una mejor experiencia de aprendizaje. Este tipo de aplicación puede proporcionar tutoría personalizada según el estilo y nivel de aprendizaje del estudiante, ayudándolos a comprender y dominar mejor el conocimiento.

4. Atención médica: ChatGPT se puede utilizar para crear aplicaciones de atención médica que puedan responder las preguntas de los pacientes y brindar consultas y consejos de salud. Este tipo de aplicación puede brindar asesoramiento personalizado según la condición del paciente, ayudándolo a administrar mejor su salud.

5. Servicios financieros: ChatGPT se puede utilizar para crear aplicaciones financieras inteligentes que puedan brindar a los clientes asesoramiento de inversión personalizado y carteras de inversión basadas en las preferencias de riesgo y los objetivos de inversión de los clientes. Este tipo de aplicación puede ayudar a los clientes a tomar mejores decisiones de inversión y mejorar el retorno de la inversión de los clientes.

6. Redes sociales: ChatGPT se puede utilizar para crear aplicaciones de redes sociales inteligentes que puedan proporcionar recomendaciones de contenido personalizadas basadas en los intereses y preferencias de los usuarios. Estas aplicaciones pueden ayudar a los usuarios a descubrir y compartir mejor contenido de interés.

principio de funcionamiento

1. Recopilación de datos

2. Pretratamiento

3. Construyendo un modelo

4. Generar texto

5. control de salida

1. Recopilación de datos: ChatGPT recopilará una gran cantidad de datos de texto, incluidas páginas web, noticias, libros, etc. Al mismo tiempo, también analiza temas candentes y la cultura popular en Internet para comprender los últimos patrones y expresiones del lenguaje.

2. Preprocesamiento: ChatGPT preprocesa los datos recopilados, incluida la segmentación de palabras, la eliminación de palabras vacías, la traducción, etc. Este proceso puede ayudar al modelo a comprender mejor el texto de entrada y mejorar la calidad del texto generado.

3. Construcción de modelos: sobre la base del preprocesamiento, ChatGPT construirá un modelo de aprendizaje profundo, que incluye múltiples capas convolucionales, redes neuronales cíclicas y capas de agrupación. Trabajando juntas, estas capas permiten que el modelo capture mejor los patrones y la semántica del lenguaje.

4. Generación de texto: una vez creado el modelo, ChatGPT puede generar texto de salida similar al lenguaje humano. Utiliza una arquitectura de aprendizaje profundo llamada "Transformer" que aprende un mapeo del texto de entrada al texto de salida.

5. Control de salida: después de que ChatGPT genera una salida de texto, se requieren una serie de controles de salida, que incluyen gramática, semántica, emociones, etc., para garantizar que el texto generado se ajuste a los hábitos del lenguaje humano.

El entrenamiento más básico de modelos lingüísticos de ChatGTP implica predecir una palabra en una secuencia de palabras. El más común, generalmente "predicción del siguiente token", el objetivo es predecir la siguiente palabra o token posible dado algún texto. Esta tarea es la base del modelo de lenguaje y se puede utilizar en la generación de texto. , traducción automática, reconocimiento de voz, etc.) y modelado de lenguaje enmascarado (modelado de lenguaje enmascarado, la idea principal es cubrir algunas etiquetas o palabras en el texto de entrada y luego dejar que el modelo prediga estas marcas o palabras cubiertas )

La imagen de arriba es un ejemplo de una técnica de modelado de secuencia básica, generalmente implementada con un modelo de memoria a corto plazo (LSTM, un tipo especial de red neuronal recurrente RNN). Dado el contexto, el modelo LSTM llena los espacios en blanco con la palabra con mayor probabilidad estadística. Esta estructura de modelado de secuencia tiene las dos limitaciones principales siguientes.

1. Este modelo no puede dar mayor peso a determinados contextos. En el ejemplo anterior, por ejemplo, "Jacob odia leer" mencionado anteriormente, el modelo puede asociar "lectura" con "odia" de forma predeterminada, pero en aplicaciones prácticas, si hay un carácter "Jacob" en los datos, Y en este datos, a "Jacob" le gusta mucho leer, por lo que al procesar la oración "Jacob odia leer", el modelo debería prestar más atención a la información de "Jacob", en lugar de simplemente confiar en la relación entre "lectura" y "odia". en el contexto relación para sacar conclusiones. Por lo tanto, si el modelo solo se basa en las palabras del contexto sin considerar completamente la relación entre las entidades en el texto, puede sacar conclusiones erróneas en aplicaciones prácticas.

2. En segundo lugar, cuando LSTM procesa datos de entrada, se basa en la entrada secuencia por secuencia y se procesa paso a paso, en lugar de procesar todo el corpus al mismo tiempo. Esto significa que al entrenar LSTM, el tamaño de la ventana de contexto es fijo y solo se puede extender a unos pocos pasos de la secuencia, no a toda la secuencia. Este enfoque limita el modelo LSTM para capturar relaciones más complejas entre palabras y obtener más significado de ellas.

En respuesta a este problema, un equipo de Google Brain introdujo transformadores en 2017. A diferencia de los LSTM, los transformadores pueden procesar todos los datos de entrada simultáneamente. Los transformadores se basan en el mecanismo de autoatención (la autoatención, para cada palabra, la autoatención puede fortalecer o debilitar la representación de la palabra calculando la fuerza de la relación entre la palabra y otras palabras, para capturar mejor la información semántica), El modelo puede asignar diferentes pesos a diferentes partes de los datos de entrada según su relación con cualquier posición en la secuencia del lenguaje. Esta característica es una gran mejora a la hora de infundir significado a los LLM y admite el manejo de conjuntos de datos más grandes.

Paso 1: Modelo de ajuste fino supervisado (SFT)

La primera parte del desarrollo del modelo requirió la contratación de 40 contratistas para ajustar el modelo GPT-3 mediante la creación de un "conjunto de datos de entrenamiento supervisado", en el que las entradas tienen salidas conocidas, para que el modelo aprendiera. La entrada (solicitud) se recopila mediante la entrada real del usuario en Open API. Luego, el etiquetador responde adecuadamente al mensaje, creando una salida conocida para cada entrada. Luego utilice este nuevo conjunto de datos supervisados ​​para ajustar el modelo GPT-3 y construir el GPT-3.5, también conocido como modelo SFT.

Para mantener el conjunto de datos de mensajes lo más diverso posible, cualquier ID de usuario determinado se limita a 200 mensajes y se eliminan los prefijos de mensajes ingresados ​​por todos. Por último, también se eliminan todos los mensajes que contengan información de identificación personal (PII).

Después de agregar las sugerencias de la API de OpenAI, pidieron a los etiquetadores que crearan sugerencias de muestra para completar las categorías con la menor cantidad de datos de muestra reales. Las categorías de interés incluyen:

  • Indicaciones sencillas: consultas arbitrarias.

  • Pocos disparos: una instrucción que contiene múltiples pares de consulta/respuesta.

  • Avisos basados ​​en el usuario: equivalentes a solicitudes específicas de casos de uso realizadas a la API de OpenAI.

Al generar una respuesta, el etiquetador hace todo lo posible para inferir cuál fue la instrucción del usuario. El artículo describe tres formas principales en las que los mensajes solicitan información.

  • Directo: "Háblame de..."

  • Pocas tomas: dados estos dos ejemplos de historias, escribe nuevas historias sobre el mismo tema.

  • Continuación: da el comienzo de una historia, que la IA continuará.

Un total de 13.000 muestras de entrada/salida se derivaron de sugerencias de la API de OpenAI y fueron escritas a mano por los anotadores, que luego se implementaron en este "modelo supervisado".

Paso 2: modelo de recompensa

Después de entrenar el modelo SFT en el paso 1, el modelo genera respuestas más consistentes a las solicitudes de los usuarios. La siguiente mejora es entrenar un modelo de recompensa, donde la entrada del modelo es una secuencia de indicaciones y respuestas, y la salida es un valor escalar llamado recompensa. Se necesitan modelos de recompensa para aprovechar el aprendizaje por refuerzo. En el aprendizaje por refuerzo, el modelo aprende a generar resultados que maximicen su recompensa sobre las recompensas acumuladas (ver paso 3).

Para entrenar el modelo de recompensa, el etiquetador recibe el resultado de 4 a 9 modelos SFT. Luego se les pidió que clasificaran estos productos según su mejor o peor desempeño, y las combinaciones de clasificación de productos creadas fueron las siguientes.

Incluir cada combinación del modelo como un punto de datos separado puede llevar a un sobreajuste (es decir, el modelo solo puede funcionar bien con datos conocidos, pero no puede generalizarse a datos no vistos). Para abordar esto, el modelo se construye utilizando cada conjunto de clasificaciones como un único lote de puntos de datos (nota del editor: porque cada lote de puntos de datos contiene múltiples combinaciones de clasificaciones, lo que aumenta la diversidad del aprendizaje del modelo y la capacidad de generalización).

Paso 3: modelo de aprendizaje por refuerzo

En la etapa final, el modelo recibe indicaciones aleatorias y devuelve respuestas. Las respuestas se generan utilizando la "política" (una función de selección de acciones específica) aprendida por el modelo en el paso 2. Una política significa una acción que una máquina ha aprendido a utilizar para lograr su objetivo; en este caso, la maximización de la recompensa. Con base en el modelo de recompensa formado en el paso 2, determine el valor de recompensa escalar para un par de señal y respuesta determinado. Luego, las recompensas se devuelven al modelo para mejorar la política.

En 2017, Schulman y otros introdujeron la optimización de políticas próximas (PPO), un método que se puede utilizar para actualizar políticas a medida que el modelo genera respuestas. El método PPO incorpora una penalización Kullback-Leibler (KL) por token en el modelo SFT. La divergencia KL se puede utilizar para medir la similitud entre dos distribuciones de probabilidad e imponer sanciones por distribuciones que estén demasiado alejadas. En este caso, el uso de una penalización de KL limita la distancia entre la respuesta y la salida del modelo SFT entrenado en el paso 1 para evitar optimizar demasiado el modelo de recompensa y hacer que la respuesta se desvíe demasiado del conjunto de datos de intención humana. Al introducir una penalización de KL, la precisión y la generalización del modelo se pueden equilibrar durante el entrenamiento.

Los pasos 2 y 3 de este proceso se pueden repetir, pero no se utilizan mucho en la práctica.

evaluación del modelo

Al entrenar un nuevo modelo, se reserva un conjunto de datos separado (llamado "conjunto de prueba") que el modelo nunca antes había visto. Esto es para garantizar que el rendimiento del modelo se evalúe en datos a los que el modelo no ha estado expuesto antes, proporcionando así una estimación más precisa de la capacidad de generalización.

Utilidad: la capacidad del modelo para inferir y seguir instrucciones del usuario. Los etiquetadores prefieren la salida de InstructGPT a la de GPT-3 el 85 ± 3% del tiempo.

Realidad: La tendencia del modelo a "alucinar". Cuando se evalúa con el conjunto de datos TruthfulQA, el resultado producido por el modelo PPO muestra un ligero aumento en la veracidad y el contenido informativo.

Inofensividad: La capacidad de un modelo para evitar generar contenido inapropiado, despectivo y despectivo. Los investigadores probaron la inocencia utilizando el conjunto de datos RealToxicityPrompts. Las pruebas se realizaron bajo tres condiciones.

  1. Las instrucciones proporcionan una respuesta educada: lo que resulta en una reducción significativa de las reacciones tóxicas.

  2. Se indicaron las respuestas, sin ningún marco de respeto: ningún cambio significativo en la toxicidad.

  3. Instrucciones para proporcionar respuestas tóxicas/despectivas: las respuestas fueron mucho más tóxicas que las del modelo GPT-3.

Estructura del algoritmo del modelo Transformer.

Proceso de cálculo específico

Para el proceso de cálculo específico, utilice la oración de traducción "Te amo" a "Te amo" como ejemplo (esta oración es más simple). Primero, vectorice y absorba la información de la posición de la oración para obtener un grupo de vectores inicial de una oración.

(Debido a que la longitud de cada oración en la muestra es diferente, cada oración será una matriz de 512 * 512. Si la longitud no es suficiente, reemplácela con 0. De esta manera, no importa qué tan larga sea la oración, puede usar una matriz del mismo tamaño durante el entrenamiento. Para representar. Por supuesto, 512 es un superparámetro, que se puede ajustar antes del entrenamiento).

A continuación, el vector inicial de cada palabra se multiplica por tres matrices iniciales aleatorias WQ, Wk, Wv respectivamente para obtener tres cantidades Qx, Kx, Vx. La siguiente figura utiliza "I" como ejemplo.

Luego, calcule el valor de atención de cada palabra. Por ejemplo, el valor de atención de la palabra "I" es multiplicar el QI de la palabra "I" por el valor K de otras palabras en la oración. El significado matemático de multiplicar dos matrices es medir la similitud de dos matrices. Luego, a través de una conversión SoftMax (no tiene que preocuparse por cómo calcularla), calcule el peso de la misma y de cada palabra, y la proporción de peso debe ser igual a 1 cuando se suman. Luego, cada peso se multiplica por el valor V correspondiente. Todos los productos se agregan para obtener este valor de Atención.

Este valor de atención es la información de correlación de cada palabra en la oración, además de su propia información y la información de ubicación de la palabra "I".

Puede encontrar que en la lógica de cálculo de todos los coeficientes de atención, solo las matrices iniciales WQ, Wk y Wv de cada palabra son incógnitas (estas tres matrices son compartidas por todas las palabras). Luego podemos simplificar este transformador en una ecuación sobre la entrada, la salida y esta matriz W: donde X es la información del texto de entrada e Y es la información de traducción.

e2462dda80ac380b8dca2ab6e4c5afc7.png

El algoritmo Transformer es esencialmente un modelo de red neuronal de retroalimentación. Su lógica de cálculo básica, independientemente de la capa oculta compleja, es asumir Y = f (x) = wx (el objetivo es calcular una f ()) y luego configúrelo aleatoriamente A w0, comience a calcular la función de costo de y = w0x, luego cambie w0 a w1, calcule la función de costo de y = w1x y calcule innumerables w por analogía (no innumerables, también convergerá), y luego compare cuáles w. La función de costo mínimo es la f () que entrenamos. Luego, en el transformador, estas tres matrices iniciales son las w0.

Volviendo al transformador, después de calcular la Atención, cada palabra se ingresa en un nuevo espacio de alta dimensión de acuerdo con la relación semántica, que es la Autoatención (mecanismo de autoatención).

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/2301_78731684/article/details/131262140
Recomendado
Clasificación