DeepSeek-R1, 이제 Novita AI에서 사용 가능: OpenAI o1의 강력한 경쟁자

DeepSeek-R1, 이제 Novita AI에서 사용 가능: OpenAI o1의 강력한 경쟁자

중국 AI 연구소 DeepSeek가 오픈소스 버전의 DeepSeek-R1을 출시했습니다. 이 추론 모델은 여러 벤치마크에서 OpenAI의 o1과 매우 근접한 성능을 보여줍니다. 이제 Novita AI에서 사용할 수 있으며, 논리 추론, 수학, 프로그래밍 등 복잡한 작업을 처리하도록 설계되어 개발자와 기업에게 다용도 도구가 됩니다.

DeepSeek-R1을 차별화하는 점은 추론 중심 아키텍처입니다. 이 아키텍처는 출력의 정확성을 스스로 점검할 수 있습니다. 이 과정은 기존 언어 모델보다 시간이 더 걸릴 수 있지만, 특히 물리학, 과학, 수학 분야에서 더 신뢰할 수 있는 결과를 제공합니다.

이 글에서는 DeepSeek-R1의 고유한 기능, 벤치마크 성능, 그리고 Novita AI의 API를 통해 워크플로에 통합하는 방법을 살펴봅니다.

DeepSeek-R1이란?

DeepSeek-R1은 논리 추론, 고급 수학, 프로그래밍이 필요한 작업을 처리하기 위해 개발된 오픈소스 추론 모델입니다. 이전 버전인 DeepSeek-R1-Zero를 기반으로 강화 학습과 지도 미세 조정을 결합하여 출력의 명확성과 일관성을 개선했습니다.

R1과 같은 추론 모델은 출력을 사실 확인하도록 설계되어 기존 언어 모델에서 자주 발생하는 오류를 줄입니다. 이는 연구, 교육, 의사 결정과 같이 높은 정확성과 투명성이 필요한 분야에서 매우 중요합니다.

DeepSeek-R1이 특히 경쟁력 있고 매력적인 이유는 오픈소스 특성 때문입니다. 이 모델은 MIT 라이선스로 제공되어 상업적 사용에 제한이 없습니다. 독점 모델과 달리 이 접근 방식은 개발자와 연구자가 아키텍처를 완전히 탐색하고, 필요에 맞게 수정하며, 다양한 워크플로에 배포할 수 있도록 합니다.

DeepSeek-R1은 어떻게 개발되었나?

이 섹션에서는 DeepSeek-R1의 개발 과정을 이전 모델인 DeepSeek-R1-Zero부터 살펴봅니다.

DeepSeek-R1-Zero

DeepSeek-R1은 강화 학습만으로 훈련된 R1-Zero에서 시작되었습니다. 이 접근 방식으로 모델은 강력한 추론 능력을 키울 수 있었지만, 몇 가지 문제가 있었습니다.

  • 출력을 읽기 어려운 경우가 많았습니다.
  • 모델이 응답 내에서 언어를 섞어 사용하여 사용자 친화적이지 않았습니다.

이러한 한계로 인해 R1-Zero는 논리적으로는 타당했지만 실제 응용에는 부적합했습니다.

순수 강화 학습의 과제

순수 강화 학습에 의존한 결과, 출력은 논리적으로 유효하지만 구조가 나빴습니다. 지도 학습 데이터의 안내 없이 모델은 추론 과정을 효과적으로 전달하는 데 어려움을 겪었습니다. 이러한 명확성 부족은 정확성과 투명성이 필요한 사용자에게 장벽이 되었습니다.

DeepSeek-R1의 개선 사항

이러한 문제를 극복하기 위해 DeepSeek은 R1 개발 시 하이브리드 접근 방식을 채택했습니다. 강화 학습과 지도 미세 조정을 결합하여, 큐레이션된 데이터셋을 추가해 모델의 가독성과 일관성을 향상시켰습니다. 이 변화는 중요한 문제들을 해결했습니다.

  • 언어 혼합이 크게 줄었습니다.
  • 단편적인 추론이 개선되어 더 명확한 출력을 얻었습니다.

이러한 발전으로 DeepSeek-R1은 실제 응용에 더 실용적이고 신뢰할 수 있는 도구가 되었습니다.

DeepSeek-R1 성능 벤치마크

