サイズが大きなLLM(70b、130b)を使いたい時に、大量なメモリが必要です。70bの場合は少なくとも80GB以上のメモリが必要です。(130bの場合は150GB) 例えば、A100(40GB)で計算しても、2,3台以上組み合わせて使う必要があります。 そこまでのリソースがない時には量子化という手法をよく使われてます。 今日は量子化について簡単に紹介したいと思います。 ①量子化前の前提作業:シャーディング(Sharding) ShardingはほとんどのLLMがやっていることです。 Hugging Faceでモデルをダウンロードすると、モデルファイル(.bin)が一つのファイルではなく、少なくとも十数個のファイルで構成されていることは気づけると思います。 一つのファイルをわざと数十個に分ける理由は、異なるstepでモデルの重みを分けて、メモリを節約できるからです。Shardingはacc