Contáctenos

Explorando el intérprete de código ChatGPT de OpenAI: una inmersión profunda en sus capacidades

Ingeniería rápida

Explorando el intérprete de código ChatGPT de OpenAI: una inmersión profunda en sus capacidades

mm

Los avances de OpenAI en el procesamiento del lenguaje natural (NLP) están marcados por el aumento de los modelos de lenguaje grandes (LLM), que sustentan productos utilizados por millones, incluido el asistente de codificación GitHub Copilot y el motor de búsqueda Bing. Estos modelos, a través de su capacidad única para memorizar y fusionar información, han establecido puntos de referencia incomparables en tareas como la generación de código y texto.

Comprensión del intérprete de código de ChatGPT

Para comprender la importancia del intérprete de código ChatGPT, es esencial comprender primero qué es y cómo se construyó.

En esencia, el intérprete de código ChatGPT aprovecha las capacidades de ChatGPT pero presenta una competencia mejorada en la comprensión, interpretación e incluso generación de código en una gran variedad de lenguajes de programación. Esta característica transforma a ChatGPT de un generador de texto a una herramienta invaluable para los desarrolladores, que ayuda en la comprensión del código, la depuración e incluso la generación de código.

Capacitación GPT para la codificación: el enfoque del Codex

Ambos Copiloto de GitHub y Intérprete de código de ChatGPT utilizar el modelo de códice desarrollado por OpenAI.

Codex, un modelo de lenguaje GPT especializado, está diseñado para tener capacidades competentes de escritura de código Python. Codex, capacitado en código de origen público de GitHub, muestra su potencial potenciando funciones en GitHub Copilot. Cuando se evalúa por su capacidad para sintetizar programas a partir de cadenas de documentos, una medida de corrección funcional, Codex supera a ambos GPT-3 y GPT-J.

Una observación sorprendente es que el muestreo repetido mejora la competencia del Codex. Cuando se utilizan hasta 100 muestras por problema, la tasa de éxito del modelo aumenta a 70.2%. Tal eficiencia sugiere la posibilidad de utilizar la clasificación heurística para elegir muestras de código precisas, sin necesidad de una evaluación completa de cada una.

Para evaluar sus capacidades, se encargó al modelo la creación de funciones Python independientes basadas únicamente en cadenas de documentación. La precisión del código generado se evaluó mediante pruebas unitarias. En un conjunto de datos compuesto por 164 problemas de programación originales, que incluyen comprensión del lenguaje, algoritmos y pruebas matemáticas básicas, Codex con 12 B de parámetros resolvió... 28.8% de ellos en un solo intento.

Datos de entrenamiento para Codex Model - intérprete de código chatgpt

Datos de entrenamiento para el modelo Codex: https://arxiv.org/abs/2107.03374

Al perfeccionar aún más el modelo mediante el ajuste fino de las funciones independientes implementadas correctamente, se impulsó su eficiencia, lo que resultó en la resolución de Codex-S. 37.7% de desafíos en el primer intento. Sin embargo, en el ámbito práctico de la programación, es común un enfoque de prueba y error. Imitando este escenario del mundo real, el modelo Codex-S, cuando se le dieron 100 oportunidades, abordó con éxito 77.5% de los retos

Arquitectura perfeccionada de Chatgpt

Los modelos generativos como ChatGPT, que generan código, suelen evaluarse comparando las muestras generadas con una solución de referencia. Esta comparación puede ser exacta o emplear una medida de similitud como la puntuación BLEU. Sin embargo, estas métricas basadas en coincidencias a menudo no captan los matices de la codificación. Una crítica clave de BLEU es su ineficacia para capturar las características semánticas del código.

En lugar de confiar únicamente en la coincidencia, se ha propuesto una medida más relevante: la corrección funcional. Esto significa que el código producido por el modelo debe pasar un conjunto determinado de pruebas unitarias. La idea está alineada con las prácticas de codificación estándar, ya que los desarrolladores a menudo usan pruebas unitarias para medir la eficacia y precisión de su código.

Esta métrica evalúa no solo la precisión, sino también la usabilidad funcional del código generado.

