Autor | Pablo Villaverde, Cloud Engineer en ACKstorm
La nube ha revolucionado la forma en que las empresas almacenan y acceden a sus datos, y ha hecho posible nuevas formas de escalabilidad y eficiencia en la tecnología. Sin embargo, con estos beneficios vienen nuevos desafíos, especialmente en la planificación y administración de arquitecturas y sistemas cloud.
En el día a día existen muchas pequeñas tareas que no tienen complejidad pero que requieren de tiempo y esfuerzo para pensar, buscar, documentar y ejecutar. Hay muchas tareas repetitivas que podemos mejorar mucho la eficiencia aplicando algunas herramientas de inteligencia artificialy aprendizaje automático.
En este estudio, exploramos cómo ChatGPT, un modelo de lenguaje generativo desarrollado por OpenAI, puede ser utilizado para automatizar tareas y mejorar la eficiencia en el ámbito de Cloud Engineers & Architects. A través de una serie de pruebas de concepto, examinaremos cómo ChatGPT puede ser utilizado para generar documentación automatizada, scripts, y código para la administración de recursos en la nube, y cómo puede ayudar a optimizar la planificación y diseño de arquitecturas en la nube.
Cómo funciona ChatGPT: licenciamiento y pricing
ChatGPT es un modelo de lenguaje generativo desarrollado por OpenAI, y la compañía ha establecido ciertas restricciones y condiciones para su uso.
Por un lado, OpenAI ofrece una versión de ChatGPT gratis, que está disponible para cualquier persona que desee experimentar con el modelo. Esta versión gratuita tiene algunas restricciones en cuanto a la cantidad de texto que se puede generar y el uso específico del modelo, teniendo en muchas ocasiones colas para satisfacer la demanda.
Por otro lado, existe la versión de pago, ChatGPT Plus, que ofrece respuestas más rápidas y acceso prioritario a las nuevas funciones que se implementen en ChatGPT en el futuro.
En cuanto a las restricciones regulatorias, OpenAI ha establecido ciertas restricciones para el uso de ChatGPT para evitar su uso indebido. Por ejemplo, no se permite el uso de ChatGPT para la generación de contenido que incite al odio o la violencia, y se requiere que los usuarios cumplan con las leyes y regulaciones aplicables en su país de origen.
Es importante mencionar que el uso de ChatGPT y tecnologías similares conlleva responsabilidades éticas y legales, y es importante que los usuarios estén al tanto de las restricciones y regulaciones aplicables antes de utilizar el modelo.
ChatGPT prompt engineering for developers.
Testeando ChatGPT: pruebas realizadas
- Escribir, explicar y optimizar código (Python, SQL, Javascript, Bash)
- Analizar un código, buscar posibles bugs, traducirlo a otro lenguaje.
- Transformar datos para extraer aquello que nos interese.
- Depurar errores determinando las posibles causas.
- Escribir documentación, ya sea de código como de propuestas comerciales.
- Explicar conceptos, adecuando la explicación a la persona.
- Crear contenido: artículos, generación de ideas o de plantillas.
- Resumir textos, extraer las ideas principales, palabras clave, generar titulares con engagement Otros: chatbots, partidas de rol, fórmulas de excel, cuentos para niños…
Después de explorar las capacidades de ChatGPT a lo largo de estas pruebas, la herramienta mostró una gran versatilidad y capacidad para adaptarse a diferentes tareas y contextos. No obstante, también tiene graves problemas de precisión y fiabilidad si la tarea que se le encarga es muy compleja o específica.
ChatGPT tiene un gran potencial para incorporarlo a la optimización de flujos de trabajo y generación de contenido. Por el momento no puede sustituir la experiencia humana. Cuando se utilice requiere de un proceso de validación manual, en el que es necesario considerar los posibles sesgos y limitaciones.
Pros y contras de ChatGPT
Pros:
- Puede automatizar tareas de generación de contenido y documentación, lo que puede reducir costos y mejorar la eficiencia.
- Puede generar contenido de alta calidad en una variedad de aplicaciones, como la generación de código de terraform o scripts, documentación o propuestas comerciales.
- Puede ayudar en la resolución de problemas en la administración de sistemas, solucionando dudas o consultas rápidas sobre determinadas tecnologías, explicando conceptos o analizando datos.
Contras:
- Puede requerir un gran costo para su uso comercial el día de mañana.
- Puede requerir un gran conocimiento técnico para su configuración y uso.
- Puede generar contenido no deseado o inapropiado si no se configura correctamente.
- Necesita conocer algunos ejemplos de uso y creatividad a la hora de preguntar.
Análisis de la tracción y adopción de ChatGPT en el mercado
ChatGPT es una extensión de GPT (Generative Pre-trained Transformer) y es considerado como uno de los mejores modelos de lenguaje generativo disponibles actualmente.
En cuanto a su adopción en el mercado, ha habido un gran interés en el uso de ChatGPT en diferentes aplicaciones, desde la generación de contenido hasta la automatización de tareas. Muchas empresas y organizaciones están experimentando con ChatGPT para mejorar la eficiencia y reducir los costos en diferentes ámbitos, tales como la generación automatizada de documentación, la creación de diálogos de chatbot, la generación automatizada de código y la traducción automática.
OpenAI, la compañía detrás del desarrollo de ChatGPT, cuenta con un gran equipo de investigadores y desarrolladores liderando el proyecto. También cuenta con el apoyo financiero de un gran número de patrocinadores, incluyendo a empresas de tecnología de vanguardia como Microsoft, Amazon y Google, así como inversores de riesgo como Peter Thiel y Elon Musk. En el caso de Microsoft en concreto, acaban de inyectar 10.000 millones de dólares y están integrándolo en una versión de Bing.
En cuanto a su proyección a futuro, se espera que la tecnología de lenguaje generativo continúe evolucionando y mejorando, y se espera que ChatGPT juegue un papel importante en esta evolución. También se espera que la adopción de ChatGPT y otras tecnologías similares continúe creciendo en una variedad de industrias y aplicaciones. Sin embargo, es importante mencionar que también existen algunos desafíos éticos y de privacidad en el uso de estas tecnologías, y es importante abordar estos desafíos para asegurar un uso responsable de ChatGPT y similares.
Mejores alternativas existentes a ChatGPT
- GPT-3 (Generative Pre-trained Transformer 3) es un modelo de lenguaje generativo desarrollado por OpenAI, similar a ChatGPT. Más información en https://beta.openai.com/signup
- BERT (Bidirectional Encoder Representations from Transformers) es un modelo de lenguaje desarrollado por Google, especializado en tareas de procesamiento del lenguaje natural como el análisis de sentimientos y la clasificación de texto. Más información en https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html
- T5 (Text-to-Text Transfer Transformer) es otro modelo de lenguaje generativo desarrollado por Google, diseñado para una variedad de tareas de procesamiento del lenguaje natural. Más información en https://ai.googleblog.com/2020/02/exploring-transfer-learning-with-t5.html
- RoBERTa (Robustly Optimized BERT Pre-training) es una mejora del modelo BERT desarrollada por Facebook, diseñada para mejorar el rendimiento en tareas de procesamiento del lenguaje natural. Más información en https://ai.facebook.com/blog/roberta-an-optimized-method-for-pretraining-self-supervised-nlp-systems/
- ALBERT (A Lite BERT) es una versión optimizada del modelo BERT desarrollada por Google, diseñada para mejorar el rendimiento en tareas de procesamiento del lenguaje natural con menos recursos computacionales. Más información en https://ai.googleblog.com/2019/12/albert-lite-bert-for-self-supervised.html
- AWS Comprehend es un servicio de análisis de lenguaje natural de Amazon Web Services, que permite analizar el contenido de texto para detectar sentiment, entidades, relaciones, categorías y conceptos. Más información en https://aws.amazon.com/es/comprehend/
- Google Cloud NLP es un servicio de análisis de lenguaje natural de Google Cloud Platform que permite analizar el contenido de texto para detectar sentiment, entidades, relaciones, categorías y conceptos. Más información en https://cloud.google.com/natural-language/
- Azure Cognitive Services Language es un servicio de análisis de lenguaje natural de Microsoft Azure que permite analizar el contenido de texto para detectar sentiment, entidades, relaciones, categorías y conceptos. Más información en https://azure.com/es/services/cognitive-services/language/
- IBM Watson Natural Language Understanding es un servicio de análisis de lenguaje natural de IBM Cloud que permite analizar el contenido de texto para detectar sentiment, entidades, relaciones, categorías y conceptos. Más información en https://www.ibm.com/es-es/cloud/watson-natural-language-understanding
Conclusiones
En lo que llevamos visto, la herramienta tiene un gran potencial y determinadas tareas las puede agilizar drásticamente: generación de expresiones regulares, snippets de código para arrancar una aplicación, módulo o recurso de terraform, generación de documentación, propuestas, artículos… A nivel de marketing tiene un potencial enorme indiscutible.
No obstante, también hay que tener ciertos conocimientos de lo que se busca para valorar y comprobar que los resultados sean correctos. También hay que ser lo suficientemente específico para que la IA lo entienda y sepa responder. A preguntas abiertas, responde de forma abierta y ambigua.
Para consultas rápidas que normalmente se acudiría a StackOverflow puede resolverlo de forma mucho más rápida y sin navegar por múltiples issues. También para consultar documentación de comandos o parámetros de configuración de Mysql, Apache o similar, aunque actualmente tiene el riesgo de no estar actualizado en algún apartado, ya que los datos que tienen son de hasta 2021.