최근 인공지능(AI) 모델이 빠르게 발전하면서, GPT-4 같은 대형 언어 모델(LLM)을 로컬에서 실행하려는 개발자들이 많아지고 있습니다. 그중에서도 DeepSeek은 중국에서 개발된 오픈 소스 LLM으로, GPT-3.5 수준의 성능을 무료로 사용할 수 있는 강력한 모델입니다.
이번 포스트에서는 DeepSeek 모델을 로컬 PC에서 실행하는 방법을 단계별로 정리하고, Llama 2 및 Mistral 7B와 비교하여 어떤 장점이 있는지도 알아보겠습니다.
🧐 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를 출시하며 지속적인 발전을 이어가고 있습니다.
🛠️ 사전 준비
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
✅ 기본 질의응답 예제
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 모델이 질문에 대한 자연스러운 답변을 생성합니다.
🖥️ 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을 사용할 수 있습니다.
DeepSeek 모델은 Llama 2 7B 및 Mistral 7B와 비교했을 때, 다음과 같은 장점이 있습니다.
📌 DeepSeek은 특히 중국어와 영어 환경에서 강력한 성능을 발휘하며, 코드 생성(Coder 모델) 기능도 지원하는 것이 특징입니다.
🔧 LoRA(저장 공간 절약) 적용
메모리를 절약하면서 학습된 모델을 적용하려면 peft와 lora를 사용합니다.
pip install peft
from peft import PeftModel
lora_model = PeftModel.from_pretrained(model, "path_to_lora_weights")
⚡ GGUF 모델 실행 (RAM 사용 최적화)
GGUF 형식 모델을 사용하면 VRAM을 절약하면서도 실행할 수 있습니다.
TheBloke Hugging Face에서 최적화된 모델 다운로드
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 "인공지능이란 무엇인가?"
✅ 로컬에서 GPT-3.5 수준의 성능을 무료로 실행 가능
✅ 중국어 및 영어 최적화
✅ 코드 생성 및 문서 요약 기능 포함
✅ Hugging Face 및 WebUI로 쉽게 실행 가능