Table of Contents

DeepLearning

Hugging Face - Models 알아보자

꼬꼬마코더 2024. 10. 30. 20:42
728x90

1. Tasks

왼쪽 메뉴

  1. Tasks (태스크): 모델이 수행할 수 있는 작업 종류를 나열합니다. 여기에는 Multimodal (예: Image-Text-to-Text, Video-Text-to-Text), Computer Vision (예: Image Classification, Object Detection, Text-to-Image), Natural Language Processing (NLP) (예: Text Classification, Question Answering, Summarization) 등의 카테고리가 포함되어 있습니다. 사용자는 수행하고자 하는 태스크에 따라 원하는 모델을 쉽게 찾을 수 있습니다.
  2. Filter Tasks by name: 특정 태스크 이름을 입력하여 관련된 모델을 필터링할 수 있는 검색창입니다.
  3. 기타 필터들:
    • Libraries: 모델이 어떤 라이브러리(예: PyTorch, TensorFlow, JAX)를 사용하는지 필터링합니다.
    • Datasets: 특정 데이터셋에 기반한 모델을 찾을 수 있습니다.
    • Languages: 지원하는 언어별로 모델을 필터링할 수 있습니다.
    • Licenses: 라이선스 유형별로 모델을 필터링할 수 있습니다.
    • Other: 그 외 다양한 기준으로 모델을 필터링할 수 있습니다.

오른쪽 모델 목록

  • Model Details: 오른쪽에는 선택된 필터에 맞는 모델들이 나열되어 있으며, 모델 이름, 태스크, 최근 업데이트 일자, 다운로드 수, 좋아요 수 등의 정보가 포함되어 있습니다. 예를 들어, microsoft/OmniParser는 "Image-Text-to-Text" 태스크를 수행하는 모델로 약 2.3천 다운로드, 705개의 좋아요를 받은 상태입니다.
  • 정렬 옵션: 상단의 Sort 기능을 통해 최신, 인기 등 다양한 기준으로 모델을 정렬할 수 있습니다.

활용 방법

  • 필터와 검색 기능을 통해 특정 작업에 적합한 모델을 신속하게 찾을 수 있습니다.
  • 모델의 다운로드 수나 좋아요 수를 통해 인기 있는 모델을 참고할 수 있으며, 각 모델의 최신 업데이트 정보를 통해 활성화된 모델인지를 확인할 수 있습니다.

2. Libraries

**라이브러리(Libraries)**는 Hugging Face 플랫폼에서 모델을 빌드하고 활용할 때 사용하는 다양한 도구 및 프레임워크입니다. 각 라이브러리는 모델을 학습하거나 배포하는 데 유용한 기능을 제공합니다. 이 라이브러리 필터를 사용하면, 특정 라이브러리를 기반으로 하는 모델들을 쉽게 찾아볼 수 있습니다.

주요 라이브러리 설명

  1. PyTorch: 가장 널리 사용되는 딥러닝 프레임워크 중 하나로, 대부분의 NLP와 컴퓨터 비전 모델들이 PyTorch 기반으로 개발됩니다.
  2. TensorFlow: 구글이 개발한 딥러닝 프레임워크로, 주로 대규모 배포 및 프로덕션 환경에서 많이 사용됩니다.
  3. JAX: 구글에서 개발한 고성능 계산 라이브러리로, 자동 미분과 GPU 가속을 지원합니다. 최근 연구 및 고속 계산에 적합합니다.
  4. Transformers: Hugging Face에서 제공하는 대표 라이브러리로, BERT, GPT 등 다양한 트랜스포머 기반 모델을 쉽게 사용할 수 있도록 지원합니다.
  5. Safetensors: 모델의 가중치를 안전하게 저장하고 로드하는 라이브러리로, 보안과 효율성을 강화한 저장 형식입니다.
  6. Diffusers: 주로 이미지 생성 및 확산 모델에 사용되는 라이브러리로, Stable Diffusion 같은 모델들이 포함되어 있습니다.
  7. ONNX: 다양한 프레임워크 간 모델 호환성을 위한 포맷으로, PyTorch, TensorFlow, Keras 등 다양한 프레임워크에서 모델을 변환하여 사용할 수 있습니다.
  8. sentence-transformers: 문장 임베딩 생성을 위한 라이브러리로, 문장 간 유사도 계산 및 검색에 유용합니다.
  9. Scikit-learn: 전통적인 머신러닝 모델과 데이터 전처리 기능을 제공하는 파이썬 라이브러리입니다.

활용 방법

개발자는 자신의 프로젝트에 필요한 라이브러리를 기반으로 모델을 필터링하고, 해당 라이브러리에 맞는 모델을 선택해 사용할 수 있습니다. 예를 들어, PyTorch 기반 모델이 필요하면 PyTorch를 선택하여 해당 모델들만 검색할 수 있습니다.

 

3. Libraries

