LoginSignup
7
7

DBRXのご紹介: 新たなSOTAオープンLLM

Last updated at Posted at 2024-03-30

Introducing DBRX: A New State-of-the-Art Open LLM | Databricksの翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

本日、Databricksによって作成されたオープンかつ汎用のLLMであるDBRXをご紹介できることを嬉しく思っています。様々な標準的なベンチマークを通じて、DBRXは新たな最先端のオープンLLMの地位を確立しました。さらに、自身のLLMを構築するオープンコミュニティや企業に、かつてはクローズドモデルのAPIに限定されていた機能を提供します。我々の計測によれば、GPT-3.5を上回っており、Gemini 1.0 Proと拮抗するものとなっています。特に、優れたコードモデルとなっており、CodeLLaMA-70Bのように特化されたモデルを上回っており、汎用LLMとしての強みも有しています。

この最先端の品質は、トレーニングと推論パフォーマンスにおける特筆すべき改善によってもたらされています。DBRXは自身の高精細なmixture-of-experts (MoE)アーキテクチャによって、オープンモデルにおいて最先端の効率性で一歩先んじています。推論はLLaMA2-70Bと比較して最大2倍高速であり、合計、アクティブなパラメーター数においては、Grok-1の40%のサイズとなっています。Mosaic AI Model Servingでホスティングした際、DBRXは最大150 tok/s/userでテキストを生成することができます。お客様においては、同等の最終モデル品質のdenseモデルをトレーニングするよりも、2倍以上のFLOP効率でMoEをトレーニングできることを知ることでしょう。我々のDBRXのエンドツーエンドの全体的なレシピによって、約4倍少ない計算資源で前世代のMPTモデルに匹敵するものとなっています。

図1: DBRXは言語理解(MMLU)、プログラミング(HumanEval)、数学(HumanEval)で確立されたオープンソースモデルを上回っています。

ベースモデル(DBRX Base)とファインチューンモデル(DBRX Instruct)の重みは、オープンライセンスのもとHugging Faceから利用できます。本日から、Databricksの利用者はAPI経由でDBRXを利用でき、我々が構築に使用したのと同じツールやサイエンスを用いてご自身のDBRXクラスモデルをスクラッチで事前トレーニングしたり、我々のチェックポイントのいずれかからトレーニングを継続することができます。DBRXはD、SQLのようなアプリケーションのように我々のGenAI-powered製品にすでに組み込まれています。早期のロールアウトではGPT-3.5を上回っており、GPT-4に迫るものとなっています。また、RAGタスクにおいてはオープンモデルやGPT-3.5を上回っています。

mixture-of-expertsモデルのトレーニングは困難です。効率的な方法で、DBRXクラスのモデルを繰り返しトレーニングするために十分に堅牢なパイプラインを構築するためには、様々な科学的、パフォーマンス上の課題を克服しなくてはなりませんでした。これらを達成することで、我々はすべての企業がスクラッチで世界クラスのMoE基盤モデルをトレーニングできるようにするある種のトレーニングスタックを手に入れることができました。これらの機能を我々のお客様に共有し、得られた知見をコミュニティに共有することを楽しみにしています。

すぐにHugging FaceからDBRX(DBRX BaseDBRX Instruct)をダウンロードするか、我々のHF SpaceでDBRXを試すか、githubのモデルリポジトリ(databricks/dbrx)を確認してみてください。

DBRXとは?

DBRXは、次トークン予測を用いてトレーニングされたトランスフォーマーベースのデコーダーオンリーの大規模言語モデル(LLM)です。高精細のmixture-of-experts (MoE)アーキテクチャを採用しており、合計132Bのパラメーターを持ちますが、いかなる入力に対しても36Bのパラメーターがアクティブになります。テキストとコードデータの12Tのトークンで事前トレーニングされました。MixtralやGrok-1のような他のオープンMoEモデルと比較して、DBRXはきめ細かく、大量の小規模なエキスパートを活用します。MixtralやGrok-1は8のエキスパートから2つを選択しますが、DBRXには16のエキスパートから4つを選択します。これによって、65倍の取りうるエキスパートの組み合わせを提供し、これがモデルの品質を改善することを発見しました。DBRXでは、rotary position encodings (RoPE)、gated linear units (GLU)、grouped query attention (GQA)を活用しています。tiktokenリポジトリで提供されているGPT-4 tokenizerを使用しています。これらの選択は徹底的な評価と大規模な実験に基づいて行われました。

