テクノロジー・イノベーション・インスティテュートは、最新鋭のFalcon LLM 40BファウンデーションモデルをAmazon SageMakerでトレーニングします
The Technology Innovation Institute will train the latest Falcon LLM 40B foundation model using Amazon SageMaker.
このブログ記事は、TIIのLLMプロジェクトのリードを務めるAI-Cross Center Unitの執行主任であるDr. Ebtesam Almazrouei氏と共同執筆しました。
アブダビのAdvanced Technology Research Councilの応用研究柱であるUnited Arab Emirate’s(UAE)Technology Innovation Institute(TII)は、40兆のパラメータを持つ基礎的な大規模言語モデル(LLM)であるFalcon LLMを発表しました。TIIは、知識の最前線を押し進めることに専念する世界をリードする研究センターです。TIIの科学者、研究者、エンジニアのチームは、発見科学と変革的技術を提供するために働いています。TIIの仕事は、社会の将来に対応する革新に焦点を当てています。TII Falcon LLMは、1兆のトークンでトレーニングされ、トップクラスのパフォーマンスを誇りながら、非常にコスト効果が高いことが特徴です。 Falcon-40Bは、他の高性能LLMと同等のパフォーマンスを発揮し、パブリックHugging Face Open LLMのリーダーボードで最高ランクのオープンソースモデルです 。Falcon-40BとFalcon-7Bの2つの異なるサイズでオープンソースとして利用可能であり、Amazon SageMaker上で構築されたデータ前処理とモデルトレーニングジョブを使用して、スクラッチから構築されました。Falcon 40Bのオープンソース化により、ユーザーは独自のニーズに合わせたAIツールを構築およびカスタマイズすることができ、シームレスな統合を促進し、データアセットの長期的な保存を確保することができます。モデルの重みは、どこでもダウンロード、検査、および展開できます。
6月7日から、Falcon LLMの両方がAmazon SageMaker JumpStartで利用可能になります。これは、事前トレーニングされたモデル、組み込みアルゴリズム、および事前構築されたソリューションテンプレートを提供するSageMakerの機械学習(ML)ハブです。SageMaker StudioまたはSageMaker Python SDKを介して、クリック数回でFalcon LLMをデプロイおよび使用することができます。Falcon LLMを展開して推論を実行するには、「SageMaker JumpStartによるテキスト生成とFalcon LLMの紹介」ノートブックを参照してください。
- Amazon Lexのチャットボット開発ライフサイクルをテストベンチで加速化する
- Amazon Lex、Langchain、およびSageMaker Jumpstartを使用した会話型エクスペリエンスにおける生成AIの探求:イントロダクション
- オープンソースのAmazon SageMaker Distributionで始めましょう
AI-Cross Center Unitの執行主任であるDr. Ebtesam Almazrouei氏は、次のように語っています。
「世界で最も高いランキングを誇るオープンソース言語モデルであるFalcon-40Bの公式オープンソースリリースを誇りに思います。Falcon-40Bは、40兆のパラメータを持つ卓越したオープンソースモデルで、因果デコーダーのみのモデルとして特別に設計されました。これは、洗練されたコーパスで強化されたRefinedWebを含む1,000Bトークンの広範なデータセットでトレーニングされました。このモデルはApache 2.0ライセンスの下で利用可能であり、そのアクセシビリティと利用性が保証されています。Falcon-40Bは、Hugging Faceが維持するパブリックリーダーボードでLLaMA-65B、StableLM、MPTなどの有名なモデルを凌駕しています。Falcon-40Bのアーキテクチャは、FlashAttentionとmultiquery技術を組み込んだ推論に最適化されています。」
「このステップは、AIイノベーションと技術準備レベルをプッシュし、コミュニティのエンゲージメント、教育、現実世界のアプリケーション、およびコラボレーションを促進するための私たちの献身を反映しています。続けてDr. Ebtesam氏は述べています。「Falcon-40Bをオープンソースモデルとして公開することで、研究者、起業家、および組織がその卓越した機能を利用し、ヘルスケアから宇宙、金融、製造業、バイオテクノロジーに至るまで、AI駆動のソリューションの進歩を推進する機会を提供しています。Falcon-40Bにアクセスしてその驚異的なポテンシャルを探索するには、FalconLLM.tii.aeを訪問してください。Falcon-40Bの力を最大限に活用して、AIの未来を形作り、産業を革新するために私たちに参加してください」と呼びかけています。
この記事では、SageMakerでのFalcon LLMのトレーニング、データのキュレーション、最適化、パフォーマンス、および次のステップについて、Dr. Almazrouei氏と深く掘り下げます。
新世代のLLM
LLMは、自然なテキストシーケンスを完成させるためにトレーニングされたソフトウェアアルゴリズムです。LMMは、そのサイズとトレーニングデータとのやりとりの量により、要約、質問応答、文脈学習などの印象的なテキスト処理能力を持っています。
2020年初頭に、世界中の研究機関がモデルサイズに注目し、精度がパラメータ数と相関していることを観察しました。たとえば、GPT-3(2020)やBLOOM(2022)は約1750億のパラメータを持ち、Gopher(2021)は2300億のパラメータを持ち、MT-NLG(2021)は5300億のパラメータを持っています。2022年、Hoffmanらは、モデルパラメータとデータセットサイズの現在の計算バランスが最適でないことを観察し、より多くのデータにトレーニングされた小型モデルに計算予算をバランスすることが、パフォーマンスの向上につながる可能性があると示唆する実証的なスケーリング法則を発表しました。彼らは、70兆のパラメータを持つChinchilla(2022)モデルでそのガイダンスを実装し、より大きなモデルよりも優れたパフォーマンスを発揮しました。
SageMakerでのLLMトレーニング
SageMakerは、LLMを含む機械学習(ML)モデルを開発、トレーニング、チューニング、ホスティングするためのマネージドAPIの集合です。Stability AI、AI21 Labs、Hugging Face、LG AIなど、多くの顧客がSageMakerをLLMワークロードに利用しています。SageMaker Trainingは、ユーザー定義のハードウェア構成とコードでコンピューティングクラスタを提供します。コンピュートジョブはランごとに請求され、秒単位でプロレートされます。つまり、サービスを使用していない場合にはGPU容量に課金されません。TIIは、SageMaker Training APIが提供する一時クラスタを使用してFalcon LLMをトレーニングし、最大48 ml.p4d.24xlargeインスタンス、384 NVIDIA A100 GPUを集積しました。現在、TIIは次のFalcon LLMのトレーニングを行い、トレーニングを3,136 A100 GPU(392 ml.p4dインスタンス)にスケールアップしました。
サイエンスの品質とトレーニング速度を向上させるために、プロジェクトのすべての層に前例のない量のカスタムイノベーションが投入されました。次のセクションでは、TIIがディープラーニング(DL)トレーニングシステムのすべての層で実施した最適化について説明します。
スケーラブルなデータキュレーション
最新世代のLLMは、トレーニングデータのサイズと品質から力を得ています。チームは高品質なトリリオントークンのデータセットを作成するために特別な注意を払いました。いくつかのSageMaker Training CPUジョブがペタバイト級の安価でスケーラブルなWebデータをキュレーションされた安全なトレーニングデータセットに変換しました。自動システムがデータをフィルタリングして重複を削除しました。たとえば、プロファニティをフィルタリングするためにML分類器が使用されました。ml.c5.18xlarge(72 vCPU、144 GB RAM)で実行されるCPUジョブは、SageMaker Trainingを介してAPI呼び出しでいくつかのインスタンス化され、データ変換タスクを実行しました。チームは、異なるユースケースに対して単一インスタンスとマルチインスタンスのCPUジョブの両方を使用しました。これらのジョブの一部は、シングルマシン上の数百の並列共有なしアーキテクチャ(SNA)ジョブを使用し、ワーカー間の同期が必要なタスクに対しては、チームは多数のインスタンスと数千のvCPUを集積したマルチインスタンスジョブを起動しました。下流のデータセットの準備タスクで、チームは1つのSageMaker Trainingジョブで257 ml.c5.18xlargeに到達し、18,504 vCPUと37 TBのメモリを集積しました。
トレーニングスループットの最大化
トレーニングコストとマーケット投入期間を最小化するために、チームは、トレーニングトークンごとのトレーニング速度を加速するために、トレーニング速度を加速するために、いくつかの最適化の方向を追求しました。チームは、カスタムの3D並列LLMトレーニングフレームワークを使用し、コンパイルされたGPUコードで書かれた最適化されたカスタムレイヤーを特徴としています。チームは、さらに高速化を図るために、独自のカスタム行列乗算実装を書くほど進んでいます!チームはまた、並列通信を基盤とするネットワークトポロジーに適応するロジックを開発しました。初期のスケーリング実験では、TIIは、256 GPUで147Bモデルで166 TFLOPs/GPU、16 GPUで13Bモデルで173 TFLOPs/GPUに到達することができました。これは、当時クラウドで実現された最速のモデルTFLOPsです。
サーバーレスストレージ
LLMトレーニングはストレージインテンシブです。数テラバイトのトレーニングデータをトレーニングクラスタにチャネルする必要があり、数テラバイトのモデルチェックポイントがクラスタから定期的に永久ストレージに戻されます。チェックポイントは、ジョブ再起動時に可能な限り早くトレーニングクラスタに到達する必要があります。従来の高性能コンピューティング(HPC)では、コンピューティングノードが分散ファイルシステムに接続され、POSIXライクなインターフェースを介して高性能のI/Oとスループットが提供されます。AWSでは、顧客がこの目的でAmazon FSx for Lustreファイルシステムを定期的に使用しています(詳細については、「Amazon FSx for LustreおよびAmazon EFSファイルシステムを使用してAmazon SageMakerでトレーニングを高速化する」を参照)。また、分散コンピュータビジョンのケーススタディで自己管理型のBeeGFSの使用方法を文書化しています。チームは、コストと運用のシンプルさに重点を置いたため、ファイルシステムサーバーを実装および運用せずに、サーバーレスオブジェクトストレージAmazon Simple Storage Service(Amazon S3)の上に独占的に構築するという課題に取り組みました。AWS SDK for Python(Boto3)を使用してカスタムS3データセットクラスを構築し、同じコードベース内でI/Oエンジニアリングとモデルサイエンスを自律的に反復することを可能にし、満足のいくパフォーマンスを提供しました。
クライアントサイドのイノベーション
LLMプロジェクトは、ほとんどの場合、単一のトレーニングジョブで構成されるものではありません。初期のテストや実験には多数のジョブが必要です。本番のトレーニング中には、設定やソフトウェアバージョンの更新、パッチのデプロイ、障害からの回復などのために、複数のジョブが連鎖する場合があります。TIIの科学者たちは、LLMトレーニングに適したカスタムクライアントを構築するために、重要なエンジニアリングを実施しました。ランチャークライアントは、SageMaker Training SDKの上に構築され、コードバージョニング、Dockerイメージのビルド、およびジョブの起動などの複数の機能を1つのコマンドでパックするために設計されました。さらに、AWS Lambdaサーバーレスコンピュート関数が設計され、必要に応じてジョブを監視、モニタリング、および介入するようになりました。
Slackボットを使用して推論品質監査を行う
トレーニングの終盤に、チームはモデルを内部のSageMaker Hosting GPUエンドポイントに展開してリアルタイムでの相互作用を実現しました。チームは、実際にフィードバックを得てモデルの定性的品質監査を実行するために、Slackボットを作成するまで進みました。
トレーニングとパフォーマンスのモニタリング
LLMのトレーニングには、CPU、GPU、およびメモリリソースを含む大量の計算リソースが必要です。したがって、TIIはトレーニングジョブのパフォーマンスとアイドル時間を監視して、計算リソースの最適な利用とコスト効率を確保する必要がありました。
自動モニタリングソリューションを構築するために、TIIはAmazon CloudWatchアラームを使用してトレーニングジョブのGPU、CPU、およびメモリの使用状況を監視しました。CloudWatchは、SageMakerトレーニングジョブで使用される基礎のコンテナインスタンスから生のデータを収集し、読み取り可能なほぼリアルタイムのメトリックに処理します。その後、これらのメトリックの各々にしきい値を設定し、しきい値を下回る場合はアラームがトリガーされます。このアラームにより、TIIのチームはリソースの低い利用状況について通知され、リソース利用制約を修正するための是正措置を講じることができます。
リソース利用の監視に加えて、TIIはトレーニングジョブリソースのアイドル時間も監視できました。トレーニングジョブリソースが長時間アイドル状態にある場合、トレーニングサイクルのどの段階でもボトルネックが発生している可能性があり、手動で調査する必要があります。いくつかの場合では、リソース利用は比較的最適でしたが、トレーニングプロセス自体が進行していなかった場合があります。これらの場合、TIIはCloudWatchアラームをLambda関数と統合し、生成されたトレーニングログをクエリして読み取り、生成されたエラーまたはログ生成プロセスのアイドル状態に基づいて自動アクションを実行しました(クラスタが停止)。アラームがトリガーされると、トレーニングジョブを停止するアクションが実行され、リソースが利用されていないときにTIIが不必要なコストを負担しないようにします。
結論
独自のカスタムイノベーションと組み合わせてSageMakerを使用することで、TIIは、技術的な突破口、科学的な品質、トレーニングスピード、および操作上の簡便性の多くの側面で最先端のモデルをトレーニングすることができました。
「UAEのFalcon 40B、世界トップクラスのオープンソースAIモデルのリリースは、技術的リーダーシップを示し、地域でのAIによる革新の道を開いています」とDr. Ebtesam Almazroueiは述べています。そして、「私たちは2031年の国家AI戦略で示された目標にコミットメントを示しています。Falcon-40Bによって表されるグローバルな技術的進歩への積極的な関与は、知識ベースの経済を追求する上で重要な役割を果たしています。AIソリューションへの投資と開発を通じて、私たちは経済成長、社会的進歩、および教育の進展の新たな可能性を創出することを目指しています。」 「Falcon-40Bのオープンソースの性質は、AIの分野における協力、透明性、イノベーション、および研究への献身を反映しています。私たちは、高度なAIテクノロジーの能力を民主化し、Falcon-40Bを世界の研究者や組織にアクセスできるようにすることを信じています。」 「今後も、私たちはパイプラインにある次世代モデルを含むAIおよびテクノロジーの進歩に貢献し続けます。さらに、私たちは国内の組織や企業での先進的なAIテクノロジーの採用を積極的に促進し、戦略的目標に沿った成長と繁栄を育成していきます。」
– Dr. Almazrouei
Falcon LLMについて詳しくは、FalconLLM.tii.aeのウェブサイトとHugging Faceのモデルカードをご覧ください!
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Amazon SageMakerでTritonを使用してMLモデルをホストする:ONNXモデル
- Amazon SageMakerのHugging Face推定器とモデルパラレルライブラリを使用してGPT-Jを微調整する
- Amazon SageMakerを使用してOpenChatkitモデルを利用したカスタムチャットボットアプリケーションを構築する
- Amazon SageMaker で大規模なモデル推論 DLC を使用して Falcon-40B をデプロイする
- Amazon SageMakerを使用した生成型AIモデルにおいて、Forethoughtがコストを66%以上削減する方法
- BrainPadがAmazon Kendraを使用して内部の知識共有を促進する方法
- Amazon TranslateのActive Custom Translationを使用して、マルチリンガル自動翻訳パイプラインを構築します