目次
これまでにない技術原理
ホームページ テクノロジー周辺機器 AI GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします

GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします

May 19, 2023 pm 03:19 PM
ai gpt-4

Transformer は、現在最も強力な seq2seq アーキテクチャです。事前トレーニングされたトランスフォーマーには通常、512 (例: BERT) または 1024 (例: BART) トークンのコンテキスト ウィンドウがあり、これは現在の多くのテキスト要約データセット (XSum、CNN/DM) にとって十分な長さです。

ただし、16384 は、本の要約 (Krys-´cinski et al., 2021) や物語などの長い物語を含むタスクの生成に必要なコンテキストの長さの上限ではありません。質疑応答 (Kociskýet al., 2018)、通常は 100,000 を超えるトークンを入力します。 Wikipedia の記事から生成されたチャレンジ セット (Liu* et al.、2018) には、500,000 を超えるトークンの入力が含まれています。生成的質問応答のオープンドメイン タスクでは、Wikipedia 上の存命の著者全員による記事の集合的なプロパティに関する質問に答えるなど、より大きな入力から情報を合成できます。図 1 は、いくつかの一般的な要約データセットと Q&A データセットのサイズを一般的なコンテキスト ウィンドウの長さに対してプロットしたもので、最も長い入力は Longformer のコンテキスト ウィンドウの 34 倍以上の長さです。

GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします

これらの非常に長い入力の場合、ネイティブのアテンション メカニズムは 2 次の複雑さがあるため、バニラ トランスフォーマーはスケーリングできません。長い入力トランスフォーマーは、標準トランスフォーマーよりも効率的ではありますが、依然として大量の計算リソースを必要とし、コンテキスト ウィンドウのサイズが大きくなるにつれて増加します。さらに、コンテキスト ウィンドウを増やすには、新しいコンテキスト ウィンドウ サイズでモデルを最初から再トレーニングする必要があり、計算コストと環境コストがかかります。

記事「Unlimiformer: 無制限の長さの入力を備えた長距離変圧器」で、カーネギー メロン大学の研究者が Unlimiformer を紹介しました。これは、テスト時に無限長の入力を受け入れるために事前トレーニングされた言語モデルを拡張する検索ベースのアプローチです。

GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします

論文リンク: https://arxiv.org/pdf/2305.01625v1.pdf

Unlimiformer は既存のエンコーダー/デコーダー トランスフォーマーに挿入でき、無制限の長さの入力を処理できます。長い入力シーケンスを指定すると、Unlimiformer はすべての入力トークンの非表示状態に基づいてデータ ストアを構築できます。デコーダの標準クロスアテンション メカニズムは、データ ストアにクエリを実行し、上位 k 個の入力トークンに焦点を当てることができます。データ ストアは GPU または CPU メモリに保存でき、サブリニアにクエリを実行できます。

Unlimiformer はトレーニングされたモデルに直接適用でき、追加のトレーニングなしで既存のチェックポイントを改善できます。微調整を行うと、Unlimiformer のパフォーマンスがさらに向上します。この論文では、Unlimiformer が重みの追加や再トレーニングを行わずに、BART (Lewis et al., 2020a) や PRIMERA (Xiao et al., 2022) などの複数の基本モデルに適用できることを実証します。さまざまな長距離 seq2seq データセットにおいて、Unlimiformer は、Longformer (Beltagy et al., 2020b)、SLED (Ivgi et al., 2022)、および Memorizing Transformers (Wu et al., 2021) などの長距離 Transformer よりも強力であるだけではありません。 ) これらのデータ セットではパフォーマンスが向上しており、この記事では、Unlimiform を Longformer エンコーダー モデルの上に適用してさらに改善できることもわかりました。

これまでにない技術原理

エンコーダ コンテキスト ウィンドウのサイズが固定されているため、Transformer の最大入力長は制限されています。ただし、デコード中に、異なる情報が関連する可能性があり、さらに、異なる注意が異なる種類の情報に焦点を当てる可能性があります (Clark et al.、2019)。したがって、固定されたコンテキスト ウィンドウでは、あまり注目されていないトークンに労力が無駄になる可能性があります。

各デコード ステップで、Unlimiformer の各アテンション ヘッドはすべての入力から個別のコンテキスト ウィンドウを選択します。これは、デコーダに Unlimiformer ルックアップを挿入することで実現されます。クロスアテンション モジュールに入る前に、モデルは外部データ ストアで k 最近傍 (kNN) 検索を実行し、各デコーダ層で各アテンション ヘッドのセットを選択します。参加するためのトークン。 ###############コーディング#########

モデルのコンテキスト ウィンドウの長さよりも長い入力シーケンスをエンコードするために、この記事では、Ivgi et al. (2022) (Ivgi et al., 2022) の方法に従って入力の重複ブロックをエンコードします。エンコード プロセスの前後に十分なコンテキストを確保するために、各チャンクの出力の中央部分のみが保持されます。最後に、この記事では Faiss (Johnson et al., 2019) などのライブラリを使用して、データ ストア内のエンコードされた入力のインデックスを作成します (Johnson et al., 2019)。

強化されたクロスアテンション メカニズムの取得

