2025/02 6

[Fine-Tuning] LLM 파인튜닝 솔루션 - Unsloth

LLM을 클라우드 환경이나 Google Colab에서 파인튜닝하는 과정에서 종종 라이브러리 간 의존성 충돌로 인해 실행 오류가 발생하고, 높은 메모리 사용량과 긴 학습 시간이 문제가 되곤 합니다. 이러한 문제를 해결할 수 있는 보다 효율적인 방법을 찾던 중, 단일 GPU 환경에서도 최적의 성능을 제공하는 "Unsloth"를 접하게 되어 소개해 보겠습니다.1. Unsloth란 무엇인가?Unsloth는 LLM(대형 언어 모델) 파인튜닝을 보다 효율적으로 수행할 수 있도록 설계된 혁신적인 도구입니다. Michael과 Daniel Han 형제가 개발한 이 프로젝트는 적은 자원으로도 강력한 성능을 발휘할 수 있도록 최적화되어 있으며, 학습 속도 향상과 메모리 사용량 절감을 주요 목표로 하고 있습니다.Unsloth..

Fine-Tuning 2025.02.26

[Fine-Tuning] LLM fine-tuning (/w Elice Cloud) (2)

저번 글에 이어서 이번엔 파인 튜닝을 통해 추론 성능을 상승시켜보도록 하겠습니다. 어떻게 접근할지 고민하다가 누가 Dacon에 "Gemma-2-2B-it Full Finetuning 모델"을 공유 해주어서 이 코드를 먼저 실행 해 보았습니다. !pip install transformers==4.40.1 accelerate==0.30.0 bitsandbytes==0.43.1 auto-gptq==0.7.1 autoawq==0.2.5 optimum==1.19.1 -qqq !pip uninstall -y torch torchvision torchaudio!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu..

Fine-Tuning 2025.02.24

[Fine-Tuning] LLM fine-tuning (/w Elice Cloud) (1)

Dacon에서 진행하는 "난독화된 한글 리뷰 복원 AI 경진대회"를 뒤늦게 접하게 되어 LLM을 활용한 문제해결능력을 기르고자 경진대회에 참여하기로 하였습니다. 핵심 주제는 "식별하기 어렵게 쓴 한글 리뷰를 원래 한글 리뷰로 복원하는 AI 알고리즘 개발" 이었습니다. 데이터셋과 샘플 코드를 모두 제공해주었기에 이를 먼저 실행해보았습니다. import pandas as pdimport torchfrom transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, pipelinetrain = pd.read_csv('./drive/MyDrive/data_set/open/train.csv', encoding = 'utf-8-sig')t..

Fine-Tuning 2025.02.19

[DeepLearning] 언어 모델 최적화 개념 정리

언어 모델을 효과적으로 활용하려면 모델을 최적화하고 경량화하는 과정이 중요합니다. 이번 포스트에서는 모델의 추론 과정, KV 캐시, 양자화, 지식 증류 등의 개념을 직관적으로 정리해보겠습니다.1. 언어 모델이 텍스트를 생성하는 방식1.1 언어 모델이 텍스트 생성을 마치는 이유EOS(End of Sequence) 토큰 생성문장이 끝났음을 알리는 특수 토큰을 생성할 경우 텍스트 생성을 종료합니다.최대 길이 도달사용자가 설정한 최대 토큰 길이에 도달하면 텍스트 생성을 종료합니다.1.2 자기 회귀적(Auto-Regressive) 모델언어 모델은 입력된 텍스트를 기반으로 다음 토큰을 하나씩 순차적으로 예측합니다. 즉, 이전에 생성된 토큰들을 다시 모델 입력으로 넣어 다음 토큰을 예측하는 과정을 반복합니다.2. 중..

DeepLearning 2025.02.14

[DeepLearning] 용어 정리

공부하면서 생소한 용어나 원활한 플로우 이해를 돕기 위한 포스팅 공간을 마련하였습니다. 계속 수정해가면서 내용이 추가될 예정입니다. 파라미터(Parameter)모델의 파라미터는 머신러닝 모델이 학습을 통해 조정하는 값들로, 모델의 예측 성능을 결정하는 중요한 요소입니다. 파라미터는 모델의 구조에 따라 다르며, 주로 가중치(weights)와 편향(biases)으로 구성됩니다.가중치(Weights)입력 데이터의 각 특징(feature)에 곱해지는 값입니다. 가중치는 모델이 입력 데이터의 중요도를 학습하는 데 사용됩니다.편향(Biases)모델의 출력에 더해지는 상수 값입니다. 편향은 모델이 데이터를 더 잘 맞추기 위해 조정됩니다.예시: 선형 회귀 모델[ y = w_1 x_1 + w_2 x_2 + b ] ( w..

DeepLearning 2025.02.12

[DeepLearning] 제목 기반 카테고리 예측 모델 개발

본 내용은 하단 참고자료에 작성된 책에 대한 내용을 기반으로 다시한번 정리한 내용입니다. 예제를 통해 연합뉴스 기사의 제목을 바탕으로 카테고리를 예측하는 딥러닝 모델을 개발하는 과정을 정리하였습니다. 이를 위해 데이터셋 로드부터 모델 학습 및 평가까지의 전체 과정을 단계별로 설명하며, 주요 개념과 코드 실행 결과를 함께 살펴보도록 하겠습니다. 1. 모델 학습에 사용할 연합뉴스 데이터셋 다운로드모델 학습을 위해 KLUE 데이터셋의 YNAT 서브셋을 사용합니다. datasets 라이브러리의 load_dataset 함수를 이용하여 데이터를 로드합니다.from datasets import load_datasetklue_tc_train = load_dataset('klue', 'ynat', split='train..

DeepLearning 2025.02.09