Home
Login

고성능 대규모 언어 모델 도구 상자, 20개 이상의 모델 사전 훈련, 미세 조정 및 배포 지원

Apache-2.0Python 12.3kLightning-AI Last Updated: 2025-06-18

LitGPT - 고성능 대규모 언어 모델 툴킷

프로젝트 개요

LitGPT는 Lightning AI에서 개발한 오픈 소스 대규모 언어 모델 툴킷으로, 20개 이상의 고성능 대규모 언어 모델의 사전 훈련, 미세 조정 및 규모화된 배포 솔루션을 제공합니다. 이 프로젝트는 Lightning Fabric을 기반으로 구축되었으며, Lit-LLaMA 및 nanoGPT를 확장하여 기업 수준의 LLM 훈련 및 배포 기능을 제공하는 데 중점을 둡니다.

핵심 특징

✅ 기업 수준 기능

  • Apache 2.0 라이선스 - 무제한 기업 수준 사용 지원
  • 개발자 친화적 - 추상화 계층이 없는 단일 파일 구현으로 디버깅 용이
  • 성능 최적화 - 최대 성능, 비용 절감 및 훈련 가속화를 위해 설계
  • 검증된 레시피 - 기업 규모에서 테스트된 고도로 최적화된 훈련/미세 조정 레시피

✅ 첨단 기술 기능

  • 제로(Zero)에서 구현 - 모든 모델은 처음부터 작성되었으며, 추상화 계층 없이 완전한 제어 가능
  • Flash Attention v2 - 최신 주의 메커니즘 최적화
  • 다중 GPU 지원 - 완전 분할 데이터 병렬 처리(FSDP)를 통해 구현
  • 메모리 최적화 - 선택적 CPU 오프로딩 및 TPU/XLA 지원
  • 양자화 기술 - 4비트 부동 소수점, 8비트 정수 및 이중 양자화 지원
  • 파라미터 효율적 미세 조정 - LoRA, QLoRA, Adapter 및 Adapter v2 지원

지원 모델

LitGPT는 20개 이상의 주요 대규모 언어 모델을 지원하며, 다음을 포함합니다.

주요 모델 시리즈

  • Llama 시리즈 - Llama 3, 3.1, 3.2, 3.3 (1B-405B 파라미터)
  • CodeGemma - 코드 생성을 위한 7B 모델
  • Gemma 시리즈 - Google의 오픈 소스 모델
  • Mistral 시리즈 - Mistral 7B 및 Mixtral 등 포함
  • Phi 시리즈 - Microsoft의 소형 고효율 모델
  • Qwen 시리즈 - 알리바바의 다국어 모델
  • DeepSeek R1 - 최신 추론 모델

특징 모델

  • Falcon 시리즈 - TII에서 개발한 고성능 모델
  • StableLM - Stability AI의 안정적인 언어 모델
  • TinyLlama - 경량 Llama 변형
  • SmolLM - Hugging Face의 소형 모델

핵심 기능

1. 빠른 시작

from litgpt import LLM
llm = LLM.load("microsoft/phi-2")
text = llm.generate("Fix the spelling: Every fall, the family goes to the mountains.")
print(text)

2. 모델 미세 조정

다양한 미세 조정 방식 지원:

  • 전체 미세 조정 - 모든 파라미터 훈련
  • LoRA 미세 조정 - 저랭크 적응 미세 조정
  • QLoRA - 양자화 LoRA 미세 조정
  • Adapter 미세 조정 - 어댑터 레이어 미세 조정

예시 명령:

litgpt finetune microsoft/phi-2 \
  --data JSON \
  --data.json_path my_custom_dataset.json \
  --data.val_split_fraction 0.1 \
  --out_dir out/custom-model

3. 모델 사전 훈련

처음부터 훈련 및 계속 사전 훈련 지원:

litgpt pretrain EleutherAI/pythia-160m \
  --tokenizer_dir EleutherAI/pythia-160m \
  --data TextFiles \
  --data.train_data_path "custom_texts/" \
  --train.max_tokens 10_000_000 \
  --out_dir out/custom-model

4. 모델 배포

원클릭으로 웹 서비스로 배포 지원:

# 사전 훈련된 모델 배포
litgpt serve microsoft/phi-2

# 사용자 정의 모델 배포
litgpt serve out/custom-model/final

5. 모델 평가

다양한 평가 기준 지원:

litgpt evaluate microsoft/phi-2 --tasks 'truthfulqa_mc2,mmlu'

6. 대화형 채팅

litgpt chat microsoft/phi-2

