카테고리 없음

LLM을 훈련하고 활용하기 위해 알아야할 핵심 라이브러리

aimler 2025. 4. 10. 15:13
  • ⭐PyTorch / TensorFlow
    ◦ 용도: 모델 훈련, 미분 계산, 텐서 연산
    ◦ [PyTorch]
        • 직관적이고 디버깅이 쉬워 LLM 연구와 실험에 널리 사용됨
        •  Hugging Face와의 연동도 뛰어남
    ◦ [TensorFlow]
        •   구글 생태계(GCP, TFX 등)와 잘 통합되며, 대규모 배포에 적합
        •   최근에는 PyTorch보다 덜 사용됨

 

  • Hugging Face ⭐Transformers
    ◦  용도: 사전학습된 LLM 모델 불러오기, fine-tuning, inference
        •  사전학습된 모델 (GPT, BERT, T5, LLaMA 등)을 쉽게 사용할 수 있게 해주는 라이브러리
        •  학습/추론에 필요한 tokenizer, 모델 구조, config 등을 자동으로 관리
        •  텍스트 생성, 분류, QA, 요약 등 다양한 작업에 최적화된 pipeline 제공
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")

inputs = tokenizer("Hello, my name is", return_tensors="pt")
outputs = model.generate(**inputs)
print(tokenizer.decode(outputs[0]))

 

  • Datasets (Hugging Face Datasets)
    용도: 대규모 데이터셋 로딩, 전처리, 분할
        •   데이터셋을 빠르고 효율적으로 불러오고 사용할 수 있도록 지원
        •   대용량 파일도 메모리에 무리 없이 스트리밍 처리 가능
      Hugging Face Hub에서 바로 불러올 수 있음
from datasets import load_dataset

dataset = load_dataset("wikitext", "wikitext-2-raw-v1")
print(dataset["train"][0])

 

  • Accelerate / DeepSpeed / bitsandbytes
    ◦ 용도: 대규모 모델 훈련 시 하드웨어 최적화, 메모리 절약
        •    Accelerate: 다양한 하드웨어(CPU, GPU, TPU)에 맞게 모델 학습 코드 자동 조정
        •    DeepSpeed: 마이크로소프트에서 만든 초대형 모델 훈련 최적화 툴
        •    bitsandbytes: 8bit/4bit 양자화 학습 및 추론 지원 → 적은 메모리로 대형 모델 사용 가능

  • PEFT (Parameter-Efficient Fine-Tuning)
    ◦  용도: LLM을 빠르고 저렴하게 파인튜닝 (LoRA, Prefix Tuning 등)
        •    기존 LLM 전체가 아닌 일부 파라미터만 훈련해서 훨씬 적은 자원으로 fine-tuning 가능
        •    대표 기법: LoRA (Low-Rank Adaptation)
from peft import LoraConfig, get_peft_model

 

  • ⭐Tokenizers
    ◦  용도: LLM에 입력될 텍스트를 토큰 단위로 인코딩
        •    Hugging Face의 tokenizers는 빠르고 확장성 높은 토크나이저
        •    Byte-Pair Encoding (BPE), WordPiece, SentencePiece 등 다양한 방식 지원

  • ⭐LangChain / ⭐LlamaIndex
    ◦  용도: LLM 응용 프로그램 구축 (질의 응답, RAG, 에이전트 등)
        •    LangChain: 다양한 LLM, 데이터 소스, 도구를 연결해 에이전트처럼 동작하게 함
        •    LlamaIndex: 사용자 문서를 LLM에 연결해 QA 시스템 구축에 유용 (RAG)

  • WandB / TensorBoard
    ◦  용도: 모델 학습 과정 모니터링, 로그 기록, 하이퍼파라미터 튜닝
        •    실험 추적 및 시각화를 위한 필수 툴
        •    학습 정확도, 손실값, GPU 메모리 사용량 등 확인 가능

  • 부가적으로 알아두면 좋은 라이브러리
라이브러리 기능
scikit-learn 전통적인 ML 도구, 평가 지표 등
OpenLLM LLM 모델 배포에 특화된 프레임워크
fastapi API 서버를 빠르게 만들어 추론 시스템화
pandasnumpy 데이터 전처리 및 분석
torchtext 텍스트 데이터셋 처리 도구

 

  • 꼭 알아야 할 핵심 세트
범주 라이브러리
모델/훈련 PyTorchtransformers
데이터 datasetstokenizers
최적화 acceleratedeepspeedbitsandbytespeft
응용 LangChainLlamaIndex
실험 관리 wandbtensorboard