Deepseek-R1がNovita AIで利用可能に:OpenAI o1の強力な競合

Deepseek-R1がNovita AIで利用可能に:OpenAI o1の強力な競合

中国のAIラボDeepSeekは、複数のベンチマークでOpenAIのo1に迫る推論モデルDeepSeek-R1のオープンソース版をリリースしました。このモデルは現在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 benchmark

すべてのモデルは、最大生成長32,768トークンで評価され、特定のサンプリングパラメータ(温度0.6、top-p 0.95、クエリあたり64応答)を使用して、ベンチマークのpass@1を計算しています。

今すぐDeepSeek-R1デモを試す

DeepSeek-R1-Distillモデル

蒸留、または知識蒸留は、大規模モデルから小規模モデルに知識を転送する機械学習手法です。目的は、大規模モデルと同様のパフォーマンスを達成できる、より効率的なモデルを開発することです。

DeepSeekはまた、R1の蒸留バージョンをリリースしており、元のモデルの能力の多くを保持しつつ、計算効率がより高い小規模モデルを提供しています。これらのモデルはDeepSeek-R1によって生成されたデータを使用してファインチューニングされており、1.5億から700億パラメータのサイズで利用可能です。

benchmark of DeepSeek-R1-Distill Models

出典: 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. 数学的問題: 数学を含むタスクの場合は、“Please reason step by step, and put your final answer within \boxed{}.” のような指示を追加します。
  4. 評価: 複数回テストを実施し、結果を平均して信頼性の高いベンチマークを確保します。

DeepSeek-R1 vs. OpenAI o1:ベンチマークパフォーマンス

benchmark of 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では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クラウドプラットフォームです。