Connect with us

Snowflake Arctic: 企業AIのための最先端LLM

人工知能

Snowflake Arctic: 企業AIのための最先端LLM

mm
Snowflake Arctic: The Cutting-Edge LLM for Enterprise AI

現在、企業は、生産性を高め、インテリジェントなアプリケーションを作成するために、大規模な言語モデル(LLM)を利用する方法を探索しています。ただし、利用可能な多くのLLMオプションは、データ分析、コーディング、タスク自動化などの専門化された企業のニーズに特化していない汎用モデルです。ここで、Snowflake Arctic – コアの企業用途に特化して設計および最適化された最先端のLLMが登場します。

SnowflakeのAI研究チームによって開発されたArcticは、効率的なトレーニング、コスト効率、並外れたレベルのオープン性で可能な限界を拡大します。この革命的なモデルは、企業のベンチマークで優れた成績を収めながら、既存のLLMよりもはるかに少ない計算リソースを必要とします。Arcticが企業AIのゲームチェンジャーである理由を詳しく見てみましょう。

企業インテリジェンスの再定義 Arcticの核心は、企業にとって真正に重要な指標であるコーディング、SQLクエリ、複雑な指示の実行、根拠のある事実ベースの出力の生成において、卓越したパフォーマンスを提供することです。Snowflakeは、これらの重要な機能を新しい「企業インテリジェンス」メトリックにまとめました。

結果は自明です。Arcticは、LLAMA 7BやLLAMA 70Bなどのモデルと同等かそれ以上の成績を企業インテリジェンスのベンチマークで収めながら、トレーニングに必要な計算予算の半分以下で済みます。驚くべきことに、LLAMA 70Bよりも17倍少ない計算リソースを使用しながら、コーディング(HumanEval+、MBPP+)、SQL生成(Spider)、指示の実行(IFEval)などの特化されたテストで同等の成績を収めています。

しかし、Arcticの能力は企業のベンチマークで優秀であることだけに止まりません。DBRXのようなモデルと比較して、一般的な言語理解、推論、数学的能力においても強力なパフォーマンスを維持しています。Arcticは、企業の多様なAIニーズに対処するために、無敵の選択肢となっています。

イノベーション

Dense-MoEハイブリッドトランスフォーマー Snowflakeチームは、Arcticを構築するために、どのようにしてそのようなインクレディブルな能力と効率性を持ったLLMを作成したのでしょうか。答えは、Arcticの最先端のDense Mixture-of-Experts(MoE)ハイブリッドトランスフォーマーアーキテクチャにあります。

従来の密なトランスフォーマーモデルは、サイズが大きくなるにつれてトレーニングコストが増加し、計算要件が線形に増加します。MoE設計は、複数の並列フィードフォワードネットワーク(エキスパート)を使用し、各入力トークンに対してそのサブセットのみをアクティブ化することで、この問題を回避します。

ただし、単にMoEアーキテクチャを使用するだけでは不十分です。Arcticは、密なコンポーネントとMoEコンポーネントの両方の強みを巧みに組み合わせています。10億パラメータの密なトランスフォーマーエンコーダーと、128エキスパートの残差MoEマルチレイヤーパーセプトロン(MLP)レイヤーをペアにしています。このDense-MoEハイブリッドモデルは、480億パラメータを有するものの、トップ2ゲーティングを使用して、いつも17億パラメータのみがアクティブになります。

その意味は深いです。Arcticは、トレーニングと推論時の計算効率性を維持しながら、前例のないモデルの品質と容量を達成します。たとえば、Arcticは、DBRXのようなモデルと比較して、推論時に50%少ないアクティブパラメータを有しています。

しかし、モデルアーキテクチャは物語のただ1つの部分です。Arcticの優秀性は、Snowflake研究チームによって開発された数多くの開拓的なテクニックと洞察の集大成です。

  1. 企業向けトレーニングデータカリキュラム Snowflakeチームは、一般的なスキルであるコモンセンス推論は早期に学ばれるべきであり、コーディングやSQLなどのより複雑な専門化はトレーニングプロセスの後期に取得されるべきであることを発見しました。Arcticのデータカリキュラムは、人間の学習進歩を模倣した3段階アプローチに従います。