DBRXは、注意深くキュレーションされたデータの12Tのトークンと最大コンテキスト長が32kのトークンで事前トレーニングされました。このデータは少なくともMPTモデルファミリーの事前トレーニングで用いたデータと比較して、少なくとも30%優れたtoken-for-tokenであると推定しています。この新たなデータセットは、データ処理のためのApache Spark™とDatabricksノートブック、データ管理とガバナンスのためのUnity Catalog、実験トラッキングのためのMLflowを含むフルスイートのDatabricksツールを用いて開発されました。我々は事前トレーニングにおいて、モデルの品質が劇的に改善されることを発見した方法で、データミックスを変更するcurriculum learningを用いています。

最先端オープンモデルと比較したベンチマークにおける品質

表1では、DBRX Instructと最先端のオープンモデルの品質を示しています。DBRX Instructは、総合的なベンチマーク、プログラミング、数学のベンチマーク、MMLUにおいて最先端のモデルとなっています。標準的なベンチマークにおいてすべてのチャット、指示ファインチューンモデルを上回っています。

複合ベンチマーク。 我々はDBRX Instructと同等のモデルを2つの複合ベンチマークで評価しました: Hugging Face Open LLM Leaderboard(ARC-Challenge、HellaSwag、MMLU、TruthfulQA、WinoGrande、GSM8kの平均)とDatabricks Model Gauntlet(6つのカテゴリーにおける30のオープンソースベンチマークのスイートを組み合わせています: 世界知識、言語理解、理解の読み取り、一般常識の理由づけ、記号問題解決、プログラミング)です。

評価したモデルにおいては、2つの複合ベンチマークでDBRX Instructは最高のスコアを出しています: Hugging Face Open LLM Leaderboard (74.5% vs. 次点のMixtral Instructの72.7%) and the Databricks Gauntlet (66.8% vs. 次点のMixtral Instructの60.7%)。

プログラミングと数学。 DBRX Instructは特にプログラミングと数学で優れています。我々が評価した他のオープンモデルよりも高いスコアを出しています。HumanEval (70.1% vs. Grok-1の63.2%、Mixtral Instructの54.8%、最もパフォーマンスの良いLLaMA2-70Bの派生形の32.2%) およびGSM8k (66.9% vs. Grok-1の62.9%、Mixtral Instructの61.1%、最もパフォーマンスの良いLLaMA2-70Bの派生形の54.1%)。DBRXは、Grok-1が2.4倍のパラメーターを有しているのにも関わらず、これらのベンチマークの次点となっているGrok-1を上回っています。HumanEvalでは、DBRX Instructは汎用的な用途に設計されているのにも関わらず、明示的にプログラミングのために構築されたCodeLLaMA-70B Instructすらも上回っています(CodeLLaMA blogでMetaが報告しているHumanEvalの67.8%に対して70.1%)。

MMLU。 DBRX InstructはMMLUで検討した他のすべてのモデルよりも高いスコアを示しており、73.7%を達成しています。

Screenshot 2024-03-30 at 14.03.07.png

表1: 最先端のオープンモデルとDBRX Instructの品質。数値をどのように収集したのかに関しては脚注をご覧ください。太字で下線のあるものが最高のスコアです。

最先端クローズドモデルと比較したベンチマークにおける品質

表2では最先端のクローズドモデルとDBRX Instructの品質を示しています。それぞれのモデル開発者によって報告されたスコアによると、DBRX Instructは(GPT-4の論文で示されている)GPT-3.5よりも上回っており、Gemini 1.0 ProやMistral Mediumと拮抗しています。

検討したすほぼすべてのベンチマークにおいて、DBRX Instructは上回っており、最悪の場合でもGPT-3.5と同等となっています。DBRX InstructはMMLU (73.7% vs. 70.0%)で計測された一般的な知識でGPT-3.5を上回っており、HellaSwag (89.0% vs. 85.5%)やWinoGrande (81.8% vs. 81.6%)で計測された一般常識の理由づけでも同様となっています。特にDBRX InstructはHumanEval (70.1% vs. 48.1%)やGSM8k (72.8% vs. 57.1%)で計測されているようにプログラミングや数学的理由づけで素晴らしい精度を示しています。

