분류 전체보기 8

[ISSUE 기록] vscode remote-ssh 접속 문제 해결 방법

vscode에는 remote-ssh라는 확장 프로그램이 있다. ssh는 secure shell의 약자로 네트워크 상에서 안전하게 원격으로 서버에 접속하고, 명령어를 실행하거나 파일을 전송할 수 있도록 하는 보안 프로토콜이다.  최근 랩실에서 연구를 진행하면서 서버에 접속하여 작업하는 일이 잦아졌다. 아무 생각 없이 vscode의 remote-ssh를 사용했었는데, 어느 순간부터 remote-ssh가 말썽을 피우기 시작했다. 분명 서버에는 접속이 되는데 작업하고자 하는 디렉토리를 열려고 하니 remote-ssh의 VS code server를 초기화한다면서 무한 로딩이 발생하였다.  내가 관리하는 서버가 아니다보니 제한된 환경에서 어떻게든 고쳐야 했다.   결론부터 이야기하면 재설치가 답이였다. 하지만 하루..

IT 지식 2025.03.14

[Paper Review] LLM-Pruner: On the Structural Pruning of Large Language Model

LLM의 Pruning과 recover에 있어서 foundation 격인 논문인 것 같다.Minitron 구현에 실패하여 다른 pruning 참고자료를 찾다가 발견했으며 상당히 잘 구조화돼있는 것 같다.1. Introduce최근 GPT 시리즈, LLaMA, ChatGLM 등 다양한 대규모 언어 모델들이 우수한 성능을 보이고 있지만, 파라미터가 너무 커서 학습/추론 시에 막대한 자원을 필요로 한다는 문제가 있다.이 문제를 해결하기 위해, 기존에는 특정 태스크나 특정 데이터셋에 맞추어 경량화를 적용시킨다.그러나 이 논문에선 task-agnostic하게, 원본 학습데이터가 어떻든 효율적으로 structured pruning을 진행하게 한다.2. Method2-1. Dependency GraphLLM-Prune..

Paper Review 2025.01.27

[Paper Review] Compact Language Models via Pruning and Knowledge Distillation

Nvidia에서 발표한 LLM Pruning과 Knowledge Distillation 전략에 관한 논문이다.이 논문은 경량화 방법론만 다룬 논문으로 2024년 7월에 공개되었으며, 이후 경량화 전 Teacher Model을 task의 데이터셋으로 학습시키는 Teacher Correction 기법을 적용한 "LLM Pruning and Distillation in Practive: The Minitron Approach"이 8월 공개되었다. Teacher Correction을 제외한 Pruing / KD 기법은 비슷하기에 이 논문만 다룰 예정이다.1. Introduction대규모 언어 모델(LLM)은 다양한 크기와 배포 환경에 맞게 훈련되며, 이 과정은 매우 많은 계산 자원을 필요로 한다.기존 방식은 모..

Paper Review 2025.01.26

[Paper Review] QLoRA: Efficient Finetuning of Quantized LLMs

QLoRA : Efficient Finetuning of Quantize LLMs🔗 https://arxiv.org/abs/2305.14314기업 해커톤에 필요한 내용을 도출하기 위해 논문의 전문을 꼼꼼하게 보지는 못하고, 핵심 부분만 빠르게 정리하였다. 생략된 내용이 있을 수 있으니 참고 바람 QLoRA : LoRA 와 nf4로 양자화 한 pretrained language model 을 사용하는 방식QLoRA 의 방법론 :NF4Double quantizationPaged Optimization아래부터 QLoRA 를 위한 기본 지식부터 방법론에 대해서 설명하려 한다. Quantization :연산과 저장에 필요한 정밀도를 낮추어 모델의 메모리 사용량과 계산 효율을 높이는 기술Quantization 종..

Paper Review 2025.01.22

GPU 분산 학습 - DP/DDP/FSDP

대규모 언어 모델(LLM)을 사용하기 위해 필요한 파라미터 수는 점점 커지고 있다. 특히 GPT-3는 약 1,750억 개, GPT-4는 약 1조 개의 파라미터를 사용하여 단일 GPU로는 학습이 불가능하다. 따라서 제한된 자원을 극대화하여 활용하고 학습 시간을 단축하기 위해선 GPU 분산 학습을 활용해야 한다. 분산 학습여러 GPU 간에 데이터를 분할하거나 모델 자체를 분할하여 여러 GPU에 걸쳐 훈련 프로세스를 병렬화하는 학습 기법은 크게 다음과 같이 나뉜다.Model Parallelism모델 사이즈가 큰 경우 모델을 여러 GPU에 분할하여 메모리 효율성을 높일 수 있음Data Parallelism학습 데이터가 큰 경우 여러 GPU에 분할하여 동시에 처리함으로써 학습 속도를 높일 수 있음 이 중에서 Mo..

AI 지식 2025.01.18

경량화 LLM 평가하기(Memory Usage, Latency) 2

LLM의 경량화(Lightweighting) task에 대해선 어떻게 평가를 해야할까?위 질문에 대한 답을 이전 글인 "경량화 LLM 평가하기 1"에 이어 답하고자 한다. 이전 글에서는 경량화된 LLM을 평가하기 위한 Memory Usage 관점을 살펴보았다. 우리가 LLM 모델을 학습하거나 추론에 사용할 때 컴퓨팅 자원을 효율적으로 사용하는 것도 중요하지만,LLM 모델을 배포하고 실제 서비스에 활용하고자 한다면 추론 속도 또한 중요해지게 된다. 따라서, 경량화된 LLM을 평가 하기 위한 기준 중 하나인 Latency 관점에서 살펴보자 LatencyLatency란 다음과 같다.overall time it takes for the model to generate the full response for a ..

AI 지식 2025.01.17

[redis] redis 로 작업 대기 queue 만들기

Redis로 작업 대기 queue 만들기 작업의 효율성을 높이기 위해 queue 에 task 를 저장해놓고, 현재 실행 중인 task 가 끝나면 queue 에 있는 다음 task 가 실행되도록 한다. Structure┌───────────┐ Redis ┌─────────────┐│ producer │ → Queue → │ consumer │└───────────┘ └─────────────┘consumer.py : 큐에서 데이터 가져오기producer.py : 데이터를 큐에 추가monitor.py : 모니터링 하는 py 파일  Codeconsumer.pyimport redisimport argparseimport subprocessimport uuidim..

IT 지식 2025.01.16

경량화 LLM 평가하기(Memory Usage, Latency) 1

https://pytorch.org/blog/vllm-joins-pytorch/세상엔 해결해야할 여러 Task가 있으며 그에 맞춘 AI model들도 여럿이다.그렇다면 해년마다 쏟아져나오는 논문과 모델들 중에서 어떤 것을 선택해야할까?이를 판단하게 해주는 것이 바로 metric이다.여러 평가용 dataset(benchmark)에 대해 정확도 등의 metric을 비교하며 모델을 선택할 수 있다.그렇다면, LLM의 경량화(Lightweighting) task에 대해선 어떻게 평가를 해야할까?어떤 기준으로 경량화된 모델들을 선택해야할까?또, 내 모델의 OOM(Out Of Memory)를 어떻게 해결할까?경량화 기법들에 대한 소개는 많이 들어봤을 것이다.Knowledge Distillation, Qunatiza..

AI 지식 2025.01.14