1日1,000個以上の星を生成したテスラのAIディレクターがGPT Pytorchトレーニングライブラリを作成した

1日1,000個以上の星を生成したテスラのAIディレクターがGPT Pytorchトレーニングライブラリを作成した

GPT モデルが無敵の戦艦だとすると、minGPT はおそらく風や波に乗れる小型ヨットでしょう。

最近、「史上最大のAIモデル」であるGPT-3が世界中で人気を集めています。

GPTシリーズは、人工知能分野における「暴力的な美学」の代表作ともいえる。 2018 年に打ち上げられた GPT には 1 億 1,700 万のパラメータがあり、2019 年に打ち上げられた GPT-2 には 15 億のパラメータがあり、2020 年に打ち上げられた GPT-3 には 1,750 億のパラメータがあります。わずか 1 年で、GPT モデルのパラメータの数は飛躍的に増加しました。

GPT-3 のリリース後まもなく、OpenAI は商用 API をコミュニティに公開し、誰もが GPT-3 を使ってさらに多くの実験を試すことを奨励しました。ただし、API を使用するには申請が必要であり、申請は無視される可能性があります。では、公式 API を使用する以外に、この「最大のモデル」を操作する方法はあるのでしょうか?

最近、テスラの人工知能研究責任者であり、元OpenAIの研究科学者であるアンドレイ・カルパシー氏がそれを試した。

彼は PyTorch をベースに、わずか 300 行程度のコードで小さな GPT トレーニング ライブラリを作成し、それを minGPT と名付けました。

Karpathy 氏は、この minGPT は加算演算と文字レベルの言語モデリングを高い精度で実行できると述べました。しかし、デモを実行した後、Andrej Karpathy 氏は興味深い現象を発見しました。2 層、4 アテンション ヘッド、128 層の GPT は、2 桁の加算演算で 55 + 45 の結果を 90 と計算しましたが、他の加算演算では問題がなかったのです。

現在、このプロジェクトは GitHub に公開されてから 24 時間も経っていませんが、スターの数は 1,000 を超えています。

minGPT プロジェクト アドレス: https://github.com/karpathy/minGPT

minGPT: わずか 300 行のコードで GPT トレーニング

GPT モデルが無敵の戦艦だとすると、minGPT はおそらく風や波に乗れる小型ヨットでしょう。

[[338357]]

プロジェクトページで、Karpathy 氏は、既存の GPT 実装ライブラリが少し乱雑であるため、minGPT を作成するプロセスでは、小ささ、シンプルさ、説明可能性、教育的意義という原則に従おうとしたと紹介しました。

GPT は複雑なモデルではなく、minGPT の実装は、定型文とまったく不要なカスタム因果自己注意モジュールを含めて、わずか 300 行程度のコードです。 Karpathy は、インデックスのシーケンスをトランスフォーマー ブロックのシーケンスに変換し、次のインデックスの確率分布が出現するようにします。残りの複雑な部分は、トレーニングをより効率的にするためにバッチ処理を巧みに処理することです。

コア minGPT ライブラリには、mingpt/model.py と mingpt/trainer.py の 2 つのファイルが含まれています。前者には実際の Transformer モデル定義が含まれており、後者はモデルのトレーニングに使用できる GPT に依存しない PyTorch ボイラープレートです。関連する Jupyter ノートブックには、ライブラリを使用してシーケンス モデルをトレーニングする方法が示されています。

  • play_math.ipynb は加算に焦点を当てた GPT をトレーニングします。
  • play_char.ipynb は、以前の char-rnn と同様に、任意のテキストで使用できる文字レベルの言語モデルに GPT をトレーニングしますが、RNN の代わりにトランスフォーマーを使用します。
  • play_words.ipynb は BPE (バイトペアエンコーディング) バージョンですが、まだ完成していません。

BPE エンコーダー、分散トレーニング、fp16 を使用すると、この実装で GPT-1/GPT-2 の結果を再現できる可能性がありますが、Karpathy はまだ試していません。 GPT-3 に関しては、GPT-3 が GPU メモリに収まらない可能性があり、より高度なモデル並列化が必要になるため、minGPT では再現できない可能性があります。

使用例

Karpathy は minGPT プロジェクトでいくつかの使用例を提供しています。

これらのコードは非常にシンプルで、「使用」する代わりにインラインでハックするだけです。現在の API は次のようになります。

minGPT はどのように実装されていますか?

実装プロセス中、Karpathy 氏は OpenAI GPT 公式プロジェクトや他の組織の例を参照しました。

