2番煎じでDatabricks上でLlama-4を試してみる

@taka_yayoiさん、流石めちゃめちゃ早い・・・！

# 導入

Meta社がLlama-4を公開しました。

https://ai.meta.com/blog/llama-4-multimodal-intelligence/

現時点で一般公開されているのはLlama4 MaverickとScoutの2種ですが、Behemothという2T(!)の超巨大モデルも訓練中のようです。

いずれもMoEモデルであり、アクティブパラメータは総パラメータ数の一部であり、高速に推論が実行されます。

そして、Databricks社が即Databricks Platform上で利用できるようにしました。

https://www.databricks.com/blog/introducing-metas-llama-4-databricks-data-intelligence-platform

解説記事も既に出ています。はやっ！！

https://qiita.com/taka_yayoi/items/7a8f2953446918d126c4

Databricks上は上記モデルのうちMaverickがネイティブで2025年4月6日現在利用可能なようです。

テンションが高くなっているので、そのままの勢いで試してみます。
ちなみに、@taka_yayoiさんの記事と比べた新規要素はほとんどありません。
ほぼ純粋な２番煎じの内容となっております。

試行はDatabricks on AWSで行いました。
ノートブックではサーバレスクラスタを利用しています。

# Playgroundで確認する

Playgroundを開くと、デフォルトのモデルが既にLlama4 Maverickになっていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168727/5f0eb040-055a-4360-b161-d15998ff1799.png)

現時点でツール対応はされてない模様。
この画面でモデルの詳細を見ると以下の通り。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168727/f051dfbf-3949-4295-8434-e02c29971314.png)

100万トークンあたりの料金が表示上まだ設定されていませんね。
いくらになるんだろう。

それでは、デフォルトで用意されている「感情分析」を実行してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168727/32a50826-2dbd-4872-aaa4-ddb9a303892d.png)

ちょっと回答は遠慮がちな内容かな。
それはさておき、かなり高速に推論が実行されます。ほぼ同パラメータのLlama 3.1 405Bと比べて倍以上のスループットです。MoEモデルの恩恵ですね。

日本語も試してみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168727/920b1ff8-1008-417d-bfe0-6a9328fd1ab6.png)

問題なく回答されますね。

# コードから実行する

では、ノートブックを作成して、コードから推論してみます。

まずはOpenAIのフレームワークを使って実行。

必要なパッケージをインストール。

```python
%pip install -U -qqqq databricks-langchain mlflow-skinny[databricks] openai
%restart_python
```

MLflow Tracingを有効化。

```python
import mlflow

mlflow.openai.autolog()
mlflow.langchain.autolog()
```

openaiモジュールを使って推論してみます。
api_keyとbase_urlは事前にDatabricks Secretへ格納しているものとします。

```python
from openai import OpenAI

api_key = dbutils.secrets.get(scope="llm-serve", key="api_token")
base_url = dbutils.secrets.get(scope="llm-serve", key="base_url")
client = OpenAI(api_key=api_key, base_url=base_url)

chat = client.chat.completions.create(
  messages=[
  {
    "role": "system",
    "content": "あなたは優秀なAIアシスタントです。"
  },
  {
    "role": "user",
    "content": "Databricksについて教えてください。"
  }
  ],
  model="databricks-llama-4-maverick",
)

print(chat.choices[0].message.content)
```

mlflow tracing含めた出力結果は以下の通り。

```:出力結果
Databricksは、Apache Sparkを基盤とするデータ処理および分析プラットフォームです。データエンジニアリング、データサイエンス、およびデータ分析のタスクをサポートするために設計されています。以下はDatabricksの主な特徴と利点です：

1. **Apache Sparkの統合**：DatabricksはApache Sparkを基盤としています。Sparkは、大規模なデータセットを高速に処理するためのオープンソースの分散処理エンジンです。DatabricksはSparkの機能をフル活用し、データのバッチ処理やストリーミング処理を効率的に行うことができます。

2. **クラウド対応**：Databricksは主要なクラウドプロバイダー（AWS、Azure、Google Cloud）で利用可能です。これにより、ユーザーはクラウドのスケーラビリティと柔軟性を活用して、大規模なデータ処理を実行できます。

3. **インタラクティブなワークスペース**：Databricksは、Jupyter Notebookに似たインタラクティブなノートブックを提供しています。これにより、データサイエンティストやアナリストは、Python、R、Scala、SQLなどの言語を使用して、データを探索し、可視化し、分析することができます。

4. **共同作業**：Databricksのワークスペースは、チームメンバー間の共同作業を促進します。ノートブックの共有、共同編集、コメント機能などがあり、データに関するインサイトをチーム全体で迅速に共有できます。

5. **セキュリティとコンプライアンス**：Databricksは、データのセキュリティとプライバシーを確保するための強力な機能を提供しています。データの暗号化、アクセス制御、監査ログなどの機能が含まれています。

6. **自動化とスケジューリング**：Databricksでは、ノートブックやジョブの自動化とスケジューリングが可能です。これにより、定期的なデータ処理タスクやレポートの生成を自動化できます。

7. **データの可視化とダッシュボード**：Databricksは、データを可視化するためのツールを提供しています。また、ダッシュボードを作成して、重要なメトリクスを追跡することもできます。

Databricksは、大規模なデータセットを扱う組織や、データ駆動型の意思決定を行いたい企業にとって強力なツールとなり得ます。データエンジニアリング、データサイエンス、データ分析の各領域での利用が想定されており、データ関連のタスクを効率化し、イノベーションを促進するのに役立ちます。
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168727/cc47c39b-5f61-479b-9090-90233d6945c7.png)

LangChain(databricks-langchain)も使ってみましょう。(唯一のオリジナル要素)

```python
from databricks_langchain import ChatDatabricks

chat = ChatDatabricks(model="databricks-llama-4-maverick")
messages = [
    {"role": "system", "content": "あなたは優秀なAIアシスタントです。"},
    {"role": "user", "content": "Databricks社とMeta社の関係性を教えてください。"},
]

for c in chat.stream(messages):
    print(c.content, flush=True, end="")
```

出力結果は以下の通り。

```:出力結果
DatabricksとMetaは、Apache Sparkや機械学習などの分野で協力しています。Databricksは、Metaのエンジニアリングチームと協力して、Apache Sparkの開発と改善を行っています。また、Databricksは、Metaのデータ分析基盤の構築に使用されています。さらに、Databricksは、Metaの研究者と協力して、機械学習モデルの開発とデプロイを行っています。
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/168727/16286ced-f999-4dc4-9a46-540973e841e6.png)

さすがにこの程度の確認ではLlama4の実力値はさっぱりわからないのですが、エージェント用途への利用など、検証していきたいと思います。

# まとめ

Llama-4をDatabricks上で試してみました。
４月2週目にリリースされるという噂は目にしていましたが、思ったより早く登場し、かつ即日Databricks上で利用可能になっていたので驚いています。
テンション高くなったままに記事を書いてみたので、内容おかしいところは多少目を瞑ってください。。。