DeepSeek は小規模モデルのパフォーマンス・パズルを解けるか


この記事は、インテルのウェブサイトで公開されている「Does DeepSeek Solve the Small Scale Model Performance Puzzle?」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


DeepSeek-R1 蒸留推論モデルのパフォーマンスとインテル® ハードウェア上での動作

DeepSeek は、蒸留バージョンを備えた第 1 世代の推論モデル、Deepseek-R1 (英語) をリリースしました。一見すると、複雑なタスクの解決 (英語) において既存のすべてのモデルよりも優れていると自称するモデルの 1 つのように思われるかもしれませんが、このモデルの本当の魅力は、高度な推論を小規模言語モデル (SLM) に転送する機能にあります。

大規模言語モデル (LLM) は、高い計算要件、複雑なインフラストラクチャーのニーズ、大規模なハードウェア・アクセラレーターへの依存により、企業がローカルでテスト/デプロイすることは容易ではありません。その結果、実用的な代替手段を提供し、広範なユースケースをサポートする外部の API にアプリケーションが依存することがよくあります。シナリオによっては、運用上の制約、戦略的な優先事項、特定のデプロイ要件などにより、モデルをローカルで実行する必要があります。これらのシナリオに効果的に対処するには、パフォーマンス、スケーラビリティー、アクセシビリティーを最適化するソリューションが必要です。

これらの課題に対処する、高度な推論機能を備えた SLM は、容易に利用可能な計算リソースを使用して、大規模なパフォーマンスとローカルまたは手頃な価格のデプロイとの間のギャップを埋めるものです。これらの小型にもかかわらず非常に優れた機能を備えたモデルは、効率を維持し、リソース消費を最適化しながら、複雑な推論を提供します。企業は、これらのモデルを、スケーラブルでコスト効率の良い、信頼性の高い AI アプリケーションのための効果的なソリューションとして使用できます。

その効率は実際に良いのでしょうか?

推論モデルはどのように動作するか

推論モデルは、LLM とは異なる方法で出力を生成します。LLM は、統計的な可能性に基づいて最初のトークンを速やかに生成し、流ちょうさと速度を最適化します。一方、推論モデルは、中間ステップを計画するために生成を遅らせて、応答の速さよりも論理的な正確さを優先します。

機能 LLM 推論モデル
最初のトークンの速度 高速 遅延 (計画による)
メカニズム 統計的な可能性に基づいてトークンを予測 トークン選択の前に中間推論を使用
流ちょうさと正確さ 流ちょうさを優先 正確さを優先
パターンと論理的ステップ データからのパターン 論理的ステップに従う

この違いは、SLM の推論機能が強化され、問題解決能力が向上し、コード生成が改善され、検索拡張生成 (RAG) などの手法を活用した AI アシスタントの信頼性が向上するにつれて重要になります。

DeepSeek-R1 は、従来の外部報酬モデルに依存することなく、出力を自律的に評価して改善する、革新的な Group Relative Policy Optimization (GRPO、グループ相対ポリシー最適化) アプローチにより、この違いを実証しています。さらに、DeepSeek-R1 には Chain-of-Thought (CoT、思考の連鎖) 推論が組み込まれているため、モデルは複雑なタスクを小さな論理的ステップに分解して、より透明で正確な出力を得ることができます。

DeepSeek 8B と Llama 3.1 8B でテストする

では、具体的にテストしてみましょう。小規模モデルはラップトップで実行できるため、ここでは、電力効率 (パフォーマンス/ワット) が高い AI 推論を実現可能な、インテル® Core™ Ultra 7 プロセッサーを搭載した AI PC (32GB の RAM を実装) を使用しました。

SLM には、DeepSeek の蒸留モデル、DeepSeek-R1-Distill-Llama-8B (英語) を使用しました。蒸留モデルは、大規模な AI モデルの小型で最適化されたバージョンであり、計算リソース要件を削減しつつ、その機能のほとんどを保持するようにトレーニングされています。

このテストのビデオはこちら (英語)。

知識蒸留では、大規模で高性能なモデル (「教師」、DeepSeek-R1) が、その知識を小規模モデル (「生徒」、LLaMA アーキテクチャー) に転送します。このプロセスにより、推論能力を可能な限り維持しつつ、サイズと計算要件が削減および緩和されて高速化され、ローカルでの使用が実用的になります。ここでは、同じパラメーター・サイズ・クラス (同様のデプロイリソースが必要) の主要な汎用 LLM、Llama 3.1-8B (英語) と、ロジックベースの質問を使用して比較を行い、パフォーマンスを評価しました。

