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

ブログ    
ブログ    

推薦する

顔認識技術の現状と今後の開発動向

顔認識は、一般的に肖像認識または顔認識とも呼ばれ、顔の特徴に基づいて人物を識別する生体認証技術です。...

プログラミングアルゴリズムと人生の選択

毎年、就職活動の時期になると、どうやって内定を選んだらいいのか、テンセントに行くべきか豆板に行くべき...

Gen-2 は AI 生成ビデオに革命をもたらします。一言で4K高画質映画が作れる。ネットユーザー「ゲームのルールを完全に変えた」

これは間違いなく、生成 AI の進歩における画期的な出来事です。深夜、Runway の象徴的な AI...

高性能 LLM 推論フレームワークの設計と実装

1. 大規模言語モデル推論の概要従来の CNN モデル推論とは異なり、大規模言語モデルの推論は通常、...

...

人工知能技術はスマートビルの未来をどのように変えるのでしょうか?

賢明なビル管理者は、AI がビルの自動化だけでなく、より適応性の高いものにするのにも役立つことを知っ...

自撮り写真でAIがあなたの顔を認識できないようにする方法

現在、顔認識システムがプライベートな写真で訓練されるのを防ぐツールがますます増えている。個人の写真を...

...

ニューラルスタイル転送アルゴリズムで絵を描くことを学習する人間は、芸術分野で人工知能に負けるのでしょうか?

人工知能はますます多用途になり、すでに私たちの仕事のすべてを人工知能が引き継ぐことができるようです。...

ジャック・マー氏、AIについて語る:今後10~15年で従来の製造業が被る苦痛は、今日の想像をはるかに超えるものになるだろう

「今後10年から15年の間に、従来の製造業が直面する苦痛は、今日私たちが想像するよりもはるかに大きく...

...

AIシステムのグレーディングを通じて企業のコスト管理を支援

翻訳者 | 張毅校正 | 梁哲、孫淑娟自動車技術協会(SAE)が自動運転車を分類しているのと同じよう...

自動化には限界がない: SF Express のサプライチェーンは RPA を活用してデジタル変革を加速

[51CTO.comからのオリジナル記事]最近、UiPathとSF Supply Chainは共同オ...

...

バイトダンスのGPTアカウントが突然凍結、OpenAIが不正行為を調査

バイトダンスは、この大規模モデルをめぐる世論の嵐に巻き込まれている。 The Vergeによると: ...