DBRX InstructはGemini 1.0 ProやMistral Mediumと拮抗しています。Inflection Corrected MTBench、MMLU、HellaSwag、HumanEvalにおいて、DBRX InstructはGemini 1.0 Proよりも高いスコアを示していますが、GSM8kではGemini 1.0 Proの方が優れています。HellaSwagでのDBRX InstructとMistral Mediumのスコアは同等ですが、WinograndeとMMLUでは、Mistral Mediumが優れており、HumanEval、GSM8k、Inflection Corrected MTBenchではDBRX Instructが優れています。

Screenshot 2024-03-30 at 14.11.29.png

表2: 最先端のクローズドモデルとDBRX Instructの品質。Inflection Corrected MTBench以外は、クリエイター自身のホワイトペーパーで報告されている数値となっています。詳細は脚注をご覧ください。

表のリンクは原文をご覧ください。

長コンテキストタスクとRAGにおける品質

DBRX Instructは最大32Kのコンテキストウィンドウでトレーニングされました。表3では、一連の長コンテキストベンチマークにおける、Mixtral Instructおよび最新バージョンのGPT-3.5とGPT-4 Turbo APIのそれらのパフォーマンスを比較しています(Lost in the Middleの論文のKV-Pairs、HotpotQAXL、タスクをより長いシーケンス長に拡大しているHotPotQAの修正バージョン)。全般的に、GPT-4 Turboがこれらのタスクではベストなモデルとなっています。しかし、一つの例外において、DBRX Instructはすべてのコンテキスト長とシーケンスのすべての部分において、GPT-3.5 Turboよりも優れています。DBRX InstructとMixtral Instructの全体的なパフォーマンスは類似しています。

Screenshot 2024-03-30 at 15.42.19.png

表3: KV-PairsとHotpotQAXLにおけるモデルの平均パフォーマンス。太字が最高スコア。下線がGPT-4 Turboを除いた最高スコア。 GPT-3.5 Turboは最大で16Kのコンテキスト長をサポートしているので32Kで評価することはできませんでした。*GPT-3.5 Turboにおけるシーケンスの最初、中央、最後には最大16Kのコンテキストのみが含まれています。

モデルのコンテイストを活用するもっとも人気のある方法の一つがretrieval augmented generation (RAG)です。RAGでは、プロンプトに適したコンテンツがデータベースから取得され、それらが持っている以上の情報をモデルに提供させるために、プロンプトと一緒に提示されます。表4では、2つのRAGベンチマークNatural QuestionsとHotPotQAにおけるDBRXの品質を示しています。ここでは、エンべディングモデルbge-large-en-v1.5を用いて、Wikipediaの記事コーパスからトップ10の分を取得してモデルに提示されています。DBRX InstructはMixtral InstructやLLaMA2-70B Chat、現行バージョンのGPT-3.5 Turboに拮抗しています。

Screenshot 2024-03-30 at 16.05.56.png
表4: bge-large-en-v1.5を用いてWikipediaコーパスからトップ10の文章が取得され、それぞれのモデルに提示された際に計測されたモデルのパフォーマス。モデルの正解におけるマッチングによって精度を計測しています。太字が最高スコア。下線がGPT-4 Turboを除く最高スコア。

トレーニングの効率

モデルの品質は、モデルのトレーニングや利用がどれだけ効率的なのかという文脈で評価されるべきです。これは、特にDatabricksにおいては該当することであり、お客様が自身の基盤モデルをトレーニングするためのプロセスを確立できるように、我々はDBRXのようなモデルを構築しました。

トレーニングにおける計算処理の効率性において多大なる改善をもたらすmixture-of-expertsモデルのトレーニング方法を見出しました(表5)。例えば、MoE-B (23.5Bの合計パラメーター、6.6Bのアクティブパラメーター)と呼ばれるDBRXファミリーの小規模なメンバーは、LLaMA2-13BがDatabricks LLM Gauntletで43.8%に達するのに必要としたFLOPsと比較して、45.5%に到達するために1.7倍少ないFLOPsを必要としました。また、DBRX MoE-BのアクティブパラメーターはLLaMA2-13Bの半分です。

全体的にみて、我々のエンドツーエンドの事前トレーニングパイプラインは、過去10ヶ月を通じて約4倍以上の計算効率性を達成しました。2023年5月5日に、Databricks LLM Gauntletスコアが30.9%に到達した1Tトークンでトレーニングした7BパラメーターモデルであるMPT-7Bをリリースしました。DBRX MoE-A (7.7Bの合計パラメーター、2.2Bのアクティブパラメーター)と呼ばれるDBRXファミリーのメンバーは、3.7倍少ないFLOPsで30.5%のDatabricks Gauntletスコアを達成しました。この効率性は、MoEアーキテクチャの採用、ネットワークに対するその他のアーキテクチャの変更、優れた最適化戦略、すぐれたトークナイゼーション、そして非常に重要なことですがすぐれた事前トレーニングデータを含む数多くの改善の賜物です。