La sección pasar@k La métrica se introduce como una medida de corrección funcional. Básicamente significa que si cualquiera de los "k" ejemplos de código generados pasa las pruebas unitarias, el problema se considera resuelto. Sin embargo, en lugar de simplemente usar esto en su forma directa, se usa un estimador insesgado para calcular pass@k para evitar una alta varianza.

Para evaluar las capacidades del código de ChatGPT, la investigación utilizó el evaluación humana conjunto de datos Este conjunto de datos consta de problemas de Python escritos a mano, cada uno acompañado de pruebas unitarias.

Ejemplo de conjunto de datos de entrenamiento de ai abierto de chatgpt

https://github.com/openai/code-align-evals-data/blob/main/human_eval

Dados los riesgos asociados con la ejecución de código desconocido o no confiable, se diseñó un entorno de espacio aislado para probar el código generado de manera segura. Este entorno utilizado visera para emular recursos y crear una barrera entre el sistema host y el código en ejecución. Por lo tanto, incluso si el modelo produce código malicioso, permanece contenido y no puede dañar el host o la red.

Uso del intérprete de código de ChatGPT

ChatGPT de OpenAI ha experimentado numerosas evoluciones, y el intérprete de código se destaca como una característica revolucionaria en el modelo GPT-4. A diferencia de las interfaces de chat tradicionales, Code Interpreter permite a los usuarios profundizar en las tareas computacionales, combinando a la perfección las líneas entre las conversaciones entre humanos e IA y los procesos computacionales.

En esencia, Code Interpreter es similar a tener una computadora integrada en el chatbot. Esta característica dinámica ofrece a los usuarios espacio temporal en el disco para cargar una gran cantidad de formatos de archivo que van desde tipos comunes como TXT, PDF y JPEG hasta otros más especializados como CPP, PY y SQLite. Esta amplitud de soporte amplifica su versatilidad en varias tareas, ya sea procesamiento de documentos o manipulación de imágenes.

Operando dentro de un marco robusto y seguro, el Intérprete de Código está equipado con más de 300 bibliotecas preinstaladas. Este entorno aislado garantiza la seguridad a la vez que proporciona una considerable potencia computacional. Curiosamente, cuando se le asigna una tarea, crea un script de Python en tiempo real para ejecutar la solicitud del usuario. Por ejemplo, al convertir un PDF basado en imágenes a un formato con capacidad de búsqueda mediante OCR, el usuario solo tiene que subir el documento y ChatGPT se encarga del resto.

Un punto intrigante ha sido el límite de tamaño de archivo para las subidas. Si bien aún no se han anunciado las especificaciones definitivas, las experiencias de los usuarios sugieren que el sistema puede procesar eficazmente archivos considerablemente mayores a 100 MB. Independientemente del tamaño, es fundamental tener en cuenta que estos archivos son transitorios y se descartan al finalizar la sesión de chat.

La brillantez de Code Interpreter no reside solo en su destreza técnica, sino también en su accesibilidad. OpenAI ofrece esta función a los suscriptores de ChatGPT Plus, que incluye el modelo GPT-4. Por lo tanto, esta herramienta transformadora no es solo para la élite tecnológica, sino que gradualmente se está volviendo accesible a un público más amplio.

La distinción entre el modelo estándar de ChatGPT y el intérprete de código radica en sus paradigmas de interacción. Mientras que el primero genera principalmente respuestas textuales, el segundo comprende y ejecuta código, ofreciendo resultados directos. Esto no solo lo convierte en un activo valioso para los profesionales de la tecnología, sino que también empodera a quienes no tienen conocimientos de codificación para realizar tareas informáticas complejas.

