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

HuggingFace 7

[LLM] TRL - 소개, TrainingArguments (3-1)

1. 개요TRL은 Huggingface에서 제공하는학습 도구이다. 세가지 단계에 걸쳐 학습을 진행한다.학습 설정 (TrainingArguments)Trainer 설정학습 실행 지금 LLM 파인튜닝 실무에서 필요한 거의 모든 알고리즘이 TRL에 포함되어 있다고 보면 된다. (출처: TRL 홈페이지)학습 방식목적필요 데이터난이도주요 사용처SFT기본 성능 + 말투 튜닝입력/출력 쌍매우 쉬움모든 파인튜닝의 기본DPOReward 없이 alignmentchosen vs rejected쉬움말투/안전성/품질 개선ORPODPO보다 단순한 RLHF 대체preference매우 쉬움빠른 alignmentPPO전통적 RLHFreward model + environment어려움고급 RLHFGRPO최신 강화형 preference ..

[LLM 학습도구] Transformers (2)

Transforers 버전 : 4.57.1 1. Transformers란 무엇인가?Hugging Face의 Transformers 라이브러리는 현대 자연어 처리와 생성형 AI 모델을 개발하고 활용하는 데 필요한 표준 툴킷DeepSeek, Mistral, BERT 같은 대규모 언어모델을 쉽고 빠르게 불러오고, 추론하고, 파인튜닝할 수 있도록 통합된 인터페이스를 제공 Transformers의 핵심 가치는 아래 네 가지로 요약할 수 있다.수천 개의 사전학습 모델 제공Hugging Face Hub에 업로드된 모든 모델을 from_pretrained() 한 줄로 불러올 수 있다.통일된 Tokenizer & Model API모델 종류가 달라도 공통된 규칙으로 토크나이즈하고 추론할 수 있다.파인튜닝을 위한 Train..

[LLM] 모델 학습 with HuggingFace (peft) (8)

1. peft(🤗 Parameter-Efficient Fine-Tuning)란?peft(Parameter-Efficient Fine-Tuning)는 Hugging Face에서 제공하는 라이브러리로, 대형 언어 모델(LLM)을 효율적으로 파인튜닝할 수 있도록 도와준다.기존 방식처럼 모델 전체를 미세 조정하는 대신, 일부 가중치만 조정하여 메모리 사용량을 줄이고, 훈련 속도를 높이며, 다양한 작업에 쉽게 적용할 수 있도록 설계되었다. 2. peft의 주요 기능LoRA (Low-Rank Adaptation)특정 가중치 행렬의 일부만 학습 가능한 상태로 두어 모델 크기를 줄이고, 연산량을 감소시킴메모리 사용량이 적어 GPU 자원이 적어도 LLM을 튜닝할 수 있음Prefix Tuning입력 시퀀스 앞에 학습 가..

[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 huggingface (datasets) (4)

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

[LLM] DeepSeek 실행 방법 with Pytorch

0. 개요DeepSeek가 현재 상당한 이슈가 되고 있다.게다가 오픈소스로 Huggingface에 올라와 있어실행이 가능하다고 하니, 한번 실행해 보도록 하자. huggingface 링크 deepseek-ai/DeepSeek-R1 · Hugging FaceDeepSeek-R1 Paper Link👁️ 1. Introduction We introduce our first-generation reasoning models, DeepSeek-R1-Zero and DeepSeek-R1. DeepSeek-R1-Zero, a model trained via large-scale reinforcement learning (RL) without supervised fine-tuning (SFT) as a prelhug..

반응형