かえるのプログラミングブログ

プログラミングでつまずいたところとその解決策などを書いていきます。

Kaggler なら知っておきたい GPU の話

Kaggle アドベントカレンダー2023 の 12 日目の記事です。

一般販売向けの GPU の技術仕様の読み方や GPU の仕組みについていろいろ勉強して社内の勉強会で発表しました。

その資料をベースに磨き込んだ内容をお届けしようと思ったのですが、間に合わなかったので スライドの内容をそのまま共有します。🙇

オンプレ GPU を買いたくて HP とか見ているけどわけわからんと悩んでいる方、 よくわからんけど強いんやろ!!って普段使っている A100 や V100, T4 がどんな仕組みで動いているのかとかに興味がある方に届くと嬉しいです。

最初の方で紹介している Flash Attention の論文は、Attention の計算のメモリ効率を改善するためにハード面に目を向けた面白い論文です。CPU ←→ GPU のメモリ間のデータ転送の仕方を工夫するために CUDA 内部で記述されている計算処理を工夫してメモリ効率を高めています。

新しい torch 2系では(使用可能な場合)デフォルトでこの Flash Attention が適用されるので torch をアップデートすれば恩恵を受けられますが、裏ではこのような工夫がされているんだな〜と知っていると見え方が変わるかもしれません。

(超人 kaggler の中には cuda kernel の実装を修正してモデルの計算速度を改善している強者もいるらしいです (すごい))

speakerdeck.com