Which weighs more: a pound of water, two pounds of bricks, a pound of feathers, or three pounds of air? (1 ポンドの水、2 ポンドのレンガ、1 ポンドの羽毛、3 ポンドの空気のうち、一番重いのは何ですか?)

True Answer: Three pounds of air. (正しい答え: 3 ポンドの空気。)

LLAMA 3.1 8B

A classic example of a trick question! (これはひっかけ問題の典型的な例です!)

In each case, the answer is… they all weigh the same amount. (どのケースも、答えは… すべて同じ重さです。)

  • A pound of water weighs 1 pound. (1 ポンドの水の重さは 1 ポンドです。)
  • Two pounds of bricks weigh 2 pounds. (2 ポンドのレンガの重さは 2 ポンドです。)
  • A pound of feathers weighs 1 pound. (1 ポンドの羽毛の重さは 1 ポンドです。)
  • Three pounds of air also weigh 3 pounds (air is essentially weightless in this context). (3 ポンドの空気は重さも 3 ポンドです (この文脈では、空気に本質的な重さはありません)。)

So, in each case, the answer is simply “a pound” or the number of pounds mentioned. (つまり、どのケースも、答えは単に「1 ポンド」または述べられているポンド数です。)

DeepSeek-R1-Distill-Llama-8B

<think>

Okay, so I’m trying to figure out which of these items weighs more. The options are: a pound of water, two pounds of bricks, a pound of feathers, and three pounds of air. Hmm, at first glance, it seems like some of these might be trickier than they look because they’re not all physical objects you can easily compare. (では、これらのアイテムのうちどれがより重いか考えてみましょう。選択肢は、1 ポンドの水、2 ポンドのレンガ、1 ポンドの羽毛、3 ポンドの空気です。うーん、一見すると、これらは簡単に比較できる有形物ではないため、いくつかは見た目よりも難しいように思えます。)

Let me start by breaking down each item. A “pound” is a unit of weight, so when someone says a pound of water, that’s exactly 16 fluid ounces, right? Similarly, a pound of feathers would also be 16 fluid ounces since it’s just the weight of the feathers in a pound. Two pounds of bricks sounds straightforward too; that’s two times 16 ounces, so 32 ounces or 2 pounds. (まず、各アイテムを分解することから始めましょう。「ポンド」は重さの単位ですから、1 ポンドの水と言えば、16 液量オンスのことですよね? 同様に、1 ポンドの羽毛は 1 ポンドに含まれる羽毛の重さに過ぎませんから、これも 16 液量オンスになります。2 ポンドのレンガも簡単です。16 オンスの 2 倍ですから、32 オンス、つまり 2 ポンドです。)

Now, the tricky part might be with three pounds of air. Air is something you can’t hold like a solid object, but in terms of weight, it does have mass. So, three pounds of air would actually be equivalent to three pounds in weight, even though it’s not something you can physically pick up. But wait, sometimes when people talk about air weight, they might think of it differently, especially in things like airplane weighings where air is considered negligible because it’s so light or maybe not counted at all. (さて、ややこしいのは 3 ポンドの空気です。空気は固体のように持つことはできませんが、重さという点では質量があります。つまり、3 ポンドの空気は、物理的に持ち上げられるものではないにもかかわらず、実際には 3 ポンドの重さに相当します。ちょっと待ってください。空気の重さについて話すとき、人々は異なる方法で考えることがあります。特に飛行機の重さの測定では、空気は非常に軽いため無視できると考えられたり、まったくカウントされなかったりします。)

Let me think about this again. A pound of water is 16 oz, two pounds of bricks would be 32 oz, a pound of feathers is also 16 oz. So far, two pounds of bricks seem to weigh the most in terms of ounces. But then there’s three pounds of air, which would be 48 ounces if we’re considering it as weight. Wait, that can’t be right because three pounds is three times a pound, so each pound is 16 ounces. Therefore, three pounds would be 48 ounces. (もう一度考えてみましょう。1 ポンドの水は 16 オンス、2 ポンドのレンガは 32 オンス、1 ポンドの羽毛も 16 オンスです。今までのところ、2 ポンドのレンガがオンスでは最も重いようです。しかし、3 ポンドの空気が残っています。これを重さとして考えると 48 オンスになります。この考えで正しいでしょうか? 3 ポンドは 1 ポンドの 3 倍で、1 ポンドは 16 オンスです。したがって、3 ポンドは 48 オンスになります。)

