Transformer はさまざまな機械学習タスクで人気の選択肢となり、良好な結果を達成していますが、他にどのように使用できるでしょうか?優れた想像力を持つ研究者は、実際にそれをプログラマブル コンピューターの設計に使用したいと考えています。
##この論文の著者はプリンストン大学とウィスコンシン大学の出身で、タイトルは「プログラマブル コンピュータとしてのループ変圧器」です。 " そしてその目的は、Transformer を使用して汎用コンピューターを実装する方法を模索していることです。
具体的には、著者らは、変圧器ネットワークを特定の重みでプログラムし、ループ内に配置することで、変圧器ネットワークを汎用コンピュータとして使用するためのフレームワークを提案しています。このフレームワークでは、入力シーケンスはパンチカードとして機能し、データの読み取り/書き込みのための命令とメモリで構成されます。
著者らは、一定数のエンコーダ層で基本的な計算ブロックをシミュレートできることを実証しました。これらの構成要素を使用して、小型の命令セット コンピューターをシミュレートしました。これにより、ループされた 13 層トランスフォーマーによって実行できるプログラムに反復アルゴリズムをマッピングできるようになりました。これらは、この変換器が、その入力に基づいて、バックプロパゲーションを使用して、基本的な計算機、基本的な線形代数ライブラリ、およびコンテキスト内学習アルゴリズムをどのようにシミュレートできるかを示しています。この研究は、アテンション メカニズムの多用途性を強調し、浅いトランスフォーマーでも本格的な汎用プログラムを実行できることを示しています。
論文の概要Transformer (TF) は、さまざまな機械学習タスクで一般的な選択肢となっており、自然言語処理などの分野の多くの問題で成果を上げています。およびコンピュータービジョンの最先端の結果。 Transformer の成功の主な理由は、アテンション メカニズムを通じて高次の関係と長距離の依存関係をキャプチャできることです。これにより、TF はコンテキスト情報をモデル化できるようになり、機械翻訳や言語モデリングなどのタスクでより効果的になり、Transformer は常に他の方法よりも優れたパフォーマンスを発揮します。
GPT-3 (175B パラメータ) や PaLM (540B パラメータ) など、数千億のパラメータを持つ言語モデルは、多くの自然言語で最先端のパフォーマンスを達成しています。言語処理タスク。興味深いことに、これらの大規模言語モデル (LLM) の一部は、インコンテキスト学習 (ICL) も実行でき、短いプロンプトといくつかの例に基づいて特定のタスクをオンザフライで適応および実行できます。 LLM の ICL 機能はトレーニングしなくても利用できるため、これらの大規模なモデルは重みを更新せずに新しいタスクを効率的に実行できます。
驚くべきことに、LLM は ICL を通じてアルゴリズム タスクと推論を実行できます。[Nye et al. [2021]、Wei et al. [2022c]、Lewkowycz et al. [2022]、 Wei et al. [2022b]、Zhou et al. [2022]] などがその実現可能性を証明しています。 [Zhou et al. [2022]] などによる研究では、マルチビット加算アルゴリズムといくつかの加算例を含むプロンプトが与えられた場合、LLM が未知のユースケースで加算演算を正常に実行できることが実証されています。これらの結果は、LLM が、あたかも自然言語をコードとして解釈するかのように、アルゴリズム原理に基づいて、推論時に指定された入力に対して事前に指示されたコマンドを実行できることを示しています。
Transformer が十分な深さのチューリング マシンまたはアテンション層間の再帰的リンクをシミュレートできるという証拠があります [Pérez et al. [2021]、Pérez et al. [2019]、Wei et al. .[2022a]]。これは、入力によって指定されたアルゴリズム命令に正確に従う Transformer ネットワークの可能性を示しています。ただし、これらの構造は比較的一般的なものであり、特定のアルゴリズム タスクを実行できる Transformer の作成方法については深く理解できません。
ただし、よりプロフェッショナルな設計により、TF はより高度なプログラムを実行できます。たとえば、[Weiss et al. [2021]] は、単純な選択および集計コマンドをインデックス入力トークンにマッピングする計算モデルとプログラミング言語を設計しました。この言語を使用すると、トークンのカウント、並べ替え、ヒストグラムの作成、Dyck-k 言語の識別など、さまざまな興味深いアルゴリズムを作成できます。 Restricted Access Sequence Processing Language (RASP) で書かれたプログラムは、通常、プログラムのサイズに応じてサイズが変化する Transformer ネットワークにマッピングできます。
別の研究では、線形回帰モデルを動的に学習するための最適化アルゴリズムとして使用する Transformer モデルの重みを選択し、トレーニング データを入力として与えられた推論時に暗黙的な操作を実行する方法を実証しました。これらの方法は通常、学習アルゴリズムの反復回数に比例した数の層を必要とし、単一の損失関数とモデルのアンサンブルに限定されます。
チューリング マシンの抽象計算をシミュレートする Transformer モデル、RASP などの言語に特化したコマンド、および ICL に固有のアルゴリズムをプログラミングする機能は、多用途のプログラマブル コンピューターとしての Transformer ネットワークの可能性を際立たせます。
著者の研究の目的は、この有望な見通しを探求し、アテンション メカニズムが命令セット アーキテクチャにインスピレーションを得た汎用コンピュータをどのようにシミュレートできるかを明らかにすることです。
プログラマブル コンピュータとしてのトランスフォーマー
この記事では、著者らは、トランスフォーマー ネットワークを特定の重みでハードコーディングし、ループ内に配置することで作成できることを示します。複雑なアルゴリズムとプログラムをシミュレートします。著者らは、入力シーケンス、非線形関数、関数呼び出し、プログラム カウンター、条件分岐などの編集操作など、基本的な計算ブロックをシミュレートするリバース エンジニアリングによってこれを実現しました。著者らの論文は、単一ループまたは再帰を使用して Transformer の出力シーケンスを入力に連結し、それによって深いモデルの必要性を回避することの重要性を示しています。
論文アドレス: https://arxiv.org/pdf/2301.13196.pdf ##著者は、SUBLEQ (A,B,C) と呼ばれる単一命令の一般的なバージョンで書かれたプログラムを実行できるトランスフォーマーを設計することでこれを実現しました。つまり、ゼロ以下の場合は減算とブランチを結合します。 SUBLEQ は、1 命令セット コンピューター (OISC) を定義する単一命令言語です。 SUBLEQ は 3 つのメモリアドレスオペランドで構成されており、実行時にはメモリアドレス A の値からメモリアドレス B の値が減算され、その結果が B に格納されます。 B の結果が 0 以下の場合はアドレス C にジャンプし、それ以外の場合は次の命令の実行を継続します。しかし、この命令は汎用コンピュータを定義します。
作者は、SUBLEQ のようなプログラムを実装する明示的な Transformer を構築します。作者はそれを FLEQ と呼びます。
# 形式のより柔軟な単一命令です。
## ここで、f_m は、ネットワークにハードコードできる一連の関数 (行列乗算/非線形関数/多項式など) から選択できます。 FLEQ プログラムを実行できるループ Transformer の深さは、プログラムの深さやコードの行数には依存せず、単一の FLEQ 命令を実装するのに必要な深さ (一定) に依存します。これは、CPU の動作と同様に、入力シーケンスに対してループ内で Transformer を実行することによって実現されます。
著者はこのフレームワークを使用して、推論中に基本的な計算機、基本的な線形代数ライブラリ (行列の転置、乗算、逆行列、べき乗反復) を含むさまざまな関数をシミュレートする機能を実証します。 ICL は、暗黙的に完全に接続されたネットワーク上でバックプロパゲーションを実装します。入力シーケンスまたはプロンプトはパンチカードのように機能し、Transformer が実行する必要がある命令を含むと同時に、プログラムで使用される変数を保存および処理するためのスペースを提供します。これらの手順を実行するために使用される Transformer ネットワークはすべて、深さが 13 以下であり、これらすべてのモデルの重み行列が提供されます。次の定理は、著者の主な発見を要約したものです:
定理 1: 汎用コンピューターをシミュレートできる、13 層未満の循環トランスフォーマーが存在します (記事のセクション 5) 、基本的な計算機 (記事のセクション 7)、近似行列反転やべき乗反復などの数値線形代数手法 (記事のセクション 8)、ニューラル ネットワークに基づく ICL アルゴリズム (SGD など) (記事のセクション 9) )。
著者の研究は、アテンション メカニズムの柔軟性と単一ループの重要性を強調しています。これにより、複雑な反復アルゴリズムをシミュレートし、一般的なプログラムを実行できるモデルの設計が可能になります。さらに、Transformer モデルが複雑な数学的およびアルゴリズム的なタスクを効率的に実行できることを実証しました。 GPT-3 などの最新のトランスフォーマーは、さまざまなタスクを実行するときに同様の内部サブルーチンを使用すると考えられます。これらのモデル固有の手法やアルゴリズムの機能は、関数呼び出しと同様に、コンテキストに沿った例や説明が与えられると、ある程度理解できます。ただし、作成者が構造を設計した方法は、現実世界の言語モデルがトレーニングされる方法とはまったく似ていないため、この仮定は慎重に扱う必要があります。 著者らは、自分たちの研究が、注意メカニズムの可能性とアルゴリズム命令を実行する言語モデルの能力についてのさらなる研究を促進することを望んでいます。著者が提案した設計は、特定のアルゴリズム タスクを実行するために必要な Transformer ネットワークの最小サイズを決定するのに役立ちます。さらに、著者らは、その発見が、特定のアルゴリズム タスクを達成するために、より小規模なリバース エンジニアリングされた Transformer ネットワークを活用することによって、言語モデルをトレーニングする能力を強化する方法の開発に役立つことを期待しています。 Transformer ネットワークを使用して一般的なコンピューティング フレームワークを構築するには、特殊なコンピューティング ブロックが必要です。これらのブロックを組み立てて、目的の最終機能を作成します。以下では、Transformer レイヤーが実行できるさまざまな操作に焦点を当てます。これらの操作は、より複雑なルーチンやアルゴリズムを作成するための基礎となります。これらの操作は相互運用できるように設計されており、近似順列行列の生成やシグモイド関数による一般関数の近似など、さまざまなタスクを実行する Attend の機能を活用します。 一般的なコンピューティング用の Transformer モジュールの構築
# 図 2: 小型命令セット コンピューターを実装するためのビルディング ブロックとして使用される 3 つの Transformer ブロック回路図。これらのブロックは、入力シーケンスでの編集操作 (あるブロックから別のブロックへの移動やコピーなど)、プログラム カウンタの追跡、指定された条件が満たされた場合のプログラム カウンタ ジャンプの実行を処理します。
#位置エンコーディング、プログラム カウンタ、およびデータ ポインタ
通常、Transformer は実行する必要があります。反復アルゴリズム または一連のコマンドを実行します。これを実現するために、作成者はコマンドをループするプログラム カウンターを使用します。カウンタには、次のコマンドが保存される場所のコードが含まれています。さらに、コマンドには、コマンドが読み書きする必要があるデータの場所を指すデータ ポインターが含まれる場合があります。プログラム カウンタとデータ ポインタは両方とも、前の段落で説明したのと同じ位置エンコーディングを使用します。
##読み取り/書き込み: 一時レジスタとの間でデータと命令をコピーします
#次の補題は、プログラム カウンターが指すコマンド、または現在のコマンドで指定された場所にあるデータをスクラッチパッドにコピーできることを示しています。さらに計算。プログラム カウンタの位置は通常、スクラッチパッドの内容の直下にありますが、任意に変更できます。計算全体を通じて特定の位置に保持すると、構造を適切に整理するのに役立ちます。
次の補題は、スクラッチパッドに格納されているベクトル v は、スクラッチパッド自体によって指定されているメモリ内の指定された場所にコピーできることを説明しています。これにより、データをスクラッチパッドからメモリ内の特定の場所に転送して、さらに使用したり保存したりできるようになります。
# 図 4: 書き込み操作の概略図。矢印は、データのブロックがスクラッチパッドからメモリに割り当てられた入力セクション内の指定された場所にコピーされていることを示します。位置エンコーディングは、ターゲットの位置を追跡し、データが正しいメモリ位置に書き込まれることを保証するために使用されます。
条件分岐 #このパートでは、条件を評価し、条件が true の場合にプログラム カウンタを指定された位置に設定し、条件が false の場合にプログラム カウンタを 1 つインクリメントする条件付き分岐命令を実装します。
コマンドの形式は次のとおりです。mem[a]≤0 の場合、i に進みます。ここで、mem[a] は、メモリ部分の位置の値です。入力シーケンス。このコマンドは、不等号の判定とプログラム カウンタの変更の 2 つの部分で構成されます。
ユニバーサル単一命令セット コンピューターのシミュレーション
SUBLEQ トランスフォーマーMavaddat と Parhami が復帰1988 2001 年に、命令が存在し、あらゆるコンピュータ プログラムをこの命令のインスタンス化からなるプログラムに変換できることが実証されました。この命令のバリエーションとして SUBLEQ があり、異なるレジスタまたはメモリ位置にアクセスできます。
SUBLEQ の仕組みはシンプルです。メモリ内の 2 つのレジスタにアクセスし、その内容の差分を取得してレジスタの 1 つに戻します。結果が負の場合は、事前に定義された別のコード行にジャンプするか、現在の行の次の命令に進みます。 SUBLEQ プログラムを実行するために構築されたコンピューターは、単一命令セット コンピューターと呼ばれ、汎用コンピューターです。つまり、無限のメモリにアクセスできる場合、それはチューリング完全になります。
#以下では、特定の命令セットで書かれたプログラムを実行できるループ Transformer の構築について説明します。 Transformer は、入力のメモリ部分をメモリ レジスタとして使用し、コマンド部分をコード/命令の行として使用して、コードの行、メモリの場所、およびプログラム カウンターを追跡します。一時レジスタは、各命令、読み出し、書き込み、条件分岐操作などに伴う加算やポインタを記録するために使用されます。
# 図 5: OISC 命令ブロックの実装をグラフィカルに表現。最初の 2 つのブロックはデータ/コマンドをスクラッチパッドに転送し、2 番目と 3 番目のブロックは減算を実行して結果を保存し、最後のブロックは命令を完了する if goto コマンドを実行します。
FLEQ: より柔軟なアテンションベースのコンピューター
このセクションでは、著者が FLEQ を紹介します。紹介すると、これは SUBLEQ を一般化したもので、より柔軟な縮小命令セット コンピューターを定義します。この暗黙的な追加命令セットは、SUBLEQ のより高度なバージョンに基づいており、複数の機能を同じ Transformer ネットワークに実装できます。著者らは、FLEQ という用語を、それが定義する命令、言語、および注意ベースのコンピュータを指すために使用しています。
FLEQ は、単純な減算よりも一般的な関数を生成することで、行列の乗算、平方根計算、活性化関数などの複雑なアルゴリズムを実装できるように設計されています。
アテンションベースのコンピュータ実行サイクル。ループ Transformer の各反復で、プログラム カウンターに基づいて入力内の命令セットから命令がフェッチされます。次に、命令がスクラッチパッドにコピーされます。実装される関数に応じて、関数の結果をローカルに記録するために異なる関数ブロックの場所が使用されます。結果が計算されると、その結果は命令によって提供された指定されたメモリ位置にコピーされて戻されます。
実行サイクルは、前のセクションの単一命令セット コンピューター (OISC) のサイクルと似ていますが、主な違いは、各命令に対して事前に実行される命令のリストから選択できることです。 -selected 関数: 関数は、行列、ベクトル、スカラーなどの任意の配列として入力を受け取ります。
#入力シーケンスの形式。図 6 に示すように、ループ Transformer の入力 X は、一連の FLEQ 命令で構成されるプログラムを実行できます (X は一時レジスタ、メモリ、命令の 3 つの部分で構成されます)。
Transformer ベースの機能ブロックの形式。図 6 に示すように、各機能ブロックは入力 X の左下部分にあります。
#図 6: FLEQ コマンドを実行するための入力 X の構造
技術的な詳細と例については、元の論文を参照してください。以上がTransformer を汎用コンピュータとして使用することで、コンテキスト学習アルゴリズムを実行することもでき、非常に想像力に富んだ研究です。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