Las capacidades del intérprete de código ChatGPT pueden revolucionar varios aspectos del desarrollo de software y la ciencia de datos:

  • Generación automatizada de código: Tanto para las aplicaciones de software como para los scripts de análisis de datos, dada una descripción de alto nivel, el sistema puede producir estructuras repetitivas o fragmentos de código intrincados, lo que acelera los procesos de desarrollo y análisis de datos.
  • Revisiones de código y validación de datos: Las herramientas impulsadas por IA como ChatGPT pueden ayudar a mejorar la calidad y la seguridad de las bases de código de software. Además, en el ámbito de la ciencia de datos, estas herramientas pueden ser fundamentales para revisar y validar los scripts de procesamiento y transformación de datos, lo que garantiza la precisión y la eficiencia.
  • Asistencia de análisis de datos: Para los científicos de datos, el intérprete de código ChatGPT puede ayudar a generar código para la exploración preliminar de datos, visualización e incluso pruebas estadísticas básicas, lo que facilita el flujo de trabajo de análisis de datos.

Si desea obtener más información sobre las complejidades de ChatGPT y la ingeniería rápida, Unite AI ofrece un desglose completo en 'ChatGPT: ingeniería de avisos avanzada'.

Configuración del intérprete de código de ChatGPT

La integración de Code Interpreter permite que la plataforma interprete las consultas de los usuarios, las ejecute como código Python y muestre los resultados en un formato de chat interactivo. Para acceder a esta característica, los usuarios pueden navegar a la ChatGPT configuración, explore la sección de funciones Beta y active el Intérprete de código.

Lo que lo distingue es su mecanismo transparente. A medida que los usuarios solicitan una tarea, la plataforma revela cada paso del viaje de procesamiento, ofreciendo claridad sobre cómo se interpretan y ejecutan los comandos. Es importante destacar que, por motivos de privacidad y seguridad, el intérprete de código funciona sin conexión a Internet.

Explorando los beneficios del intérprete de código ChatGPT

Visualización de datos & Análisis

ChatGPT va más allá del alcance de los gráficos tradicionales y ofrece representaciones gráficas tanto convencionales como innovadoras. Esto garantiza que los usuarios puedan ver sus datos en formatos que brinden la información más significativa.

Sin embargo, no se trata solo de visualizar datos sin procesar. El modelo ChatGPT es experto en procesar y refinar datos. Aunque es potente, se recomienda a los usuarios tener precaución.

Los analistas financieros encontrarán especialmente útil la capacidad del Intérprete de Códigos para analizar y visualizar las cotizaciones bursátiles. Gracias a una integración fluida, los usuarios pueden cargar conjuntos de datos y visualizarlos en diversos formatos. La importancia de esta función es evidente cuando se realizan análisis de datos complejos.

El siguiente video demuestra cómo el intérprete de código de ChatGPT creó un completo TSLA análisis de acciones.

Puntos clave:

  • Las acciones de Tesla han enfrentado volatilidad pero también han mostrado resiliencia con períodos de crecimiento.
  • Los altos volúmenes de negociación en días específicos indican un interés significativo en el mercado o reacciones a eventos clave.
  • El rendimiento a la baja del año hasta la fecha (YTD) sugiere que los inversores deben analizar tanto los factores internos de la empresa como las condiciones externas del mercado al considerar futuras inversiones.

Implementación de visión artificial y OCR

La detección de rostros, una función esencial en la visión por computadora, se abordó con una técnica clásica: el Clasificador Haar Cascade desde OpenCV.

La siguiente imagen muestra la utilización del clasificador clásico Haar Cascade.

El proceso de extracción de texto de las imágenes, conocido como reconocimiento óptico de caracteres (OCR), se logró a la perfección con Tesseract, con el texto estructurado posteriormente por GPT-4, lo que mejora la comprensión.

En el siguiente video, vea cómo Tesseract (OCR) extrae texto de una imagen de certificado.

Code Interpreter sobresale en el ámbito de la manipulación de video, audio e imágenes. Con comandos sencillos, los usuarios pueden lograr ediciones detalladas, como convertir GIF en MP4 con mejoras específicas. Simplemente cargue su archivo, ingrese las modificaciones deseadas y observe cómo ocurre la magia.

Biblioteca externa de Python dentro de su intérprete de código ChatGPT

El intérprete de código ChatGPT es una plataforma de programación dinámica equipada con un amplio conjunto de bibliotecas de Python. Estas abarcan desde la visualización de datos con Seaborn hasta el aprendizaje automático avanzado con Torch. Pero es más que un conjunto de herramientas estáticas.

