@taka_yayoiさん、流石めちゃめちゃ早い・・・!
導入
Meta社がLlama-4を公開しました。
現時点で一般公開されているのはLlama4 MaverickとScoutの2種ですが、Behemothという2T(!)の超巨大モデルも訓練中のようです。
いずれもMoEモデルであり、アクティブパラメータは総パラメータ数の一部であり、高速に推論が実行されます。
そして、Databricks社が即Databricks Platform上で利用できるようにしました。
解説記事も既に出ています。はやっ!!
Databricks上は上記モデルのうちMaverickがネイティブで2025年4月6日現在利用可能なようです。
テンションが高くなっているので、そのままの勢いで試してみます。
ちなみに、@taka_yayoiさんの記事と比べた新規要素はほとんどありません。
ほぼ純粋な2番煎じの内容となっております。
試行はDatabricks on AWSで行いました。
ノートブックではサーバレスクラスタを利用しています。
Playgroundで確認する
Playgroundを開くと、デフォルトのモデルが既にLlama4 Maverickになっていました。
現時点でツール対応はされてない模様。
この画面でモデルの詳細を見ると以下の通り。
100万トークンあたりの料金が表示上まだ設定されていませんね。
いくらになるんだろう。
それでは、デフォルトで用意されている「感情分析」を実行してみます。
ちょっと回答は遠慮がちな内容かな。
それはさておき、かなり高速に推論が実行されます。ほぼ同パラメータのLlama 3.1 405Bと比べて倍以上のスループットです。MoEモデルの恩恵ですね。
日本語も試してみましょう。
問題なく回答されますね。
コードから実行する
では、ノートブックを作成して、コードから推論してみます。
まずはOpenAIのフレームワークを使って実行。
必要なパッケージをインストール。
%pip install -U -qqqq databricks-langchain mlflow-skinny[databricks] openai
%restart_python
MLflow Tracingを有効化。
import mlflow
mlflow.openai.autolog()
mlflow.langchain.autolog()
openaiモジュールを使って推論してみます。
api_keyとbase_urlは事前にDatabricks Secretへ格納しているものとします。
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は、大規模なデータセットを扱う組織や、データ駆動型の意思決定を行いたい企業にとって強力なツールとなり得ます。データエンジニアリング、データサイエンス、データ分析の各領域での利用が想定されており、データ関連のタスクを効率化し、イノベーションを促進するのに役立ちます。
LangChain(databricks-langchain)も使ってみましょう。(唯一のオリジナル要素)
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の研究者と協力して、機械学習モデルの開発とデプロイを行っています。
さすがにこの程度の確認ではLlama4の実力値はさっぱりわからないのですが、エージェント用途への利用など、検証していきたいと思います。
まとめ
Llama-4をDatabricks上で試してみました。
4月2週目にリリースされるという噂は目にしていましたが、思ったより早く登場し、かつ即日Databricks上で利用可能になっていたので驚いています。
テンション高くなったままに記事を書いてみたので、内容おかしいところは多少目を瞑ってください。。。