딥시크(DeepSeek) R1 로컬실행 및 데이터셋조정 | 매거진에 참여하세요

인사이트/로그개발 관련
작성일 : 25.02.07

딥시크(DeepSeek) R1 로컬실행 및 데이터셋조정

#딥시크R1 #기능 #장점 #로컬실행 #작동방식 #패키지분석 #깃허브 #R1사용해보기 #파인튜닝 #데이터셋

👉 본문을 50%이상을 읽으면 '여기까지다' 퀘스트가 완료됩니다(로그인 필수)

딥시크(DeepSeek)가 요즘에 많이 회자되고 있어, 해당 소스를 ChatGPT라고 생각하면서 비교 공부해보고 있습니다.

https://github.com/deepseek-ai/DeepSeek-V3

특히 R1이라는 모델은 아시다시피 주로 데이터 분석, AI 모델링, 그리고 추론을 위한 고급 기능을 제공하는 도구로 설계되었습니다.

DeepSeek AI의 데이터 분석 기능은 다양한 방식으로 작동하며, 특정 데이터셋을 분석하고, 패턴을 인식하고, 예측 모델을 훈련시키는 데 사용될 수 있다고 하네요.

아무래도 모델이다보니, 패키지처럼 데이터 전처리에서부터 분석까지의 기능이 적지않게 들어가 있습니다.

DeepSeek R1의 주요 기능

  1. 0. 데이터 입력 및 수집

    • DeepSeek AI는 다양한 데이터 소스를 지원합니다. 예를 들어, 로컬 파일 시스템, 클라우드 스토리지, 데이터베이스에서 데이터를 수집할 수 있습니다. 이를 통해 데이터 전처리 및 정제를 시작할 수 있습니다.

  2. 1. 데이터 전처리 및 처리

    • - 데이터 클렌징

    • DeepSeek R1은 결측값 처리, 중복 제거, 이상값 탐지 등 데이터를 분석하기 전에 필요한 클렌징 작업을 자동으로 수행할 수 있습니다.

    • - 데이터 변환

    • 데이터의 형식을 변환하거나, 필요에 따라 정규화, 표준화, 특성 공학(feature engineering)을 통해 데이터를 모델링에 적합한 형태로 변환합니다.

  3. - 결측치 처리:

  4. 데이터셋에 결측값이 존재할 경우, 이를 평균값, 중위값, 또는 다른 알고리즘을 통해 채우거나, 해당 데이터를 삭제합니다.

  5. - 정규화 및 표준화:

  6. 데이터의 스케일이 다르면 모델 성능이 떨어질 수 있기 때문에, 데이터를 정규화하거나 표준화하여 모델 훈련에 적합하게 만듭니다.

  7. - 범주형 변수 처리:

  8. 범주형 데이터를 One-hot encoding, label encoding 등의 방법으로 수치형 데이터로 변환하여 머신러닝 알고리즘에 적합하도록 합니다.

  9. - 데이터 증강:

  10. 이미지 데이터나 텍스트 데이터의 경우, 데이터 증강 기법을 통해 데이터셋을 인위적으로 확장하여 모델의 일반화 능력을 향상시킵니다.

  11. 2. 다양한 분석 모델 지원

    • 1) 머신러닝 알고리즘

    • 기본적인 회귀 모델, 분류 모델, 군집화 기법 등을 제공하며, 이를 통해 데이터 분석과 예측을 진행할 수 있습니다.

    • 2) 딥러닝 모델

    • 심층 신경망(CNN, RNN, Transformer 등)을 활용해 복잡한 패턴을 인식하고, 더 정교한 예측을 수행할 수 있습니다.

    • 3) 자연어 처리(NLP)

    • 텍스트 데이터 분석을 위해 LSTM, BERT, GPT와 같은 모델을 지원하여 텍스트 분류, 감성 분석, 텍스트 생성 등의 작업을 할 수 있습니다.

  12. 4) 모델 검증

  13. 교차 검증(cross-validation), 학습/검증 데이터셋 분리 등의 방법을 사용하여 모델의 성능을 평가하고, 과적합을 방지합니다.

  14. 예측 결과를 평가하기 위해 정확도, 정밀도, 재현율, F1-score, AUC 등 다양한 성능 지표를 사용하여 모델의 유효성을 측정합니다.

  15. 또한, 시각화 도구(예: confusion matrix, ROC curve, Precision-Recall curve)를 통해 모델 성능을 직관적으로 평가하고, 개선할 수 있습니다.

  16. 3. 자동화된 하이퍼파라미터 최적화

    • DeepSeek R1은 모델의 하이퍼파라미터를 자동으로 최적화할 수 있는 기능을 제공합니다.

    • 이를 통해 사용자는 모델 훈련을 진행하면서 최적의 학습률, 배치 크기 등 하이퍼파라미터를 찾는 데 드는 시간과 노력을 줄일 수 있습니다.

    • 모델의 성능이 만족스럽지 않다면, 하이퍼파라미터 튜닝, 데이터 증강, 모델 아키텍처 변경 등 다양한 방법으로 모델을 개선할 수 있습니다.

    • DeepSeek AI는 하이퍼파라미터 최적화 도구나 자동화된 튜닝 기능을 제공하여 이 과정을 돕습니다.

  1. 4. 시각화 및 리포팅

    • 데이터 분석의 결과를 시각적으로 표현하여, 모델 성능을 시각화할 수 있는 기능이 포함됩니다.

    • 예를 들어, 정확도, 손실 값 등의 성능 지표를 그래프로 표시하거나, confusion matrix와 ROC 커브 등을 시각화하여 성능을 평가할 수 있습니다.

    • 5. 대시보드 제공

    • 분석 결과와 모델 학습 진행 상황을 실시간으로 확인할 수 있는 대시보드를 제공합니다.

  2. 6. 대규모 데이터셋 처리

    • 분산 처리 시스템을 통해 매우 큰 데이터셋을 처리할 수 있는 기능을 제공하여, 데이터가 방대할 때도 높은 성능을 유지할 수 있습니다.

  3. 7. 클라우드 통합: 클라우드 기반 인프라를 통해 분석을 더 확장하고, 리소스를 효율적으로 관리할 수 있습니다.

