AI/DeepLearning

허깅페이스(Hugging Face)란?!

yunajoe 2023. 1. 7. 16:15

허깅 페이스란 자연어 처리 스타트업이 개발한 다양한 트랜스포머 모델(transformer.models)과 학습 스크립트(transformer.Trainer)를 제공하는 모듈

 

  • 허깅 페이스를 사용한다면, 트랜스포머 모델 사용시 layer, model 등을 선언하거나 학습 스크립트를 구현해야하는 수고를 덜 수 있습니다.

Hugging Face는 다음을 제공하는 커뮤니티 및 Data Science 플랫폼입니다.

  • 사용자가 오픈 소스(OS) 코드 및 기술을 기반으로 ML 모델을 구축, 교육 및 배포할 수 있는 도구
  • 광범위한 Data Scientist, Researcher 및 ML 엔지니어 커뮤니티가 함께 모여 아이디어를 공유하고, 지원을 받고, 오픈 소스 프로젝트에 기여할 수 있는 곳입니다.

---------------------------------------------------------------------------------------------------------------------------------

transformers.models

  • 트랜스포머 기반의 다양한 모델을 pytorch, tensorflow 로 각각 구현해놓은 모듈입니다.
  • 각 모델에 맞는 tokenizer 도 구현되어 있습니다.

 

transformers.Trainer

  • 딥러닝 학습 및 평가에 필요한 optimizer, weight updt, learning rate schedul, ckpt, tensorbord, evaluation 등을 수행하는 모듈입니다.
  • Trainer.train 함수를 호출하면, 이 모든 과정이, 사용자가 원하는 arguments에 맞게 실행됩니다.
  • pytorch lightning 과 비슷하게, 공통적으로 사용되는 학습 스크립트를 모듈화 하여 편하게 사용할 수 있다는 점이 장점입니다.

 

  • 기존 pytorch 학습 스크립트에서 반복되는 부분(optimizer, lr schedul, tensorbord, gpu 병렬 처리,..)을 따로 구현하지 않고, arguments 로 편하게 통제할 수 있습니다.
  • 다양한 트랜스포머 기반 모델 구현체들을, 손쉽게 당겨 쓸 수 있습니다.
  • high level로 모듈화 되어 있기 때문에, 커스터마이징이 비교적 어렵습니다.
  • 커스터마이징은 소스코드를 참고하여 원하는 class를 상속 받아 overiding 하면 됩니다.

 

출처: 

https://wooono.tistory.com/413