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.
- Aprovechando Hugging Face para casos de uso complejos de IA generativa
- Los autos sin conductor pueden tener dificultades para detectar a los niños y a las personas de piel oscura.
- 25+ Sugerencias de ChatGPT para Generar más Clientes Potenciales (y Realizar más Ventas)
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!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Conoce AudioLDM 2 Un marco de trabajo de IA único para la generación de audio que combina habla, música y efectos de sonido
- Programadores en la Era de los Modelos Grandes
- Investigadores combinan el aprendizaje profundo y la física para corregir escaneos de resonancia magnética (MRI)’.
- Destilando lo que sabemos
- New York Times Considerando Demanda contra OpenAI
- Aterrizaje de Chandrayaan 3 Cómo la IA y los sensores ayudaron en la épica empresa lunar de la ISRO.
- Haciendo LLMs más ligeros con AutoGPTQ y transformers