|
数千億のパラメータを持つ大規模モデルを体験するための参入障壁はますます低くなっています。 質問に答えるための大きなモデルが必要ですか? ウェブページに質問を入力し、プログラムを 20 ~ 30 秒間実行すると、すぐに回答が生成されます。 これは、Meta が今年オープンソース化した、1,750 億のパラメータを持つ Open Pretrained Transformer (OPT) を使用します。 従来の方法でローカルで実行すると、計算能力の大きなテストになります。 これはオープンソースプロジェクトColossal-AIがサポートするクラウドベースのデモです。登録不要ですぐに始めることができ、ハードウェア要件は一切ありません。通常のノートパソコンやスマートフォンでも実行できます。 つまり、コーディングについて何も知らない完全な初心者でも、OPT のような大規模なモデルを操作できるようになりました。 ぜひ試してみましょう! 4種類のミッションを試遊できます。FAQ、チャットボット、翻訳、記事作成など、いくつかのモードを試用できます。 一部の値は、コードを介さずに必要に応じて調整することもできます。 私たちは記事執筆チャレンジに挑戦し、「今日は良い日です」という文章から始めました。 すぐに、ウェブページに一連の素晴らしいニュースが表示されました。昇給した、現在アサシン クリード をプレイ中、明日はビーチに行く... うらやましいニュースでした。 また、チャットボットが数ドルでチャットできるシナリオを作成することもできます。 ランダムに生成された長いセリフは、携帯電話を購入するというシナリオを描いています。まさに今日のiPhone 14の発売にぴったりですね。 AI やプログラミングの知識がない完全な初心者でも、さまざまな OPT タスクを簡単に習得でき、その体験は信じられないほどスムーズです。 数千億のパラメータを持つ OPT のような大規模なモデルを実行することは、常に「高いハードウェア要件」と「高いコスト」を伴うことを理解することが重要です。 無料で無制限にアクセスできるウェブサイトは、具体的にどのようにして上記の効果を実現するのでしょうか? クラウドで大規模モデルを迅速に展開するためのオープンソースソリューションこれらはすべて、基盤となるサポート システムである Colossal-AI から始まります。 わずか数行のコードでトレーニングや推論用の大規模な AI モデルを迅速に展開できることで知られており、GitHub で 4.7K を超えるスターを獲得しています。 これは、クラウドでの大規模 AI モデルの展開における同社にとって新たな進歩となります。 最適化は主に、推論速度や計算の複雑さなど、OPT モデルの特性に合わせて行われました。 OPTクラウドサービスに関しては、左パディング、過去キャッシュ、バケットバッチング技術が提案されました。 OPT には 1,750 億のパラメータがあり、このような大規模なモデルは明らかに単一の GPU メモリの容量を超えています。 さらに、推論の問題では、スループットだけでなく、レイテンシも考慮する必要があります。 並列コンピューティングはこれら 2 つの問題に対する優れた解決策です。 特に、Colossal-AI は単一マシン モデルを並列モデルに変換するのが非常に得意なので、並列 OPT モデルを取得することは当然問題ありません。 しかし、並列スキームでパラメータをロードすることは常に課題でした。 この点において、Colossal-AI では、例を参照し、パラメータ名のマッピング関係を提供するだけで、モデル パラメータを読み込むことができます。 最後に、モデルを Colossal-AI の推論エンジンにインポートし、対応するハイパーパラメータを設定します。 この時点で、OPT バックボーン ネットワークの推論部分がオンラインになり、意味のある結果を出力できるようになります。 しかし、それだけでは十分ではありません。 OPT は生成モデルであるため、生成タスクではモデルの出力を継続的に反復処理する必要があり、推論で使用される一般的なバッチ処理戦略を直接適用することはできません。 具体的には、タスク入力を生成するために使用される文の長さは変化することが多く、ほとんどの言語は左から右に読み書きされます。 従来の右パディングを使用すると、短い文に対して意味のある結果を生成することが困難になったり、複雑な処理が必要になったりします。 △ 右パディングを使用すると左右の位置ずれが生じるそれを単一のバッチで実行するのは非常に非効率であり、実現不可能です。 そこで、今回の推論展開では、各文の生成側(右側)が揃うように、文を埋めるために左パディングを追加し、同時に新しい単語を生成できるようにしました。 △左パディングもう 1 つの問題は、生成モデルでは推論ごとに 1 つの新しい単語しか生成できないことです。 新しい出力が生成されると、それも入力の一部になります。 言い換えれば、生成タスクの各計算では、新しい入力シーケンスの再計算が必要になります。 この操作方法では、明らかに繰り返し計算が多すぎます。 これは、計算負荷の大部分を占める線形レイヤーに特に当てはまります。 そのため、Colossal-AI の開発者は、モデル内に過去のキャッシュ テクノロジを導入しました。 同じ生成タスク内の線形レイヤーの出力を一時的に保存できるため、毎回新しい単語のみが計算のために線形レイヤーに入り、計算結果を一時的に保存して重複計算を回避できます。 視覚的には次のようになります。 さらに、開発者は、生成タスクの計算負荷が変化することに気づきました。 入力文と出力文の長さは大きく異なります。 単純なバッチ処理方法を使用して 2 つの非常に異なる推論を同じバッチに入れると、多くの冗長な計算が発生します。 そこで彼らはバケットバッチ処理を提案しました。 つまり、入力文の長さと出力対象の文の長さをバケットに分類し、同じバケット内のシーケンスをバッチ処理として扱うことで冗長性を削減します。 もう一つこのクラウドベースのデモだけでなく、サポートする Colossal-AI も無料のオープンソースです。 誰でもこれを使用して、低コストで独自の大規模モデルをトレーニングし、クラウド サービスとして展開できます。 たとえば、120 億のパラメータを持つ大規模なモデルを、10 GB のビデオ メモリを搭載した単一の RTX 3080 でトレーニングできます。 ネイティブ PyTorch と比較してモデル容量が 120 倍向上します。 Colossal-AI はこれまでに、GitHub および Paper With Code のトレンド リストで何度も世界 1 位にランクされています。 関連ソリューションは、自動運転、クラウド コンピューティング、小売、医薬品、チップなどの業界の有名メーカーによって成功裏に実装されています。 最近、Colossal-AI は、世界スーパーコンピューティング会議、国際データサイエンス会議、世界人工知能会議、Amazon Web Services China Summit など、いくつかの国際的な専門イベントに選ばれ、招待されています。 |