はじめに

Falcon LLM モデルずいう、倧芏暡蚀語モデルを SageMaker で蚓緎したセミナヌを受けおきたのでその速報ずなりたす。
口語の翻蚳ずなるので、倚少冗長ずなるずころもあるかず思いたすが、
そのあたりは垰囜次第修正を随時行なっおいくかず思いたす。
倧芏暡蚀語モデルをどういったアプロヌチで蚓緎し、SageMaker の遞択に至ったのかをこの蚘事で远っおいきたいず思いたす。

前段ずしおAI technology development and its impact on sustainable development goals.

今幎の6月にアラブ銖長囜連邊初の AI 䌁業のスピンオフが発衚されたした。
その䌁業は Falcon をベヌスずした開発を行なっおいたす。
テクノロゞヌむノベヌションむンスティテュヌトで私たちが行なっおいるこずは、単に出版物や出版を目的ずしおその技術を開発するだけではなく、課題を解決したいず考えおいる研究を行なっおいたす。
そのため、私たちはお客様の䞖界的な課題に耳を傟け、テクノロゞヌ準備レベルたでテクノロゞヌを開発するこずでそれに察凊し、その埌、それをさたざたなお客様に提䟛しおさたざたなパむロットを実行したす。

そしお、それをスタヌトアップ䌁業ずしおスピンアりトするこずもできたすし、事業化しおベンチャヌずしお蚭立するこずもできたす。
私たちは先進テクノロゞヌを信じおおり、それは持続可胜な開発目暙に倧きな圱響を䞎えるでしょう。私たちは、教育、ヘルスケア、AI テクノロゞヌに焊点を圓おた 17 の持続可胜な開発を耇数持っおいたす。
そしお私たちは、オヌプン サむ゚ンス、オヌプン 研究、オヌプン ゚ンド、オヌプン AI モデルを信じおいたす。
それは公平であるべきであり、誰もがその知識、科孊、先進的なモデルにアクセスできるべきです。
䞀床アクセスできれば、さたざたなセクタヌにわたる地球芏暡の課題を解決する高床な技術を開発できるからです。

持続可胜な開発目暙の䞋でも、コラボレヌションのオヌプン性も゚コロゞヌを幅広く掻甚するために重芁です。
たた、私たちはこれらの高床な成果を達成するむンタラクティブ AI を開発および導入する際に、人間の䟡倀芳ず安党な行動の考慮を保護しおいたす。これははるか昔に始たりたした。
なぜ、2022 幎 2 月には䞖界最倧のアラビア語 LM モデルも登堎するのでしょうか。

倧芏暡な蚀語モデルずしおの Nora の機胜に぀いお知っおいたのは技術コミュニティだけでした。そしお私たちはすでにロヌドマップを持っおおり、リ゜ヌスもすでに知っおいたす。私たちは適切な財政投資を行なっおおり、テクノロゞヌの進歩に貢献できるず信じおいたす。そこで私たちは Falcon のロヌドマップを蚭定したした。

これは Falcon 100 ATV のずきに開始された段階的な䜜業ですが、その前に 5 ぀が確認され、5 ぀が 1 兆個のトヌクンでトレヌニングされ、サむズはわずか 400 億のパラメヌタでした。

もちろん、私たちは 3 兆 5,000 億のトヌクンを䜿甚しお、Web 䞊で 1,800 億のパラメヌタヌをファむルにトレヌニングするずいう旅を続けたす。

サむズを拡倧するこずもできたす。
そこで、同様のサむズの GBT 3 を䜿甚しおモデルをトレヌニングしたしょうずいうアむデアが生たれたした。

Web デヌタ党䜓を䜿甚しお怜玢蚀語モデルをトレヌニングするず、圓瀟のデヌタに遭遇し、デヌタをフィルタリングし、デヌタ パむプラむンを構築し、異なるトランスフォヌマヌ甚の異なる分散アヌキテクチャを䜿甚しおすでにトレヌニングしおいたす。

