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

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

推薦する

...

3つの側面での共同の取り組みにより、人工知能はスマート交通の発展に貢献します。

[[442361]]都市化の継続的な進展と自動車保有数の急速な増加により、我が国の交通発展は困難な...

...

AIアプリケーションはコストを2倍以上にする

人工知能の登場により、多くの企業がこの分野の研究開発に多額の資金を投資し、一部の企業は成果を上げ始め...

...

ChatGPT の新たな脆弱性: 個人のプライバシーを暗唱してトレーニング データを漏洩する制御不能状態、OpenAI が修正、まだ機能している

ChatGPTの最新の脆弱性が明らかになり、たった1つの文でトレーニングデータがそのまま漏洩してしま...

...

Weilingsi チームは、グラフ同型性の下での同変性と高い計算効率を備えた「自然グラフ ネットワーク」メッセージ パッシング メソッドを提案しました。

最近、ウェリングスチームによる研​​究では、グラフの局所的な対称性を研究することで新しいアルゴリズム...

王の英雄を見極める – PM の機械学習初心者の旅

[[204836]]基本概念先月、私は機械学習を原理レベルから理解し始め、オンライン電子書籍「ニュー...

労働者の皆さん、ご注意ください: AI は組立ラインの労働者を置き換えるものではなく、管理者を置き換えるものです。

今後 15 年間で、人工知能によって米国の雇用が 40% から 50% 減少すると私は予測しています...

データサイエンスについて知っておくべきこと: 10 の重要な概念 + 22 のグラフ

01 バイアスと分散のトレードオフこれは、機械学習における最も重要な理論の中で常に上位にランクされ...

IoTとAIが出会うとき: テクノロジーの未来

人工知能(AI)は驚異的な進歩を遂げ、一般に応用可能な技術として社会に影響を与えています。しかし、初...

ビジネスプロセス管理を使用してマイクロサービス、人、ロボットを調整する方法

DevOps チームがプロセスの自動化を計画している場合は、ビジネス プロセス管理 (BPM) エン...

人生の意味とは何でしょうか?ステーションBのUP司会者がAIに「究極の質問」を投げかけた

人生の意味とは何でしょうか?人はなぜ生きるのか?これらの「宇宙の究極の疑問」は、歴史を通じて数え切れ...

TRSのTuotianビッグモデルが正式にリリースされ、メディア、金融、政府関係の3つの業界向けのビッグモデルが発表されました。

2023年6月29日、チューリングはNLP分野での30年間の技術革新、10年以上の高品質なデータと...