
USB起動でTensor演算の制限を解除
NVIDIAのGeForce RTX 20・30・40シリーズを対象に、Tensor演算の速度制限を解除するオープンソースのUEFIツール「nv-uefi-unlocker」が公開されました。Windowsの起動前にUSBメモリーから実行でき、開発者のRTX 4060 LaptopではFP16演算の性能が解除前より65%向上しました。
Tensor Coreは、行列演算などを処理するGPU内の演算器です。FP16は半精度浮動小数点形式を指し、AIの学習や推論で使われます。NVIDIAのCUDAライブラリcuBLASは行列積、cuDNNは畳み込みや再帰型ニューラルネットワークの処理でTensor Coreを利用します。
ニューラルネットワークでは、全結合層や再帰型の層、畳み込み層の計算に行列積が使われます。NVIDIAのガイドによると、行列演算の速さは演算量とデータ転送量のバランスに左右されます。大きな行列積では演算性能が、行列ベクトル積ではメモリーからのデータ転送がボトルネックになり得ます。
AI処理では演算の種類によって伸びが異なる
FP16やBF16(脳型浮動小数点形式)の行列演算を多く含む処理では、Tensor演算の向上が処理時間の短縮につながる可能性があります。コミュニティの報告では、RTX 3090 Tiで画像生成が47〜59%速くなった例が紹介されています。
一方、ローカルLLMでは、長い入力文をまとめて処理する「prefill(プロンプト処理)」の改善が報告されているものの、文章を1トークンずつ生成する「decode」の伸びは小さいとされています。decodeではモデルの重みを読み込む際のメモリー帯域が制約になり、今回の解除でその帯域は変わらないためです。
同じ報告では、LLMのprefillは14〜36%向上した例がある一方、トークン生成はほぼ変化しない例が示されています。4ビットや8ビットの整数形式を使う量子化モデルでは効果が限られ、BF16を使う画像生成や追加学習では差が出やすいとされています。
起動前に適用し、電源を切ると元に戻る
ツールはWindowsやLinuxのドライバーがGPUを読み込む前に動作し、GPUの速度選択レジスターを書き換えます。プロジェクトの説明では、NVIDIAのVBIOSを書き換えたり、ドライバーを改変したりせず、処理後は通常のOSローダーへ引き継ぎます。
利用者はFAT32形式のUSBメモリーを用意し、ツールが生成したファイルと起動用EFIファイルを配置します。UEFIモードで起動し、セキュアブートを無効にするか、自己署名EFIを信頼する設定が必要です。解除は電源を切ると保持されないため、起動のたびにUSBメモリーから実行します。
RTX 20シリーズでは、WindowsのドライバーをGSPファームウェアモードに切り替えて再起動する手順もあります。プロジェクトのRTX 2070実機記録では、FP32累算を使う行列演算が36 TFLOPSから60〜63 TFLOPSに上がりました。同じ記録では、休止状態からの復帰後に解除を適用する動作も確認されています。
対応状況と利用上の制約
プロジェクトはRTX 30シリーズをデスクトップとノートPCで対応対象とし、RTX 40シリーズも対応対象にしています。RTX 20シリーズは対応対象ですが、機種によって既知の問題があります。RTX 50シリーズと、Pascal以前のGPU、GA100は対象外です。
実機確認の記録には、RTX 2070、RTX 3080、RTX 3060 Ti、RTX 4090、RTX 4060 Laptopなどが挙がっています。RTX 2080やRTX 2080 Tiでは起動やOSへの引き継ぎに問題が記録され、RTX 3050やRTX 4070 Laptopは未テストです。対応対象の世代でも、個々のカードすべてで動作確認済みというわけではありません。
ノートPCでは、起動時にディスクリートGPUへ給電されている必要があり、プロジェクトはGPU直結モードを推奨しています。セキュアブートを必須とするゲームのアンチチート要件を、このツールで回避することはできません。また、電力や温度の制限によって性能向上幅は変わり、別の電力制限解除ツールと併用する場合は消費電力と温度が工場出荷時の範囲を超える可能性があります。