最初のテラトークンは、広い一般的な基盤を構築することに焦点を当てています。次の1.5テラトークンは、SQL、コーディングタスクなどの企業スキルを開発するためのカスタマイズされたデータに集中しています。最終的なテラトークンは、洗練されたデータセットを使用してArcticの専門知識をさらに洗練しています。

  1. 最適なアーキテクチャ選択 MoEは、計算量あたりの品質が向上することを約束していますが、正しい構成を選択することは重要ですが、十分に理解されていません。Snowflakeは、品質と効率のトレードオフを評価した後、128エキスパートを使用するアーキテクチャを採用しました。

エキスパートの数を増やすと、組み合わせが増え、モデル容量が向上します。ただし、これにより通信コストも増加します。したがって、Snowflakeは、128のエキスパートを使用し、トップ2ゲーティングでアクティブ化することを、最適なバランスとして選択しました。

  1. システム共同設計 ただし、最適なモデルアーキテクチャであっても、システムのボトルネックによって妨げられる可能性があります。したがって、Snowflakeチームはここでも革新しました。モデルアーキテクチャとトレーニングおよび推論システムを一体化して設計しました。

効率的なトレーニングのために、密なコンポーネントとMoEコンポーネントは、通信と計算を重ねることができるように構造化されました。推論側では、チームはNVIDIAの革新を活用して、Arcticのスケールにもかかわらず、高度に効率的なデプロイを可能にしました。

FP8量子化などのテクニックにより、フルモデルを単一のGPUノードに収めることができ、インタラクティブな推論が可能になります。大規模バッチでは、Arcticの並列性機能が複数のノードにわたって活用され、コンパクトな17Bのアクティブパラメータのおかげで、依然として計算効率が高いままです。

Apache 2.0ライセンスの下で、Arcticの重みとコードは、パーソナル、研究、または商用使用のために制限なしで利用可能です。ただし、Snowflakeはさらに進んでいます。Arcticを支える完全な研究および開発プロセスを含む、データレシピ、モデル実装、ヒント、深い研究洞察をオープンソースで公開しています。

Arctic Cookbook」は、大規模なMoEモデルを構築および最適化するための包括的な知識ベースです。データソーシング、モデルアーキテクチャ設計、システム共同設計、最適化されたトレーニング/推論スキームなど、すべての側面を網羅しています。

最適なデータカリキュラムの特定から、MoEをアーキテクチャ化し、コンパイラ、スケジューラ、ハードウェアを共同最適化するまで、以前はエリートAI研究所に限定されていたスキルを民主化するための広範な知識体です。Arctic Cookbookは、学習曲線を加速し、ビジネス、研究者、開発者が世界中で、ほぼどのようなユースケースでも、コスト効率の良い、カスタマイズされたLLMを作成できるようにします。

Arcticの開始

Arcticを利用したい企業のために、Snowflakeは複数のパスを提供しています。

サーバーレス推論: Snowflakeの顧客は、Snowflake Cortex、つまり会社の完全に管理されたAIプラットフォームで、Arcticモデルを無料で利用できます。その他、ArcticはAWS、Microsoft Azure、NVIDIAなどの主要なモデルカタログで利用可能です。

最初から始める: オープンソースのモデル重みと実装により、開発者はArcticを直接アプリケーションやサービスに統合できます。Arcticリポジトリには、コードサンプル、デプロイメントチュートリアル、ファインチューニングレシピなどが用意されています。

カスタムモデルを構築する: Arctic Cookbookの詳細なガイドに従って、Arcticの開発から得られた知識を使用して、任意の専門ユースケースに最適化された独自のカスタムMoEモデルを構築できます。

