Databricks와 Hugging Face, Apache Spark를 통합해 LLM 학습 속도 향상

Databricks와 Hugging Face는 Apache Spark를 Hugging Face 코드베이스에 직접 통합했으며, 사용자가 Apache Spark 데이터프레임에서 Hugging Face Datasets를 생성할 수 있게 되었습니다. 이 통합을 통해 Spark에서 Hugging Face 데이터셋으로 데이터를 이동하는 데 걸리는 시간이 최대 40%까지 감소하여 대형 언어 모델(LLM) 학습 및 미세 조정 파이프라인을 간소화합니다.

Dataset.from_spark()를 통한 직접 Spark 통합

이전에는 Apache Spark 데이터프레임에서 Hugging Face 데이터셋으로 데이터를 이동하려면 데이터를 디스크에 Parquet 파일로 저장한 뒤 해당 파일을 다시 데이터셋으로 로드해야 했습니다. 이 과정은 디스크에 쓰고 다시 읽으며 데이터를 재구성해야 하므로 비효율적이며, 리소스 사용량, 시간 및 비용이 증가했습니다.

새 업데이트를 통해 사용자는 이제 Dataset.from_spark() 함수를 사용할 수 있습니다. 이를 통해 Spark 데이터프레임이나 Delta 테이블을 Hugging Face 데이터셋으로 직접 매핑할 수 있어 중간 Parquet 파일이 필요하지 않게 됩니다.

성능 벤치마크

16GB 데이터셋을 사용한 테스트에서 처리 시간이 Parquet 방식을 사용할 때 22분에서 Dataset.from_spark()를 사용할 때 12분으로 감소했으며, 이는 처리 시간이 40% 이상 단축된 것을 의미합니다.

도메인 특화 AI에 대한 전략적 중요성

Spark와 Hugging Face를 통합하는 것은 대규모 데이터셋에 복잡한 데이터 변환을 수행해 특정 도메인에 맞는 AI 모델을 강화해야 하는 조직에 필수적입니다. Spark의 데이터 처리 엔진이 제공하는 비용 효율성과 성능을 Hugging Face 데이터셋의 메모리 매핑 및 스마트 캐싱 최적화와 결합함으로써, 조직은 모델 튜닝을 위해 자체 데이터를 보다 효율적으로 준비하고 활용할 수 있습니다.

광범위한 오픈소스 AI 생태계 기여

이 통합은 Databricks가 Hugging Face 코드베이스에 계획하고 있는 여러 기여 중 첫 번째이며, 향후 Spark를 통한 스트리밍 지원을 추가해 데이터셋 로딩을 더욱 가속화할 예정입니다.

Hugging Face 통합 외에도 Databricks는 여러 AI 중심 오픈소스 개선을 구현했습니다:

  • MLflow: transformers 라이브러리, OpenAI 통합 및 Langchain 지원을 추가했습니다.
  • Databricks SQL: OpenAI 및 기타 배포된 모델을 SQL 쿼리에 통합하기 위한 AI Functions를 도입했습니다.
  • PyTorch Distributor: Spark용 PyTorch 배포자를 출시하여 Databricks 플랫폼에서 분산 PyTorch 학습을 간소화했습니다.

Sources