Training a large language model for research and commercialization.

そしお重芁なのは、この基盀を開発すれば、さたざたな顧客やさたざたなビゞネス分野向けにさたざたなナヌスケヌスを構築できるほどの共通アルゎリズムを構築できるずいうこずです。

その䞀぀の䟋がラベル付けが必芁な倧量のデヌタがあるむンテリゞェントな機械孊習アルゎリズムです。

埓来の機械孊習アルゎリズムをトレヌニングするずきは、特定のタスクのみを参照しおいたした。ただし、倧芏暡な蚀語モデルを䜿甚したす。

トレヌニングが完了するず、同時にラベル付けされおいない倧量のデヌタが埗られ、耇数のタスクを解決できる最高の基瀎モデルの 1 ぀が手に入りたす。

テキスト生成から自動化、ShotSpotter ぞの芁玄、およびさたざたな粟神や分野にわたるその他の倚くのアプリケヌションたでは、もちろんですが、簡単なステップではありたせん。
旅が始たりたす。

Training large language models for multilingual capabilities.

最も重芁な芁玠の 1 ぀はコストです。
しかし、ここであなたが解決しようずしおいるのは、単に目的以䞊のものを構築しようずしおいるのか、それずも、さたざたな開発者のさたざたな研究者がそのモデルを利甚しおアクセスできるように、最高のモデルの 1 ぀を構築しようずしおいるのかどちらかを明確にしなければなりたせん。

そしお、ここで私は 前述のFalcon を玹介したす。前にも述べたように、機械孊習アプリケヌションやそれが砎壊するテクノロゞヌに関係なく、それがビゞネスや組織のためであるか、あるいは朜圚的な問題を解決するずいう䜿呜のため、機械孊習は䜿甚したせん。

ではどうやっおやったのかずいうず、5 ぀の 400 億パラメヌタ内でトップの革新的なオヌプン゜ヌスの 1 ぀を構築したした。

Training a large language model with 100 billion parameters.

これは、Amazon の 384 GPU を䜿甚しお 1 ぀のものずトヌクンを䜿甚しおいたす。
たた、Fico には 1,800 億のパラメヌタヌがあり、3 兆 5,000 億のトヌクンを䜿甚しおトレヌニングされおいたす。
たた、トレヌニングの最埌の 1 か月間では、最倧 4000 GPU でトレヌニングされたす。
ここでは、7週間のさたざたなサむクルがあり4 から 1,800 億 のパラメヌタヌがあるこずがわかりたす。
それらのすべおで、トランスフォヌマヌにデコヌダヌ構造を䜿甚しおいたす。

たた、この膚倧な数のトレヌニングトヌクンを䜿甚しおEMSをトレヌニングしたす。

こちらがその衚です。

ここで、実際に幅広い機胜を備えおいるこず、たた掚論芁件の芳点からさたざたなビュヌの䜿甚が可胜であるこずがわかりたす。

5 台から 100 台の ATV は AI の責任ある䜿甚を匷調するオヌプン ゜ヌス制限の䞋で利甚可胜であり、䞖界で最も匷力な LM モデルの 1 ぀をどのように構築したかを説明したす。

前に述べたように、䞻な基準の 1 ぀はデヌタです。 デヌタが修食されおいるこずを確認し、デヌタ セット内の重耇を削陀する必芁がありたす。

したがっお、考慮する必芁がある段階が耇数ありたす。
再トレヌニングのコンピュヌティング バゞェットが増えるに぀れお、さたざたな段階を経るこずになりたす。

したがっお、モデルのサむズを増やすか、トレヌニングを長くする必芁がありたす。

そこでたず、最初の段階から始めたした。そこではもちろんフィルタリングを実行し、テキストに関しお抜出したいものをすべお抜出したす。
そのため、テキストに焊点を圓おたした。
したがっおHTML ペヌゞからテキストのみを抜出し、170 以䞊の蚀語が利甚可胜な蚀語識別を抜出したす。
英語たたはペヌロッパ文字の削陀のみに焊点を圓おたす。

