量子化による重みのデータ量

ある企業が、パラメータ数70億の言語モデルを社内のGPU搭載PCで動かすことを検討している。重みを16ビットの浮動小数点数で保持した場合の重みのデータ量(ア)と、重みを4ビットに量子化した場合の重みのデータ量(イ)の組み合わせとして、最も適切なものを1つ選べ。なお、1バイトは8ビット、1GBは10億バイトとし、量子化の係数など重み以外のデータは考えないものとする。

正解と解説を見る

解説

正解A

ポイント

重みのデータ量はパラメータ数×1パラメータあたりのバイト数で求まり、16ビットから4ビットへの量子化で4分の1になります。

選択肢ごとの解説

  1. A

    適切 ◯ 正解

    16ビットは2バイトなので、70億×2バイト=140億バイト=14GBです。4ビットは0.5バイトなので、70億×0.5バイト=35億バイト=3.5GBとなり、データ量は4分の1になります。

  2. B

    不適切

    28GBは1パラメータあたり4バイト(32ビット)、7GBは1バイト(8ビット)として計算した値です。32ビットから8ビットへの量子化ならこの組み合わせですが、問題の条件とは異なります。

  3. C

    不適切

    (ア)は正しいものの、(イ)は4ビットを1バイトとして計算しています。7GBは8ビットに量子化した場合の値です。4ビットなら1パラメータあたり0.5バイトなので、その半分の3.5GBになります。

  4. D

    不適切

    ビット数をそのままバイト数として掛けた値です。70億×16=1,120億ビットを8で割ってバイトに直すと140億バイト、つまり14GBです。ビットとバイトの換算を忘れないことが大切です。

補足

実際にモデルを動かすときは、重みのほかに、推論中の中間的な計算結果を置くメモリも必要です。また、4ビットへの量子化では、値の範囲を表す係数などを重みのまとまりごとに保存するため、必要な容量は計算値よりやや大きくなります。量子化は容量を減らせる一方で、ビット数を下げすぎると精度が落ちやすくなる点にも注意が必要です。

試験での狙われ方

パラメータ数とビット数から必要なメモリ量を求めさせたり、量子化による削減の割合を問う形があります。

関連用語

量子化、大規模言語モデル

参考

オリジナル問題(過去問ではありません) AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

シラバス第1.4版 技術34「モデルの軽量化」の問題です。

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習