Posits, a New Kind of Number, Improves the Math of AI
AIの計算能力を向上させる新数字「Posits(ポジット)」
要約(英語):
the first posit-based processor core has been developed at the Complutense University of Madrid to implement the standard in computer arithmetic. The accuracy of a basic computational task increased by up to four orders of magnitude, compared to computing using standard floating-point numbers, the researchers said. This comes after Nvidia, Arm, and Intel agreed on a specification for using 8-bit floating-point numbers instead of the usual 32-bit or 16-bit format for machine-learning applications.
要約(日本語):
最初のPOSITベースのプロセッサコアは、コンプリューター大学で標準をコンピューター算術に実装するために開発されました。基本的な計算タスクの精度は、標準の浮動小数点数を使用した計算と比較して、最大4桁増加しました、と研究者は言いました。これは、NVIDIA、ARM、およびIntelが、機械学習アプリケーションの通常の32ビットまたは16ビット形式の代わりに8ビットの浮動小数点数を使用するための仕様に同意した後に発生しました。
本文:
The first posit-based processor core gave a ten-thousandfold accuracy boost Training the large neural networks behind many modern AI tools requires real computational might: For example, OpenAI’s most advanced language model, GPT-3, required an astounding million billion billions of operations to train, and cost about US $5 million in compute time.
最初のPOSITベースのプロセッサコアは、多くの最新のAIツールの背後にある大規模なニューラルネットワークに1万倍の精度ブーストトレーニングを提供しました。訓練し、計算時間は約500万米ドルです。
Engineers think they have figured out a way to ease the burden by using a different way of representing numbers.
エンジニアは、数値を表現する別の方法を使用して、負担を緩和する方法を見つけたと考えています。
Back in 2017, John Gustafson, then jointly appointed at A*STAR Computational Resources Centre and the National University of Singapore, and Isaac Yonemoto, then at Interplanetary Robot and Electric Brain Co., developed a new way of representing numbers.
2017年に、その後、A*Star Computational Resources Centerとシンガポール国立大学で共同で任命されたJohn Gustafsonと、その後惑星間ロボットおよびElectric Brain Co.でIsaac Yonemotoが数字を代表する新しい方法を開発しました。
These numbers, called posits, were proposed as an improvement over the standard floating-point arithmetic processors used today.
POSITと呼ばれるこれらの数値は、今日使用されている標準の浮動小数点算術プロセッサに対する改善として提案されました。
Now, a team of researchers at the Complutense University of Madrid have developed the first processor core implementing the posit standard in hardware and showed that, bit-for-bit, the accuracy of a basic computational task increased by up to four orders of magnitude, compared to computing using standard floating-point numbers.
現在、マドリードのComplutense大学の研究者チームは、ハードウェアのPosit Standardを実装する最初のプロセッサコアを開発し、基本的な計算タスクの精度が最大4桁増加したことを示しました。標準の浮動小数点数を使用したコンピューティングと比較してください。
They presented their results at last week’s IEEE Symposium on Computer Arithmetic.
彼らは先週のコンピューター算術に関するIEEEシンポジウムで結果を発表しました。
“Nowadays it seems that Moore’s law is starting to fade,” says David Mallasén Quintana, a graduate researcher in the ArTeCS group at Complutense.
「最近では、ムーアの法律が衰退し始めているようです」と、ComplutenseのArtecsグループの卒業生であるDavidMallasénQuintana氏は言います。
“So, we need to find some other ways of getting more performance out of the same machines.
「だから、同じマシンからより多くのパフォーマンスを発揮する他の方法を見つける必要があります。
One of the ways of doing that is changing how we encode the real numbers, how we represent them.” The Complutense team isn’t alone in pushing the envelope with number representation.
それを行う方法の1つは、実際の数をエンコードする方法、それらを表現する方法を変えることです。」Complutenseチームは、数値表現で封筒を押し込むだけではありません。
Just last week, Nvidia, Arm, and Intel agreed on a specification for using 8-bit floating-point numbers instead of the usual 32-bit or 16-bit for machine-learning applications.
先週、Nvidia、ARM、およびIntelは、機械学習アプリケーション用の通常の32ビットまたは16ビットの代わりに8ビットの浮動小数点数を使用するための仕様に同意しました。
Using the smaller, less-precise format improves efficiency and memory usage, at the cost of computational accuracy.
より小さく、より重要でない形式を使用すると、計算の精度を犠牲にして効率とメモリの使用が改善されます。
Real numbers can’t be perfectly represented in hardware simply because there are infinitely many of them.
実際の数は、単にハードウェアで完全に表現することはできません。
To fit into a designated number of bits, many real numbers have to be rounded.
指定された数のビットに収まるには、多くの実数を丸くする必要があります。
The advantage of posits comes from the way the numbers they represent exactly are distributed along the number line.
ポジティブの利点は、それらが表す数値が正確に数字に沿って分配される方法から来ます。
In the middle of the number line, around 1 and -1, there are more posit representations than floating point.
数ラインの中央では、1と-1程度で、浮動小数点よりも多くのポジティブな表現があります。
And at the wings, going out to large negative and positive numbers, posit accuracy falls off more gracefully than floating point.
そして、翼で、大きな負と正の数に出かけると、ポジティブの精度は浮かぶポイントよりも優雅に落ちます。
“It’s a better match for the natural distribution of numbers in a calculation,” says Gustafson.
「計算における数字の自然な分布に適しています」とGustafson氏は言います。
“It’s the right dynamic range, and it’s the right accuracy where you need more accuracy.
「それは適切なダイナミックレンジであり、より正確な精度が必要なのは正しい精度です。
There’s an awful lot of bit patterns in floating-point arithmetic no one ever uses.
フローティングポイント算術には、誰も使用していない非常に多くのビットパターンがあります。
And that’s waste.” Posits accomplish this improved accuracy around 1 and -1 thanks to an extra component in their representation.
そして、それは無駄です。」ポジティは、この表現の追加コンポーネントのおかげで、1と-1を約1と-1で改善した精度を達成します。
Floats are made up of three parts: a sign bit (0 for positive, 1 for negative), several “mantissa” (fraction) bits denoting what comes after the binary version of a decimal point, and the remaining bits defining the exponent (2exp).
フロートは3つの部分で構成されています:サインビット(正で0、負の場合は1)、小数点のバイナリバージョンの後に来るものを示すいくつかの「マンティッサ」(分数)ビット、およびエクスペンテントを定義する残りのビット(2EXP)。
Posits keep all the components of a float but add an extra “regime” section, an exponent of an exponent.
ポジティは、フロートのすべてのコンポーネントを保持しますが、指数の指数である追加の「レジーム」セクションを追加します。
The beauty of the regime is that it can vary in bit length.
政権の美しさは、ビットの長さが異なる可能性があることです。
For small numbers, it can take as few as two bits, leaving more precision for the mantissa.
少数の場合、それはわずか2ビットで、マンティッサのより多くの精度を残すことができます。
This allows for the higher accuracy of posits in their sweet spot around 1 and -1.
これにより、スイートスポットで1と-1程度のポジティの精度が高くなります。
Deep neural networks usually work with normalized parameters called weights, making them the perfect candidate to benefit from posits’ strengths.
ディープニューラルネットワークは通常、重みと呼ばれる正規化されたパラメーターで動作し、ポジティブの強みから利益を得るのに最適な候補になります。
Much of neural-net computation is comprised of multiply-accumulate operations.
Neural-Net計算の多くは、増殖蓄積操作で構成されています。
Every time such a computation is performed, each sum has to be truncated anew, leading to accuracy loss.
そのような計算が実行されるたびに、各合計を新たに切り捨て、精度の損失につながる必要があります。
With posits, a special register called a quire can efficiently do the accumulation step to reduce the accuracy loss.
仮に、Quireと呼ばれる特別なレジスタは、精度の損失を減らすために蓄積ステップを効率的に行うことができます。
But today’s hardware implements floats, and so far, computational gains from using posits in software have been largely overshadowed by losses from converting between the formats.
しかし、今日のハードウェアは浮かんでいますが、これまでのところ、ソフトウェアでのポジティを使用することからの計算上の利益は、形式間の変換による損失によって大部分が隠れています。
With their new hardware implementation, which was synthesized in a field-programmable gate array (FPGA), the Complutense team was able to compare computations done using 32-bit floats and 32-bit posits side by side.
フィールドプログラム可能なゲートアレイ(FPGA)で合成された新しいハードウェアの実装により、Complutenseチームは、32ビットフロートと32ビットのポジティブを並べて行う計算を比較することができました。
They assessed their accuracy by comparing them to results using the much more accurate but computationally costly 64-bit floating-point format.
彼らは、はるかに正確だが計算上の64ビットのフローティングポイント形式を使用して結果と比較することにより、精度を評価しました。
Posits showed an astounding four-order-of-magnitude improvement in the accuracy of matrix multiplication, a series of multiply-accumulates inherent in neural network training.
仮に、ニューラルネットワークトレーニングに固有の一連の乗算の一連の乗算の精度における驚異的な4桁のマグニチュードの改善が示されました。
They also found that the improved accuracy didn’t come at the cost of computation time, only a somewhat increased chip area and power consumption.
彼らはまた、精度の改善は計算時間のコストではなく、チップ領域と消費電力がやや増加しただけであることを発見しました。
Although the numerical accuracy gains are undeniable, how exactly this would impact the training of large AIs like GPT-3 remains to be seen.
数値精度の増加は否定できませんが、これがGPT-3のような大きなAIのトレーニングに正確にどのように影響するかはまだわかりません。
“It’s possible that posits will speed up training because you’re not losing as much information on the way,” says Mallasén “But these are things that that we don’t know.
「途中でそれほど多くの情報を失っていないため、ポジティブがトレーニングをスピードアップする可能性があります」とマラセンは言います。「しかし、これらは私たちが知らないことです。
Some people have tried it out in software, but we also want to try that in hardware now that we have it.” Other teams are working on their own hardware implementations to advance posit usage.
ソフトウェアで試してみた人もいますが、ハードウェアでそれを試してみたいと思っています。」他のチームは、ポジティブ使用を進めるために独自のハードウェアの実装に取り組んでいます。
“It’s doing exactly what I hoped it would do; it’s getting adopted like crazy,” Gustafson says.
「それは私が望んでいたことを正確にやっています。狂ったように採用されています」とグスタフソンは言います。
“The posit number format caught fire, and there are dozens of groups, both companies and universities, that are using it.
「肯定的な番号形式が火災を起こし、それを使用している企業と大学の両方のグループが何十もあります。」
元記事
https://spectrum.ieee.org/floating-point-numbers-posits-processor