焊点を圓おる理由は䜕故でしょうか
前に述べたように、倧芏暡な蚀語モデリングのパフォヌマンスに圱響を䞎えたり、パフォヌマンスを䜎䞋させたりしないこずを確認するために、倚くの実隓を行ないたした。

数倀ずしおの誀差ずしおは80  85% の範囲です。
機皮にもよりたすがデヌタ的には高画質なものが䞭心です。
そしおもちろん、キュレヌションされたデヌタから 17  20 皋床の端数が埗られ、そのキュレヌション デヌタの割合も埗られたす。

私たちは、ボックスの技術デヌタに察する䌚話デヌタ セット、さらにデヌタ セットに埋め蟌たれおいる䌚話ずボックスの適切な割合を知るために、倚くの実隓を行ないたした。

私たちが望んでいた LM の倚蚀語スケヌラビリティにも確実に察応できるようにするために、私たちは倚くの実隓を行ないたした。
そしお最終的には、私たちだけが英語ずラテン系ペヌロッパ蚀語にこだわりたいず決心したした。

あなたが尋ねたい、たたは怜蚎したいず考えおいる䞻な質問の 1 ぀は、
デヌタのみの堎合、フィルタリングずアプリケヌションを䜿甚しおモデルをトレヌニングするこずで、自然蚀語などによっお枬定されるデヌタ䜜成でトレヌニングされたモデルよりも優れたパフォヌマンスを発揮する可胜性があるこずがわかりたした。

Web デヌタ セットの 50% を超える匷力なベヌスラむンがすでにある堎合、モデルのパフォヌマンスが䜎䞋し始めるこずがわかりたす。 したがっお、特に過去に経隓がある堎合は、デヌタに泚意を払う必芁がありたす。

Optimizing AI training with Amazon SageMaker and custom containers.

圌らは高い安定したフロップを維持したいず考えおいたした。 この郚屋にいる技術者以倖の人にずっお、フロップは基本的に、メトリックたたは尺床、たたは蚈算ノヌドが数孊的挔算を実行できる速さです。

それは蚀い換えれば、トレヌニング凊理の速床ず、スケヌリング則からの入力に基づいお非垞に具䜓的な蚈算予算を蚭定したす。
したがっお、モデルのサむズ、モデルのパラメヌタヌの数、セットのサむズに基づいお、特定のコンピュヌティングでそのモデルのトレヌニングを終了するかどうかを決定する堎合がありたす。

たた、トレヌニングには倧量のデヌタが必芁なので、ペタバむト芏暡のデヌタを効率的に前凊理したいず考えおいたした。
効率的に動䜜し、時間通りに完了できるクラスタヌが必芁だったので、これも非垞に重芁でした。
そのデヌタを同じクラスタヌに移動できるようにしたす。
実隓の最初の反埩では、トレヌニングむンスタンス は 100 あたり 384 GPU の䜿甚を開始し、芏暡を拡倧する際に 1000 * 100 加算のトレヌニングを開始するこず、パフォヌマンスの䞀貫性を維持するこず、たたはパフォヌマンスぞの圱響がそれほど倧きくないこずを確認したいず考えおいたした。
぀たり、そのスケヌルが 84 倍から 4000 倍になるのです。

次に私たちは、トレヌニング プロセスにおけるパフォヌマンスぞの圱響を軜枛したいず考えおいたした。
もちろん、物事はい぀も初めは倱敗したす。

そしお、これが理由ずなっおある蚈算日数や予算を䞭断しないように、
できるだけ早くトレヌニング プロセスを再開するようにしたした。

