はてなキーワード: Transformersとは
www.rit.edu/graduateschool/sites/rit.edu.graduateschool/files/webform/3mt_submission_webform_2024/_sid_/transformer-one-us0.pdf
www.rit.edu/graduateschool/sites/rit.edu.graduateschool/files/webform/3mt_submission_webform_2024/_sid_/Transformer-One-us-44.pdf
www.rit.edu/graduateschool/sites/rit.edu.graduateschool/files/webform/3mt_submission_webform_2024/_sid_/transformers-one-en-24.pdf
www.rit.edu/graduateschool/sites/rit.edu.graduateschool/files/webform/3mt_submission_webform_2024/_sid_/transformersoneonline.pdf
www.rit.edu/graduateschool/sites/rit.edu.graduateschool/files/webform/3mt_submission_webform_2024/_sid_/transformers-one-us-02.pdf
www.rit.edu/graduateschool/sites/rit.edu.graduateschool/files/webform/3mt_submission_webform_2024/_sid_/transformers-one-us-5.pdf
www.rit.edu/graduateschool/sites/rit.edu.graduateschool/files/webform/3mt_submission_webform_2024/_sid_/transformers-one-us-24.pdf
ceismc.gatech.edu/system/files/community/stlp/expectations/transformers-one-2024.pdf
この手順は、Latent Diffusion Modelsを使用してテキストから画像を生成するための一般的なアプローチを示していますが、いくつかの誤りや欠落がある可能性があります。以下にいくつかの修正と補足を示します。
1. **ライブラリのインポート**: `diffusers` ライブラリは存在しないため、代わりに `torch`、`transformers`、および `diffusion` ライブラリを使用する必要があります。
```python
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from diffusion import LatentDiffusion
```
2. **環境のセットアップ**: 事前学習済みモデルとトークナイザーを使用する前に、必要なモデルとトークナイザーをダウンロードする必要があります。
```python
model = AutoModelForSeq2SeqLM.from_pretrained("nlptown/bert-base-multilingual-uncased-finetuned-xnli")
tokenizer = AutoTokenizer.from_pretrained("nlptown/bert-base-multilingual-uncased-finetuned-xnli")
```
3. **テキストプロンプトの前処理**: `encode_plus` メソッドを使用して、入力をトークン化し、テンソルに変換します。
```python
inputs = tokenizer.encode_plus(prompt, return_tensors="pt")
```
4. **Latent Diffusion モデルの定義**: `diffusion` ライブラリから `LatentDiffusion` をインスタンス化する際に、モデルとトークナイザーを渡します。
```python
ldm = LatentDiffusion(model=model, tokenizer=tokenizer)
```
5. **画像の生成**: `generate` メソッドを使用して画像を生成します。
```python
image = ldm.generate(inputs)
```
6. **生成された画像の可視化**: 画像を表示するために適切なライブラリを使用します。例えば、Matplotlibを使用して画像を表示できます。
```python
import matplotlib.pyplot as plt
plt.show()
```
https://arxiv.org/pdf/2305.00833.pdf
Learning to Reason and Memorize with Self-Notes
大規模な言語モデルは、限られたコンテキスト メモリと多段階の推論に苦労することが示されています。
モデルが自己メモを取ることを可能にすることにより、これらの問題の両方を解決するための簡単な方法を提案します。
最近のスクラッチパッド アプローチとは異なり、モデルはいつでも入力コンテキストから逸脱して明示的に考えることができます。
これにより、モデルはコンテキストを読み取りながら情報を想起し、オンザフライで推論を実行できるため、メモリが拡張され、複数ステップの推論が可能になります。
複数のタスクに関する私たちの実験は、推論時に自己メモを取ることにより、トレーニング設定からより長く複雑なインスタンスに私たちの方法がうまく一般化できることを示しています.
1. イントロダクション
Transformers (Vaswani et al., 2017) および同様のバリアントは、シーケンスベースのタスクで印象的な結果を示しています
特に、GPT-3 (Brown et al., 2020) などの大規模な言語モデル (LM) はトランスフォーマーを使用し、質問応答 (QA) などのさまざまな NLP タスクを解決できます。
LM を QA タスクに使用すると、図 1 (上) に示すように、事実情報と質問を含むコンテキスト プロンプトが与えられ、モデルが直接回答を生成します。 ただし、この自己回帰の「ワンステップ」アプローチは、複数ステップの推論タスクと格闘します (Austin et al., 2021; Press et al., 2022a; Creswell et al., 2023)。 これは、バニラ LM が各トークンに対して固定された計算を行い、現在のコンテキストに応じてさらに「考える」オプションがないという事実から生じると主張します。 (2021) 図 1 (中央) に示すように、モデルが質問に答える前に推論トークンを生成できるようにするスクラッチパッドの使用を提案しましたが、完全なコンテキストと質問を読み取った後です。 同様に、一連の思考を促す方法 (Wei et al., 2022; Zelikman*Equal Contributor 1Meta AI. への対応: JackLanchantin <jacklanchantin@meta.com>, Sainbayar Sukhbaatar<sainbar@meta.com>.et al., 2022; Huang et al., 2022) は、モデルをプッシュして、一度に 1 ステップずつ答えを説明し、より首尾一貫した最終的な答えに導きます。 非線形タスク (Fan et al., 2020)、LSTM (Hochreiter and Schmidhuber, 1997) などの再帰型先行モデルが十分に備えられているもの。 Fan et al., 2020; Ju et al., 2022; Hutchins et al., 2022)、しかし、それでも与えられたプロンプトに対して一定量の計算を使用します。 推論と状態追跡メモリがより扱いやすくなります。 私たちの方法である「Self-Notes」により、LM はオンザフライでコンテキスト プロンプトから逸脱し、明示的な推論トークンを生成できます。 図 1 (下) に示すように、スクラッチパッドとは異なり、モデルは生成されたトークンを入力コンテキストとインターリーブできます。 このようなセルフ ノートは、明示的な中間推論ステップと状態追跡用のメモリの両方として機能します。 具体的には、推論ステップで 2 つの事実を組み合わせる必要がある場合、結果として得られる推論をセルフ ノートに書き込んで、将来の推論に使用することができます。したがって、中間推論ステップとして機能します。 たとえば、「アリスは箱を持っています」と「アリスは公園にいます」が与えられた場合、「箱は公園にある」と推測してそれを自己メモに書き、将来のステートメント「鍵は in the box」で「鍵は公園にある」と結論付ける。 さらに、コンテキストをトラバースしながらモデルがエンティティの最新の状態を新しいトークンとして書き込むことができるため、SelfNote はワーキング メモリの形式として機能できます。 たとえば、プログラミング環境では、最初に x=5 を想定し、次に x を 1 ずつ増やします。モデルが x=6 をセルフ ノートとして正しく記述していると仮定すると、元の x=5 ステートメントをそのコンテキストから安全に削除できます。 モデルが x の値について問い合わせられた場合、モデルは既に答えを持っています。
私たちの提案した方法と、スクラッチパッド (Nye et al., 2021)、思考の連鎖 (Wei et al., 2022)、または内部独白 (Huang et al., 2022) などの以前の研究との主な違いは、モデルを許可することです。 各コンテキストステートメントを順番に読み取るときに、複数のメモを明示的に書き出す。 InarXiv:2305.00833v1 [cs.LG] 2023 年 5 月 1 日図 1: (上) ベースライン バニラ LM は、コンテキスト (C) と質問 (Q) が与えられると、回答 (A) を直接生成します。 (中央)スクラッチパッドを使用すると、モデルは質問に答える前に中間推論トークンを生成できますが、コンテキストが表示された後です。 (下) 私たちの Self-Notes メソッドにより、モデルはいつでも推論してメモを取るために入力コンテキストから逸脱することができます。言い換えれば、私たちのアプローチは、将来の推論に役立つ可能性のある情報でコンテキストを補強するスクラッチパッドのインライン形式です。 私たちはこれを、人間が読む方法と同様に、明示的に述べられていない情報を推測するための行間の読み取り (および書き込み) の形式と見なします (van den Broek et al., 2009)。 以前の方法では、モデルが完全なコンテキストを読み取った後に反芻することができ、読み取っている間ではなく、最後に大量の推論を行うように強制されます。
さらに、そのようなポストコンテキスト推論は、推論が開始される前に以前のコンテキストトークンがモデルのコンテキストウィンドウからすでに出ている可能性があるため、メモリとして機能できません。 たとえば、数週間または数か月の対話履歴を持つインテリジェント エージェントを考えてみましょう。 直観的には、最初から考え直すことなく、以前の対話で行った推論ステップを使用できることは理にかなっています。自己メモを生成するようにモデルに教えるために、トレーニング中に、入力の一部としてグラウンド トゥルース自己メモを言語モデルに提供することを検討します。 コンテクスト。 推論中に、トレーニング中に学習した特別なトークンを生成する場合、モデルはコンテキストから逸脱し、SelfNote を生成できます。モデルが Self-Note の生成を完了すると、元のコンテキスト トークンが引き続き供給されます。 これにより、モデルは最後だけでなく、入力トークンの処理中にメモリを推論および作成できます。 また、Self-Notes をトレーニングするための半教師ありおよび教師なしの方法も提案します。多段階の推論と状態追跡を評価するように設計された 5 つのテキスト データセットでこの方法をテストします。 , 2020; Anil et al., 2022)、および 2 つの現実世界のチェス ゲーム タスク (Toshniwal et al., 2022)。 私たちの方法は、明示的なメモ取りを行わない微調整された言語モデルとスクラッチパッドのベースラインの両方よりも優れています.2. 方法シーケンス内の次のトークンを予測する自己回帰変換モデル M を考えてみましょう