NVIDIA、LLMの精度を維持しつつサイズを半分にするアプローチ 巨大モデルの運用コスト低下への期待
巨大モデルの運用課題、クオンタイズとそのトレードオフ
大規模言語モデル(LLM)の進化は目覚ましく、メタのLlama 3.1 405Bのようなオープンソースの高精度モデルが理論上誰でも使えるようになった。しかし、その運用には現実的な課題が横たわる。 Llama 3.1 405Bは4,050億のパラメータを持ち、16ビットの精度(bfloat16)で約800GBのメモリを必要とする。これは、8台のNVIDIA H100 80GB GPUを搭載した単一ノードの総メモリ容量640GBを超える規模だ。H100を8台搭載したシステムのコストも30万ドルほどと安くはない。このような巨大モデルを効率的に運用するには、複数のノードにまたがる分散処理が不可欠となる。 Snowflakeの解説によると、巨大モデル運用の主な課題は3つある。まず、複数ノードへの分散配置。次に、低レイテンシー(素早い応答)と高スループット(大量の処理)の両立。そして、長いコンテキストウィンドウ(長い文章や複雑な情報)の処理だ。 これらの課題に対し、Snowflakeは独自の最適化スタックを開発。テンソル並列処理とパイプライン並列処理を組み合わせた2次元並列処理や、SplitFuseスケジューリングなどの技術を駆使し、単一ノード(1台のコンピューター)でも12万8,000トークンの長いコンテキストを処理できる能力を実現したという。 ただし、これらの技術を使いこなすには専門的な知識が必要だ。そのため、一般のユーザーが簡単に利用できるわけではない。 もう1つ、比較的簡易なハードウェア環境でも巨大モデルを利用するアプローチとして、クオンタイズが注目されている。クオンタイズは、モデルのサイズを縮小するアプローチだ。簡単にいうと、16ビットのAIモデルを8ビットや4ビットなどに縮小する方法となる。これに伴い、モデルの規模も2分の1、4分の1などに縮小され、必要となるメモリ容量を下げることができる。 クオンタイズには様々な種類があり、たとえばLLMのローカル利用を可能にするツールOllamaを使用した場合、Q2_K(2ビット量子化)、Q4_0(基本的な4ビット量子化)、Q4KS/Q4KM(知識蒸留を用いた高度な4ビット量子化)、FP16(16ビット浮動小数点)などが選択可能となっている。Ollamaでは、Llama 3.1 405Bも2ビット量子化版から8ビット量子化版まで選択でき、ローカル環境で利用することが可能だ。 しかし、クオンタイズにはトレードオフがある。モデルサイズはローカル環境で利用できるほど小さくなるものの、精度が低下する可能性があるのだ。たとえば、Yi 34bモデルの性能評価では、Q4KM量子化が他の量子化方式よりも優れたパフォーマンスを示したが、非量子化のFP16よりもスコア/精度が下がったと報告されている。 興味深いことに、モデルサイズが小さいほど、量子化の影響が顕著になる傾向があることも指摘されている。そのため、運用上可能な限り大きなモデルを選択し、「KM」量子化を優先することが推奨されるという。 クオンタイズは巨大モデルの運用を容易にする一方で、性能低下のリスクを伴う。この課題に対し、業界では新たなアプローチが模索されており、その取り組みは活発化の様相となっている。