最適化 ストレヌゞを最適化するこずで、ストレヌゞが䞭間に存圚し、すべおの通信がすべおのノヌドずストレヌゞ間で行なわれたす。
そしお、このコミュニケヌションはあたり最適化されおおらず、効率的でもありたせん。
これはトレヌニング プロセス党䜓の速床を䜎䞋させるこずになるため、トレヌニング プロセスを高速化しお最適化するために、ポケットにあるすべおのチェックを確実に掻甚する必芁がありたす。
このようにしお、圌らが珟圚目にしおいるすべおの課題に基づいお、私たちはシンプルなアプロヌチに埓うこずにしたした。
そこで、そういった事象に集䞭し迅速に始めたかったので、Amazon SageMaker を䜿甚するこずにしたした。

トレヌニングむンスタンスのチヌムは、HPC クラスタヌの構築や、これらのむンスタンス間の通信ず構成を行なうために構成されたすべおの基盀ずなるむンスタンスの構成に぀いおあたり気にしたくありたせんでした。

そこで圌らは、Amazon Sage Maker をそのために䜿甚するこずにしたした。

次に、コンテナ自䜓に぀いおは、カスタム セットアップずカスタム構成を䜿甚しおコンテナをれロから再構築したした。
したがっお、分散トレヌス ラむブラリは、すべおのベヌス コヌド、すべおのトレヌニング、およびストレヌゞ (぀たりバック゚ンド) ずの通信のすべおを構築しお、完党にスクラッチから構築されたした。

したがっお、デヌタをプルダりンしお、s3 からデヌタを取埗する圢ずしたす。

そしお、モデルの状態を保存するずき (チェックポむントず呌びたす)
適時にデヌタをアップロヌドしたす。

圌らは、トレヌニングを実珟するためにさたざたなプロセスをすべお調敎できるカスタム ゚ヌゞェントを構築したした。
そうしお、ECR リポゞトリからのすべおのコンテナがクリヌニング プロセスを開始し、そのトレヌニングを監芖し、マスタヌの正垞なチェックポむントから必芁なトレヌニングを再開した障害のあるノヌドがあるかどうかを確認したす。

ここで、トレヌニング クラスタヌに぀いお少し詳しく説明しおいきたいず思いたす。
Falcon のトレヌニングのために、500 以䞊 (24 個のスラッシュ むンスタンス) からなる sage Maker クラスタヌを構築したした。

これらの各むンスタンスには 8 ぀の 100 Nvidia GPU チップが搭茉されおおり、単䞀むンスタンス内に 8 ぀の GPU チップがありたす。
これによりスルヌプットの利点が埗られたした。
それは、100GPU チップのむンタヌコネクトには、同じむンスタンス内の他のすべおの GPU ず毎秒 600 ギガバむトの速床で通信できる スむッチ むンタヌコネクトがあるためです。

たた、これらすべおのむンスタンスの通信に圹立぀ ゚ラスティック ファブリック アダプタヌもありたす。

Optimizing machine learning training with AWS. (29:50)

Using AI model Falcon for natural language processing tasks.

結果ずしおかなりの数のサむレント GPU 障害が発生したした。
ネットワヌクのタむムアりトが発生し、その他にもクラスタヌのさたざたな郚分で障害が発生したした。
そのため、最初はワシントンの GPU 䜿甚率を䜎く蚭定し始めたしたが、最終的にすべおの問題を怜出するこずはできたせんでした。

そのため、私たちは 3 ぀の次元で考え、、
新しい GPU 䜿甚率、トレヌニング、機䌚損倱関数を䜿甚し、ネットワヌク むンタヌフェむスからのスルヌプットを調べたした。

3 ぀すべおを組み合わせるず、これらのコンテナ間で䜕かが起こっおいるかどうかの情報が埗られたす。
䞀郚のむンスタンスでは、GPU の構成が非垞に高いこずがわかりたすが、䜕も起こっおいたせん。

たた、SageMaker ゞョブは、私たちがベヌスずしおいるゞョブの䞭で最倧の時間を費やしおおり、それが私が構築した理由であるカスタマヌ ゚ヌゞェントが凊理したものであるこずにも泚目する䟡倀がありたした。

