인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

자연어처리/LLM을 위한 코딩 7

[LLM] 모델 학습 with HuggingFace (DeepSpeed) (7)

1. DeepSpeed 란?DeepSpeed는 분산 학습 메모리를 효율적이고 빠르게 만드는 PyTorch 최적화 라이브러리 내용 출처: DeepSpeed DeepSpeedDeepSpeed는 분산 학습 메모리를 효율적이고 빠르게 만드는 PyTorch 최적화 라이브러리입니다. 그 핵심은 대규모 모델을 규모에 맞게 훈련할 수 있는 Zero Redundancy Optimizer(ZeRO)입니다. ZeRO는 여러 단계huggingface.co 설치pip install deepspeed 2. 개념2.1. ZeRO(Zero Redundancy Optimizer)ZeRO (Zero Redundancy Optimizer) 방법을 사용함ZeRO-1, GPU 간 최적화 상태 분할ZeRO-2, GPU 간 그레이디언트 분할Ze..

[LLM] 모델 학습 with HuggingFace (Accelerate) (6)

1. 개념멀티 GPU/TPU 환경 등에서 파이토치(PyTorch) 기반 훈련 스크립트를 간편하게 확장할 수 있도록 도와주는 경량 라이브러리전통적으로 PyTorch 분산 학습(DDP)나 TPU/XLA를 직접 설정하려면, torch.distributed API나 TPU용 코드를 별도로 작성사용자 정의 훈련 루프를 최대한 그대로 두면서 분산 학습 설정과 관련된 복잡도를 줄여주는 것이 핵심다양한 하드웨어 가속 환경을 지원 출처: Accelerate 링크 AccelerateConcepts and fundamentalshuggingface.co 설치 방법pip install accelerate 2. 실행 방법2.1. accelerate config (설정 세팅)사용 목적: 사용자의 환경(로컬 머신/멀티 GPU/TP..

[LLM] 모델 학습 with Hugging Face (Trainer, trl) (5)

1. 개요이번 포스팅에서는HuggingFace에서 제공하는프레임워크에 대해 소개하겠다.라이브러리역할주요 기능Transformers모델, 토크나이저AutoModel, AutoTokenizer 등Trainer지도학습 (SFT)Trainer, TrainingArgumentsTRL강화학습 (RLHF)PPOTrainer, SFTTrainerDeepSpeedGPU 메모리 최적화ZeRO Stage, Hugging Face Trainer와 연동Accelerate분산 학습 최적화여러 GPU/TPU 환경에서 Trainer 가속화PEFT (Parameter Efficient Fine-Tuning)파라미터 효율적 파인튜닝 기법 지원LoraConfig, get_peft_modelEvaluate모델 평가load_metric("b..

[LLM] 데이터 준비하기 with datasets (4)

1. LLM 학습을 위한 데이터 형식모델에 따라 필요한 데이터의 형식은 달라질 수 있으나,일반적인 모델은 텍스트만 있으면 된다. (특이 케이스 형태의 데이터는 다음에 업데이트 하겠다.) 그리고 아래와 같은 태그를 붙여준다. (안붙여줘도 학습은 된다고 한다.) : 문장의 시작 : 문장의 끝 예를 들면 다음과 같다.data = [ {"text": " 인공지능은 사람의 언어를 학습할 수 있습니다. "}, {"text": " 사용자: 오늘 날씨 어때? "}] 만약 데이터를 직접 만들고 싶으면위와 같이 만들면 되겠다. 2. datasets를 이용해 데이터 불러오기datasets 는 huggingface에서 관리하는 데이터 셋을 불러오기 위한 라이브러리이다. 설치 명령어는 아래와 같다.pip instal..

LLM 모델 불러오기 실행하기 (Huggingface Transformers) (3)

1.  모델 선택먼저 HuggingFace에서 Models에 들어가사용하고 싶은 모델을 선택한다. 모델을 선택 했으면, Use this model을 클릭하고transformers를 클릭해 준다. 그러면 모델을 불러올 수 있는 코드를 두가지 확인할 수 있다. 2. 모델 직접적으로 불러오는 방법이 방법은 모델을 직접 불러오는 것이다. 불러오는 방법은 다음과 같다.실행을 위해 코드를 복사한다. (모델 이름, import 라이브러리 확인)모델을 gpu로 옮겨준다.토크나이저도 불러온다.import torchfrom transformers import AutoModelForCausalLM, AutoTokenizer# 디바이스 설정 (GPU가 사용 가능하면 GPU, 아니면 CPU)device = torch.devic..

Pytorch Transformers 설치 (2)

이 글은 2025.01.28 기준이다. 1. 파이썬 환경 구성먼저 pyenv를 이용해 적절한 python을 설치해 준다.pyenv install 3.12.4 설치된 파이썬 확인pyenv versions 파이썬 가상환경을 만들어 준다.pyenv virtualenv 3.12.4 my_env 가상환경 확인pyenv virtualenvs 가상환경 실행activate my_env 2. Pytorch 설치Pytorch 버전은 2.5.1 이 최신이다. MPS (Apple Silicon) 지원 설치 (Mac M1/M2) 또는 CPU 전용 설치pip install torch torchvision torchaudio Cuda를 사용하는 경우예시: CUDA 11.8pip install torch torchvision tor..

LLM을 위한 Pytorch와 HuggingFace 개요 (1)

0. 개요LLM을 위한 Pytorch에서는Pytorch 기본 사용방법을 이미 알고 있으며,딥러닝에 대한 기본지식이 있는 사람들을 대상으로LLM을 다루기 위해 Pytorch를 어떻게 사용해야 하는지를 정리할 것이다. 또한, 기본적으로 HuggingFace의 Transformers를 사용할 수 있어야 하기 때문에함께 사용법을 알아가도록 하자. 1. Pytorch와 LLMLLM을 다루기 위한 강력한 도구이다.Pytorch로 다양한 작업을 수행할 수 있다.모델 설계학습 - 사전 학습(Pre-training), 분산 학습최적화 (Optimizer)디버깅 및 배포모델 미세 조정(Fine-Tunning)사후 작업 (Post-Training) - 양자화(Quantization), 프루닝(Pruning), Distill..

반응형