DeepSeek-R1은 수학에서 MATH-500 97.3%, AIME 2024 79.8%의 최고 점수를 기록하며 경쟁사를 능가합니다. 코딩에서는 SWE-bench Verified 49.2%, Live Code Bench 65.9%로 두각을 나타내며 두 분야에서 고른 전문성을 보여줍니다.

DeepSeek R1 벤치마크

모든 모델은 최대 생성 길이 32,768 토큰으로 평가되었으며, 특정 샘플링 파라미터(온도 0.6, top-p 0.95, 쿼리당 64개 응답)를 사용하여 벤치마크의 pass@1을 계산했습니다.

지금 DeepSeek-R1 데모 사용해보기

DeepSeek-R1-Distill 모델

증류(Knowledge Distillation)는 큰 모델의 지식을 작은 모델로 전이하는 머신러닝 방법입니다. 목표는 큰 모델과 유사한 성능을 유지하면서도 더 효율적인 모델을 개발하는 것입니다.

DeepSeek은 R1의 증류 버전도 출시했습니다. 이 모델들은 더 작은 크기로 원본 모델의 능력을 대부분 유지하면서 계산 효율성이 높습니다. DeepSeek-R1이 생성한 데이터로 미세 조정되었으며, 15억에서 700억 파라미터 크기로 제공됩니다.

DeepSeek-R1-Distill 모델 벤치마크

출처: DeepSeek 릴리스 논문

Novita AI를 통해 DeepSeek-R1 API 사용하기

Novita AI 플랫폼은 간단한 API와 저렴한 GPU 클라우드 인프라를 제공하여 DeepSeek-R1 배포를 간소화합니다. 개발자는 하드웨어 설정이나 확장성에 대한 걱정 없이 애플리케이션에 모델을 원활하게 통합할 수 있습니다.

Novita AI에서 DeepSeek-R1을 시작하려면 다음 단계를 따르세요.

1단계: Novita AI로 이동하여 Google, GitHub 계정 또는 이메일 주소로 로그인합니다.

2단계: DeepSeek-R1 데모를 시도합니다.

3단계: Novita AI에서 모델의 LLM 메트릭 콘솔을 모니터링합니다.

4단계: API 키를 가져옵니다.

  • 설정에서 "키 관리"로 이동합니다.
  • 첫 로그인 시 기본 키가 생성됩니다.
  • 추가 키를 생성하려면 "+ 새 키 추가"를 클릭합니다.

5단계: 개발 환경을 설정하고 콘텐츠, 역할, 이름, 프롬프트 등의 옵션을 구성합니다.

API 통합

Novita AI는 Curl, Python, JavaScript용 클라이언트 라이브러리를 제공하여 DeepSeek-R1을 프로젝트에 쉽게 통합할 수 있습니다.

Python 사용자용:

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="<YOUR Novita AI API Key>",
)

model = "deepseek/deepseek-r1"
stream = True # or False
max_tokens = 2048
system_content = """Be a helpful assistant"""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": system_content,
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
    temperature=temperature,
    top_p=top_p,
    presence_penalty=presence_penalty,
    frequency_penalty=frequency_penalty,
    response_format=response_format,
    extra_body={
      "top_k": top_k,
      "repetition_penalty": repetition_penalty,
      "min_p": min_p
    }
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)
  

JavaScript 사용자용:

import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: "https://api.novita.ai/v3/openai",
  apiKey: "<YOUR Novita AI API Key>",
});
const stream = true; // or false

async function run() {
  const completion = await openai.chat.completions.create({
    messages: [
      {
        role: "system",
        content: "Be a helpful assistant",
      },
      {
        role: "user",
        content: "Hi there!",
      },
    ],
    model: "deepseek/deepseek-r1",
    stream,
    response_format: { type: "text" },
    max_tokens: 2048,
    temperature: 1,
    top_p: 1,
    min_p: 0,
    top_k: 50,
    presence_penalty: 0,
    frequency_penalty: 0,
    repetition_penalty: 1
  });

  if (stream) {
    for await (const chunk of completion) {
      if (chunk.choices[0].finish_reason) {
        console.log(chunk.choices[0].finish_reason);
      } else {
        console.log(chunk.choices[0].delta.content);
      }
    }
  } else {
    console.log(JSON.stringify(completion));
  }
}