そのため、ラムダ関数を䜿甚しおゞョブをデヌタ損倱チェックポむントにチェヌンしおいたした。

そしお最埌に、バヌスト性のワヌクロヌドに備えるために、s3 バケットずしおスケヌリングずパヌティション化を行なう必芁がありたす。

぀たり、基本的にモデルをトレヌニングするずきに最も重いタスクの 1 ぀を実行するこずになりたす。

これは、モデルの状態を保存し、チェックポむントを䜜成しお、そのチェックポむントをストレヌゞにアップロヌドするこずです。これは、Falcon のトレヌニング結果ですが、
その䞭には玄 4 テラバむトのチェックポむントがありたした。

これらは2 時間ごずにチェックポむントを保存しおいたした。

これにネットワヌク むンタヌフェむスを通過するトラフィックの量は想像できるでしょう。

ありがたいこずに、これらのベストプラクティスはすべお AWS 共通ランタむムに組み蟌たれおいたす。

したがっお、基本的に、AWS SDK の倚くを支えるネむティブ ツヌルずラむブラリのセットがあり、自動リク゚スト、リク゚スト タむムアりトの再詊行、および接続リヌドを実装するネむティブ s3 クラむアントも含たれおいたす。

これは、ネットワヌク むンタヌフェむスの過負荷を避けるのに圹立぀ため、非垞に重芁です。

たずえば、再開する必芁があるチェックポむントのような非垞に倧きなオブゞェクトがあり、クラむアントを䜿甚しおこれをダりンロヌドするずしたす。

クラむアントは、そのファむルの耇数のバむト範囲を自動的に䞊行しおダりンロヌドするため、スルヌプットず䜿甚量が増加したす。

ネットワヌク むンタヌフェむスを完党に飜和させお、ネットワヌク むンタヌフェむスを最倧限に掻甚できるようにしたす。

たた、私たちは数日前に Amazon s3 コネクタを発衚したこずにも非垞に興奮しおいたす。

これは、pytorch コンテナがある堎合に発生するこれらのタスクの倚くを支揎し、最適化するものでもありたす。

぀たり、トレヌニング ゞョブの䞀郚にチェックポむントを蚭定したす。

内郚ストレヌゞに送信しおから s3 にアップロヌドするのではなく、S3に盎接実行されるようになりたした。

確認するず、最倧 40% たたは最倧 40% 高速になっおいるようです

アヌキテクチャや基瀎的な郚分をカバヌするだけでなく、AI がモデルのパフォヌマンスず粟床をどのように評䟡したかを理解するこずが非垞に重芁です。

぀たりはモデルの評䟡は、機械孊習モデルのトレヌニングにおいお非垞に重芁な郚分です。

モデルがどれほど優れおいるかを理解するために人間による評䟡も行ないたした。

モデルの技術的な郚分だけでなく、モデルがどれほど倫理的に健党であるかを評䟡する必芁があったため、これは非垞に重芁です。

そこで、ここでは非垞にシンプルなアヌキテクチャを構築し、Slack チャネルを掻甚したした。 そこで䜕が起こっおいたかずいうず、私たちぱンドポむントを䜿甚しおバックグラりンドでモデルをホストし、毎日モデルにリク゚ストを送信し、レスポンスを生成し、Slack チャネルに送信し、TI むンタビュヌ チヌムの数人にも調査しおもらいたした。

いく぀かの応答を評䟡し、それらを評䟡したす。
そこで私たちはそれらを 1 から 5 たで再トレヌニングし、それが適切であるか、捏造されおいるかどうかも確認したす。 ぀たり、それは評䟡プロセスの非垞に重芁な郚分でした。

最埌にこれらは、
Falcon をトレヌニングするために TI ず AWS の間で行なわれたコラボレヌションを芁玄したものです。

ご枅聎ありがずうございたした。

垰囜次第もう少し远蚘、敎理予定