Ir al contenido principal

Dolly Gratis: Presentamos el primer LLM del mundo verdaderamente abierto y ajustado por instrucciones

Free Dolly: Introducing the World's First Truly Open Instruction-Tuned LLM

Hace dos semanas, lanzamos Dolly, un modelo de lenguaje grande (LLM) entrenado por menos de $30 para exhibir interactividad humana similar a ChatGPT (también conocida como seguimiento de instrucciones). Hoy, lanzamos Dolly 2.0, el primer LLM de código abierto que sigue instrucciones, ajustado con un conjunto de datos de instrucciones generado por humanos con licencia para uso en investigación y comercial.

Dolly 2.0 es un modelo de lenguaje de 12B parámetros basado en la familia de modelos pythia de EleutherAI y ajustado exclusivamente en un conjunto de datos nuevo y de alta calidad generado por humanos para seguir instrucciones, recopilado entre empleados de Databricks.

Estamos publicando todo Dolly 2.0 como código abierto, incluyendo el código de entrenamiento, el conjunto de datos y los pesos del modelo, todos aptos para uso comercial. Esto significa que cualquier organización puede crear, poseer y personalizar LLMs potentes que pueden hablar con personas, sin pagar por acceso a API ni compartir datos con terceros.

conjunto de datos databricks-dolly-15k

databricks-dolly-15k contiene 15,000 pares de indicaciones/respuestas de alta calidad generados por humanos, diseñados específicamente para el ajuste de instrucciones de modelos de lenguaje grandes. Bajo los términos de licencia de databricks-dolly-15k (Licencia Creative Commons Atribución-Compartir Igual 3.0 Unported), cualquiera puede usar, modificar o extender este conjunto de datos para cualquier propósito, incluidas aplicaciones comerciales.

Hasta donde sabemos, este conjunto de datos es el primer conjunto de datos de instrucciones de código abierto generado por humanos, diseñado específicamente para hacer que los modelos de lenguaje grandes exhiban la interactividad mágica de ChatGPT. databricks-dolly-15k fue creado por más de 5,000 empleados de Databricks durante marzo y abril de 2023. Estos registros de entrenamiento son naturales, expresivos y están diseñados para representar una amplia gama de comportamientos, desde la lluvia de ideas y la generación de contenido hasta la extracción de información y la resumen.

¿Por qué creamos un nuevo conjunto de datos?

Tan pronto como lanzamos Dolly 1.0, nos vimos inundados de solicitudes de personas que querían probarlo. La pregunta número uno que recibíamos era: “¿puedo usar esto comercialmente?”

Un paso crítico en la creación de Dolly 1.0, o cualquier LLM que siga instrucciones, es entrenar el modelo con un conjunto de datos de pares de instrucciones y respuestas. Dolly 1.0 se entrenó por $30 utilizando un conjunto de datos que el equipo de Stanford Alpaca había creado usando la API de OpenAI. Ese conjunto de datos contenía resultados de ChatGPT, y como señaló el equipo de Stanford, los términos de servicio buscan evitar que cualquiera cree un modelo que compita con OpenAI. Entonces, desafortunadamente, la respuesta a esta pregunta común fue: “¡probablemente no!”

Hasta donde sabemos, todos los modelos de seguimiento de instrucciones bien conocidos existentes (Alpaca, Koala, GPT4All, Vicuna) sufren esta limitación, prohibiendo el uso comercial. Para sortear este dilema, comenzamos a buscar formas de crear un nuevo conjunto de datos que no estuviera “contaminado” para uso comercial.

¿Cómo lo hicimos?

Sabíamos por el artículo de investigación de OpenAI paper que el modelo InstructGPT original se entrenó con un conjunto de datos que consistía en 13,000 demostraciones de comportamiento de seguimiento de instrucciones. Inspirados por esto, nos propusimos ver si podíamos lograr un resultado similar con los empleados de Databricks liderando el camino.

Resulta que generar 13k preguntas y respuestas es más difícil de lo que parece. Cada respuesta debe ser original. No se puede copiar de ChatGPT ni de ningún lugar de la web, o contaminaría nuestro conjunto de datos. Parecía desalentador, pero Databricks tiene más de 5,000 empleados muy interesados en los LLMs. Así que pensamos que podríamos recopilar datos de ellos para crear un conjunto de datos de mayor calidad que el creado por los 40 etiquetadores para OpenAI. Pero sabíamos que todos estaban ocupados y tenían trabajos a tiempo completo, así que necesitábamos incentivarlos para que lo hicieran.

