Amazon Web Services ブログ
Amazon Bedrock で DeepSeek-R1 Distilled Llama モデルをデプロイする
本記事は 2025 年 1 月 29 日に公開された Deploy DeepSeek-R1 Distilled Llama models in Amazon Bedrock を翻訳したものです。翻訳はソリューションアーキテクトの森下裕介が担当しました。
オープンな基盤モデル (FM) は生成 AI イノベーションの要であり、それによりあらゆる組織はコストとデプロイ戦略をコントロールしながら AI アプリケーションを構築・カスタマイズすることができます。高品質でありオープンに利用可能なモデルを提供することで、AI コミュニティは迅速なイテレーション、ナレッジシェア、そして開発者とエンドユーザーの両方に利益をもたらす費用対効果の高いソリューションを促進しています。AI 技術の進歩にフォーカスしている研究開発企業である DeepSeek AI は、このエコシステムに大きく貢献しています。彼らの DeepSeek-R1 モデルは、コード生成から一般的な推論まで幅広いタスクを処理しながら、競争力の高いパフォーマンスと効率性を維持するように設計された大規模言語モデル (LLM) のファミリーを表しています。
Amazon Bedrock Custom Model Import を使用することで、Amazon Bedrock が提供する既存の基盤モデルと同様に、カスタマイズしたモデルを単一のサーバーレスかつ統一された API を通じてインポートし、利用することができます。インフラストラクチャを管理する必要なく、インポートしたカスタムモデルにオンデマンドでアクセスすることが可能です。また、Knowledge Bases、Guardrails、Agents のような Amazon Bedrock のネイティブなツールや機能とカスタムモデルを統合することで、生成 AI アプリケーションの開発を加速させることができます。
この記事では、Amazon Bedrock Custom Model Import を使用して DeepSeek-R1 の蒸留バージョンをデプロイする方法を探ります。これにより、最先端のAI 機能を安全でスケーラブルな AWS インフラストラクチャ内で効果的なコストで使用したい組織がアクセスできるようになります。
訳註:2025 年 1 月 31 日現在、オリジナルバージョンである DeepSeek-R1 は Amazon Bedrock Marketplace 経由にて Amazon Bedrock 上で利用することが可能です。詳細はこちらのブログをご覧ください。
DeepSeek-R1 蒸留モデルのバリエーション
DeepSeek-R1 をベースとして、DeepSeek AI は Meta Llama および Qwen のアーキテクチャに基づいて、15 億から 700 億のパラメータを持つ一連の蒸留モデルを作成しました。蒸留プロセスでは、より大きな DeepSeek-R1 モデルを教師として使用し、その動作と推論パターンを模倣するように、より小さく効率的なモデルを訓練します。6710 億パラメータモデルの知識と能力を、よりコンパクトなアーキテクチャに転移させるのです。結果として得られた DeepSeek-R1-Distill-Llama-8B (ベースモデル Llama-3.1-8B から) や DeepSeek-R1-Distill-Llama-70B (ベースモデル Llama-3.3-70B-Instruct から) などの蒸留モデルは、パフォーマンスとリソース要件の間で異なるトレードオフを提供します。蒸留モデルは元の 6710 億モデルと比較して推論能力がやや低下する可能性がありますが、推論速度を大幅に向上させ、計算コストを削減します。例えば、8B バージョンのような小さな蒸留モデルは、リクエストの処理が非常に速く、リソース消費が少ないため、本番環境でのデプロイにおいては費用対効果が高くなります。一方、70B モデルのような大きな蒸留バージョンは、元のモデルに近いパフォーマンスを維持しながらも依然として意味のある効率性の向上を提供します。
ソリューション概要
この記事では、Amazon Bedrock Custom Model Import を使用して DeepSeek-R1 モデルの蒸留バージョンをデプロイする方法をご紹介します。今回は現在サポートされている DeepSeek-R1-Distill-Llama-8B と DeepSeek-R1-Distill-Llama-70B にフォーカスします。これらは、パフォーマンスとリソース効率の最適なバランスを提供します。これらのモデルを Amazon Simple Storage Service (Amazon S3) または Amazon SageMaker AI モデルリポジトリからインポートし、Amazon Bedrock を通じてフルマネージドなサーバーレス環境にデプロイできます。以下の図は、エンドツーエンドのフローを示しています。
このワークフローでは、Amazon S3 に保存されたモデルアーティファクトが Amazon Bedrock にインポートされ、Amazon Bedrock がモデルのデプロイメントとスケーリングを自動的に処理します。このサーバーレスアプローチにより、インフラ管理の必要性がなくなり、エンタープライズグレードのセキュリティとスケーラビリティが提供されます。
GUI を使用してデプロイする場合は、Amazon Bedrock コンソールを使用し、以下のこの記事の手順に従って操作してください。または、Amazon Bedrock SDK によるプログラムによってデプロイしたい方はこちらのノートブックを参照ください。
前提条件
手順を進めるにあたっては以下の前提条件が必要となります。
- Amazon Bedrock にアクセスできる AWS アカウント。
- Amazon Bedrock と Amazon S3 の操作に必要となる AWS Identity and Access Management (IAM) ロールと権限。詳細についてはドキュメントを参照してください。
- カスタムモデルを保存するために準備された S3 バケット。詳細についてはドキュメントを参照してください。
- 十分なローカルストレージスペース ( 8B モデルの場合は少なくとも 17GB、70B モデルの場合は 135GB ) 。
モデルパッケージの準備
1. モデルパッケージを準備するには、以下の手順を完了してください:
デプロイしたいモデルに応じて、以下の Hugging Face のリンクのいずれかから DeepSeek-R1-Distill-Llama モデルアーティファクトをダウンロードします。
ダウンロードの詳細については、Hugging Faceの「モデルのダウンロード」または「ハブからのファイルのダウンロード」の手順を参照ください。
通常、以下のファイルが必要です。
-
- モデル設定ファイル:
config.json
- トークナイザーファイル:
tokenizer.json
、tokenizer_config.json
、tokenizer.mode
.safetensors
形式のモデルの重みファイル
- モデル設定ファイル:
2. これらのファイルを S3 バケット内のフォルダにアップロードします。Amazon Bedrock を利用する AWS リージョンと同じリージョンを使用してください。使用している S3 パスをメモしておきます。(訳註:2025 年 1 月 29 日現在 Amazon Bedrock Custom Model Import をサポートしているのは、米国東部 (バージニア北部) リージョンおよび米国西部 (オレゴン) リージョンとなります。)
モデルのインポート
モデルをインポートするには、以下の手順を完了してください:
1. Amazon Bedrock コンソールにてナビゲーションペインの Foundation models の下にある Imported models を選択します。
2. Import model を選択します。
3. Model name にモデルの名前を入力します (インポートしたモデルを追跡するために、名前にバージョニングスキームを使用することをお勧めします) 。
4. Import job name にインポートジョブの名前を入力します。
5. Model import settings にて、インポートソースとして Amazon S3 bucket を選択し、先ほどメモした S3 パスを入力します (s3://<your-bucket>/folder-with-model-artifacts/
の形式で完全なパスを提供してください)。
6. Encryption で、必要に応じて暗号化設定をカスタマイズすることができます。
7. Service access role で、新しい IAM ロールを作成するか、独自のロールを提供するかを選択します。
8. Import model を選択します。
モデルのインポートには、インポートされるモデルに応じて数分かかります (例えば、Distill-Llama-8B モデルの場合完了までに5〜20 分かかる可能性があります) 。
ステップバイステップのガイドについては、このビデオデモをご覧ください。
インポートしたモデルのテスト
モデルをインポートした後、Amazon Bedrock Playground を使用するか Amazon Bedrock のモデル呼び出し API を直接使用してテストできます。Playground を使用するには、以下の手順を完了してください。
- Amazon Bedrock コンソールで、ナビゲーションペインの Playgrounds の下にある Chat / Text を選択します。
- モデルセレクターから、インポートしたモデル名を選択します。
- 必要に応じて推論パラメータを調整し、テストプロンプトを書きます。例えば、以下のように入力してください。
<|begin▁of▁sentence|><|User|>Given the following financial data: - Company A's revenue grew from $10M to $15M in 2023 - Operating costs increased by 20% - Initial operating costs were $7M Calculate the company's operating margin for 2023. Please reason step by step, and put your final answer within \\boxed{}<|Assistant|>
Playground でインポートしたモデルを使用しているため、DeepSeek モデルのコンテキストを適切にフォーマットするために、”beginning_of_sentence” と “user/assistant” タグを含める必要があります。これらのタグは、モデルが会話の構造を理解し、より正確な応答を提供するのに役立ちます。ノートブック を用いてプログラムによるアプローチに従っている場合、これはモデルを設定することで自動的に処理されます。
4. モデルの応答とメトリクスを確認します。
注:モデルを初めて呼び出すときに、ModelNotReadyException
エラーが発生した場合、SDK はエクスポネンシャルバックオフを使用してリクエストを自動的に再試行します。復元時間は、オンデマンドフリートのサイズとモデルのサイズによって異なります。AWS SDK for Python (Boto3) Config オブジェクトを使用して、再試行の動作をカスタマイズできます。詳細については、こちらのドキュメントを参照してください。
モデルのインポートの準備ができたら、上記のステップバイステップのビデオデモを参考にしながら利用を開始してください。
料金
Custom Model Import を使用すると、サポートされているアーキテクチャのカスタムモデルの重みを Amazon Bedrock 内で使用でき、Amazon Bedrock の既存の基盤モデルと同様にフルマネージドな環境でオンデマンドモードにてモデルをサーブすることが可能となります。Custom Model Import はモデルのインポートに対して課金はなされません。推論に対して、「アクティブなモデルコピーの数」と「アクティビティ期間」の 2 つの要因に基づいて課金されます。
請求は、各モデルコピーの最初の成功した呼び出しから始まる 5 分間のウィンドウで行われます。モデルコピーあたりの 1 分あたりの価格は、アーキテクチャ、コンテキスト長、リージョン、コンピュートユニットバージョンなどの要因に基づいて変動し、モデルコピーのサイズによって階層化されています。ホスティングに必要なカスタムモデルユニットは、モデルのアーキテクチャ、パラメータ数、コンテキスト長に依存し、例えば Llama 3.1 8B 128K モデルの場合は 2 ユニット、Llama 3.1 70B 128Kモデルの場合は 8 ユニットとなります。
Amazon Bedrock は自動的にスケーリングを管理し、デフォルトでは使用パターンに基づいて 0 から 3 のモデルコピーを維持します (Service Quotas を通じて調整可能)。5 分間呼び出しがない場合、0 にスケールダウンし、必要に応じてスケールアップしますが、これには数十秒のコールドスタート遅延が伴う可能性があります。推論量が単一コピーの同時実行制限を一貫して超える場合、追加のコピーが追加されます。コピーあたりの最大スループットと同時実行性は、入/出力トークンの組み合わせ、ハードウェアタイプ、モデルサイズ、アーキテクチャ、推論の最適化などの要因に基づいてインポート時に決定されます。
料金の例を見てみましょう:アプリケーション開発者が us-east-1 リージョンで 128K シーケンス長・パラメータサイズ 8B のカスタマイズ済み Llama 3.1 タイプモデルをインポートし、1 ヶ月後にモデルを削除するケースです。これには、2 つのカスタムモデルユニットが必要となります。したがって、1 分あたりの価格は $0.1570 となり、モデルのストレージコストは 1 ヶ月で $3.90 となります。
詳細については、Amazon Bedrock の料金ページをご覧ください。
ベンチマーク
DeepSeek は、モデルリポジトリで利用可能な、DeepSeek-R1 から蒸留された彼らのモデルとベースとなる Llama モデルを比較したベンチマークを公開しています。ベンチマークによると、タスクに応じて DeepSeek-R1-Distill-Llama-70B は元のモデルの推論能力の 80-90% を維持し、8B バージョンはリソース要件を大幅に削減しながら 59-92% のパフォーマンスを達成しています。どちらの蒸留バージョンも、特定の推論タスクにおいて対応するベースの Llama モデルよりも改善を示しています。
その他の考慮事項
Amazon Bedrock で DeepSeek モデルをデプロイする際は、以下の点を考慮してください。
- モデルのバージョン管理が不可欠です。Custom Model Import は各インポートに対して固有のモデルを作成するため、異なるバージョンやバリエーションを追跡するためには、モデル名に明確なバージョニング戦略を実装してください。
- 現在サポートされているモデル形式は Llama ベースのアーキテクチャに焦点を当てています。DeepSeek-R1 の蒸留バージョンモデルは優れたパフォーマンスを提供しますが、AI エコシステムは急速に進化し続けています。新しいアーキテクチャやより大きなモデルがプラットフォームを通じて利用可能になる Amazon Bedrock のモデルカタログに注目してください。
- ユースケースの要件を慎重に評価してください。DeepSeek-R1-Distill-Llama-70B のような大きなモデルはより良いパフォーマンスを提供しますが、8B バージョンは多くのアプリケーションに対して十分な能力を低コストで提供する可能性があります。
- モニタリングと可観測性の実装を検討してください。Amazon CloudWatch はインポートしたモデルのメトリクスを提供し、利用パターンとパフォーマンスを追跡するのに役立ちます。AWS Cost Explorer を使用してコストを監視できます。
- 低い同時実行クォータから始め、実際の使用パターンに基づいてスケールアップすることを検討してください。アカウントあたり 3 つの同時モデルコピーというデフォルトの制限は、殆どのケースにおいて初期のデプロイメントに適しています。
結論
Amazon Bedrock Custom Model Import は、あらゆる組織が DeepSeek-R1 蒸留バージョンモデルなどの強力な公開モデルを使用しながら、エンタープライズグレードのインフラストラクチャの恩恵を受けることを可能にします。Amazon Bedrock のサーバーレスな特性により、モデルのデプロイメントと運用の管理の複雑さが解消され、チームはインフラストラクチャではなくアプリケーションの構築に集中できます。自動スケーリング、使用量に応じた料金設定、AWS サービスとのシームレスな統合などの機能により、Amazon Bedrock は AI ワークロードに対する本番対応の環境を提供します。DeepSeek の革新的な蒸留アプローチと Amazon Bedrock のマネージドインフラストラクチャの組み合わせは、パフォーマンス、コスト、運用効率の最適なバランスを提供します。組織は小さなモデルから始め、必要に応じてスケールアップしながら、モデルのデプロイメントを完全にコントロールし、AWS のセキュリティとコンプライアンス機能の恩恵を受けることができます。
Amazon Bedrock が提供する独自の基盤モデルとオープンな基盤モデルの選択肢により、組織は特定のニーズに最適化する柔軟性を得られます。オープンモデルは、モデルアーティファクトを完全に制御しながら費用対効果の高いデプロイメントを可能にし、カスタマイズ、コスト最適化、またはモデルの透明性が重要なシナリオに適しています。この柔軟性と、Amazon Bedrock の統一的な API およびエンタープライズグレードのインフラストラクチャを組み合わせることで、組織は要件の進化に適応できる耐久性のある AI 戦略を構築できます。
詳細については、Amazon Bedrock ユーザーガイドを参照してください。
著者について
Raj Pathak は、プリンシパルソリューションアーキテクトであり、カナダと米国の Fortune 50および 中堅金融サービス業 (銀行、保険、資本市場) のお客様の技術顧問を務めています。Raj は機械学習を専門とし、生成 AI、自然言語処理、インテリジェントドキュメント処理、MLOps の領域において高い専門性を持っています。
Yanyan Zhang は、Amazon Web Services のシニア生成 AI データサイエンティストです。生成 AI スペシャリストとして最先端の AI/ML 技術に取り組み、お客様が生成 AI を使用して望む成果を達成できるよう支援しています。Yanyan はテキサス A&M 大学で電気工学の博士号を取得しました。仕事以外では、旅行、運動、新しいことの探求を楽しんでいます。
Ishan Singh は、Amazon Web Services の生成 AI データサイエンティストで、お客様が革新的で責任ある生成 AI ソリューションと製品を構築するのを支援しています。AI/ML の強力な背景を持つ Ishan は、ビジネス価値を推進する生成 AI ソリューションの構築を専門としています。仕事以外では、バレーボールをしたり、地元の自転車道を探索したり、妻と犬の Beau と時間を過ごすことを楽しんでいます。
Morgan Rankey は、ニューヨークを拠点とするソリューションアーキテクトで、ヘッジファンドを専門としています。AWS エコシステム内で耐障害性のあるワークロードを構築するお客様の支援に優れています。AWS に入社する前は、Riskified のセールスエンジニアリングチームを IPO までリードしました。キャリアの始まりは、機械資産管理のための AI/ML ソリューションに焦点を当て、世界中の大手自動車会社にサービスを提供しました。
Harsh Patel は、クラウドネイティブソリューションを通じてデジタル変革を推進するため、米国全土の 200 以上の SMB のお客様をサポートするソリューションアーキテクトです。AI & ML スペシャリストとして、生成 AI、コンピュータビジョン、強化学習、異常検出に焦点を当てています。テクノロジーの世界以外では、ゴルフコースでリフレッシュしたり愛犬と一緒にハイキングに出かけたりしています。