But wait, I might be confusing fluid ounces with weight ounces here. Actually, when dealing with air, sometimes it’s measured in different units like cubic feet or liters, but the question specifically mentions pounds, which are a unit of weight. So, if we’re talking about weight, three pounds of air would indeed be 48 ounces. However, in reality, when measuring air for weight, things get tricky because air is compressible and its density changes with altitude and temperature. (ちょっと待ってください。液量オンスと重量オンスを混同していませんか。実際に、空気を扱う場合、立方フィートやリットルなどの異なる単位で測定されることもありますが、質問では重さの単位であるポンドで具体的に述べられています。つまり、重さについて話している場合、3 ポンドの空気は確かに 48 オンスになります。しかし、実際には、空気の重さを測定する場合、空気は圧縮可能であり、その密度は高度と温度によって変化するため、状況はややこしくなります。)

In everyday terms, though, when someone talks about the weight of air, they might not mean it literally as a physical object but rather referring to atmospheric pressure or something else. But in this question, I think we’re supposed to take “three pounds of air” at face value as 3 pounds, which would be 48 ounces. (日常的な表現では、空気の重さについて話すとき、文字通りの有形物としての意味ではなく、大気圧やほかのものについて述べていることがあります。しかし、この質問では、「3 ポンドの空気」を額面通りに 3 ポンド、つまり 48 オンスと考えるべきだと思います。)

So comparing all options: 16 oz (water) and 16 oz (feathers), 32 oz (bricks), and 48 oz (air). So three pounds of air is the heaviest. But wait, that seems counterintuitive because we can’t feel the weight of air as much as a physical object. (すべての選択肢を比較すると、16 オンス (水) と 16 オンス (羽毛)、32 オンス (レンガ)、48 オンス (空気) になります。つまり、3 ポンドの空気が最も重くなります。ちょっと待ってください。空気の重さは有形物と同じように感じられるものではないため、直感に反しているように思えます。)

Let me double-check. A pound of water is about 16 oz, which is roughly 0.45 kg. Two pounds of bricks would be 2 kg, and a pound of feathers is also 0.45 kg. Three pounds of air, if we consider standard conditions (like at sea level), the density of air is about 1.225 kg/m³. So three pounds in kilograms is 3 / 2.20462 ≈ 1.35 kg. Then, using density, volume would be mass divided by density: 1.35 / 1.225 ≈ 1.10 m³. But that’s volume. Since we’re comparing weights (mass), the air itself weighs 1.35 kg, which is about 3 pounds. (もう一度確認しましょう。1 ポンドの水は約 16 オンスで、およそ 0.45 キログラムです。2 ポンドのレンガは 2 キログラムで、1 ポンドの羽毛も 0.45 キログラムです。3 ポンドの空気ですが、標準条件 (海面など) を考慮すると、空気の密度は約 1.225 キログラム/m³ です。つまり、3 ポンドをキログラムに換算すると、3/2.20462 ≈ 1.35 キログラムです。次に、体積は質量を密度で割った値、1.35/1.225 ≈ 1.10m³ です。しかし、これは体積です。ここでは重さ (質量) を比較しているのですから、空気自体の重さは 1.35 キログラムで、約 3 ポンドです。)

Wait, I’m getting confused here. If three pounds of air has a mass of three pounds, then it’s equivalent in weight to three pounds. So when someone says “three pounds of air,” they mean that the air itself weighs three pounds. Therefore, comparing all options, the three-pound air is the heaviest because it’s 3 pounds versus the others being 1 pound each or two pounds. (待ってください。混乱してしまいました。3 ポンドの空気の質量が 3 ポンドなら、重さは 3 ポンドに相当します。つまり、「3 ポンドの空気」と言う場合は、空気自体の重さが 3 ポンドであることを意味します。したがって、すべての選択肢を比較すると、3 ポンドの空気が最も重いのは、ほかの 1 ポンドまたは 2 ポンドに対して 3 ポンドであるためです。)

But I might be overcomplicating this. The question is straightforward: which weighs more? So: (しかし、これは必要以上に話をややこしくしていないでしょうか。質問は単純です。一番重いのは何ですか? つまり:)

– A pound of water = 1 lb – Two pounds of bricks = 2 lb – A pound of feathers = 1 lb – Three pounds of air = 3 lb (- 1 ポンドの水 = 1 ポンド – 2 ポンドのレンガ = 2 ポンド – 1 ポンドの羽毛 = 1 ポンド – 3 ポンドの空気 = 3 ポンド)

So, the three-pound air would weigh the most at 3 lb. (つまり、3 ポンドの空気が 3 ポンドで最も重いことになります。)

Wait, but sometimes in physics, air is considered to have negligible weight because it’s a gas, but that’s more about its effect on objects. Here, the question is asking about the weight of the air itself, so it’s three pounds versus others being less. (物理学では、空気は気体であるため重さは無視できると考えられていますが、それは物体への影響についてです。ここでの質問は、空気自体の重さについてですから、3 ポンドと、それより軽いものについてです。)

I think I’ve got it now. The three-pound air is the heaviest. (答えが分かったと思います。答えは、3 ポンドの空気が最も重い、です。)

</think>

—————————-

The item that weighs the most is three pounds of air. (最も重いアイテムは、3 ポンドの空気です。)

Step-by-Step Explanation: (段階的な説明:)

  1. Understanding Units: Each item is measured in pounds (lb), a unit of weight. (単位を把握: 各アイテムを、重さの単位であるポンド (lb) で測定します。)
  2. Convert Pounds to Ounces (if necessary): (ポンドをオンスに変換 (必要な場合):)
    • 1 pound = 16 ounces. (1 ポンド = 16 オンス。)
  3. Calculate Each Item’s Weight: (各アイテムの重さを計算:)
    • A pound of water = 1 lb. (1 ポンドの水 = 1 ポンド。)
    • Two pounds of bricks = 2 lb. (2 ポンドのレンガ = 2 ポンド。)
    • A pound of feathers = 1 lb. (1 ポンドの羽毛 = 1 ポンド。)
    • Three pounds of air = 3 lb. (3 ポンドの空気 = 3 ポンド。)
  4. Comparison: Among the options, three pounds of air is the heaviest at 3 lb. (比較: 選択肢の中で、3 ポンドの空気が 3 ポンドで最も重いです。)

—————————-

Answer: Three pounds of air weighs more than the other items listed. (答え: 3 ポンドの空気が、リストされているほかのアイテムよりも重いです。)

注: 各モデルの推論を理解できるように、答え全体が意図的に投稿に追加されています (この記事では、英語の後に日本語参考訳を追加しました)。

DeepSeek-R1 は慎重に推論を適用して正しい答えを見つけ出しましたが、Llama 3.1 8B は論理的な誤りを犯し、間違った結論に至りました。DeepSeek-R1 は結論に達するまでに時間がかかるため、答えの応答時間に影響する可能性があります。これは、モデルがコンテキストでプロンプトを理解し、正確でコンテキストを意識した応答を迅速に提供し、スケーラビリティーや効率を損なうことなく運用環境にシームレスに統合する、エンタープライズのユースケースに適しています。

小規模言語モデルを使用する理由

推論の結果は印象的ですが、「論理問題」を解くモデルを持つことのみが重要なのではありません。企業にとって理想的なソリューションは、速度、精度、推論能力のバランスが取れたモデルです。バランスが取れたモデルを使用することにより、CPU から専用のアクセラレーターまで、企業全体で通常利用可能な、さまざまな計算リソースを最大限に活用しながら、アプリケーションの要求を満たすことができます。アプリケーションをデプロイする場合でも、Open Platform for Enterprise AI (OPEA) (英語) などのオープンソース・フレームワークに依存する必要がある場合でも、組織はオンプレミス・インフラストラクチャーからクラウドやエッジデバイスまで、さまざまな環境で AI モデルをシームレスにデプロイ、最適化、拡張できます。

企業にとって重要な 2 つのポイント

  1. 精度/推論: 推論タスクに優れた SLM は、一部のユースケースで大規模モデル (例えば、70B パラメーター・モデル) を置き換えることができるため、AI アプリケーションの効率が向上します。
  2. ハードウェア要件: SLM は軽量であり、通常の PC でも実行できることが判明しています。開発者は AI アプリケーションをラップトップでテストできるだけでなく、効率的な外部 API やローカルデプロイなど、幅広いデプロイの可能性が広がります。

考えられることはほかにもあります。最初に思い浮かぶのは、「通常の PC で実行できるなら、GPU はもう必要ないのでは?」という疑問でしょう。これは、SLM が高価なハードウェアの回避に役立つという点では部分的に真実ですが、考慮すべき点もあります。

AI アプリケーション向けにモデルをデプロイする場合、スケーラビリティーを考慮する必要があります。言い換えると、何人のユーザーとやり取りして、何件のリクエストを処理するかということです。

AI アプリケーションの利用レベルが高くなると、さらに強力なハードウェアが必要になります。インテル® Xeon® スケーラブル・プロセッサーは、クラウド、オンサイト・データセンター、外部 API のいずれでも広く利用可能で、SLM 推論を実行できます。処理能力を上げるには、インテル® Gaudi® などの専用の AI アクセラレーターを追加します。簡潔に言うと、同じハードウェアでは、8B モデルは 70B モデルよりも多くのユーザーにサービスを提供できます。