对于下一代集中式电子电器架构而言,采用central+zonal 中央计算单元与区域控制器布局已经成为各主机厂或者tier1玩家的必争选项,关于中央计算单元的架构方式,有三种方式:分离SOC、硬件隔离、软件虚拟化。集中式中央计算单元将整合自动驾驶,智能座舱和车辆控制三大域的核心业务功能,标准化的区域控制器主要有三个职责:电力分配、数据服务、区域网关。因此,中央计算单元将会集成一个高吞吐量的以太网交换机。随着整车集成化的程度越来越高,越来越多ECU的功能将会慢慢的被吸收到区域控制器当中。而平台化

新视角图像生成(NVS)是计算机视觉的一个应用领域,在1998年SuperBowl的比赛,CMU的RI曾展示过给定多摄像头立体视觉(MVS)的NVS,当时这个技术曾转让给美国一家体育电视台,但最终没有商业化;英国BBC广播公司为此做过研发投入,但是没有真正产品化。在基于图像渲染(IBR)领域,NVS应用有一个分支,即基于深度图像的渲染(DBIR)。另外,在2010年曾很火的3D TV,也是需要从单目视频中得到双目立体,但是由于技术的不成熟,最终没有流行起来。当时基于机器学习的方法已经开始研究,比

与人类行走一样,自动驾驶汽车想要完成出行过程也需要有独立思考,可以对交通环境进行判断、决策的能力。随着高级辅助驾驶系统技术的提升,驾驶员驾驶汽车的安全性不断提高,驾驶员参与驾驶决策的程度也逐渐降低,自动驾驶离我们越来越近。自动驾驶汽车又称为无人驾驶车,其本质就是高智能机器人,可以仅需要驾驶员辅助或完全不需要驾驶员操作即可完成出行行为的高智能机器人。自动驾驶主要通过感知层、决策层及执行层来实现,作为自动化载具,自动驾驶汽车可以通过加装的雷达(毫米波雷达、激光雷达)、车载摄像头、全球导航卫星系统(G

我们经常可以看到蜜蜂、蚂蚁等各种动物忙碌地筑巢。经过自然选择,它们的工作效率高到叹为观止这些动物的分工合作能力已经「传给」了无人机,来自英国帝国理工学院的一项研究向我们展示了未来的方向,就像这样:无人机 3D 打灰:本周三,这一研究成果登上了《自然》封面。论文地址:https://www.nature.com/articles/s41586-022-04988-4为了展示无人机的能力,研究人员使用泡沫和一种特殊的轻质水泥材料,建造了高度从 0.18 米到 2.05 米不等的结构。与预想的原始蓝图

实时全局光照(Real-time GI)一直是计算机图形学的圣杯。多年来,业界也提出多种方法来解决这个问题。常用的方法包通过利用某些假设来约束问题域,比如静态几何,粗糙的场景表示或者追踪粗糙探针,以及在两者之间插值照明。在虚幻引擎中,全局光照和反射系统Lumen这一技术便是由Krzysztof Narkowicz和Daniel Wright一起创立的。目标是构建一个与前人不同的方案,能够实现统一照明,以及类似烘烤一样的照明质量。近期,在SIGGRAPH 2022上,Krzysztof Narko

internet的基本结构与技术起源于ARPANET。ARPANET是计算机网络技术发展中的一个里程碑,它的研究成果对促进网络技术的发展起到了重要的作用,并未internet的形成奠定了基础。arpanet(阿帕网)为美国国防部高级研究计划署开发的世界上第一个运营的封包交换网络,它是全球互联网的始祖。

由于智能汽车集中化趋势,导致在网络连接上已经由传统的低带宽Can网络升级转换到高带宽以太网网络为主的升级过程。为了提升车辆升级能力,基于为车主提供持续且优质的体验和服务,需要在现有系统基础(由原始只对车机上传统的 ECU 进行升级,转换到实现以太网增量升级的过程)之上开发一套可兼容现有 OTA 系统的全新 OTA 服务系统,实现对整车软件、固件、服务的 OTA 升级能力,从而最终提升用户的使用体验和服务体验。软件升级触及的两大领域-FOTA/SOTA整车软件升级是通过OTA技术,是对车载娱乐、导

arXiv综述论文“Collaborative Perception for Autonomous Driving: Current Status and Future Trend“,2022年8月23日,上海交大。感知是自主驾驶系统的关键模块之一,然而单车的有限能力造成感知性能提高的瓶颈。为了突破单个感知的限制,提出协同感知,使车辆能够共享信息,感知视线之外和视野以外的环境。本文回顾了很有前途的协同感知技术相关工作,包括基本概念、协同模式以及关键要素和应用。最后,讨论该研究领域的开放挑战和问题


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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

WebStorm Mac版
便利なJavaScript開発ツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック



