카테고리 없음
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 서버를 빠르게 만들어 추론 시스템화 |
pandas, numpy | 데이터 전처리 및 분석 |
torchtext | 텍스트 데이터셋 처리 도구 |
- 꼭 알아야 할 핵심 세트
범주 | 라이브러리 |
모델/훈련 | PyTorch, transformers |
데이터 | datasets, tokenizers |
최적화 | accelerate, deepspeed, bitsandbytes, peft |
응용 | LangChain, LlamaIndex |
실험 관리 | wandb, tensorboard |