run();
  

Curl 사용자용:

curl "https://api.novita.ai/v3/openai/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <YOUR Novita AI API Key>" \
  -d @- << 'EOF'
{
    "model": "deepseek/deepseek-r1",
    "messages": [
        {
            "role": "system",
            "content": "Be a helpful assistant"
        },
        {
            "role": "user",
            "content": "Hi there!"
        }
    ],
    "response_format": { "type": "text" },
    "max_tokens": 2048,
    "temperature": 1,
    "top_p": 1,
    "min_p": 0,
    "top_k": 50,
    "presence_penalty": 0,
    "frequency_penalty": 0,
    "repetition_penalty": 1
}
EOF
  

💡 DeepSeek의 전문가 팁

DeepSeek-R1 모델을 사용할 때 최적의 성능을 얻으려면 다음 설정을 권장합니다.

  1. 온도 설정: 온도를 0.5-0.7 범위로 설정합니다(0.6 권장). 일관성 없는 출력이나 끝없는 반복을 방지합니다.
  2. 프롬프트 디자인: 시스템 프롬프트를 추가하지 말고 모든 지침을 사용자 프롬프트에 직접 포함하세요.
  3. 수학 문제: 수학 관련 작업의 경우 "단계별로 추론하고 최종 답변을 \boxed{} 안에 넣으세요."와 같은 지시를 추가하세요.
  4. 평가: 여러 번 테스트하고 결과를 평균 내어 신뢰할 수 있는 벤치마킹을 보장하세요.

DeepSeek-R1 vs. OpenAI o1: 벤치마크 성능

DeepSeek-R1 벤치마크

DeepSeek-R1은 다양한 벤치마크에서 OpenAI o1과 직접 경쟁하며, 종종 그 성능을 따라잡거나 능가합니다.

수학 벤치마크

고급 수학 작업에서 DeepSeek-R1은 강력한 성능을 보여줍니다. AIME 2024에서 79.8%로 OpenAI o1-1217의 79.2%보다 약간 앞섰습니다. 다양한 고등학교 수준 문제를 포함하는 MATH-500에서는 DeepSeek-R1이 97.3%로 OpenAI o1-1217의 96.4%를 능가합니다.

코딩 벤치마크

프로그래밍 벤치마크에서 DeepSeek-R1은 Codeforces에서 96.3%로 OpenAI o1-1217의 96.6%에 약간 뒤집니다. 그러나 소프트웨어 엔지니어링 작업의 추론을 평가하는 SWE-bench Verified에서는 DeepSeek-R1이 49.2%로 OpenAI o1-1217의 48.9%보다 약간 높습니다.

일반 지식 벤치마크

OpenAI o1이 일반 지식 작업에서 앞서지만, DeepSeek-R1도 경쟁력을 유지합니다. GPQA Diamond에서 71.5%를 기록한 반면 OpenAI o1-1217은 75.7%입니다. 다중 작업 벤치마크인 MMLU에서 DeepSeek-R1은 90.8%로 OpenAI o1-1217의 91.8%에 근접합니다.

이러한 결과는 DeepSeek-R1이 특히 수학과 프로그래밍 분야에서 추론 집약적 영역의 강점을 보여줍니다.

지금 DeepSeek-R1의 힘을 활용하세요

DeepSeek-R1은 추론 중심 AI의 중요한 발전으로, 투명성, 신뢰성, 유연성을 제공합니다. 수학 및 소프트웨어 엔지니어링 작업에서의 강력한 성능은 연구, 교육, 기술 워크플로의 솔루션을 찾는 개발자에게 강력한 도구가 됩니다.

Novita AI에서 제공되므로 DeepSeek-R1 배포는 간단하고 비용 효율적입니다. 복잡한 수학 문제를 해결하거나 프로그래밍 작업을 자동화할 때 DeepSeek-R1은 다양한 AI 응용 프로그램에 강력하고 접근 가능한 솔루션을 제공합니다.

Novita AI 소개

Novita AI는 개발자가 간단한 API를 사용하여 AI 모델을 쉽게 배포하고, 경제적이고 신뢰할 수 있는 GPU 클라우드로 구축 및 확장할 수 있는 AI 클라우드 플랫폼입니다.