ローカル AI PC を使用して高性能な AI アプリケーションを開発およびテストでき、容易に利用可能なデータセンターや PC ベースの計算リソースにデプロイできる柔軟性を備えた SLM は、まさにゲームチェンジャーと言えるでしょう。

まとめ

このブログでは、複数の DeepSeek-R1 蒸留モデル (英語) を使用して行ったテストのうちの 1 つを紹介しました。また、CHAMP データセット (英語) の数学演算 (英語) を使用してテストしました。ほとんどの場合、DeepSeek-R1 は推論タスクでほかのモデルのパフォーマンスを上回りました。

ただし、パフォーマンスはテストごとに異なり、さらに強化の余地があることが明らかになりました。DeepSeek は、論文「DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning (DeepSeek-R1: 強化学習による LLM の推論能力の奨励)」 (英語) で、これらの制限を認めています。それにもかかわらず、DeepSeek-R1 が達成した進歩は注目に値します。これは、コスト効率の高い AI の作成に向けた一歩であり、開発者を最先端のテクノロジーに近づけるものです。

インテル® ハードウェアで DeepSeek を体験してみてください

理想的なソリューションは、速度、精度、推論能力のバランスを取り、企業の要求を満たしつつ処理時間とリソース使用を最小限に抑える、という前提の下に、以下のインテルのプラットフォームで DeepSeek を実際に試してみてください。

  • AI PC: インテル® Tiber™ AI クラウドは、AI を搭載した PC 機能へのアクセスを提供して、パフォーマンスと応答性が向上した効率的なオンデバイス AI ワークロードを実現します。

  • インテル® Xeon® スケーラブル・プロセッサー: ハイパフォーマンス・コンピューティング向けに設計されたインテル® Xeon® プロセッサーは、複数のクラウド・サービス・プロバイダーで利用できます。さらに、インテル® Tiber™ AI クラウドは、最先端のインテル® Xeon® プロセッサー・ベースの AI インフラストラクチャーへのアクセスを提供し、スケーラビリティーとワークロードの最適化を強化します。

  • インテル® Gaudi® 2 AI アクセラレーター: ディープラーニングのコスト・パフォーマンスが向上するように調整されたインテル® Gaudi® 2 アクセラレーターは、大規模な AI モデルのトレーニングと推論向けに最適化されています。デプロイと可用性の詳細については、Denvr Dataworks (英語) を参照してください。

YouTube で公開されている実行したテストのビデオ (英語):

著者紹介

Ezequiel Lanza インテル コーポレーション オープンソース AI エバンジェリスト

Ezequiel Lanza (英語) はインテル コーポレーションのオープンソース AI エバンジェリストであり、人々が AI の刺激的な世界を楽しむことができるように熱心に取り組んでいます。AI カンファレンスで頻繁に講演を行うとともに、オープンソースの AI ツールの導入を支援するため、開発者向けのユースケース、チュートリアル、ガイドを作成しています。データサイエンスの修士号を取得しています。彼の X (英語) および LinkedIn (英語)。

最新のインテル® Xeon® スケーラブル・プロセッサーやインテル® Gaudi® AI アクセラレーター向けの最適化を支援

エクセルソフトは、最新のインテル® Xeon® スケーラブル・プロセッサーをターゲットとする企業や開発チーム向けに、インテル® ソフトウェア開発ツールを利用したパフォーマンスの最適化支援を提供しています。コンパイラー・オプションの提案、パフォーマンス分析ツールによるアプリケーションの解析やチューニングなどを通して、パフォーマンスと開発効率の向上によるコスト削減を支援します。

最新のインテル® Xeon® スケーラブル・プロセッサーやインテル® Gaudi® AI アクセラレーターを搭載したクラウドサービス「インテル® Tiber AI クラウド」の導入サポートでは、LLM や生成 AI を活用した AI アプリケーションやサービスの開発および運用に携わる企業向けに、POC 構築や最適な価格プランのご提案から国内での購入サポートまで、企業のニーズに合わせたを支援します。また、AI スタートアップ企業の育成に特化したインテルの無料プログラムの推薦なども行っています。

3/26 (水) AI 開発者イベント「AI DEVELOPER TECH DAY 2025」参加登録受付中

本イベントでは、インテル ソフトウェア開発ツールを利用して、インテルのデータセンター向け CPU、GPU、AI アクセラレーターや AI PC 上で、大規模言語モデル (LLM) を含む生成 AI を活用した AI ソフトウェアを効率よく開発および最適化するための手法について解説します。