Establecimos un concurso, donde los 20 mejores etiquetadores recibirían un gran premio. También delineamos 7 tareas muy específicas:

  • Preguntas y respuestas abiertas: Por ejemplo, “¿Por qué a la gente le gustan las películas de comedia?” o “¿Cuál es la capital de Francia?” En algunos casos, no hay una respuesta correcta, y en otros, requiere basarse en el conocimiento del mundo en general.
  • Preguntas y respuestas cerradas: Estas son preguntas que se pueden responder utilizando únicamente la información contenida en un pasaje de texto de referencia. Por ejemplo, dado un párrafo de Wikipedia sobre el átomo, uno podría preguntar: “¿Cuál es la relación entre protones y neutrones en el núcleo?”
  • Extraer información de Wikipedia: Aquí un anotador copiaría un párrafo de Wikipedia y extraerá entidades u otra información fáctica como pesos o medidas del pasaje.
  • Resumir información de Wikipedia: Para esto, los anotadores proporcionaron un pasaje de Wikipedia y se les pidió que lo destilaran en un resumen corto.
  • Lluvia de ideas: Esta tarea pidió ideación abierta y una lista asociada de opciones posibles. Por ejemplo, “¿Cuáles son algunas actividades divertidas que puedo hacer con mis amigos este fin de semana?”.
  • Clasificación: Para esta tarea, se pidió a los anotadores que hicieran juicios sobre la pertenencia a una clase (por ejemplo, ¿son los elementos de una lista animales, minerales o vegetales?) o que juzgaran las propiedades de un pasaje corto de texto, como el sentimiento de una reseña de película.
  • Escritura creativa: Esta tarea incluiría cosas como escribir un poema o una carta de amor.

Ejemplo de Preguntas y Respuestas Abiertas en databricks-dolly-15k

¿Cómo construyo una fogata?

La seguridad siempre debe ser lo primero al iniciar una fogata. Asegúrate de tener agua u otra forma de extinguir tu fuego fácilmente disponible. Usa un anillo para fogatas, un hoyo o despeja un área grande alrededor de la ubicación de tu fogata. Además, asegúrate de que las fogatas estén permitidas en tu área.
 

Con la seguridad fuera de camino, todo lo que necesita un fuego son calor, combustible y oxígeno. Cualquier material combustible iniciará un fuego, pero las buenas fuentes de combustible para fogatas incluyen yesca, astillas y troncos secos.

Usa cosas como agujas de pino secas, hojas secas, hierbas y virutas de madera para la yesca. También puedes usar periódico (o cualquier papel), pelusa de secadora o cartón. Para las astillas, usa trozos de madera más pequeños, como ramitas y palos de no más de 1 pulgada de diámetro (aproximadamente el grosor de tu pulgar).

Los troncos secos o bien curados asegurarán una buena combustión. Apila la madera de manera que garantice que el oxígeno pueda llegar fácilmente a tu llama. Muchos prefieren un diseño de apilamiento en tipi o cabaña de troncos. Ahora, usa una fuente de calor para crear una llama o chispa y aplícala a tu yesca. Una vez que la yesca se combustione, debería encender las astillas, y las astillas eventualmente deberían encender tus troncos. Si todo va bien, ahora deberías estar disfrutando de tu fogata.

Ejemplo de Lluvia de Ideas en databricks-dolly-15k

En lugar de hacer un sándwich de mantequilla de maní y jalea, ¿con qué más podría combinar la mantequilla de maní en un sándwich? Dame cinco ideas.
 

En lugar de jalea, prueba una de las siguientes opciones con mantequilla de maní en un sándwich:

  1. Miel
  2. Pasas
  3. Conservas de frutas
  4. Plátanos
  5. Manzanas en rodajas

Inicialmente éramos escépticos sobre si obtendríamos 10,000 resultados. Pero con la gamificación de la tabla de clasificación nocturna, logramos superar los 15,000 resultados en una semana. Por temor a afectar nuestra productividad, cerramos el concurso.

Nuestro viaje para crear un modelo comercialmente viable

También queríamos producir un modelo de código abierto que pudiera ser utilizado comercialmente. A pesar de que databricks-dolly-15k es sustancialmente más pequeño que Alpaca, el conjunto de datos en el que se entrenó Dolly 1.0, el modelo resultante Dolly 2.0, basado en pythia-12b de EleutherAI, exhibió un comportamiento de seguimiento de instrucciones de alta calidad. En retrospectiva, esto no es sorprendente. Muchos de los conjuntos de datos de ajuste de instrucciones lanzados en los últimos meses contienen datos sintetizados, que a menudo contienen alucinaciones y errores fácticos.

Webinar

Databricks 101: Una guía práctica

databricks-dolly-15k, por otro lado, es generado por profesionales, es de alta calidad y contiene respuestas largas para la mayoría de las tareas.

Puedes ver por ti mismo algunos ejemplos de cómo Dolly 2.0 se puede usar para resumir y generar contenido. Según nuestros comentarios iniciales de los clientes, está claro que capacidades como estas tendrán amplias aplicaciones en toda la empresa.

 

