


この「間違い」は実際には間違いではありません。Transformer アーキテクチャ図の何が「間違っている」のかを理解するには、4 つの古典的な論文から始めてください。
少し前、Transformer のアーキテクチャ図と Google Brain チームの論文「Attending Is All You Need」のコード間の矛盾を指摘したツイートが多くの議論を引き起こしました。
セバスチャンの発見は意図せぬ間違いだったと考える人もいますが、同時に奇妙でもあります。結局のところ、トランスフォーマー論文の人気を考えると、この矛盾については何千回も言及されるべきでした。
Sebastian Raschka 氏は、ネチズンのコメントに答えて、「最もオリジナルな」コードは確かにアーキテクチャ図と一致しているが、2017 年に提出されたコード バージョンは変更されているが、アーキテクチャは変更されていないと述べました。写真も同時に更新しました。これが議論の「齟齬」の根本原因でもある。
その後、Sebastian は、元の Transformer アーキテクチャ図がコードと一致しない理由を具体的に説明する Ahead of AI に関する記事を公開し、複数の論文を引用して Transformer の開発と変更について簡単に説明しました。
以下は記事の原文です。記事の内容を見てみましょう:
数か月前、私は「大規模言語モデルの理解: スピードアップするための最も関連性の高い文献の断面図」を共有しました。肯定的なフィードバックは非常に励みになりました。したがって、リストを最新かつ関連性のあるものに保つために、いくつかの論文を追加しました。
同時に、誰もが適切な時間内で理解できるように、リストを簡潔かつ簡潔に保つことが重要です。多くの情報が含まれているため、おそらく掲載されるべき論文もいくつかあります。
歴史的な観点から Transformer を理解するために役立つ 4 つの論文を共有したいと思います。これらを「大規模言語モデルについて」の記事に直接追加しているだけですが、以前に「大規模言語モデルについて」を読んだことのある人が簡単に見つけられるように、この記事でも個別に共有しています。
On Layer Normalization in the Transformer Architecture (2020)
下の図は Transformer の元のイメージですが、 (左) (https://arxiv.org/abs/1706.03762) は、元のエンコーダ/デコーダ アーキテクチャの有用な要約ですが、図には小さな違いがあります。たとえば、残差ブロック間のレイヤー正規化が行われますが、これは、元の Transformer 論文に含まれる公式 (更新された) コード実装と一致しません。以下に示すバリアント (中央) は、Post-LN トランスと呼ばれます。
Transformer アーキテクチャに関する論文のレイヤー正規化は、Pre-LN がより適切に機能し、以下に示すように勾配の問題を解決できることを示しています。実際には多くのアーキテクチャがこのアプローチを採用していますが、表現の破綻につながる可能性があります。
つまり、Post-LN または Pre-LN の使用についてはまだ議論がありますが、両方を一緒に適用することを提案する新しい論文もあります:「ResiDual: Transformer with Dual Residual」接続" (https://arxiv.org/abs/2304.14802) ですが、実際に役立つかどうかはまだわかりません。
#図: ソース https://arxiv.org/abs/1706.03762 (左と中央) および https://arxiv.org/abs/2002.04745 (右)
##高速重み付け記憶の制御を学ぶ: 動的リカレント ニューラル ネットワークの代替 ( 1991)この記事は、歴史的な豆知識や、基本的に現代の Transformer に似た初期の手法に興味がある人にお勧めします。
たとえば、Transformer の論文が発表される 25 年前の 1991 年に、Juergen Schmidhuber はリカレント ニューラル ネットワークの代替案を提案しました (https://www.semanticscholar.org/paper/Learning-to-Control-Fast-Weight) -思い出:-An-to-Schmidhuber/bc22e87a26d020215afe91c751e5bdaddd8e4922)、Fast Weight Programmer (FWP) と呼ばれます。高速な重み変更を実現するもう 1 つのニューラル ネットワークは、勾配降下法アルゴリズムを使用してゆっくりと学習する FWP 法に含まれるフィードフォワード ニューラル ネットワークです。
このブログ (https://people.idsia.ch//~juergen/fast-weight-programmer-1991-transformer.html#sec2) では、これを最新の Transformer と比較しています。例は次のとおりです。
今日の Transformer 用語では、FROM と TO はそれぞれキーと値と呼ばれます。高速ネットワークが適用される入力はクエリと呼ばれます。基本的に、クエリは、キーと値の外積の合計である高速重み行列によって処理されます (正規化と射影は無視します)。両方のネットワークのすべての演算が微分をサポートしているため、加法的外積または二次テンソル積を使用して、重みの急速な変化のエンドツーエンドの微分可能なアクティブ制御を実現できます。シーケンス処理中に、勾配降下法を使用して、高速ネットワークを低速ネットワークの問題に迅速に適応させることができます。これは、線形化された自己注意を備えたトランスフォーマー (または線形トランスフォーマー) として知られるようになったものと (正規化を除いて) 数学的に同等です。
上記の抜粋で述べたように、このアプローチは現在、線形トランスフォーマーまたは線形セルフアテンションを備えたトランスフォーマーとして知られています。これらは、論文「トランスフォーマーは RNN です: 線形注意を備えた高速自己回帰トランスフォーマー」(https://arxiv.org/abs/2006.16236) および「パフォーマーによる注意の再考」(https://arxiv.org/abs/2009.14794) から来ています。 。
2021 年の論文「Linear Transformers Are Secretly Fast Weight Programmers」(https://arxiv.org/abs/2102.11174) は、線形化された自己注意と 1990 年代の同等性を明確に示しています。高速ウェイトプログラマーの間で。
写真出典: https://people.idsia.ch// ~ juergen/fast-weight-programmer-1991-transformer.html#sec2
##テキスト分類のためのユニバーサル言語モデルの微調整 (2018)
これも歴史的な観点から見て非常に興味深い論文です。これは、オリジナルの「Attention Is All You Need」のリリースから 1 年後に書かれたもので、トランスフォーマーは含まれておらず、代わりにリカレント ニューラル ネットワークに焦点を当てていますが、それでも見る価値はあります。それは、事前トレーニングされた言語モデルと転移学習の下流タスクを効果的に提案するためです。転移学習はコンピューター ビジョンでは十分に確立されていますが、自然言語処理 (NLP) の分野ではまだ普及していません。 ULMFit (https://arxiv.org/abs/1801.06146) は、事前トレーニングされた言語モデルを特定のタスクで微調整すると、多くの NLP タスクで SOTA 結果を生成できることを示した最初の論文の 1 つです。ULIt が提案する言語モデルの微調整プロセスは 3 つの段階に分かれています:
- 1. 大きなテキストで言語をトレーニングするコーパス モデル;
- 2. テキストの特定のスタイルと語彙に適応できるように、タスク固有のデータに基づいて事前トレーニングされた言語モデルを微調整します;
- 3. タスク固有のデータに基づいて分類器を微調整し、層の凍結を徐々に解除することで致命的な忘れを回避します。
ただし、ULMFiT の重要な部分であるプログレッシブ解凍は、通常、Transformer アーキテクチャがすべてのレイヤーを一度に微調整するため、実際には実行されません。
Gopher は、LLM トレーニングを理解するための広範な分析を含む、特に優れた論文 (https://arxiv.org/abs/2112.11446) です。研究者らは、3,000億個のトークンで80層、2,800億個のパラメータモデルをトレーニングしました。これには、LayerNorm (レイヤー正規化) の代わりに RMSNorm (二乗平均平方根正規化) を使用するなど、いくつかの興味深いアーキテクチャ上の変更が含まれています。 LayerNorm と RMSNorm はどちらも、バッチ サイズに制限がなく、同期を必要としないため、BatchNorm よりも優れています。これは、バッチ サイズが小さい分散設定での利点です。 RMSNorm は一般に、より深いアーキテクチャでのトレーニングを安定させると考えられています。
上記の興味深い豆知識に加えて、この記事の主な焦点は、さまざまなスケールでタスク パフォーマンス分析を分析することです。 152 の異なるタスクに関する評価では、理解、事実確認、有害な言語の特定などのタスクではモデル サイズの増加が最も有益である一方、論理的および数学的推論に関連するタスクではアーキテクチャの拡張はそれほど有益ではないことが示されています。
##図: ソース https://arxiv.org/abs/2112.11446
以上がこの「間違い」は実際には間違いではありません。Transformer アーキテクチャ図の何が「間違っている」のかを理解するには、4 つの古典的な論文から始めてください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









700万のレコードを効率的に処理し、地理空間技術を使用したインタラクティブマップを作成します。この記事では、LaravelとMySQLを使用して700万を超えるレコードを効率的に処理し、それらをインタラクティブなマップの視覚化に変換する方法について説明します。最初の課題プロジェクトの要件:MySQLデータベースに700万のレコードを使用して貴重な洞察を抽出します。多くの人は最初に言語をプログラミングすることを検討しますが、データベース自体を無視します。ニーズを満たすことができますか?データ移行または構造調整は必要ですか? MySQLはこのような大きなデータ負荷に耐えることができますか?予備分析:キーフィルターとプロパティを特定する必要があります。分析後、ソリューションに関連している属性はわずかであることがわかりました。フィルターの実現可能性を確認し、検索を最適化するためにいくつかの制限を設定しました。都市に基づくマップ検索

MySQLの起動が失敗する理由はたくさんあり、エラーログをチェックすることで診断できます。一般的な原因には、ポートの競合(ポート占有率をチェックして構成の変更)、許可の問題(ユーザー許可を実行するサービスを確認)、構成ファイルエラー(パラメーター設定のチェック)、データディレクトリの破損(テーブルスペースの復元)、INNODBテーブルスペースの問題(IBDATA1ファイルのチェック)、プラグインロード障害(エラーログのチェック)が含まれます。問題を解決するときは、エラーログに基づいてそれらを分析し、問題の根本原因を見つけ、問題を防ぐために定期的にデータをバックアップする習慣を開発する必要があります。

この記事では、MySQLデータベースの操作を紹介します。まず、MySQLWorkBenchやコマンドラインクライアントなど、MySQLクライアントをインストールする必要があります。 1. mysql-uroot-pコマンドを使用してサーバーに接続し、ルートアカウントパスワードでログインします。 2。CreatedAtaBaseを使用してデータベースを作成し、データベースを選択します。 3. createTableを使用してテーブルを作成し、フィールドとデータ型を定義します。 4. INSERTINTOを使用してデータを挿入し、データをクエリし、更新することでデータを更新し、削除してデータを削除します。これらの手順を習得することによってのみ、一般的な問題に対処することを学び、データベースのパフォーマンスを最適化することでMySQLを効率的に使用できます。

リモートシニアバックエンジニアの求人事業者:サークル場所:リモートオフィスジョブタイプ:フルタイム給与:$ 130,000- $ 140,000職務記述書サークルモバイルアプリケーションとパブリックAPI関連機能の研究開発に参加します。ソフトウェア開発ライフサイクル全体をカバーします。主な責任は、RubyonRailsに基づいて独立して開発作業を完了し、React/Redux/Relay Front-Endチームと協力しています。 Webアプリケーションのコア機能と改善を構築し、機能設計プロセス全体でデザイナーとリーダーシップと緊密に連携します。肯定的な開発プロセスを促進し、反復速度を優先します。 6年以上の複雑なWebアプリケーションバックエンドが必要です

MySQLはJSONデータを返すことができます。 json_extract関数はフィールド値を抽出します。複雑なクエリについては、Where句を使用してJSONデータをフィルタリングすることを検討できますが、そのパフォーマンスへの影響に注意してください。 JSONに対するMySQLのサポートは絶えず増加しており、最新バージョンと機能に注意を払うことをお勧めします。

MySQLプライマリキーは、データベース内の各行を一意に識別するキー属性であるため、空にすることはできません。主キーが空になる可能性がある場合、レコードを一意に識別することはできません。これにより、データの混乱が発生します。一次キーとして自己挿入整数列またはUUIDを使用する場合、効率やスペース占有などの要因を考慮し、適切なソリューションを選択する必要があります。

データベース酸属性の詳細な説明酸属性は、データベーストランザクションの信頼性と一貫性を確保するための一連のルールです。データベースシステムがトランザクションを処理する方法を定義し、システムのクラッシュ、停電、または複数のユーザーの同時アクセスの場合でも、データの整合性と精度を確保します。酸属性の概要原子性:トランザクションは不可分な単位と見なされます。どの部分も失敗し、トランザクション全体がロールバックされ、データベースは変更を保持しません。たとえば、銀行の譲渡が1つのアカウントから控除されているが別のアカウントに増加しない場合、操作全体が取り消されます。 TRANSACTION; updateaccountssetbalance = balance-100wh

sqllimit句:クエリ結果の行数を制御します。 SQLの制限条項は、クエリによって返される行数を制限するために使用されます。これは、大規模なデータセット、パジネートされたディスプレイ、テストデータを処理する場合に非常に便利であり、クエリ効率を効果的に改善することができます。構文の基本的な構文:SelectColumn1、column2、... FromTable_nameLimitnumber_of_rows; number_of_rows:返された行の数を指定します。オフセットの構文:SelectColumn1、column2、... FromTable_nameLimitoffset、number_of_rows; offset:skip