オープン企業AIの新時代 Arcticは、単に別の強力な言語モデルではなく、オープンでコスト効率の良い、専門化されたAI機能を企業向けに開発する新時代の幕開けです。

データ分析とコーディングの生産性の革命から、タスク自動化とスマートアプリケーションの強化まで、Arcticの企業向けDNAにより、汎用LLMよりも優れた選択肢となっています。さらに、モデルだけでなく、開発プロセス全体をオープンソース化することで、Snowflakeは、AIエコシステム全体を高める協力文化を育んでいます。

企業が生成AIをますます採用するにつれて、Arcticは、生産環境と企業環境に適したモデルを開発するための大胆なブループリントを提供します。研究の最先端、効率性、そして堅実なオープン性の融合は、AIの変革的潜在性を民主化する新たな基準を設定しています。

Arcticのハンズオン

ここで、Arcticが本当に画期的である理由を説明しました。開発者やデータサイエンティストがこの強力なモデルを活用し始める方法を見てみましょう。
アウトオブザボックスで、Arcticは事前トレーニング済みで、Hugging FaceやパートナーのAIプラットフォームなどの主要モデルハブを介してデプロイする準備ができています。ただし、その真の力は、特定のユースケースにカスタマイズおよびファインチューニングされたときに発揮されます。

ArcticのApache 2.0ライセンスにより、フル自由度でアプリケーション、サービス、またはカスタムAIワークフローに統合できます。transformersライブラリを使用したコード例を以下に示します。
基本的な推論とArctic

テキスト生成のユースケースでは、Arcticをロードして基本的な推論を簡単に実行できます。


from transformers import AutoTokenizer, AutoModelForCausalLM

# トークナイザとモデルをロード
tokenizer = AutoTokenizer.from_pretrained("Snowflake/snowflake-arctic-instruct")
model = AutoModelForCausalLM.from_pretrained("Snowflake/snowflake-arctic-instruct")

# シンプルな入力とテキスト生成
input_text = "ここは基本的な質問です: フランスの首都は何ですか?"
input_ids = tokenizer.encode(input_text, return_tensors="pt")

# Arcticで応答を生成
output = model.generate(input_ids, max_length=150, do_sample=True, top_k=50, top_p=0.95, num_return_sequences=1)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)

print(generated_text)

これは以下のような出力を生成するはずです。

「フランスの首都はパリです。パリはフランスの最大の都市であり、国の経済、政治、文化の中心です。エッフェル塔、ルーヴル美術館、ノートルダム大聖堂などの有名なランドマークがあります。」

Arcticが質問をすらすらと理解し、根拠のある詳細な回答を提供していることがわかります。

特殊タスクのファインチューニング

アウトオブザボックスで印象的なものですが、Arcticは特に、独自のデータで特殊タスクにカスタマイズおよびファインチューニングされたときに真の力を発揮します。Snowflakeは、以下をカバーする包括的なレシピを提供しています。

  • ユースケースに合わせた高品質なトレーニングデータのキュレーション
  • カスタマイズされたマルチステージトレーニングカリキュラムの実装
  • 効率的なLoRA、P-TuningまたはFactorizedFusionファインチューニングアプローチの活用
  • SQL、コーディング、その他の重要な企業スキルのための最適化

以下は、LoRAとSnowflakeのレシピを使用して、独自のコーディングデータセットでArcticをファインチューニングする例です。


from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model, prepare_model_for_int8_training

# ベースのArcticモデルをロード
tokenizer = AutoTokenizer.from_pretrained("Snowflake/snowflake-arctic-instruct")
model = AutoModelForCausalLM.from_pretrained("Snowflake/snowflake-arctic-instruct", load_in_8bit=True)