기술적 장점

성능 최적화

  • 최적화된 추론 속도 - 빠른 추론을 위해 특별히 최적화
  • 양자화 지원 - 메모리 사용량 감소
  • 저메모리 GPU 실행 - 리소스 제한 환경 지원
  • 생산 수준 확장 - 1-1000+ GPU/TPU 지원

메모리 및 계산 최적화

  • 혼합 정밀도 훈련 - FP16, BF16, FP32 혼합 지원
  • 그래디언트 체크포인트 - 메모리 사용량 감소
  • CPU 오프로딩 - 초대형 모델 처리
  • 분산 훈련 - 다중 노드 다중 GPU 지원

구성 가능한 훈련

LitGPT는 다양한 훈련 시나리오를 다루는 검증된 YAML 구성 파일을 제공합니다.

litgpt finetune \
  --config https://raw.githubusercontent.com/Lightning-AI/litgpt/main/config_hub/finetune/llama-2-7b/lora.yaml

활용 시나리오

연구 및 개발

  • 모델 연구 - 가독성이 좋고 수정하기 쉬운 코드 제공
  • 알고리즘 실험 - 최신 연구 아이디어의 빠른 구현 지원
  • 벤치마크 테스트 - 표준화된 모델 평가 프로세스

기업 응용

  • 맞춤형 모델 - 특정 비즈니스 시나리오에 대한 모델 미세 조정
  • 생산 배포 - 기업 수준의 모델 서비스 배포
  • 비용 최적화 - 양자화 및 최적화를 통한 계산 비용 절감

교육 및 학습

  • 초보자 친화적 - 명확한 코드 구조 및 자세한 문서
  • 실습 교육 - 훈련에서 배포까지의 전체 프로세스
  • 연구 훈련 - 연구자에게 신뢰할 수 있는 기본 도구 제공

커뮤니티 생태계

유명 프로젝트 지원

  • SAMBA 프로젝트 - Microsoft에서 LitGPT를 기반으로 개발한 혼합 상태 공간 모델
  • TinyLlama - LitGPT를 사용하여 훈련된 300M 파라미터 소형 모델
  • NeurIPS 2023 챌린지 - 공식 지정 LLM 효율성 챌린지 툴킷

활발한 오픈 소스 커뮤니티

  • 지속적인 업데이트 - 정기적으로 새로운 모델 및 기능 추가
  • 커뮤니티 기여 - 모든 수준의 개발자 참여 환영
  • 자세한 문서 - 완벽한 튜토리얼 및 API 문서

설치 및 사용

기본 설치

pip install 'litgpt[all]'

소스 코드에서 설치

git clone https://github.com/Lightning-AI/litgpt
cd litgpt
pip install -e '.[all]'

기본 사용 흐름

  1. 모델 선택 - 20개 이상의 지원 모델 중에서 선택
  2. 데이터 준비 - 내장 데이터 세트 또는 사용자 정의 데이터 사용
  3. 훈련 구성 - 사전 설정 구성 또는 사용자 정의 파라미터 사용
  4. 훈련 실행 - 모델 사전 훈련 또는 미세 조정
  5. 모델 배포 - 생산 서비스로 배포
  6. 모델 평가 - 표준 벤치마크 테스트 사용

기술 문서

LitGPT는 다음을 포함한 완전한 기술 문서를 제공합니다.

  • 빠른 시작 가이드 - 0에서 LitGPT까지의 전체 튜토리얼
  • 미세 조정 튜토리얼 - LoRA, QLoRA 및 Adapter에 대한 자세한 설명 포함
  • 사전 훈련 가이드 - 처음부터 모델을 훈련하는 전체 프로세스
  • 배포 문서 - 생산 환경 배포를 위한 모범 사례
  • 성능 최적화 - OOM 오류 처리 및 메모리 최적화 팁
  • 클라우드 배포 - TPU 및 클라우드 플랫폼 사용 가이드

요약

LitGPT는 연구에서 생산에 이르기까지 다양한 응용 시나리오에 적합한 포괄적이고 성능이 뛰어난 대규모 언어 모델 툴킷입니다. 제로(Zero)에서 구현하고 추상화 계층이 없는 설계 철학으로 사용자에게 최대한의 유연성과 제어력을 제공하는 동시에 풍부한 최적화 기술과 구성 옵션을 통해 다양한 하드웨어 조건에서 효율적인 작동을 보장합니다. AI 연구원, 기업 개발자 또는 학습자 모두 LitGPT에서 자신의 요구 사항에 맞는 솔루션을 찾을 수 있습니다.