Los modelos GPT no fueron muy populares hasta noviembre de 2022, una vez que OpenAI creó un sucesor de sus modelos de lenguaje llamado ChatGPT . A partir de marzo de 2023, ChatGPT se lanzó oficialmente con una API y un SDK para integrar el modelo en sus productos. Si bien hay una gran cantidad de aplicaciones en la superficie, ChatGPT ofrece una amplia gama de mejoras para diferentes tipos de procesos técnicos y comerciales. Así que aquí pondremos a prueba la más viable y veremos a dónde nos lleva.
Compartiré con ustedes mi visión sobre cómo podemos beneficiarnos de los modelos GPT en diferentes niveles de automatización, mientras les doy una respuesta concisa a la pregunta "¿Qué necesito para implementar un modelo GPT en mi producto?".
Tenga en cuenta: todas las pruebas se realizaron durante la etapa previa al lanzamiento.
Si ya sabe qué son ChatGPT y otros modelos de GPT, puede omitir esta parte. Porque aquí,definiré ChatGPT desde diferentes ángulos , además de cómo explotar sus capacidades para buscar datos y proporcionarnos la información necesaria. La forma más fácil de hacer esto es simplemente preguntándole al modelo, y así es como ChatGPT se identifica a sí mismo:
ChatGPT es el último modelo de GPT que se desarrolló sobre la base de GPT 3.5. Tiene la capacidad de interactuar con el usuario en forma de diálogo y brindar respuestas a casi cualquier pregunta en función de eventos e información hasta 2021. Los modelos GPT son altamente capaces de resolver una variedad de tareas de procesamiento de lenguaje natural (NLP) con la posibilidad de personalización como:
A partir de marzo de 2023, ChatGPT está disponible a través de API y algunas empresas como Snapchat ya lo están utilizando. Por lo tanto, tiene sentido discutir cómo se puede integrar ChatGPT en su aplicación desde un punto de vista técnico. Hay una cierta bifurcación de opciones aquí:
Aquí, el modelo funciona como un catálogo inteligente, que ayuda al usuario a navegar por el contenido y tomar decisiones más rápidamente utilizando la respuesta de GPT. Sin embargo, las personalizaciones y la personalización no están disponibles.
Dichos modelos pueden ser útiles para crear un sistema de recomendación de chatbot personalizado basado en las acciones/deseos del usuario y otros casos de uso. Usando sus propios datos, el modelo GPT se puede entrenar para introducir el elemento de personalización. La cantidad de datos necesaria para ajustar un modelo GPT depende de varios factores, como el tamaño y la complejidad del conjunto de datos y el rendimiento deseado del modelo. Por lo general, se requieren al menos unos pocos cientos de ejemplos para ajustar de manera efectiva un modelo GPT. Sin embargo, en dominios complejos, pueden ser necesarias decenas de miles o incluso millones de ejemplos para lograr un rendimiento óptimo del modelo.
Para comprender si necesitará ajustar el modelo, le recomiendo que siga estos 5 pasos:
Tenga en cuenta que el modelo GPT no es un producto completo que cubra todas las áreas de dominio listas para usar. También necesitará la aplicación y las herramientas de administración en el backend. Luego, la salida de un modelo GPT debe procesarse con métodos NLP para extraer información significativa. El modelo devuelve una respuesta como texto en varias oraciones, como una lista. Esta salida debe presentarse en forma de una palabra o varias, que se utilizarán como filtro o palabras clave en las siguientes partes de la canalización. Entonces, esto significa que el modelo GPT también requerirá otros modelos para operar.
Sabiendo eso, analicemos los modelos GPT como una herramienta complementaria adecuada para diferentes necesidades comerciales y técnicas.
ChatGPT es mucho más capaz que sus predecesores ya que fue entrenado con la ayuda de la técnica de aprendizaje reforzado con retroalimentación humana (RLHF). Esto proporcionó un nivel de rendimiento distintivo en comparación con el modelo GPT 3 no menos popular. Debido a esto, ChatGPT ahora se adopta para una variedad de tareas comerciales y técnicas utilizando sus capacidades NLP. Preguntemos qué piensa ChatGPT de sus casos de uso comercial:
Aquí podemos ver el modelo proporcionando una respuesta que enumera algunos de los casos de uso más comunes. Dado que el modelo se basa en datos limitados a 2021, ni siquiera es una lista completa y hay toneladas de tareas de bajo nivel que podemos delegar a ChatGPT. También podemos intentar reducir nuestro enfoque y extraer algo de valor en un área de dominio único:
Basándonos en estos ejemplos, podemos sacar un montón de conclusiones sobre tres de los casos de uso comercial más prometedores:
ChatGPT es un bot conversacional de gran capacidad que se puede personalizar con sus propios datos. Como es capaz de entender la pregunta correctamente incluso con una estructura gramatical rota o partes sintácticas faltantes, puede considerarse una solución lista para usar para los sistemas de atención al cliente y, en concreto, para los bots de chat.
Siguiendo con el punto anterior, las mismas capacidades se pueden utilizar en actividades de generación de leads ya que, en la mayoría de los casos, el nivel de habla de ChatGPT no difiere demasiado de lo que las personas pueden escribir.
En algún momento, los modelos GPT pueden convertirse en una alternativa a las soluciones modernas de inteligencia empresarial y análisis de datos. Ya que pueden operar en enormes bases de datos de datos históricos y proporcionar a los trabajadores humanos información valiosa.
Sin embargo, cuando se trata de análisis de datos en tiempo real que requieren actualizaciones constantes y la información más reciente disponible, los modelos GPT parecen torpes. El proceso de entrenamiento con la técnica RLHF es complejo y, además, requerirá una canalización de aprendizaje automático con reentrenamiento y reimplementación automatizados de los modelos. Lo cual es, una especie de ciencia espacial... por ahora.
Por lo tanto, las aplicaciones que dependen en gran medida de las actualizaciones de datos en tiempo real aún no son adecuadas para los modelos GPT. ¿Qué más podemos hacer con él?
Una de las afirmaciones más populares sobre los modelos de lenguaje y las redes neuronales es que definitivamente pueden tomar el trabajo de redactores publicitarios o al menos aumentar la velocidad de escritura en gran medida. Veamos si es cierto para hoy. Usaremos dos tipos de solicitudes para verificar cómo el modelo manejará la escritura de artículos sobre el tema de ingeniería de software. El primer tipo de solicitud simplemente establece la idea general del texto, mientras que el segundo especificará las cosas que quiero que el modelo describa y brinde una opinión experta o argumentos.
Solicitud : "Escríbame un artículo sobre diferentes marcos PHP".
Salida de ChatGPT:
Solicitud : "Escríbame un artículo sobre la diferencia entre los marcos de trabajo de Laravel y Symfony, y qué marco PHP debo elegir para una aplicación de comercio electrónico".
Salida de ChatGPT :
En ambos casos, el modelo maneja bastante bien el tema desde el punto de vista de la información. Los textos gramatical y estilísticamente también están bien. Sin embargo, cuando se trata del nivel de creatividad, facilidad de lectura, razonamiento y justificación de cierto punto, parece muy estándar y poco convincente.
Si bien ChatGPT ciertamente puede generar algunos planos para simplificar sus esfuerzos de marketing, impone un problema para los correctores de pruebas humanos. Como el modelo analiza los datos por sí mismo, parece difícil encontrar la fuente de información y probar las afirmaciones del modelo. Por lo tanto, para ser utilizado con fines de marketing, ChatGPT requiere un ajuste fino y características adicionales como la capacidad de explicación de la IA para que sea eficaz y útil.
Si los modelos GPT pueden hablar un lenguaje humano, nada les impide usar lenguajes de programación para escribir aplicaciones. Nuestro líder de grupo de PHP/DevOps, Anton Logvinenko, lo puso a prueba para ver qué resultados se pueden lograr al explotar el modelo para escribir código en PHP para varias funciones.
Solicitud : "Escriba un código PHP en Laravel Framework que mostrará la lista de usuarios".
Respuesta de ChatGPT :
En la mayoría de los casos, este código definitivamente funcionará. En este caso específico, carece de la estructura de la base de datos, así como de qué campos tiene cada usuario, como nombre y apellido. Por lo tanto, debe tener en cuenta que, actualmente, ChatGPT no le proporciona un código completo que se pueda usar de fábrica.
El caso de uso que puedo ver para esto es ayudar a los desarrolladores de nivel junior a aprender PHP o sus marcos y acelerar un poco el proceso. Si bien el código en sí está escrito de manera sintácticamente correcta, hay muchas cosas que mejorar.
anton logvinenko
Líder de grupo PHP/DevOps
Solicitud : "Escriba un código PHP que implemente la API REST con puntos finales CRUD para el recurso del artículo".
Respuesta de ChatGPT :
Nuevamente, mirando lo que sugieren los modelos, el código parece un esfuerzo de nivel principiante en PHP, pero lo más probable es que funcione si configura la base de datos, configura el acceso, etc. Aunque este código está escrito al nivel de un desarrollador interno de PHP, no utiliza ninguno de los marcos disponibles, y no está optimizado ni se puede escalar fácilmente a toda la aplicación. Además, existen posibles amenazas de seguridad en forma de inyecciones de SQL para las que ChatGPT deja lugares, lo que no es bueno en ningún caso.
anton logvinenko
Líder de grupo PHP/DevOps
Respuesta de ChatGPT :
En el primer intento de este ejemplo, quería que ChatGPT generara el árbol de elementos según el ejemplo proporcionado. Sin embargo, el resultado resultó ser un código basura y descubrí que no especifiqué que es un árbol en el indicador. Entonces, en el segundo intento, agregué una explicación de lo que necesito como salida.
anton logvinenko
Líder de grupo PHP/DevOps
Respuesta de ChatGPT :
En el segundo intento, ChatGPT completó la tarea y el árbol se ve bien excepto por la calidad del código. ¿Qué podemos concluir de este pequeño experimento? Obviamente, ChatGPT aún no puede reemplazar a los ingenieros de software porque el enfoque y la calidad de la escritura del código aún son muy superficiales. Pero al final del día, esto definitivamente verá mejoras con el tiempo. Por ahora, es demasiado pronto para hablar de ChatGPT como un escritor de código automatizado.
Anton Logvinenko Líder de grupo PHP/DevOps
Si está considerando opciones para automatizar parcialmente los flujos de trabajo de codificación y ayudar a sus desarrolladores, le recomendamos usar Copilot . Copilot usa OpenAI Codex para sugerir fragmentos de código y funciones en tiempo real, y demostró ser mucho más útil para los ingenieros de software de nivel medio/superior con un código de mucha mejor calidad. En comparación con solo buscar en Google lo que se necesita para terminar el código, Copilot permite flujos de trabajo mucho más rápidos, por lo que se presenta como una mejor alternativa a lo que ChatGPT puede sugerir en este momento.
Dado que sabemos que los modelos GPT pueden completar la mayoría de las tareas de NLP, podemos considerarlo como una alternativa para entrenar sus propios modelos de lenguaje. Siguiendo esta tradición, proporcionaré los conceptos básicos preguntando a ChatGPT por qué puede ser una mejor opción que entrenar un modelo de PNL personalizado:
Es importante darse cuenta de las limitaciones de este enfoque. Dado que los modelos GPT no tienen acceso a datos en tiempo real, solo pueden ayudarlo a iniciar algún servicio sin la recopilación inicial de datos. Con el tiempo, podrá recopilar datos en vivo de la interacción del modelo con los usuarios, pero esto no sirve como revisión para todas las tareas específicas de NLP.
En cambio, podemos pensar en otras áreas de aplicación en la ciencia de datos donde se pueden usar los modelos GPT.
Para construir un modelo de clasificación, regresión o pronóstico, necesitamos ejecutar los pasos del análisis exploratorio de datos (EDA). EDA nos permite encontrar las relaciones entre las diferentes características de los datos, y denotar las percepciones y los valores atípicos para comprender el motivo de este o aquel comportamiento anómalo. Entonces, la mayoría de los proyectos de ciencia de datos requerirán realizar 4 pasos:
Con la ayuda del modelo GPT, la canalización anterior se puede reducir a una sola solicitud bien formulada para el modelo GPT. Por ejemplo, usemos esta solicitud sobre las cifras de ventas de Amazon por trimestres y pidamos a ChatGPT que extraiga información de esta información.
Y aquí, podemos ver a qué ideas y conclusiones llegó ChatGPT, en función de los datos presentados anteriormente:
Respuesta de ChatGPT :
"Perspectivas:
Conclusiones (razones):
La salida del modelo puede variar en calidad, por lo que requiere supervisión o ajuste del indicador inicial. Sin embargo, dichas capacidades se pueden aplicar fácilmente para facilitar la etapa EDA y potencialmente automatizar las tareas de canalización de ciencia de datos.
Los sistemas de recomendación o motores de recomendación se han vuelto tan comunes como los motores de búsqueda en varias plataformas y dentro de varias aplicaciones. Las recomendaciones realizan una tarea muy importante: comprender las preferencias de cada cliente, sugerir contenido relevante y mantener al cliente en la plataforma el mayor tiempo posible.
Pero, a pesar de las ventajas competitivas que pueden proporcionar los sistemas de recomendación, el hecho de que no podamos construir uno sin recopilar datos, experimentar y entrenar un modelo funcional parece ser una de las principales razones por las que no todos pueden permitirse recomendaciones. Para comenzar a recomendar, generalmente primero debemos recopilar datos sobre nuestro contenido y luego rastrear metódicamente las categorías de contenido hacia las que gravitan nuestros clientes.
En esta situación, podemos usar ChatGPT como una alternativa a los motores de recomendación, porque ya tiene toneladas de datos dentro. Si bien no está bien ajustado para su contenido y no conoce el historial de búsqueda de sus usuarios, puede proporcionar recomendaciones bastante específicas una vez que usamos indicaciones lo suficientemente específicas.
Por ejemplo, utilizamos este tipo de solicitud : “Quiero hacer un viaje. Tengo un niño de 2 años y me gusta pasar tiempo cerca del mar. ¿A donde debería ir?". Aquí está la salida:
Respuesta de ChatGPT : “Hacer un viaje con un niño de 2 años y pasar tiempo cerca del mar puede ser una gran idea. Aquí hay algunas sugerencias de destinos que podrían ser una buena opción para usted y su familia:
Vale la pena señalar que estos destinos también ofrecen una variedad de otras actividades y atracciones para adultos y niños, como natación, baños de sol, deportes acuáticos, juegos infantiles y parques temáticos. También es importante considerar otros factores como el clima, la seguridad y la accesibilidad antes de tomar una decisión”.
Si especificamos nuestra solicitud agregando detalles, así es como puede verse la respuesta:
Petición : “Quiero hacer un viaje. Tengo un niño de 2 años y me gusta pasar tiempo cerca del mar, tengo 3000$. ¿A donde debería ir?".
Respuesta de ChatGPT :
“Hacer un viaje con un niño de 2 años y pasar tiempo cerca del mar puede ser una gran idea. Es importante tener en cuenta su presupuesto al planificar su viaje. Aquí hay algunas sugerencias de destinos que podrían ser una buena opción para usted y su familia dentro de su presupuesto:
Vale la pena señalar que estos destinos también ofrecen una variedad de otras actividades y atracciones para adultos y niños, como natación, baños de sol, deportes acuáticos, juegos infantiles y parques temáticos. Además, cuando se viaja con un niño de 2 años, es importante tener en cuenta la accesibilidad, la seguridad y la disponibilidad de alojamiento y servicios de buena calidad, como buenos hospitales y guarderías”.
Como puede ver, la salida no está enmarcada en los parámetros que proporcionamos como solicitud, ya que el modelo intenta pasar la solicitud inicial. E incluso esos resultados sin procesar pueden funcionar mejor que tratar de encontrar contenido aplicando docenas de filtros, porque requiere que un ser humano use las palabras correctas para obtener resultados satisfactorios. Esa es básicamente la principal ventaja de las recomendaciones basadas en PNL sobre los enfoques estándar.
Dado que los modelos GPT están entrenados en datos de texto, es obvio que no podemos reemplazar los modelos de visión por computadora de esta manera. Sin embargo, ChatGPT puede simplificar la implementación de ciertas partes de la tubería de visión por computadora, como:
La información proporcionada por ChatGPT puede ser útil a la hora de analizar y preparar datos para un modelo de visión artificial en diferentes áreas. Por ejemplo, en las tareas de OCR, el modelo se puede usar para arrastrar texto de una imagen, como en el reconocimiento de tarjetas de identificación. Este es un paso separado en la preparación de datos para el entrenamiento.
Dado que las tarjetas de identificación tienen su propio formato y diferentes campos en cada país, la tarea de reconocer las tarjetas de identificación puede requerir muchos recursos. Con los modelos GPT, podemos reducir el tiempo necesario para extraer datos textuales de las imágenes, ya que ChatGPT puede tomar parte de una canalización por sí solo.
La ingeniería rápida es básicamente la disciplina de crear texto de entrada de trabajo que se pasa al modelo GPT como una tarea técnica. El resultado siempre dependerá de cómo explique lo que necesita, e implica comprender cuál es la mejor manera de señalar cada aspecto de su solicitud para que el modelo no produzca algo de Frankenstein para usted. Hay varios principios básicos de desarrollo rápido de modelos GPT:
Sea específico : cuanto más específico sea el aviso, más relevante será el texto generado para la tarea en cuestión.
Defina el contexto : cuanto más contexto tenga el modelo, más clara será la tarea para el modelo GPT. Configure el aviso en el mismo idioma y en la misma terminología (usando las características del área de dominio) en el que desea recibir una respuesta.
Encuentre un compromiso entre la duración y la especificidad de las indicaciones : las indicaciones más largas y específicas pueden conducir a respuestas más precisas y relevantes, pero también complican la gestión del modelo. En algunos casos, las indicaciones complejas y largas pueden hacer que el modelo se rompa y escriba una respuesta incompleta, lo que hemos experimentado varias veces durante nuestras pruebas.
Todos los siguientes ejemplos se realizaron explotando ChatGPT en una etapa previa al lanzamiento y muestra resultados mucho mejores que sus predecesores. Sin embargo, OpenAI anunció el modelo GPT 4 en el primer trimestre de 2023, y utiliza 500 veces más muestras de datos que GPT 3. Por lo tanto, también tiene sentido realizar un seguimiento de las fechas de lanzamiento y la situación es muy dinámica y es posible que prefiera futuros modelos de OpenAI para su producto.
La principal ventaja de los modelos GPT es la capacidad de encontrar formas de resolver un problema sin un gran volumen inicial de datos. Obviamente, tales modelos no pueden reemplazar completamente la funcionalidad deseada. Sin embargo, en las primeras iteraciones del producto, el uso de dichos modelos ayuda a iniciar el desarrollo, brindando a los usuarios un servicio mientras recopila datos personalizados.
También publicado aquí .