コード

  • OpenAI gpt-2 プロジェクトはモデルを提供していますが、トレーニング コードは提供していません (https://github.com/openai/gpt-2)。
  • OpenAI の image-gpt ライブラリは、コード内で GPT-3 に似た変更がいくつか加えられており、優れたリファレンスとなっています (https://github.com/openai/image-gpt)。
  • Huggingface のトランスフォーマー プロジェクトは、言語モデリングの例を提供します。完全に機能しますが、追跡するのは少し難しいです。 (https://github.com/huggingface/transformers/tree/master/examples/language-modeling)

論文 + 実装ノート

さらに、プロジェクトの著者らは、関連する論文や実装の詳細も紹介しました。

1. GPT-1: 生成的事前トレーニングによる言語理解の向上

  • 論文アドレス: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf

GPT-1 モデルは、オリジナルのトランスフォーマーにほぼ従い、12 層のデコーダーとマスクされた自己注意ヘッド (768 次元の状態と 12 個の注意ヘッド) のみを使用してトランスフォーマーをトレーニングします。具体的な実装の詳細については、下の図を参照してください。


2. GPT-2: 《言語モデルは教師なしマルチタスク学習者です》

  • 論文アドレス: https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

GPT-2 は、事前活性化残差ネットワークと同様に、LayerNorm を各サブモジュールの入力に移動し、最後の自己注意モジュールの後に追加のレイヤー正規化を追加します。さらに、モデルでは、モデルの初期化(残差層の初期化重みなどを含む)が変更され、語彙が拡張され、コンテキスト サイズが 512 トークンから 1024 に増加し、より大きなバッチ サイズが使用されるなどしました。具体的な実装の詳細については、下の図を参照してください。

3. GPT-3: 言語モデルは少数ショット学習者

  • 論文アドレス: https://arxiv.org/pdf/2005.14165.pdf

GPT-3 は GPT-2 と同じモデルとアーキテクチャを使用します。違いは、GPT-3 では Sparse Transformer と同様に、トランスフォーマーの各レイヤーで交互に密なアテンション パターンとローカル バンドのスパース アテンション パターンを使用することです。具体的な実装の詳細については、下の図を参照してください。

アンドレイ・カルパシー

Andrej Karpathy 氏は、コンピューター ビジョン、生成モデル、強化学習の分野の研究者です。博士課程では、スタンフォード大学コンピューター サイエンス学部の教授である Fei-Fei Li 氏の指導を受けました。博士課程在学中、彼は Google で 2 度インターンシップを行い、YouTube 動画の大規模な特徴学習を研究しました。さらに、彼はFei-Fei Liらとともにスタンフォード大学のクラシックコースCS231nを設計し、指導しました。

[[338358]]

2016年、カルパシー氏は研究科学者としてOpenAIに入社した。 2017年、彼は人工知能と自動運転ビジョンのディレクターとしてテスラに入社しました。今日、カルパシー氏はテスラのAI担当シニアディレクターに昇進した。彼のチームは、データ収集、ニューラル ネットワークのトレーニング、および Tesla のカスタム チップへの展開を含む、Tesla の Autopilot 自動運転システムのすべてのニューラル ネットワークの設計を担当しています。

CS231n を教えていたときと同じように、Karpathy 氏は余暇に取り組んだ minGPT にも教育上の意義があることを期待しています。物事を簡素化しようとする彼の行動は、多くのコミュニティメンバーから高く評価されました。

minGPT 自体についての議論に加えて、「コミュニティの力を使って GPT-3 を一緒にトレーニングすることは可能か?」という疑問を提起する人もいます。言い換えれば、何千人もの開発者がアイドル時(夜間など)に GPU を提供すれば、最終的に 1750 億のパラメータを持つ GPT-3 をトレーニングできるのでしょうか?こうすれば、全員が電気代を分担するだけで済みます。

しかし、分散トレーニングのアイデアは非常に興味深いが、勾配などの面でボトルネックが発生する可能性があると指摘する人もいました。

電気代をクラウドファンディングしてクラウドサービスを購入する方が簡単ではないかと冗談を言う人もいました。

<<:  医療提供者はなぜインテリジェントオートメーションに投資する必要があるのでしょうか?

>>:  人工知能市場の収益は今年1560億ドルに達する見込み

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

テンセントの「Hunyuan」AIモデルがCLUE分類リストの歴史的記録を更新

4月29日、テンセントのAIモデル「Hunyuan」がCLUE(中国語言語理解評価コレクション)部門...

機械学習における正則化とは何ですか?

1. はじめに機械学習の分野では、トレーニング プロセス中にモデルが過剰適合したり、不足適合になっ...

...

正確な画像認識を望むなら、AIデータの精度を効果的に向上させることが鍵となる

技術の継続的な反復的発展により、人工知能の応用は人々の日常生活に巧妙に浸透してきました。インテリジェ...

ペアデータなしで学習!浙江大学らは、マルチモーダルコントラスト表現C-MCRの接続を提案した。

マルチモーダル対照表現 (MCR) の目標は、異なるモダリティからの入力を意味的に整合された共有空間...

...

...

清華大学張北院士:融合乗算による第三世代人工知能の三空間融合モデルの解釈

人工知能は今どの段階に達しているのでしょうか?どのような問題や限界があるのか​​?どのように突破する...

AIの発展が遺伝子工学を推進している

CRISPRは遺伝子編集技術の専門用語です。簡単に言えば、ウイルスは細菌に自身の遺伝子を組み込み、細...

13 のインテリジェントなインタラクティブ AI チャットボット プラットフォーム

[[399108]] [51CTO.com クイック翻訳]ご存知のとおり、チャットボットは企業のサー...

研究は、人工知能が手術後のオピオイド使用を減らすのにどのように役立つかを示している

ペンシルベニア大学医学部が最近実施した研究では、人工知能がオピオイド乱用と戦うためにどのように使用で...

百度研究所が2020年のAI技術トレンド予測トップ10を発表

一歩前進、そしてまた一歩前進し、2019年が終わりました。 12月24日、百度研究所は2020年のト...

動物の顔認識技術は何に使われますか?

動物を正確に識別できる技術は、迷子になった動物を飼い主と再会させたり、農家が家畜を監視したり、研究者...

...