IT

Hugging Face의 transformers

esmile1 2024. 11. 10. 23:23

 

Hugging Face의 transformers 라이브러리에 대한 검색자료를 요약정리 하였습니다.

 

Hugging Face의 transformers 라이브러리는 자연어 처리(NLP) 모델을 쉽게 다룰 수 있도록 도와주는 강력한 도구입니다. 이 글에서는 Mac Mini에서 transformers를 설치하고 활용하는 방법을 30단계로 나누어 쉽게 따라할 수 있는 DIY 가이드를 제공합니다.

 

1–10단계: 환경 설정 및 설치

 

  1. Python 설치: Python 3.8 이상이 설치되어 있는지 확인하세요. python3 --version을 실행해 확인하고, 설치되지 않았다면 Homebrew로 brew install python 명령어를 사용하세요.
  2. Homebrew 설치: 설치가 필요하다면 /bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)" 명령어를 사용하세요.
  3. Git 설치: git --version으로 Git 설치 여부를 확인하고, 설치가 필요하면 brew install git을 실행하세요.
  4. 가상 환경 설정: python3 -m venv env로 가상 환경을 만들고 source env/bin/activate로 활성화하세요.
  5. pip 업그레이드: 최신 버전의 pip을 위해 pip install --upgrade pip을 실행하세요.
  6. transformers 라이브러리 설치: pip install transformers 명령어를 사용해 Hugging Face 라이브러리를 설치하세요.
  7. PyTorch 설치: Mac Mini의 칩셋에 맞게 pip install torch로 PyTorch를 설치하거나 PyTorch 웹사이트의 지침을 따르세요.
  8. 옵션: GPU 지원: M1/M2 칩셋을 사용하는 경우 Metal Performance Shaders를 탐색해보세요.
  9. datasets 라이브러리 설치: pip install datasets로 데이터셋을 쉽게 로드할 수 있도록 합니다.
  10. 설치 확인: python -c "import transformers; print(transformers.__version__)"을 실행해 모든 설치가 완료되었는지 확인하세요.

 

11–20단계: 기본 사용법과 모델 로딩

 

11. 필수 라이브러리 불러오기: python from transformers import pipeline, AutoModelForSequenceClassification, AutoTokenizer

 

12. 사전 학습된 모델 로드: python classifier = pipeline("sentiment-analysis")

13. 간단한 추론 실행: python result = classifier("Hugging Face is amazing!") print(result)

14. 커스텀 모델 로드: python model_name = "bert-base-uncased" model = AutoModelForSequenceClassification.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name)

15. 입력 텍스트 토크나이즈: python inputs = tokenizer("Hugging Face transforms the AI landscape!", return_tensors="pt")

16. 모델 추론 실행: python outputs = model(**inputs) print(outputs.logits)

17. 특정 작업 파이프라인 사용: python summarizer = pipeline("summarization") summary = summarizer("Long text here...", max_length=130, min_length=30, do_sample=False) print(summary)

18. 추론 설정 커스터마이즈: 효율성을 위해 batch_size, top_k 등의 파이프라인 설정을 조정하세요. 19. 데이터셋 다루기: python from datasets import load_dataset dataset = load_dataset("imdb")

20. 훈련용 데이터 처리: python train_texts = dataset['train']['text'] train_labels = dataset['train']['label']

 

21–30단계: 고급 모델 커스터마이징과 사용법

 

21. 사전 학습된 모델 미세 조정: Hugging Face의 Trainer API를 사용해 맞춤 훈련을 진행하세요. python from transformers import Trainer, TrainingArguments training_args = TrainingArguments("test_trainer")

22. 데이터 보정기 설정: python from transformers import DataCollatorWithPadding data_collator = DataCollatorWithPadding(tokenizer=tokenizer)

 

23. 훈련 데이터 준비:

 

def tokenize_function(examples): return tokenizer(examples["text"], padding="max_length", truncation=True)

tokenized_datasets = dataset.map(tokenize_function, batched=True)

 

  1. 모델 구성 정의:
  2. from transformers import AutoConfig config = AutoConfig.from_pretrained(model_name, num_labels=2)
  3. Trainer 초기화:
  4. trainer = Trainer( model=model, args=training_args, train_dataset=tokenized_datasets['train'], eval_dataset=tokenized_datasets['test'], tokenizer=tokenizer, data_collator=data_collator )
  5. 모델 훈련:
  6. trainer.train()
  7. 모델 평가:
  8. eval_results = trainer.evaluate() print(f"Evaluation results: {eval_results}")
  9. 모델 저장:
  10. model.save_pretrained("my_fine_tuned_model") tokenizer.save_pretrained("my_fine_tuned_model")
  11. 커스텀 모델 로드 및 추론:
  12. custom_model = AutoModelForSequenceClassification.from_pretrained("my_fine_tuned_model") custom_pipeline = pipeline("sentiment-analysis", model=custom_model, tokenizer=tokenizer)
  13. 실제 데이터로 테스트:
  14. test_result = custom_pipeline("This is a great test!") print(test_result)

 

마무리

 

이 가이드를 통해 Mac Mini에서 Hugging Face의 transformers 라이브러리를 설치하고 다양한 NLP 모델을 효과적으로 활용할 수 있는 방법을 배울 수 있습니다. 이를 바탕으로 자연어 처리 프로젝트를 성공적으로 수행해 보세요!