왼쪽에 보이는 데이터셋(Datasets) 탭은 Hugging Face의 데이터셋 허브에서 제공하는 다양한 데이터셋 목록을 보여줍니다. 이 데이터셋들은 NLP, 컴퓨터 비전, 오디오 처리 등 다양한 머신러닝 분야에서 학습 및 평가에 사용될 수 있습니다.

데이터셋 설명

  • 목록에 표시된 데이터셋: 예를 들어, mozilla-foundation/common_voice_7_0와 같은 데이터셋은 음성 데이터셋으로, 음성 인식 모델을 학습시키는 데 유용합니다. HuggingFaceH4/ultrafeedback_binarized는 텍스트 기반 피드백 데이터를 포함하고 있어 감정 분석이나 피드백 분석 작업에 활용될 수 있습니다.
  • 데이터셋의 다양한 주제: 데이터셋 이름만으로도 그 용도를 파악할 수 있으며, 여기에는 대화 데이터(HuggingFaceH4/ultrachat_200k), 수학 문제(microsoft/orca-math-word-problems-200k), 위키피디아 데이터(legacy-datasets/wikipedia) 등이 포함되어 있습니다.

주요 기능

  • 검색 및 필터링: 특정 데이터셋을 찾기 위해 상단의 Filter Datasets by name 입력창을 사용해 데이터셋 이름을 검색할 수 있습니다.
  • 데이터셋 미리보기 및 다운로드: 원하는 데이터셋을 클릭하면 데이터 구조, 샘플, 사용 조건 등을 확인할 수 있고, 코드 예제를 통해 다운로드하여 사용할 수 있습니다.
  • 다양한 유형의 데이터셋: NLP와 음성 인식뿐 아니라, 컴퓨터 비전, 강화 학습 등 다양한 머신러닝 분야에서 활용할 수 있는 데이터셋이 포함되어 있습니다.

활용 예시

개발자는 여기에서 필요한 데이터셋을 검색하고, 이를 모델 학습이나 평가에 직접 사용할 수 있습니다. 예를 들어, 음성 인식 모델을 훈련하고 싶다면 common_voice 데이터셋을 사용할 수 있고, 텍스트 기반 언어 모델을 훈련할 때는 wikipedia 또는 OpenOrca 같은 텍스트 데이터셋을 활용할 수 있습니다.

이러한 데이터셋들은 기본적인 전처리와 형식이 통일되어 있어 Hugging Face의 Datasets 라이브러리를 통해 쉽게 로드하고 관리할 수 있습니다.

 

4. Other

이 화면은 Hugging Face의 모델 필터 옵션 중 Other 탭을 보여주고 있습니다. 이 탭에서는 모델의 추가적인 속성이나 상태에 따라 필터링할 수 있는 다양한 옵션이 제공됩니다. 각 옵션은 모델의 기능, 호환성, 그리고 학습 및 추론 환경과 관련이 있습니다.

주요 필터 옵션

  1. Inference Status:
    • Warm, Cold, Frozen: 모델의 추론 상태를 나타냅니다. Warm은 사용 빈도가 높은 상태로, 빠르게 접근할 수 있는 모델을 의미하고, Cold는 상대적으로 적게 사용되어 느리게 접근될 수 있습니다. Frozen은 거의 사용되지 않는 상태로, 아카이브 상태와 비슷합니다.
  2. Misc (기타):
    • Inference Endpoints: API를 통해 모델을 추론에 사용할 수 있는 모델들로, 서버를 통해 손쉽게 배포 및 추론할 수 있습니다.
    • AutoTrain Compatible: Hugging Face의 AutoTrain과 호환되는 모델로, 별도의 코딩 없이 모델을 자동으로 훈련시킬 수 있는 기능입니다.
    • text-generation-inferencetext-embeddings-inference: 텍스트 생성 또는 임베딩 생성 작업을 위한 모델들로, 각각의 목적에 맞게 최적화되어 있습니다.
    • Eval Results: 모델의 평가 결과가 공개된 경우를 표시하며, 모델의 성능을 평가할 때 유용한 정보입니다.
    • 4-bit precision 및 8-bit precision: 메모리 절약과 계산 속도 향상을 위해 4비트 또는 8비트 정밀도로 양자화된 모델입니다.
    • Merge 및 custom_code: Merge는 여러 모델을 병합한 경우, custom_code는 모델에 커스텀 코드가 포함된 경우를 나타냅니다.
    • Carbon Emissions: 해당 모델의 탄소 배출량에 대한 정보가 제공되는 모델들로, 환경 영향을 고려하는 데 유용합니다.
    • Mixture of Experts: 특정 전문가 모듈을 결합하여 만든 모델로, 각 모듈이 다른 영역을 담당하여 성능을 극대화합니다.

이 탭을 사용하면, 모델의 추가적인 기능이나 호환성을 기준으로 필터링하여 보다 효율적으로 원하는 모델을 찾을 수 있습니다. 예를 들어, 메모리가 제한된 환경에서 4-bit precision 모델을 선택하거나, API 배포가 가능한 Inference Endpoints 모델을 선택할 수 있습니다.