それとは別に、優れた事前トレーニングデータは、モデル品質に多大なるインパクトをもたらしました。DBRX事前トレーニングデータを用いて1Tのトークンに対して(DBRX Dense-Aと呼ばれる)7Bモデルをトレーニングしました。Databricks Gauntletにおいて、MPT-7Bの30.9%と比較して39.0%を達成しました。我々の新たなデータは、MPT-7Bのトレーニングに使用したデータよりも少なくとも2倍優れたtoken-for-tokenであると推定しています。言い換えると、同じモデル品質に到達するために必要なトークンの数が半分であると推定しています。500BトークンでDBRX Dense-Aをトレーニングすることでこれを特定しました。Databricks Gauntletにおいて、MPT-7Bを上回っており、32.1%を達成しています。優れたデータ品質に加えて、このトークン効率性に大きく寄与した別の要素は、大規模なボキャブラリーを持ち、特にトークン効率が高いと信じられているGPT-4 tokenizerかもしれません。データ品質の改善に関するこれらの教訓は、お客様が自身のデータで基盤モデルをトレーニングする際に活用する実践やツールに直接変換されます。

Screenshot 2024-03-30 at 16.51.23.png
表5: DBRX MoEアーキテクチャのトレーニングとエンドツーエンドのトレーニングパイプラインの検証で用いたいくつかのテスト文献の詳細

推論の効率

図2では、我々の最適化サービングインフラストラクチャと16ビット精度でDBRXとNVIDIA TensorRT-LLMを用いた類似のモデルのサービングのエンドツーエンドの推論効率を示しています。このベンチマークでは、複数のユーザーが同時に同じ推論サーバーにアクセスすることを含む、現実世界の利用方法を可能な限り反映することを狙いとしています。秒間で新規ユーザーを作成し、それぞれのユーザーリクエストには約2000トークンのプロンプトが含まれており、それぞれのレスポンスは256トークンを構成します。

一般的に、MoEモデルはそれらの合計パラメータ数が示すよりも推論は高速です。これは、それぞれの入力に対して比較的少ないパラメーターを使用するという事実によるものです。DBRXもこの点に関しては例外ではないことを発見しました。DBRXの推論スループットは、132Bの非MoEモデルよりも2-3倍高いものとなっています。

推論の効率とモデルの品質は通常相反するものです: 大きなモデルは通常は高い品質を示しますが、小さいモデルの推論効率は優れたものとなっています。MoEアーキテクチャを採用することで、denseモデルが通常達成するよりもモデル品質と推論効率ですぐれたトレードオフを達成することができます。例えば、DBRXはLLaMA2-70Bよりも高い品質を示しており、アクティブパラメーターの数が半分であるため、DBRXの推論スループットは最大で2倍高速なものとなっています(図2)。Mixtralもまた、MoEモデルによって達成された改善パレートの最前線にいます: DBRXよりも小さいため品質の観点では劣っていますが、高い推論スループットを達成しています。Databricks Foundation Model APIを利用しているユーザーは、我々の8ビット量子化を持つ最適化モデルサービングプラットフォームにおいて、最大秒間150トークンを期待することができます。


図2: 我々が特定したベストな最適化フラグ、16ビット精度でのNVIDIA TensorRT-LLMを用いた我々の最適化サービングインフラストラクチャでの様々なモデル設定の推論スループット。モデルはノード全体でtensor-parallelで実行。入力プロンプトには約2000プロンプトトークンが含まれており、256出力トークンを生成。毎秒1ユーザーが生成されます。

どのようにDBRXを構築したのか

DBRXは、3.2Tbps Infinibandで接続された3072台のNVIDIA H100でトレーニングされました。事前トレーニング、事後トレーニング、評価、レッドチーミング、改善を含むDBRX構築の主要プロセスは3ヶ月を要しました。これは、サイエンス、データセット研究、大規模実験の数ヶ月の継続であり、これにはMPTDollyプロジェクト、構築し我々のお客様で運用されている数千のモデルを含む数年に渡るDatabricksのLLM開発も含まれています。