로컬 환경에서 딥시크 모델을 실행하는 이유

AI 모델을 실행하는 방법에는 클라우드 기반로컬 실행이라는 두 가지 방식이 있습니다.

클라우드 기반은 인터넷을 통해 원격 서버에서 모델을 실행하는 방식이며, 로컬 실행은 사용자의 컴퓨터에서 직접 모델을 구동하는 방법입니다.

많은 사람들이 클라우드 서비스를 이용하지만, 로컬에서 AI 모델을 실행하는 것이 더 나은 선택이 될 수도 있습니다.

DeepSeek R1을 비롯한 AI 모델을 로컬 환경에서 실행할 경우, 다음과 같은 여러 장점이 있습니다.

1. 개인정보 보호 및 보안 강화

클라우드 기반 모델의 가장 큰 단점 중 하나는 데이터가 외부 서버로 전송된다는 점입니다.

사용자의 입력 데이터가 서버에 저장되거나 분석될 가능성이 있으며, 이는 보안 및 개인정보 보호 측면에서 위험 요소가 될 수 있습니다.

반면, 로컬에서 모델을 실행하면 데이터가 외부로 전송되지 않으며, 사용자의 컴퓨터에서만 처리됩니다.

특히 기업, 연구소, 정부 기관 등 보안이 중요한 환경에서는 클라우드보다 로컬 실행이 훨씬 안전한 선택이 될 수 있습니다.

2. 네트워크 환경에 영향을 받지 않는 안정성

클라우드 모델은 인터넷 연결이 필수적이기 때문에, 네트워크 장애나 서버 문제로 인해 서비스가 중단될 가능성이 있습니다.

반면, 로컬에서 모델을 실행하면 인터넷 연결 없이도 언제든지 사용할 수 있습니다.

이러한 장점은 특히 다음과 같은 환경에서 빛을 발합니다.

  • 인터넷 연결이 불안정한 곳에서 작업해야 하는 경우

  • 비행기, 외딴 지역, 보안이 중요한 환경에서 AI 모델을 사용해야 하는 경우

  • 긴급한 상황에서 네트워크 상태와 무관하게 즉시 결과를 얻어야 하는 경우

즉, 로컬 실행은 신뢰성과 안정성을 극대화할 수 있는 방법입니다.

3. 비용 절감 효과

클라우드 기반 AI 서비스는 일반적으로 사용량에 따라 비용이 증가하는 구조를 가지고 있습니다.

API 호출 횟수, 데이터 처리량, 사용 시간 등에 따라 요금이 부과되며, 장기적으로 보면 상당한 비용이 발생할 수 있습니다.

하지만 로컬에서 AI 모델을 실행하면, 한 번 설치한 후에는 추가적인 사용 비용 없이 자유롭게 활용할 수 있습니다.

물론, 초기에는 모델을 다운로드하고 실행하기 위한 하드웨어 비용(예: 고성능 GPU 또는 CPU 업그레이드)이 필요할 수 있지만, 장기적으로 보면 비용 절감 효과가 큽니다.

