Databricks ❤️ Hugging Face hasta un 40% más rápido en el entrenamiento y ajuste de Modelos de Lenguaje Grandes

Databricks y Hugging Face aceleran el entrenamiento y ajuste de Modelos de Lenguaje Grandes hasta un 40%.

La IA generativa ha estado causando sensación en el mundo. Como empresa de datos y IA, hemos estado en este viaje con el lanzamiento del modelo de lenguaje grande de código abierto Dolly, así como el conjunto de datos de crowdsourcing interno con licencia para investigación y uso comercial que utilizamos para ajustarlo, el databricks-dolly-15k. Tanto el modelo como el conjunto de datos están disponibles en Hugging Face. Hemos aprendido mucho a lo largo de este proceso y hoy nos complace anunciar nuestro primer compromiso oficial con la base de código de Hugging Face que permite a los usuarios crear fácilmente un conjunto de datos de Hugging Face a partir de un dataframe de Apache Spark™.

“Ha sido genial ver a Databricks lanzar modelos y conjuntos de datos a la comunidad, y ahora los vemos ampliando ese trabajo con un compromiso directo de código abierto con Hugging Face. Spark es uno de los motores más eficientes para trabajar con datos a escala y es genial ver que los usuarios ahora puedan beneficiarse de esa tecnología para ajustar modelos de Hugging Face de manera más efectiva.”

– Clem Delange, CEO de Hugging Face

Hugging Face obtiene soporte Spark de primera clase

En las últimas semanas, hemos recibido muchas solicitudes de usuarios que buscan una forma más sencilla de cargar su dataframe de Spark en un conjunto de datos de Hugging Face que se pueda utilizar para el entrenamiento o ajuste de modelos. Antes del lanzamiento de hoy, para obtener datos de un dataframe de Spark en un conjunto de datos de Hugging Face, los usuarios tenían que escribir los datos en archivos Parquet y luego indicar al conjunto de datos de Hugging Face que recargue estos archivos. Por ejemplo:

from datasets import load_dataset

train_df = train.write.parquet(train_dbfs_path, mode="overwrite")

train_test = load_dataset("parquet", data_files={"train":f"/dbfs{train_dbfs_path}/*.parquet", "test":f"/dbfs{test_dbfs_path}/*.parquet"})

#16GB == 22min

No solo era engorroso, sino que también significaba que los datos tenían que escribirse en el disco y luego leerse de nuevo. Además, los datos se volvían a materializar una vez cargados en el conjunto de datos, lo que consume más recursos y, por lo tanto, más tiempo y costos. Utilizando este método, vimos que un conjunto de datos relativamente pequeño (16GB) tomó aproximadamente 22 minutos para pasar de un dataframe de Spark a Parquet, y luego volver al conjunto de datos de Hugging Face.

Con el último lanzamiento de Hugging Face, simplificamos mucho la tarea para los usuarios al llamar simplemente a la nueva función “from_spark” en Datasets:

from datasets import Dataset

df = [algún dataframe de Spark o tabla Delta cargado en df]

dataset = Dataset.from_spark(df)

#16GB == 12min

Esto permite a los usuarios utilizar Spark para cargar y transformar datos de manera eficiente para el entrenamiento o ajuste de un modelo, y luego mapear fácilmente su dataframe de Spark en un conjunto de datos de Hugging Face para una integración súper sencilla en sus tuberías de entrenamiento. Esto combina ahorro de costos y velocidad de Spark, y optimizaciones como la asignación de memoria y el almacenamiento en caché inteligente de los conjuntos de datos de Hugging Face. Estas mejoras redujeron el tiempo de procesamiento de nuestro conjunto de datos de ejemplo de 16GB en más del 40%, pasando de 22 minutos a solo 12 minutos.

¿Por qué es esto importante?

A medida que nos adentramos en este nuevo paradigma de IA, las organizaciones necesitarán utilizar sus datos extremadamente valiosos para mejorar sus modelos de IA si desean obtener el mejor rendimiento dentro de su dominio específico. Esto casi con seguridad requerirá trabajo en forma de transformaciones de datos, y hacer esto de manera eficiente en conjuntos de datos grandes es algo para lo que Spark fue diseñado. La integración de Spark con Hugging Face le brinda la rentabilidad y el rendimiento de Spark, al tiempo que conserva la integración de tuberías que proporciona Hugging Face.

Soporte continuo de código abierto

Vemos este lanzamiento como una nueva vía para contribuir aún más a la comunidad de código abierto, algo en lo que creemos que Hugging Face lo hace extremadamente bien, ya que se ha convertido en el repositorio de facto de modelos y conjuntos de datos de código abierto. Esto es solo el primero de muchos aportes. Ya tenemos planes para agregar soporte de transmisión a través de Spark para hacer que la carga de conjuntos de datos sea aún más rápida.

Con el fin de convertirse en la mejor plataforma para que los usuarios se sumerjan en el mundo de la IA, estamos trabajando arduamente para ofrecer las mejores herramientas para entrenar, ajustar e implementar modelos de manera exitosa. No solo seguiremos contribuyendo a Hugging Face, sino que también hemos comenzado a lanzar mejoras a nuestros otros proyectos de código abierto. Una versión reciente de MLflow agregó soporte para la biblioteca transformers, integración con OpenAI y soporte para Langchain. También anunciamos las Funciones de IA dentro de Databricks SQL, que permite a los usuarios integrar fácilmente OpenAI (o sus propios modelos implementados en el futuro) en sus consultas. Para completar todo esto, también lanzamos un distribuidor de PyTorch para Spark para simplificar el entrenamiento distribuido de PyTorch en Databricks.

Este artículo fue originalmente publicado el 26 de abril de 2023 en el blog de Databricks.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Este artículo de IA propone inyectar el mundo 3D en los grandes modelos de lenguaje y presentar una nueva familia completa de modelos de lenguaje 3D (3D-LLMs).

En los últimos años, hemos visto un aumento en los modelos de lenguaje grandes (LLMs) (como GPT4) que son excelentes ...

Inteligencia Artificial

Obteniendo audio de imágenes estáticas, videos silenciosos

Una herramienta de aprendizaje automático desarrollada en la Universidad Northeastern puede obtener audio de imágenes...

Inteligencia Artificial

Sobre el aprendizaje en presencia de grupos subrepresentados

Déjame presentarte nuestro último trabajo, que ha sido aceptado por ICML 2023 Cambio es Difícil Un Vistazo más Detall...

Inteligencia Artificial

Conoce DenseDiffusion una técnica de IA sin entrenamiento para abordar subtítulos densos y manipulación de diseño en la generación de texto a imagen

Los avances recientes en los modelos de texto a imagen han llevado a sistemas sofisticados capaces de generar imágene...

Inteligencia Artificial

Investigadores de la Universidad Sorbona presentan UnIVAL un modelo de IA unificado para tareas de imagen, video, audio y lenguaje.

Un gran avance en la creación de modelos generalistas es la aparición de Modelos de Lenguaje Grandes (LLMs, por sus s...

Inteligencia Artificial

Molino de Turing la supercomputadora de IA impulsa el motor económico del Reino Unido

El hogar de la primera revolución industrial acaba de hacer una inversión masiva en la próxima. El gobierno del Reino...