標準のクロスアテンション メカニズムでは、トランスフォーマーのデコーダがエンコーダーの最終的な隠し状態では、エンコーダーは通常、入力を切り捨て、入力シーケンスの最初の k 個のトークンのみをエンコードします。

この記事では、入力の最初の k 個のトークンだけに焦点を当てているのではなく、クロス アテンション ヘッドごとに、長い入力系列の最初の k 個の隠れ状態を取得し、そのトークンのみに焦点を当てています。最初の k トークン。これにより、キーワードを切り詰めるのではなく、入力シーケンス全体からキーワードを取得できるようになります。また、私たちのアプローチは、すべての入力トークンを処理するよりも計算と GPU メモリの点で安価であり、通常は 99% 以上の注意パフォーマンスを維持します。

図 2 は、この記事による seq2seq トランスフォーマー アーキテクチャへの変更を示しています。完全な入力は、エンコーダーを使用してブロック エンコードされ、データ ストアに保存されます。その後、デコード時に、エンコードされた潜在状態データ ストアがクエリされます。 kNN 検索はノンパラメトリックであり、以下で詳しく説明するように、事前トレーニングされた任意の seq2seq トランスフォーマーに注入できます。

GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします

##実験結果

長い文書の概要

表 3 は、長いテキスト (4k および 16k トークン入力) の概要データセットの結果を示しています。

GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします

表 4 のトレーニング方法の中で、Unlimiformer はさまざまな指標で最高の結果を達成できます。

GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします

#書籍の概要

表 5 の表示書籍の要約に関する結果。 BARTbase と PRIMERA に基づいて、Unlimiformer を適用すると一定の改善結果が得られることがわかります。

GPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばします#

以上がGPT-4 の 32k 入力ボックスではまだ不十分ですか? Unlimiformer はコンテキストの長さを無限の長さに引き伸ばしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

vue.jsのストリングをオブジェクトに変換するためにどのような方法が使用されますか? vue.jsのストリングをオブジェクトに変換するためにどのような方法が使用されますか? Apr 07, 2025 pm 09:39 PM

vue.jsのオブジェクトに文字列を変換する場合、標準のjson文字列にはjson.parse()が推奨されます。非標準のJSON文字列の場合、文字列は正規表現を使用して処理し、フォーマットまたはデコードされたURLエンコードに従ってメソッドを削減できます。文字列形式に従って適切な方法を選択し、バグを避けるためにセキュリティとエンコードの問題に注意してください。

インストール後にMySQLの使用方法 インストール後にMySQLの使用方法 Apr 08, 2025 am 11:48 AM

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

Laravelの地理空間:インタラクティブマップと大量のデータの最適化 Laravelの地理空間:インタラクティブマップと大量のデータの最適化 Apr 08, 2025 pm 12:24 PM

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

vue.js文字列タイプの配列をオブジェクトの配列に変換する方法は? vue.js文字列タイプの配列をオブジェクトの配列に変換する方法は? Apr 07, 2025 pm 09:36 PM

概要:Vue.js文字列配列をオブジェクト配列に変換するための次の方法があります。基本方法:定期的なフォーマットデータに合わせてマップ関数を使用します。高度なゲームプレイ:正規表現を使用すると、複雑な形式を処理できますが、慎重に記述して考慮する必要があります。パフォーマンスの最適化:大量のデータを考慮すると、非同期操作または効率的なデータ処理ライブラリを使用できます。ベストプラクティス:コードスタイルをクリアし、意味のある変数名とコメントを使用して、コードを簡潔に保ちます。

Vue Axiosのタイムアウトを設定する方法 Vue Axiosのタイムアウトを設定する方法 Apr 07, 2025 pm 10:03 PM

Vue axiosのタイムアウトを設定するために、Axiosインスタンスを作成してタイムアウトオプションを指定できます。グローバル設定:Vue.Prototype。$ axios = axios.create({Timeout:5000});単一のリクエストで:this。$ axios.get( '/api/users'、{timeout:10000})。

MySQLを解決する方法は開始できません MySQLを解決する方法は開始できません Apr 08, 2025 pm 02:21 PM

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

リモートシニアバックエンジニア(プラットフォーム)がサークルが必要です リモートシニアバックエンジニア(プラットフォーム)がサークルが必要です Apr 08, 2025 pm 12:27 PM

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

MySQLインストール後にデータベースのパフォーマンスを最適化する方法 MySQLインストール後にデータベースのパフォーマンスを最適化する方法 Apr 08, 2025 am 11:36 AM

MySQLパフォーマンスの最適化は、インストール構成、インデックス作成、クエリの最適化、監視、チューニングの3つの側面から開始する必要があります。 1。インストール後、INNODB_BUFFER_POOL_SIZEパラメーターやclose query_cache_sizeなど、サーバーの構成に従ってmy.cnfファイルを調整する必要があります。 2。過度のインデックスを回避するための適切なインデックスを作成し、説明コマンドを使用して実行計画を分析するなど、クエリステートメントを最適化します。 3. MySQL独自の監視ツール(ShowProcessList、ShowStatus)を使用して、データベースの健康を監視し、定期的にデータベースをバックアップして整理します。これらの手順を継続的に最適化することによってのみ、MySQLデータベースのパフォーマンスを改善できます。

See all articles