DBRXを構築するために、我々はお客様も利用できるのと同じDatabricksのツールスイートを活用しました。Unity Catalogを用いてトレーニングデータを管理、制御しました。新たに買収したLilac AIを用いてこのデータを探索しました。Apache Spark™とDatabricksノートブックを用いてこのデータを処理、クレンジングしました。最適化されたバージョンのオープンソーストレーニングライブラリを用いてDBRXをトレーニングしました: MegaBlocksLLM FoundryComposerStreaming。我々のMosaic AI Training serviceを用いて、数千のGPUにおける大規模モデルトレーニングとファインチューニングを管理しました。MLflowを用いて結果を記録しました。Mosaic AI Model Servingと推論テーブルを通じて、品質に関する人間のフィードバックと安全性の改善点を収集しました。Databricks Playgroundを用いてモデルを手動で実験しました。これらのプロセスのそれぞれにおいて、Databricksのツールが最高クラスであることを知り、これらすべてが統合された製品体験に含まれている事実からメリットを享受しました。

DatabricksでDBRXを使い始める

すぐにDBRXを使い始めたいのであれば、DatabricksのMosaic AI 基盤モデルAPIで簡単に始められます。pay-as-you-goの課金とAI Playgroundのチャットインタフェースでクイックにスタートすることができます。プロダクションのアプリケーションにおいては、パフォーマンス保証、ファインチューニングモデルのサポート、追加のセキュリティとコンプライアンスを提供するためのプロビジョン済みスループットを提供しています。プライベートでDBRXをホストするためには、Databricks Marketplaceからモデルをダウンロードし、モデルサービングでモデルをデプロイすることができます。

まとめ

Databricksnにおいては、成長する生成AIの世界において、すべての企業がデータとその運命を制御できる能力を持つべきだと信じています。DBRXは、次世代の生成AI製品の中心となる柱であり、お客様がDBRXの能力と我々が構築に利用したツールを活用することを楽しみにしています。過去数年を通じて、我々はお客様と共に数千のLLMをトレーニングしてきています。DBRXは、お客様における内部機能から野心的なユースケースに至る様々なアプリケーションのためにDatabricksで構築されたパワフルかつ効率的なモデルの一例にすぎません。

すべての新規モデルと同じように、DBRXのジャーニーは始まったばかりであり、それを活用する人たちの手によってベストな仕事がされていくことでしょう: すなわち企業やオープンコミュニティです。また、これはDBRXに対する我々の取り組みのスタートであり、今後提供される多くのことを期待していてください。

コントリビューター

DBRXの開発は、以前MPTモデルファミリーを構築したMosaicチームによってリードされ、Databricksの数多くのエンジニア、弁護士、調達、財務の専門家、プログラムマネージャ、マーケター、デザイナー、その他のコントリビューターとのコラボレーションによって実現されています。過去数ヶ月における我々の同僚、友達、家族、コミュニティの忍耐とサポートに感謝の意を表します。

DBRXの開発においては、オープンコミュニティや学術コミュニティの巨人の肩に乗りました。DBRXをオープンに利用できるようにすることで、今後一緒にさらに優れたテクノロジーを構築できるであろうという望みのもと、コミュニティに還元したいと考えています。これを念頭に置いて、Trevor Galeと彼のTrevor Galeプロジェクト(TrevorのPhDアドバイザーはDatabricks CTOのMatei Zahariaです)、PyTorchチーム、FSDPプロジェクト、NVIDIATensorRT-LLMプロジェクト、vLLMチームとプロジェクト、EleutherAIと彼らのLLM evaluationプロジェクト、Lilac AIのDaniel SmilkovとNikhil Thorat、そしてAllen Institute for Artificial Intelligence (AI2)の我々の友人たちとの取り組みとコラボレーションに感謝の意を表します。

Databricksに関して

Databricksはデータ&AIカンパニーです。Comcast、Condé Nast、Grammarly、Fortune 500の50%以上の企業を含む世界中の10,000以上の企業が、データ、分析、AIを統合、民主化するためにDatabricksを活用しています。Databricksの本社はサンフランシスコにあり、世界中にオフィスがあります。Databricksは、レイクハウス、Apache Spark™、Delta Lake、MLflowのオリジナルクリエーターたちによって創業されました。詳細は、LinkedInXFacebookをフォローしてください。

脚注は原文をご覧ください。

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7