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億ドルに達する見込み

ブログ    
ブログ    

推薦する

ポピュラーサイエンス:自動運転車はなぜ制御を失うのか? 「道路の汚れ」が原因か

通常の「道路の汚れ」でも、インテリジェントな自動運転車を混乱させ、1 秒以内に制御を失い車線から外れ...

兵器化されたロボットはやってくるのか?米警察、ボストン・ダイナミクスのロボット犬をパトロールに活用

「ブラックミラー」シリーズのエピソード「メタルヘッド」を見て、ロボット犬が兵器としてもたらす危害を知...

...

従来のセキュリティ手法を覆し、AIがWebセキュリティを再定義

Amazonが2006年にEC2サービスをリリースしてから11年が経ちました。この 11 年間で、A...

DeepMind、囲碁、チェス、ポーカーをプレイするための汎用学習アルゴリズムSoGを発表

2016年3月、ロボットと世界チャンピオンでプロ棋士のイ・セドル九段による人機囲碁対決が世界中から大...

...

...

ChatGPT/GPT-4/ラマトロッコ問題コンテスト!小型モデルの方が道徳心が高い?

「モデルには道徳的に推論する能力がありますか?」この質問は、モデルによって生成されるコンテンツ ポ...

集中治療室における人工知能の未来

他の業界と同様に、ヘルスケアにおける AI の応用と議論は幅広く行われています。 AIはすでに診断の...

人工ニューラルネットワーク分類器に基づくドメイン適応(DA)技術

DA テクノロジーは、まず自己組織化特徴マッピングに基づくクラスタリング テクノロジーを適用します。...

陳根:人工知能は人間と機械の間の感情的な溝を埋めている

長い間、感情があるかどうかは、人間と機械を区別する重要な基準の一つでした。つまり、機械が感情を持って...

...

Gemini と GPT-4V のどちらが優れていますか?視覚言語モデルの総合的な比較と併用

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

5Gが企業に与える影響

画像ソース: https://pixabay.com/images/id-1069218/ 2024...

IDC: 企業の人工知能プロジェクトの半数が完全に失敗し、AI導入の道のりは困難

AIは簡単に使えますが、AIを実装するまでの道のりは簡単ではありません。企業が最大限の努力を払ってい...