728x90
반응형

프로그래밍 82

[Day15] 한 권으로 LLM 온라인 스터디 1기 - vLLM 서빙

5.1 페이지드 어텐션 원리페이지드 어텐션 시스템의 주요 구성 요소- Logical KV Cache Blocks : 모델이 처리하는 데이터의 논리적 구조- Block Table :  논리적 구조와 실제 물리적 메모리 위치를 연결하는 중개자 역할- Physical KV Cache Blocks : 실제 데이터가 저장되는 물리적 메모리 공간→ 이 세 요소가 함께 작동해 대규모 언어 모델의 메모리 사용을 최적화 하고, 효율적인 데이터 접근을 가능하게 함→ 컴퓨터의 가상 메모리 시스템과 유사하게 제한된 물리적 자원을 효과적으로 관리하고 활용할 수 있게 해줌   5.2 vLLM 사용 방법vLLM은 페이지드 어텐션 기술을 구현한 라이브러리로, 대규모 언어 모델을 효율적으로 메모리에 로드하고 빠른 텍스트 생성을 가능하..

프로그래밍/LLM 2025.01.26

[Day14] 한 권으로 LLM 온라인 스터디 1기 - QLoRA 튜닝 실습

4.2.6 파라미터 설정'3.5.2 Llama 3.1 학습 파라미터 설정' 참고https://31weeks.tistory.com/483 [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 requirem31weeks.com   4.2.7 모델 학습model : Ko-Llama3 모델 지정ar..

프로그래밍/LLM 2025.01.26

[Day13] 한 권으로 LLM 온라인 스터디 1기 - 효율적인 파라미터 튜닝 (양자화 & QLoRA)

4.2 QLoRA 이론 및 실습4.2.1 양자화의 이해부동소수점의 개념 다양한 데이터 타입과 정밀도의 관계- FP32 : 실수를 표현하는 표준적인 방식 중 하나, 단정밀도라고 불리며 32비트(4바이트) 사용, 매우 넓은 범위의 숫자 표현 가능, 0 주변의 숫자들을 더 세밀하게 표현할 수 있음(높은 정밀도), 메모리 사용량이 큰 편이고 대규모 모델이나 데이터셋을 다룰 때 제한요소가 될 수 있음. - FP16 : 반정밀도라고도 불리는 숫자 표현 방식, 16비트 사용, FP32 보다 정밀도 낮고 표현할 수 있는 값의 범위가 좁다, 메모리 사용량이 적고 계산 효율성이 높음, 같은 메모리 공간에 더 많은 데이터를 저장할 수 있고 연산 속도도 빨라서대규모 머신러닝 모델 훈련이나 추론 과정에 자주 사용됨, 정밀도가 ..

프로그래밍/LLM 2025.01.26

[Day12] 한 권으로 LLM 온라인 스터디 1기 - 효율적인 파라미터 튜닝 (LoRA 2)

4.1.6 모델 학습지도 학습 방식의 파인 튜닝을 쉽게 수행할 수 있게해주는 도구인 SFTTrainer를 사용해서 실제 훈련 과정을 설정   4.1.7 학습한 모델 테스트하기generate를 이용한 테스트- generate 함수를 직접 사용- AutoModellForCausalLM 클래스를 통해 직접 불러와서 사용 → 자연어 생성에 특화, generate 함수 제공- 생성 과정의 다양한 매개변수를 직접 조정할 수 있어 세밀한 제어 가능pipeline를 이용한 테스트- 허깅페이스에서 제공하는 편리한 기능 → 모델 사용 과정을 간소화- 모델 로딩, 토크나이징, 텍스트 생성, 디코딩 등의 과정을 한 번에 처리- 내부적으로 필요한 전처리와 후처리과정을 자동으로 수행  4.1.8 모델 성능을 OpenAI로 평가하..

프로그래밍/LLM 2025.01.26

[Day11] 한 권으로 LLM 온라인 스터디 1기 - 효율적인 파라미터 튜닝 (LoRA 1)

4.1 LoRA 이론 및 실습 4.1.1 LoRA 개념사전 학습된 대규모 모델(Pre-Trained Model)은 이미 방대한 데이터로 학습됐지만, 새로운 데이터를 처리하거나 특정 작업에 맞추려면 추가적인 파인 튜닝이 필요함새로운 데이터를 반영하려고 전체 모델을 수정하는 것은 비효율적LoRA는 사전 학습된 모델의 구조를 그대로 유지하면서 필요한 만큼만 파라미터를 효율적으로 수정하는 방법  4.1.2 런팟 환경 설정H100PCIe x1Pytorch 2.1Container Disk 200GBVolume Disk 200GB  4.1.3 Gemma-2-9B-it 모델 준비https://huggingface.co/google/gemma-2-9b-it google/gemma-2-9b-it · Hugging Face..

프로그래밍/LLM 2025.01.26

[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
728x90
반응형