기업이나 연구 기관에서는 고정 비용만으로 무제한으로 모델을 실행할 수 있다는 점에서 경제적인 선택이 될 수 있습니다.

4. 맞춤형 최적화 및 확장성

클라우드 모델은 기본적으로 일반적인 사용자에게 적합한 설정으로 제공됩니다.

하지만, 로컬에서 실행하는 경우 사용자가 직접 모델을 최적화하거나, 특정 목적에 맞게 커스터마이징할 수 있습니다.

예를 들면 다음과 같은 작업이 가능합니다.

  • 특정 작업(예: 법률 문서 분석, 의료 데이터 해석)에 맞춰 파인튜닝 적용

  • 인터페이스 및 입력 형식을 사용자의 필요에 맞게 조정

  • 외부 애플리케이션과 연동하여 자동화된 작업 환경 구축

이러한 맞춤형 최적화는 기업이나 연구소에서 AI를 고유한 업무 환경에 맞춰 효율적으로 활용할 수 있는 강력한 장점이 됩니다.

5. 연구 및 실험에 적합한 환경 제공

로컬에서 AI 모델을 실행하면 연구자나 개발자가 자유롭게 실험하고 새로운 기술을 테스트할 수 있습니다.

특히 오픈소스 AI 모델을 활용할 경우, 연구자들은 다음과 같은 작업을 수행할 수 있습니다.

  • 모델을 직접 수정하고 커스텀 알고리즘 적용

  • 다양한 데이터셋을 사용하여 모델 성능을 비교 및 분석

  • 클라우드의 제약 없이 빠르게 실험하고 결과를 즉시 확인

이러한 점에서 로컬 실행은 AI 연구와 신기술 개발에 매우 적합한 환경을 제공합니다.

DeepSeek R1 로컬 설치하기

DeepSeek R1 로컬 설치 가이드

  1. 운영환경: Windows, macOS, Linux 지원

  2. 필요스펙: 최소 8GB RAM , NVIDIA GPU

  3. 필수 소프트웨어: Docker

1. 소프트웨어 다운로드 및 설치

  • curl -fsSL https://ollama.com/install.sh | sh

2. DeepSeek R1 모델 다운로드

  • ollama pull deepseek-r1

3. 환경 설정 및 초기 구성

  • docker run -d -p 3000:8080 \
      --add-host=host.docker.internal:host-gateway \
      -v open-webui:/app/backend/data \
      --name open-webui \
      --restart always \
      ghcr.io/open-webui/open-webui:main

    http://127.0.01:3000으로 접속해 DeepSeek R1을 선택합니다.

DeepSeek R1 파인튜닝

파인 튜닝이란?

파인 튜닝(Fine-tuning)은 이미 사전 학습된 언어 모델을 특정 작업이나 데이터셋에 맞춰 추가 학습시키는 과정입니다.

일반적으로 Hugging Face의 Transformers 라이브러리를 사용해 진행되며, 상당한 연산 성능과 메모리가 필요합니다.

하지만 Unsloth를 활용하면 보다 최적화된 방식으로 파인 튜닝이 가능해, 성능이 낮은 GPU에서도 효율적으로 작업할 수 있습니다.

Unsloth는 메모리 사용량을 줄이고 모델 다운로드 속도를 높이며, LoRA(Low-Rank Adaptation) 같은 기법을 적용해

최소한의 자원으로 대형 모델을 효과적으로 파인 튜닝할 수 있도록 합니다.

다만, 아직 멀티 GPU(모델 병렬화) 같은 고급 기능은 지원되지 않지만, 고사양 GPU 없이도 효율적으로 모델을 학습할 수 있는 강력한 옵션입니다.

이 가이드에서는 DeepSeek 모델을 Unsloth를 활용해 파인 튜닝하는 전체 과정을 단계별로 설명합니다.

이를 따라 하면 원하는 데이터셋을 활용해 대부분의 대형 언어 모델을 직접 fine-tuning할 수 있습니다.

실제 방식은 아래 블로그를 참조해서 진행해보시면 좋을것 같습니다.

https://www.kdnuggets.com/how-to-fine-tune-deepseek-r1-custom-dataset?utm_source=chatgpt.com

설치 시 자주 발생하는 문제와 해결 방법

  • -모델 다운로드 속도 느림: 인터넷 연결 상태를 확인하거나 작은 모델(1.5B)을 먼저 다운로드하세요.

  • -Docker 실행 오류: Docker가 최신 버전인지 확인하고, 권한 문제를 해결하세요.