Dolly 2.0 resume la documentación de Databricks

Instrucción

Respuesta

¿Cuál es la configuración predeterminada para los nuevos almacenes de Databricks SQL?

Entrada:

Databricks SQL Serverless admite cómputo sin servidor. Los administradores pueden crear almacenes SQL sin servidor (anteriormente puntos de conexión SQL) que permiten cómputo instantáneo y son administrados por Databricks. Los almacenes SQL sin servidor utilizan clústeres de cómputo en tu cuenta de Databricks. Úsalos con consultas de Databricks SQL como lo harías normalmente con los almacenes SQL originales alojados por el cliente, que ahora se llaman almacenes SQL clásicos. Databricks cambió el nombre de punto de conexión SQL a almacén SQL porque, en la industria, punto de conexión se refiere a un dispositivo de cómputo remoto que se comunica con una red a la que está conectado, o a un punto de entrada a un servicio en la nube. Un almacén de datos es un sistema de gestión de datos que almacena datos actuales e históricos de múltiples fuentes de una manera amigable para los negocios para facilitar la obtención de información y la generación de informes. Almacén SQL describe con precisión las capacidades completas de este recurso de cómputo. Si los almacenes SQL sin servidor están habilitados para tu cuenta, ten en cuenta lo siguiente: Los nuevos almacenes SQL son sin servidor por defecto cuando los creas desde la interfaz de usuario. Los nuevos almacenes SQL no son sin servidor por defecto cuando los creas usando la API, lo que requiere que especifiques explícitamente sin servidor. También puedes crear nuevos almacenes SQL pro o clásicos usando cualquiera de los dos métodos. Puedes actualizar un almacén SQL pro o clásico a un almacén SQL sin servidor o un almacén SQL clásico a un almacén SQL pro. También puedes degradar de sin servidor a pro o clásico. Esta función solo afecta a Databricks SQL. No afecta a cómo los clústeres de Databricks Runtime funcionan con notebooks y trabajos en los entornos de espacio de trabajo de Data Science & Engineering o Databricks Machine Learning. Los clústeres de Databricks Runtime siempre se ejecutan en el plano de datos clásico en tu cuenta de AWS. Consulta Cuotas sin servidor. Si tu cuenta necesita términos de uso actualizados, se les pedirá a los administradores del espacio de trabajo en la interfaz de usuario de Databricks SQL. Si tu espacio de trabajo tiene un perfil de instancia de AWS, es posible que necesites actualizar la relación de confianza para admitir el cómputo sin servidor, dependiendo de cómo y cuándo se creó.

Por defecto, cuando creas un nuevo almacén de Databricks SQL usando la interfaz de usuario, será un almacén SQL sin servidor. Sin embargo, al crear el mismo usando la API, tendrás que especificar explícitamente que es un almacén SQL pro.

 Dolly 2.0 genera contenido para un tuit

Instrucción

Respuesta

Escríbeme un tuit sobre el lanzamiento de Dolly 2.0, nuestro nuevo LLM.

Dolly 2.0 ya está aquí 🤩

Hemos mejorado nuestro LLM, haciéndolo más eficiente, más potente y más accesible para una audiencia más amplia.

Más información ⬇️

https://t.co/KxzT3HXCPb

Modelos de lenguaje grandes verdaderamente abiertos

Hemos escuchado repetidamente de nuestros clientes que se beneficiarían más si poseyeran sus modelos, lo que les permitiría crear modelos de mayor calidad para sus aplicaciones específicas de dominio sin entregar sus datos confidenciales a terceros.

También creemos que los problemas importantes de sesgo, responsabilidad y seguridad de la IA deben ser abordados por una amplia comunidad de partes interesadas diversas en lugar de solo unas pocas empresas grandes. Los conjuntos de datos y modelos de código abierto fomentan el comentario, la investigación y la innovación que ayudarán a garantizar que todos se beneficien de los avances en la tecnología de inteligencia artificial.

Como artefacto técnico y de investigación, no esperamos que Dolly sea de última generación en términos de efectividad. Sin embargo, esperamos que Dolly y el conjunto de datos de código abierto actúen como la semilla para una multitud de trabajos de seguimiento, que pueden servir para impulsar modelos de lenguaje aún más potentes.

¿Cómo empiezo hoy?

Para descargar los pesos del modelo Dolly 2.0, simplemente visita la página de Databricks Hugging Face y visita el repositorio de Dolly en databricks-labs para descargar el conjunto de datos databricks-dolly-15k. Y únete a nuestro webinar para descubrir cómo puedes aprovechar los LLM para tu organización.

Recursos

(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original

No te pierdas ninguna publicación de Databricks.

Suscríbete a nuestro blog y recibe las últimas publicaciones en tu bandeja de entrada.