DeepSeek R1 on Databricks

[DeepSeek R1 on Databricks \| Databricks Blog](https://www.databricks.com/blog/deepseek-r1-databricks)の翻訳です。

:::note warn
本書は著者が手動で翻訳したものであり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

:::note info
**要約**

- Mosaic AIモデルサービングでDeepSeek-R1をデプロイ
- コスト効率の高い推論のための蒸留されたモデルで効率性を向上
- OpenAI、Amazon Bedrockや他のモデルとともにシームレスにDeepSeek-R1を管理
:::

Deepseek-R1は、オープンソースコミュニティに初めて「論理的思考」機能を導入した最先端のオープンモデルです。特に、このリリースにはLlama-70BやLlama-8Bモデルへのその機能の蒸留が含まれており、スピード、コスト効率性、そして「論理的思考」の能力の魅力的な組み合わせを提供しています。Mosaic AIモデルサービングに蒸留したDeepSeek-R1-Llamaを簡単にダウンロードして実行し、Databricksデータインテリジェンスプラットフォームによるセキュリティ、最高クラスのパフォーマンス最適化、インテグレーションによるメリットを享受する方法を共有できることを嬉しく思っています。これらの「論理的思考」モデルを用いることで、あなたのデータに対してさらにインテリジェントに推論を行うこおtができるエージェントシステムを構築しましょう。

![](https://www.databricks.com/sites/default/files/inline-images/playground-demo.gif?v=1738277005)

# DatabricksにDeepseek-R1-Distilled-Llamaをデプロイする

DatabricksにDeepseek-R1-Distill-Llamaモデルをダウンロード、登録、デプロイするには、こちらにある[ノートブック](https://docs.databricks.com/en/_extras/notebooks/source/machine-learning/large-language-models/prov-throughput-deepseek-r1-distill-llama.html)を使うか、以下の簡単な手順に従います:

## 1. コンピュートの起動、モデルのダウンロード

必要なコンピュート[^1]を起動し、モデルとトークナイザーをロードします:

```py
from transformers import AutoTokenizer, AutoModelForCausalLM
    
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-R1-Distill-Llama-8B")
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/DeepSeek-R1-Distill-Llama-8B")
```

このプロセスは、Llama 8Bの場合には32GB相当の重みをダウンロードするので数分かかります。

## 2. モデルとトークナイザーの登録

transformersモデルとしてモデルとトークナイザーを登録します。`mlflow.transformers`はUnity Catalogへのモデルの登録をシンプルにします。モデルのサイズ(この場合8B)とモデル名を指定するだけです。

```py
transformers_model = {"model": model, "tokenizer": tokenizer}
task = "llm/v1/chat"

with mlflow.start_run():
   model_info = mlflow.transformers.log_model(
       transformers_model=transformers_model,
       artifact_path="model",
       task=task,
       registered_model_name="my_uc_catalog.my_uc_schema.deepseek_r1",
       metadata={
           "pretrained_model_name": "meta-llama/Llama-3.3-70B-Instruct",
           "databricks_model_family": "LlamaForCausalLM",
           "databricks_model_size_parameters": "8b",
        },
    )
```

## 3. モデルのサービング

高度に最適化されたモデルサービングエンジンを使ってこのモデルをサービングするためには、シンプルにサービングに移動し、あなたが投獄したモデルでエンドポイントを起動するだけです！

![](https://www.databricks.com/sites/default/files/inline-images/select-served-entity.png?v=1738277005)

エンドポイントの準備ができると、API経由でのモデルへのクエリーや、アプリケーションのプロトタイピングをスタートするためにPlaygroundを使うことができます。

![](https://www.databricks.com/sites/default/files/inline-images/playground-demo_0.gif?v=1738281253)

Mosaic AIモデルサービングを用いることで最高クラスのパフォーマンス最適化やガバナンスやセキュリティのためのレイクハウスとのインテグレーションのメリットを活用することで、このモデルのデプロイがシンプルかつパワフルなものになります。

# 論理的思考モデルを使うケース

Deepseek-R1シリーズモデルのユニークな側面の一つが、OpenAIのo1モデルと同様の拡張されたチェーンオブソート(CoT)の能力です。Playground UIでは、このモデルの論理的思考のCoTトレースを表示する折りたたみ可能な「Thinking」セクションでこれを確認することができます。これは特に数学やコーディングにおいてはより品質の高い回答につながりますが、出力トークンの数は大幅に増加します。このモデルとのやりとりに関するDeepSeekの[利用ガイドライン](https://github.com/deepseek-ai/DeepSeek-R1?tab=readme-ov-file#usage-recommendations)に従うことをお勧めします。

論理的思考モデルの使い方を理解するには序盤の段階であり、この機能を用いてお客様がどのような新たなデータインテリジェンスシステムを構築するのかを聞くのを楽しみにしています。ご自身のユースケースで実験を行うことをお勧めしますし、何を発見したのかを是非教えてください。我々は向こう週間でR1、論理的思考、Databricksにおけるデータインテリジェンスの構築にディープダイブするので更なるアップデートをお待ちください。

# リソース

- [Mosaic AIモデルサービング](https://www.databricks.com/jp/product/model-serving)を学ぶ。
- バッチLLM推論で大規模データバッチに対してDeepseek-R1-distilled-Llamaモデルを適用する。
- [Agent Framework and Evaluation](https://docs.databricks.com/ja/generative-ai/agent-framework/build-genai-apps.html)でプロダクション品質のエージェントアプリやRAGアプリを構築する。

[^1]: 8BモデルではML Runtime 15.4 LTSとg4dn.4xlargeシングルノードクラスター、70Bモデルではg6e.4xlargeを使いました。使用するコンピュートに十分なメモリー容量があるのであれば、例えばこのノートブックでモデルをデプロイするのにGPUクラスターは必要としません。


### はじめてのDatabricks

[はじめてのDatabricks](https://qiita.com/taka_yayoi/items/8dc72d083edb879a5e5d)

### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)