Inspirado por esto Página de chat de Korakot Chaovavanich.

Empezando por lo último liberación nltkSubimos un archivo .whl al intérprete. Luego, le indicamos a ChatGPT que localizara el directorio site-packages adecuado analizando la ubicación de un paquete existente. El siguiente paso consistió en descomprimir el archivo wheel en una ubicación temporal y mover los archivos al directorio site-packages identificado. Sin embargo, esto presentó un problema.

Buscando una solución alternativa, solicitamos: "Asegúrese de que NLTK se instale en el entorno de Python y sea accesible después de la instalación".

ChatGPT respondió, brindando una solución. Sugirió agregar el directorio temporal a sys.path, lo que permite a Python identificar y extraer módulos del paquete nltk desempaquetado dentro de esa ubicación. Esta táctica funcionó de maravilla, lo que condujo a la instalación exitosa de NLTK.

Gracias al uso de archivos .whl, la instalación demostró una combinación de ingenio y adaptabilidad. El intérprete de código ChatGPT, a pesar de los desafíos iniciales, demostró su versatilidad y compromiso para adaptarse a las necesidades de los programadores, garantizando una experiencia de programación refinada tanto para principiantes como para veteranos.

instalar bibliotecas personalizadas en el intérprete de código chatgpt

En una fascinante muestra de las capacidades del intérprete, un tuit reciente de @DominikPeters destacó una demostración única. Peters solicitó a GPT-4 que generara un cuestionario sobre los distritos de París, y el modelo generó un sitio web funcional. El cuestionario funcional está disponible para una experiencia práctica en dominik-peters.de/gpt-arrondissement-quiz/.

Resumen

El avance de OpenAI con el intérprete de código ChatGPT es una auténtica transformación tanto para programadores como para quienes no lo son. Su versatilidad para gestionar una amplia gama de tareas, desde ayudar a los desarrolladores en la depuración hasta crear cuestionarios parisinos sin esfuerzo, demuestra el potencial ilimitado de la IA para mejorar nuestras experiencias digitales. Aquí tienes un resumen de nuestro análisis a fondo:

Entienda su herramienta: Al igual que te harías amigo de un colega, familiarízate con el Intérprete de Código. Está diseñado sobre Codex, optimizado a partir de GPT-4. Su dominio abarca múltiples lenguajes de programación, lo que lo convierte en el compañero ideal para todas tus aventuras de programación.

Adopte la revolución de la IA: Las prácticas tradicionales de codificación están a punto de ver un cambio sísmico. Con herramientas impulsadas por IA como el intérprete de código ChatGPT, se pueden acelerar tareas como la identificación de errores, la generación de código e incluso las revisiones de código.

Más allá del códigoLa incursión del Intérprete no se limita al texto o al código. Su capacidad para manejar múltiples formatos de archivo, desde simples archivos TXT hasta complejos scripts PY, subraya su utilidad en diversos ámbitos.

Nunca dejes de experimentarNuestra exploración de la instalación de la biblioteca NLTK refleja la importancia de la persistencia y la adaptabilidad, valores que el Intérprete de Código representa. Si surge algún problema, suele haber una solución.

Únase a la conversación sobre IA: Las aplicaciones del mundo real, como se muestra en el cuestionario de los distritos de París, subrayan la inmensa utilidad de la herramienta en el mundo real. Acéptalo, explóralo y deja que amplifique tus proyectos.

El video de arriba está hecho usando Gen-2 y Midjourney.

En resumen, el intérprete de código ChatGPT es más que una simple herramienta; está cambiando la forma en que interactuamos con la tecnología. Tanto para innovadores como para entusiastas, promete un mundo lleno de potencial para la programación.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del aprendizaje automático y el aprendizaje profundo. Mi pasión y experiencia me han llevado a contribuir en más de 50 proyectos diversos de ingeniería de software, con un enfoque particular en AI/ML. Mi curiosidad constante también me ha atraído hacia el procesamiento del lenguaje natural, un campo que estoy ansioso por explorar más a fondo.