로컬 PC에서 오픈소스 LLM 모델 (DeepSeek) 실행하기

김경민·7일 전
1

Cloud Native, DevOps

목록 보기
16/16

📝 개요

최근 인공지능(AI) 모델이 빠르게 발전하면서, GPT-4 같은 대형 언어 모델(LLM)을 로컬에서 실행하려는 개발자들이 많아지고 있습니다. 그중에서도 DeepSeek은 중국에서 개발된 오픈 소스 LLM으로, GPT-3.5 수준의 성능을 무료로 사용할 수 있는 강력한 모델입니다.

이번 포스트에서는 DeepSeek 모델을 로컬 PC에서 실행하는 방법을 단계별로 정리하고, Llama 2 및 Mistral 7B와 비교하여 어떤 장점이 있는지도 알아보겠습니다.


1. DeepSeek 모델 소개

🧐 DeepSeek이란?

DeepSeek은 2023년 DeepSeek AI에서 출시한 오픈 소스 대형 언어 모델입니다. 주요 특징은 다음과 같습니다.

✅ GPT-3.5 수준의 성능 제공
✅ 중국어 및 영어 지원 최적화
✅ 오픈 소스로 무료 사용 가능
✅ 코드 생성 및 문서 요약 기능 포함

DeepSeek AI는 2023년 11월 DeepSeek-Coder를 발표한 후, 2023년 11월 29일 DeepSeek-LLM 7B를 공개하였습니다. 이후 2024년 5월 DeepSeek-V2, 2024년 12월 DeepSeek-V3를 출시하며 지속적인 발전을 이어가고 있습니다.


2. DeepSeek 모델 다운로드 및 실행

🛠️ 사전 준비

DeepSeek 모델을 실행하려면 아래 환경이 필요합니다.

📌 Python 환경 설정

Python 3.10 이상을 설치하고, 가상 환경을 설정하는 것이 좋습니다.

sudo apt update
sudo apt install python3 python3-pip -y  # Ubuntu3
python3 -m venv llm_env
source llm_env/bin/activate  
#Windows는 llm_env\Scripts\activate

📌 DeepSeek, Llama 2, Mistral 7B 모델 다운로드 및 로드

Hugging Face에서 transformers와 accelerate 패키지를 설치합니다.

pip install torch torchvision torchaudio transformers accelerate bitsandbytes sentencepiece

그 후, DeepSeek-LLM 7B 모델을 다운로드합니다.

from transformers import AutoModelForCausalLM, AutoTokenizer

#DeepSeek 7B 모델 로드

from transformers import AutoModelForCausalLM, AutoTokenizer

# DeepSeek 7B 모델 로드
model_name = "deepseek-ai/deepseek-llm-7b-chat"

# model_name = "meta-llama/Llama-2-7b-chat-hf"  # Llama 2 7B
# model_name = "mistralai/Mistral-7B-Instruct-v0.1"  # Mistral 7B


tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype="auto", offload_folder="offload") # Added offload_folder


3. DeepSeek 모델 실행 및 테스트

✅ 기본 질의응답 예제

from transformers import pipeline

# Remove the 'device' argument 
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer) 

prompt = "인공지능이란 무엇인가?"
output = pipe(prompt, max_length=200, temperature=0.7)

print(output[0]["generated_text"])

이 코드를 실행하면, DeepSeek 모델이 질문에 대한 자연스러운 답변을 생성합니다.


4. Web UI에서 실행 (Text Generation WebUI 활용)

🖥️ Text Generation WebUI 설치

보다 편리하게 모델을 사용할 수 있도록 Text Generation WebUI를 설치할 수 있습니다.

git clonehttps://github.com/oobabooga/text-generation-webui" target="_blank" rel="noopener" data-mce-href=" https://github.com/oobabooga/text-generation-webui"> https://github.com/oobabooga/text-generation-webui
cd text-generation-webui
pip install -r requirements.txt

🌐 WebUI 실행

python server.py --model deepseek-ai/deepseek-llm-7b-chat

이후, http://localhost:7860 에 접속하면 웹 인터페이스에서 쉽게 DeepSeek을 사용할 수 있습니다.


5. DeepSeek 모델의 장점

DeepSeek 모델은 Llama 2 7B 및 Mistral 7B와 비교했을 때, 다음과 같은 장점이 있습니다.

📌 DeepSeek은 특히 중국어와 영어 환경에서 강력한 성능을 발휘하며, 코드 생성(Coder 모델) 기능도 지원하는 것이 특징입니다.


6. 최적화 방법 (속도 및 메모리 절약)

🔧 LoRA(저장 공간 절약) 적용

메모리를 절약하면서 학습된 모델을 적용하려면 peft와 lora를 사용합니다.

pip install peft
from peft import PeftModel

lora_model = PeftModel.from_pretrained(model, "path_to_lora_weights")

⚡ GGUF 모델 실행 (RAM 사용 최적화)

GGUF 형식 모델을 사용하면 VRAM을 절약하면서도 실행할 수 있습니다.

  1. GGUF 모델 다운로드:

TheBloke Hugging Face에서 최적화된 모델 다운로드

  1. llama.cpp 실행:
git clonehttps://github.com/ggerganov/llama.cpp" target="_blank" rel="noopener" data-mce-href=" https://github.com/ggerganov/llama.cpp"> https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
./main -m path_to_model.gguf -p "인공지능이란 무엇인가?"

7. 결론

✅ 로컬에서 GPT-3.5 수준의 성능을 무료로 실행 가능
✅ 중국어 및 영어 최적화
✅ 코드 생성 및 문서 요약 기능 포함
✅ Hugging Face 및 WebUI로 쉽게 실행 가능

0개의 댓글

관련 채용 정보