LLM(大規模言語モデル)の名前を見ていると、「7B」「8B」「70B」といった表記を目にすることがあります。
この「B」は、英語の「Billion」の略で、10億を意味します。
LLMのモデル名に付いている場合は、一般的にモデルが持つパラメータ数のおおよその規模を表しています。
たとえば、次のように読み取れます。
- 1B:約10億パラメータ
- 3B:約30億パラメータ
- 7B:約70億パラメータ
- 8B:約80億パラメータ
- 13B:約130億パラメータ
- 70B:約700億パラメータ
たとえば「8Bモデル」であれば、おおよそ80億個のパラメータを持つモデルという意味です。
ただし、モデル名に含まれる数字は分かりやすく丸められていることもあります。
そのため、8Bと書かれていても、必ず正確に80億個のパラメータを持っているとは限りません。
「約80億パラメータ級のモデル」と考えるのが適切です。
LLMのパラメータとは?
パラメータは学習によって調整される数値
LLMにおけるパラメータとは、ニューラルネットワーク内部に存在する、学習によって調整される数値のことです。
LLMは大量の文章などを使って学習しながら、内部のパラメータを少しずつ更新していきます。
その結果、単語同士の関係や文法、文章構造、概念、さまざまなパターンなどを扱えるようになります。
パラメータには、代表的なものとして重み(Weight)があります。
そのほかにも、モデルの構造によってはBiasやEmbedding、正規化層の学習可能な値などが含まれます。
そのため、「パラメータ=重み」と完全に同じものとして説明するよりも、「学習によって調整されるモデル内部の数値」と理解する方が正確です。
1パラメータが1つの知識を表すわけではない
7Bモデルが約70億個のパラメータを持っているからといって、「70億個の知識を持っている」という意味ではありません。
LLMの知識や言語パターンは、多数のパラメータに分散した形で表現されています。
たとえば、「東京は日本の首都である」という知識が、特定の1個のパラメータだけに保存されているわけではありません。
複数のパラメータが複雑に関係しながら、単語や概念、文章の関係性を表現しています。
そのため、パラメータ数をそのまま「記憶している知識の数」と考えることはできません。
Bが大きいほどLLMの性能も高くなる?
パラメータ数が多いほどモデル容量は大きくなる
一般的には、パラメータ数が多くなるほど、モデルが複雑なパターンを表現できる余地も大きくなります。
同じモデル設計や同じ学習条件で比較するのであれば、パラメータ数が増えることで性能が向上する可能性があります。
たとえば、同じモデルシリーズの中で7Bモデルと70Bモデルが用意されている場合、70Bモデルの方が高度な処理を得意とするケースがあります。
ただし、これはあくまで一般的な傾向です。
Bが大きければ必ず高性能とは限らない
「Bが大きい=必ず高性能」と考えるのは正確ではありません。
LLMの性能には、パラメータ数以外にもさまざまな要素が影響するためです。
具体的には、次のような要素があります。
- モデルのアーキテクチャ
- 学習データの量
- 学習データの質
- 学習トークン数
- トークナイザー
- 学習方法
- ファインチューニング
- ポストトレーニング
- 推論方法
- コンテキスト長
- DenseモデルかMoEモデルか
そのため、新しい世代の8Bモデルが、古い世代のより大きなモデルを一部のベンチマークで上回ることもあります。
LLMを比較するときは、パラメータ数だけを見るのではなく、モデルの世代や設計、学習方法なども確認することが重要です。
Llama 3の8B・70Bは何を意味する?
Llama 3には8Bモデルと70Bモデルがある
代表的な例として、Metaが2024年に公開したLlama 3があります。
Llama 3には、8Bモデルと70Bモデルが用意されました。
8Bモデルは約80億パラメータ級、70Bモデルは約700億パラメータ級のモデルという意味です。
つまり、モデル名のBを見ることで、おおまかなモデル規模を把握できます。
Bはモデルシリーズごとに比較することが重要
ただし、異なる世代や異なるモデル同士を、Bだけで単純に比較するのは適切ではありません。
たとえば、古い70Bモデルと新しい8Bモデルでは、アーキテクチャや学習方法、学習データが異なる可能性があります。
その場合、パラメータ数が少ないモデルでも、特定のタスクで高い性能を示すことがあります。
Bはあくまでもモデル規模を把握するための指標の一つとして考えましょう。
Bと学習トークン数は別の指標
パラメータ数と学習データ量を混同しない
LLMを理解するうえで注意したいのが、パラメータ数と学習トークン数の違いです。
たとえばLlama 3では、モデル規模として8Bや70Bという表記が使われる一方で、事前学習には15兆を超えるトークンが使用されたと公表されています。
この場合、次の2つは意味が異なります。
8B parametersは、約80億パラメータを意味します。
15T tokensは、15兆を超えるトークンを意味します。
つまり、Bはパラメータ数専用の単位ではなく、「Billion=10億」という数の大きさを示す表記です。
「8B parameters」であれば80億パラメータですが、「8B tokens」であれば80億トークンという意味になります。
B・M・Tにはどのような違いがある?
AI分野では大きな数をアルファベットで表す
AIやコンピューターの分野では、大きな数字を簡潔に表現するためにM、B、Tなどが使われます。
主な意味は次のとおりです。
- K:Thousand=1,000
- M:Million=100万
- B:Billion=10億
- T:Trillion=1兆
たとえば、「500M parameters」であれば約5億パラメータです。
「7B parameters」であれば約70億パラメータです。
「1T parameters」であれば1兆パラメータとなります。
日本語では「億」「兆」を使うことが多いため、BillionやTrillionの表記に慣れていないと最初は分かりにくいかもしれません。
Bが大きくなると必要なメモリも増える
8BモデルをFP16で保存すると約16GB
パラメータ数が増えると、一般的にはモデルの保存や実行に必要なメモリも増えます。
たとえば8BモデルをFP16で保存すると考えてみましょう。
FP16では、1パラメータあたり16bit、つまり2byteを使用します。
そのため、単純計算では次のようになります。
80億パラメータ × 2byte = 約160億byte
10進数のGBで換算すると、モデルの重みだけで約16GBです。
ただし、これはあくまでモデルの重みだけを単純計算した場合の目安です。
実際の推論ではさらにメモリが必要
LLMを実際に動かすときには、モデルの重み以外にもメモリを使用します。
たとえば、次のようなものです。
- KVキャッシュ
- 入力・出力テンソル
- 一時的な計算領域
- 推論ランタイム
- GPU関連のメモリ
- バッチ処理に必要なメモリ
そのため、「8BのFP16モデルなら16GBのVRAMがあれば必ず動く」という意味ではありません。
実際に必要なメモリ容量は、コンテキスト長や実行環境、推論ソフトウェアなどによって変わります。
量子化すると必要なメモリを減らせる
4bitや8bit量子化が利用されている
ローカル環境でLLMを動かす場合によく使われるのが量子化です。
量子化とは、モデルのパラメータをより少ないbit数で表現することで、モデルサイズや必要メモリを削減する技術です。
たとえば、FP16では1パラメータあたり16bitを使用します。
これを8bitや4bit程度に量子化することで、メモリ使用量を大幅に削減できます。
そのため、ローカルLLMでは「7B Q4」「8B 4bit」のような表記を見かけることがあります。
これは、約70億〜80億パラメータ級のモデルを、4bit程度に量子化していることを意味します。
4bitだから必ず容量が4分の1になるわけではない
理論上は、FP16から4bitに変更すると1パラメータあたりのデータ量は4分の1になります。
ただし、実際の量子化形式では、ScaleやZero Pointなどの追加情報を持つことがあります。
そのため、モデルファイル全体が正確に4分の1になるとは限りません。
量子化によって「必要なメモリを大幅に削減できる」と理解しておくのがよいでしょう。
MoEモデルではBの見方に注意が必要
総パラメータ数とActive Parametersが異なる
最近のLLMでは、MoE(Mixture of Experts)という構造も広く利用されています。
通常のDenseモデルでは、推論時にモデル内の大部分のパラメータが計算に関与します。
一方、MoEモデルでは複数のExpertを用意し、入力されたトークンに応じて、その一部だけを選択して使用します。
そのため、MoEモデルでは次の2つを区別することが重要です。
- Total Parameters:モデル全体が持つ総パラメータ数
- Active Parameters:推論時に実際に有効化されるパラメータ数
たとえば、総パラメータ数が非常に多くても、1トークンを処理するときに利用するパラメータはその一部だけというモデルがあります。
Active Parametersと計算量は完全には一致しない
MoEモデルでは、Active Parametersが少ないことで計算効率を高められる可能性があります。
ただし、Active Parametersの数だけを見て、Denseモデルと同じ計算量だと判断することはできません。
実際の処理速度や計算量には、Attention、Router、Expert間の通信、メモリアクセス、ハードウェア、実装方法なども影響します。
そのためMoEモデルを比較する場合は、総パラメータ数だけでなくActive Parametersや実際の推論性能も確認する必要があります。
ローカルLLMではBが重要な目安になる
Bが増えるほど必要な計算資源も増えやすい
ローカル環境でLLMを動かす場合、Bは非常に重要な指標になります。
一般的には、パラメータ数が増えるほど必要なRAMやVRAM、計算能力も大きくなるからです。
大まかなイメージとしては、次のように考えられます。
3B前後は比較的小型のモデルです。
7B〜8B前後はローカルLLMでよく使われる代表的なサイズです。
30B前後になると必要なメモリや計算能力がかなり増えます。
70B前後では、量子化を利用したとしても比較的大きなRAMやVRAMが必要になりやすくなります。
ただし、実際に必要なスペックは量子化方式やCPU・GPU、コンテキスト長、推論ソフトウェアなどによって大きく変わります。
「B=LLMの頭の良さ」ではない
Bは性能ではなくモデル規模を示す指標
LLMについて説明するとき、「Bが大きいほど賢い」と表現されることがあります。
直感的には分かりやすい表現ですが、技術的には正確ではありません。
Bが直接表しているのは、基本的にパラメータ数の規模です。
そのため、7B・13B・70Bという数字を、そのまま「頭の良さ」のような指標として比較することはできません。
LLMの性能を見る場合は、パラメータ数に加えて、モデル設計、学習データ、学習方法、ポストトレーニング、推論方法などを総合的に見る必要があります。
まとめ
LLMのモデル名に使われる「B」は、「Billion=10億」を意味します。
たとえば、7Bであれば約70億パラメータ、8Bであれば約80億パラメータ、70Bであれば約700億パラメータ級のモデルという意味です。
ただし、BはLLMの知識量や性能そのものを表しているわけではありません。
あくまでも、モデルが持つパラメータ数のおおよその規模を把握するための指標です。
また、LLMの性能はパラメータ数だけでは決まりません。
モデルのアーキテクチャや学習データ、学習方法、ポストトレーニングなどによって、小さなモデルがより大きなモデルを特定のタスクで上回ることもあります。
さらに、MoEモデルでは総パラメータ数とActive Parametersが異なるため、単純にBの数字だけで計算量や性能を判断できない点にも注意が必要です。
LLMを比較するときは、「何Bか」だけを見るのではなく、モデルの世代やアーキテクチャ、DenseかMoEか、量子化方式、実際のベンチマークなども合わせて確認すると、より正確にモデルの特徴を理解できます。
以上、LLMのBとは何を意味するのかについてでした。
最後までお読みいただき、ありがとうございました。