# LoRA構成を初期化
lora_config = LoraConfig(
r=8,
lora_alpha=16,
target_modules=["query_key_value"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)

# モデルをLoRAファインチューニングのために準備
model = prepare_model_for_int8_training(model)
model = get_peft_model(model, lora_config)

# コーディングデータセット
data = load_coding_datasets()

# Snowflakeのレシピを使用してファインチューニング
train(model, data, ...)

このコードは、Arcticをロードし、コード生成に特化したLoRA構成を初期化し、独自のコーディングデータセットでモデルをファインチューニングする方法を示しています。

カスタマイズおよびファインチューニングされたArcticは、企業の核心的なワークフローとステークホルダーのニーズに合わせて、無敵のパワーを発揮します。

Arcticの急速なイノベーションサイクル

Arcticの最も印象的な側面の1つは、SnowflakeのAI研究チームがこの最先端のモデルを世界に導入するために、どのようにして短期間で構想、開発、公開したかです。構想からオープンソース化まで、Arcticプロジェクト全体はわずか3ヶ月で完了し、類似の大規模言語モデルをトレーニングするために通常必要な計算予算の約8分の1しか使用しませんでした。

このような急速なイテレーション、イノベーション、AI研究の商品化能力は、真正に驚異的です。これは、Snowflakeの深い技術能力を示し、企業向けの新しいAI機能の開発を継続的に推進する立場にいます。

Arcticファミリーと埋め込み

Arcticは、Snowflakeの企業向けLLMスペースにおける野心の始まりに過ぎません。同社はすでに、Snowflake Arctic Embedファミリーの業界をリードするテキスト埋め込みモデルをオープンソース化しており、これは複数のサイズプロファイル全体でリトリーバル性能を最適化しています。

以下に示すように、Arctic Embedモデルは、MTEB(テキストリトリーバル)ベンチマークで、他のトップレベルの埋め込みモデル(主要テック企業からのクローズドオファリングを含む)を上回る、ベンチマークで州の芸術的なリトリーバル精度を達成しています。

[MTEBリトリーバルベンチマークの結果を示すイメージを挿入]

これらの埋め込みモデルは、Arctic LLMを補完し、企業が統合されたオープンソーススタックから強力な質問回答およびリトリーバル増強生成ソリューションを構築できるようにします。

しかし、SnowflakeのロードマップはArcticと埋め込みだけに止まりません。同社のAI研究者は、マルチモーダルタスク、スピーチ、ビデオなど、さらにフロンティア機能に特化した新しいモデルでArcticファミリーを拡大するために、猛烈に働いています。すべてのモデルは、専門化、効率性、オープン性の同じ原則で構築されています。

オープンAIエコシステムへのパートナーシップ Snowflakeは、オープンで企業グレードのAIの全潜在性を実現するには、AIコミュニティ全体を横断した豊かなパートナーシップエコシステムを育むことが必要であることを理解しています。Arcticのリリースはすでに、主要プラットフォームやプロバイダーとの協力関係を促しています。

NVIDIAは、ArcticをNVIDIAの最先端のAI推論スタック(TensorRT、Tritonなど)を使用して効率的にデプロイするために、Snowflakeと密接に協力しています。これにより、企業はArcticをコスト効率よく大規模に提供できます。

オープンソースモデルハブのリーダーであるHugging Faceは、Arcticをそのライブラリとモデルリポジトリに歓迎しました。これにより、ArcticをHugging FaceベースのAIワークフローとアプリケーションにシームレスに統合できます。

Replicate、SageMakerなどのプラットフォームは、Arcticのホストデモ、API、および統合パスを迅速に提供し、採用を促進しています。

オープンソースはArcticの開発を推進し、オープンエコシステムはその進化の中心です。Snowflakeは、研究者、開発者、パートナー、世界中の企業と協力して、オープンで専門化されたAIモデルで何が可能かを推進することに尽力しています。

私は過去5年間、機械学習とディープラーニングの魅力的世界に没頭してきました。私の情熱と専門知識は、AI/MLに特に焦点を当てた50以上の多様なソフトウェアエンジニアリングプロジェクトに貢献することにつながりました。私の継続的な好奇心は、私がさらに探究したい分野である自然言語処理にも私を引き寄せました。