728x90
반응형

프로그래밍 97

[Day10] 한 권으로 LLM 온라인 스터디 1기 - 다중 GPU Llama3 파인튜닝

3.5 다중 GPU를 활용한 Llama3.1-8B-instruct 파인 튜닝 3.5.1 런팟 환경 설정H100XM x 41Pytorch 2.2.0Container Disk 400GBVolume Disk 400GBgit clone https://github.com/wikibook/llm-finetuningcd llm-finetuning/chapter3/3.5pip install -r requirements.txt  3.5.2 Llama 3.1 학습 파라미터 설정model_name : 사용할 모델 ID, 허깅페이스에 등록된 모델 이름dataset_path : 학습에 사용할 데이터셋이 위치한 경로max_seq_length : 모델이 처리할 수 있는 최대 시퀀스 길이 설정output_dir : 학습과정에서 생성..

프로그래밍/LLM 2025.01.26

[Day9] 한 권으로 LLM 온라인 스터디 1기 - 단일 GPU Gemma 파인튜닝 3

3.4.8 학습 파라미터 설정output_dir : 학습 중 만들어지는 체크포인트 저장 폴더 지정max_steps : 모델이 학습하는 총 스텝 수per_device_train_batch_size : 학습할 때 각 GPU나 CPU에서 한번에 처리할 데이터 샘플의 수per_device_eval_batch_size : 평가할 때 각 GPU나 CPU에서 한번에 처리할 데이터 샘플의 수weight_decay : 과적합을 막기 위해 모델 가중치를 조절하는 강도logging_dir : 로깅 도구가 사용할, 학습 중 발생하는 로그 정보를 저장하는 위치 지정logging_steps : 학습 상태, 손실값 등을 기록하는 주기 → 학습 과정 추적할 수 있음report_to : 학습 현황 관찰할 도구 (ex. wandb.ai..

프로그래밍/LLM 2025.01.25

[Day8] 한 권으로 LLM 온라인 스터디 1기 - 단일 GPU Gemma 파인튜닝 2

3.4.5 키워드 데이터 생성jaehy12/new3 데이터셋은 각 기사별 키워드 정보를 포함하지 않으므로 Gemma 모델을 활용해서 각 데이터마다 5개씩 키워드를 추출   3.4.6 데이터 전처리Gemma 모델이 이해할 수 있도록 기사 형식의 데이터를 대화 형식으로 데이터 전처리 진행   3.4.7 데이터셋 분리 및 콜레이터 설정학습용 데이터와테스트용 데이터 분리모델이 중점적으로 학습해야할 부분을 지정

프로그래밍/LLM 2025.01.25

[Day7] 한 권으로 LLM 온라인 스터디 1기 - 단일 GPU Gemma 파인튜닝 1

3.4 단일 GPU를 활용한 Gemma-2B-it 파인튜닝 3.4.1 런팟 환경설정https://www.runpod.io/ RunPod - The Cloud Built for AIDevelop, train, and scale AI models in one cloud. Spin up on-demand GPUs with GPU Cloud, scale ML inference with Serverless.www.runpod.io H100PCIe x 1Pytorch 2.1Container Disk 200GBVolume Disk 200GBgit clone https://github.com/wikibook/llm-finetuningcd llm-finetuning/chapter3/3.4pip install -r req..

프로그래밍/LLM 2025.01.25

[Day6] 한 권으로 LLM 온라인 스터디 1기 - GPU 병렬화 기법

3.3 GPU 병렬화 기법3.3.1 데이터 병렬 처리(Data Parallelism, DP)전체 데이터를 작은 덩어리 여러 개로 나눠 각각을 서로 다른 GPU에서 동시에 처리학습시간 크게 단축, 메모리 제약 없이 대규모 데이터셋을 효과적으로 다룰 수 있음모든 GPU의 VRAM을 균등하게 활용하지 못함 → 모델 병렬화 기법이 등장 3.3.2 모델 병렬화(Model Parallelism, MP)대규모 신경망 모델을 여러 GPU에서 나누어 처리하는 방식모델을 수직으로 분할해서 처리(수직 모델 병렬화)단일 GPU로는 처리하기 어려운 대규모 모델을 효율적으로 학습하고 실행특정 시점에 대부분의 GPU가 놀고 있을 수 있음기기 간 데이터 복사로 인한 부담이 전체적인 학습속도를 저하시킬 수 있음→ 파이프라인 병렬화 등..

프로그래밍/LLM 2025.01.25

[Day5] 한 권으로 LLM 온라인 스터디 1기 - GPT, Gemma, Llama3 모델 특징 비교

3.2 Gemma와 Llama3 모델 구조 분석 3.2.1 Gemma 모델 구조 분석매개변수(7B, 13B, 34B, 72B 등)의 수를 늘려서 성능을 높이는데 집중했던 재부분의 모델들과는 반대로 모델의 크기를 크게 줄여서 고성능 컴퓨팅 자원이 부족한 환경에서도 언어모델을 황용할 수 있게 하려는 혁신적인 시도a. input_layernorm, post_attention_layernorm 추가 : 그레디언트를 적절한 크기로 유지 → 안정적 학습, 더 좋은 성능b. RoPE(Rotary Position Embedding) 도입 : 각 토큰의 위치를 상대적인 각도로 표시c. 활성화 함수 : ReLU의 한계를 극복하기 위해 GELU와 GLU를 결합한 GeGLU라는 새로운 활성화 함수를 사용  3.2.2 Gemm..

프로그래밍/LLM 2025.01.25

[Day4] 한 권으로 LLM 온라인 스터디 1기 - 파인튜닝 개념

3.1 전체 파인튜닝 데이터 준비3.1.1 전체 파인튜닝의 원리와 종류파인튜닝이란?- 이미 학습되어 공개된 언어 모델(Pre-trained Language Model,)을 특정 작업에 맞게 추가로 학습하는 것- 성능을 높이고자 하는분야나 풀고자 하는 문제의 데이터로 추가 학습   → 모델이 해당 분야에서 더 정확하고 신뢰할 수 있는 응답을 생성할 수 있게 됨파인튜닝을 하는 이유- 처음부터 모델을 개발하는 것 보다 훨씬 더 경제적이고 편리함- 특정분야의 데이터는 매우 적음 → 과적합, 자연스러운 언어생성 능력 부족파인튜닝의 종류- PEFT(Parameter-Efficient Fine-Tuning, 매개변수 효율적 파인튜닝)  a. 어댑터 튜닝(Adapter Tuning) : 기존의 거대한 언어 모델에 작은..

프로그래밍/LLM 2025.01.25

[Day3] 한 권으로 LLM 온라인 스터디 1기 - 멀티헤드 어텐션 & 피드포워드

2.6 멀티헤드 어텐션과 피드포워드 2.6.1 멀티헤드 어텐션 만들기어텐션 메커니즘 : 모델이 입력 데이터의 중요한 부분에 집중할 수 있게 하는 것멀티헤드 어텐션 : 여러개의 어텐션 메커니즘을 병렬로 사용해 다양한 관점에서 정보를 동시에 처리  2.6.2 피드포워드 만들기각 어텐션 블록 뒤에 피드포워드 네트워크를 배치각 시퀀스 위치마다 독립적으로 적용되어 모델의 표현력을 높임어텐션 메커니즘으로부터 얻은 표현을 더욱 풍부하게 만듬→ 모델이 더 복잡한 데이터 패턴을 학습할 수 있게 돕는 과정 2.7 Blocks 만들기복잡한 신경망 모델에서 블록은 모델의 설계와 구현에 중요한 구조적 단위모델 내 다양한 계층과 구성 요소를 하나로 묶어 모듈화, 개사용성, 확장성을 크게 향상시킴각  블록 내에서 주로 어텐션 메커..

프로그래밍/LLM 2025.01.25

[Day2] 한 권으로 LLM 온라인 스터디 1기 - 언어 모델 구조 및 셀프 어텐션 메커니즘 이해

2.3 언어 모델 만들기2.3.1 라이브러리 설명torch : 텐서 연산과 자동 미분기능 등을 제공해 딥러닝 모델 구현에 필수적인 기능 제공torch.nn : 신경망 구축에 필요한 다양한 레이어와 매개변수 관리 기능 제공이를 통해 모델 아키텍처를 정의하고 매개변수를 초기화하며, 순전파(forward pass)를 구현할 수 있다 2.3.2 __init__ 함수__init__- 클래스 인스턴스가생성될 때 자동으로 호출되는 메서드- 신경망 모델에서는 모델 구조와 필요한 초기설정을 정의함super().__init__()- 부모 클래스의 __init__ 메서드를 호출 → nn.Module의 생성자 호출super()- 여러 클래스를 동시에 상속받을 때 생길 수 있는 복잡한 상황을 관리하기 위함num_embeddin..

프로그래밍/LLM 2025.01.24

[Day1] 한 권으로 LLM 온라인 스터디 1기 - NLP 이해와 런팟 설치

1. NLP(Natural Language Processing)자연어 처리단순한 규칙으로 시작 → 복잡한 언어 모델로 발전 2. 이정표가 되는 논문 세편앨런 튜링https://courses.cs.umbc.edu/471/papers/turing.pdf - 기계는 생각할 수 있는가?- 사고의 개념에 대하서 철학적 논의보다 실용적인 접근을 선호했기 때문프랭크 로젠블랫https://www.ling.upenn.edu/courses/cogs501/Rosenblatt1958.pdf - 인공 신경망 모델은 퍼셉트론 개념을 실제 하드웨어로 구현한 최초의 기계- 현대 인공 신경망과 딥러닝의 기초가 되어 오늘날 사용하는 많은 인공지능의 기반이 됨- 연결주의 접근법, 통계적 접근법- 선형적 분리(시간적 패턴 인식 및 비선형적..

프로그래밍/LLM 2025.01.24
728x90
반응형