キャッシュとは 計算の回路のそばの小さく速いメモリ、H100のL2は50MB
キャッシュは、メインのメモリから読んだデータを計算の回路のそばに一時的に置く、小さく速いメモリです。エヌビディアのH100は、GPU全体で共有するL2キャッシュを50MB持ち、前の世代のA100の1.25倍にしました。
- キャッシュは、メインのメモリより小さく、ずっと速いメモリです。半導体のチップの中に作ります。
- 計算の回路に近い順にL1、L2、L3と階層があり、近いほど速く、小さくなります。
- H100はL2キャッシュが50MB、A100は40MBです。AMDのパソコン向けCPU「Ryzen 7 9800X3D」は、キャッシュを縦に積んで合計104MBにしました。
- AIの「KVキャッシュ」は、言語モデルの途中の計算結果を残すもので、ここで言う回路のキャッシュとは別の意味です。
キャッシュは「隠し場所」という意味です。半導体では、メインのメモリ(DRAMやHBM)から読み出したデータの写しを、計算の回路のすぐそばに置いておく小さなメモリを指します。同じデータをもう一度使う時に、遠いメモリまで取りに行かずに済みます。
当たりと外れ
計算の回路がデータを求めると、まずキャッシュを探します。そこにあれば「ヒット(当たり)」で、すぐに使えます。なければ「ミス(外れ)」で、次の階層や、メインのメモリまで取りに行きます。
キャッシュが効くのは、プログラムに2つのくせがあるからです。一度使ったデータはすぐにまた使われやすい。あるデータの隣にあるデータも続けて使われやすい。そのため、キャッシュはデータを数十バイトほどのまとまり(ライン)で取り込みます。
容量には限りがあるため、新しいデータを入れる時は、しばらく使われていないものから追い出します。キャッシュの中身はふつう、SRAMという、電源が入っている間は書き換えなしで値を保つ速い回路で作ります。
GPUとCPUのキャッシュ
| 製品 | キャッシュ | メインのメモリ |
|---|---|---|
| エヌビディア A100 | L2 40MB | HBM |
| エヌビディア H100 | L2 50MB、SMごとにL1と共有メモリで256KB | HBM3 80GB |
| AMD Ryzen 7 9800X3D | 合計104MB(第2世代3D V-Cache) | DDR5 |
エヌビディアの技術解説によると、H100は計算の単位(SM)を132個持ち、それぞれにL1キャッシュと共有メモリを合わせて256KBを置きます。A100の1.33倍です。その外側に、GPU全体で使う50MBのL2キャッシュがあります。H100のHBMは80GBで、L2はその約1,600分の1の大きさです(計算)。
AMDは2024年10月31日、パソコン向けのCPU「Ryzen 7 9800X3D」を発表しました。キャッシュの層を別のチップとして作り、計算のチップと縦に重ねる「3D V-Cache」の第2世代を使います。この世代では、キャッシュのチップを計算のチップの下に移しました。熱を逃がしやすくするためで、会社はクロックの引き上げにも対応したと説明しています。キャッシュの合計は104MB、8コアで、米国の希望小売価格は479ドルでした。
AIの「KVキャッシュ」は別物
AIの話でよく出る「KVキャッシュ」は、言語モデルが答えを作る途中の結果を、次の語を作る時に使い回すために残したデータです。置き場所はGPUのHBMで、回路のキャッシュとは違います。
ただ、考え方は同じです。一度計算した結果を手元に置き、もう一度計算する手間を省きます。エヌビディアの推論ソフトDynamoは、過去の問いのKVキャッシュがあるGPUに次の問いを回す仕組みを持ちます。使わないKVキャッシュは、安いメモリや記憶装置に移します。
関連する用語
- SRAM:キャッシュの中身に使う、速くて場所を取るメモリの回路。
- ヒット率:求めたデータがキャッシュにあった割合。
- 共有メモリ:GPUで、プログラムが自分で出し入れを決められるチップ内のメモリ。
- 3D V-Cache:AMDの、キャッシュのチップを縦に積む技術。
H100のL2キャッシュとHBMの容量の差は、HBMが外付けで、キャッシュがチップの中に作られることから生まれます。
この記事は公開資料をもとに作成しています。売買をすすめるものではありません。誤りを見つけたら訂正します(編集方針)。
関連する記事
SRAMとは 6個のトランジスタで1ビット、Groqの新チップは500MBを積む
SRAMは、電源が入っている間は値を保ち続ける、速いメモリの回路です。エヌビディアによると、Groqの技術を使う推論向けの半導体「Groq 3 LPU」は、1チップに500MBのSRAMを積み、毎秒150テラバイトでデータを読み書きします。
オンチップメモリとは チップの中に作るメモリの階層、H100はレジスタだけで約33MB
オンチップメモリは、計算の回路と同じチップの中に作るメモリです。エヌビディアのH100は、計算の単位ごとに256KBのレジスタと256KBのL1・共有メモリを持ち、全体で50MBのL2キャッシュを持ちます。
メモリ帯域とは 端子の数×速さで決まる、HBM4は端子を2,048本に倍増
メモリ帯域は、メモリと計算の回路の間で1秒間に運べるデータの量です。エヌビディアのGPU1基の帯域は、H100の毎秒3.35テラバイトから、Rubinの毎秒22テラバイトに広がります。
建設のリードタイムとは TSMC熊本は着工から開所まで約1年10か月、アリゾナは発表から量産まで約4年半
建設のリードタイムとは、工場やデータセンターの着工から稼働までにかかる時間です。TSMCの熊本の第1工場は2022年4月に着工し、2024年2月に開所式を開きました。